/** * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. * SPDX-License-Identifier: Apache-2.0. */ #pragma once #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include namespace Aws { namespace Http { class HttpClient; class HttpClientFactory; } // namespace Http namespace Utils { template< typename R, typename E> class Outcome; namespace Threading { class Executor; } // namespace Threading } // namespace Utils namespace Auth { class AWSCredentials; class AWSCredentialsProvider; } // namespace Auth namespace Client { class RetryStrategy; } // namespace Client namespace Lambda { namespace Model { class AddLayerVersionPermissionRequest; class AddPermissionRequest; class CreateAliasRequest; class CreateEventSourceMappingRequest; class CreateFunctionRequest; class DeleteAliasRequest; class DeleteEventSourceMappingRequest; class DeleteFunctionRequest; class DeleteFunctionConcurrencyRequest; class DeleteFunctionEventInvokeConfigRequest; class DeleteLayerVersionRequest; class DeleteProvisionedConcurrencyConfigRequest; class GetAccountSettingsRequest; class GetAliasRequest; class GetEventSourceMappingRequest; class GetFunctionRequest; class GetFunctionConcurrencyRequest; class GetFunctionConfigurationRequest; class GetFunctionEventInvokeConfigRequest; class GetLayerVersionRequest; class GetLayerVersionByArnRequest; class GetLayerVersionPolicyRequest; class GetPolicyRequest; class GetProvisionedConcurrencyConfigRequest; class InvokeRequest; class ListAliasesRequest; class ListEventSourceMappingsRequest; class ListFunctionEventInvokeConfigsRequest; class ListFunctionsRequest; class ListLayerVersionsRequest; class ListLayersRequest; class ListProvisionedConcurrencyConfigsRequest; class ListTagsRequest; class ListVersionsByFunctionRequest; class PublishLayerVersionRequest; class PublishVersionRequest; class PutFunctionConcurrencyRequest; class PutFunctionEventInvokeConfigRequest; class PutProvisionedConcurrencyConfigRequest; class RemoveLayerVersionPermissionRequest; class RemovePermissionRequest; class TagResourceRequest; class UntagResourceRequest; class UpdateAliasRequest; class UpdateEventSourceMappingRequest; class UpdateFunctionCodeRequest; class UpdateFunctionConfigurationRequest; class UpdateFunctionEventInvokeConfigRequest; typedef Aws::Utils::Outcome AddLayerVersionPermissionOutcome; typedef Aws::Utils::Outcome AddPermissionOutcome; typedef Aws::Utils::Outcome CreateAliasOutcome; typedef Aws::Utils::Outcome CreateEventSourceMappingOutcome; typedef Aws::Utils::Outcome CreateFunctionOutcome; typedef Aws::Utils::Outcome DeleteAliasOutcome; typedef Aws::Utils::Outcome DeleteEventSourceMappingOutcome; typedef Aws::Utils::Outcome DeleteFunctionOutcome; typedef Aws::Utils::Outcome DeleteFunctionConcurrencyOutcome; typedef Aws::Utils::Outcome DeleteFunctionEventInvokeConfigOutcome; typedef Aws::Utils::Outcome DeleteLayerVersionOutcome; typedef Aws::Utils::Outcome DeleteProvisionedConcurrencyConfigOutcome; typedef Aws::Utils::Outcome GetAccountSettingsOutcome; typedef Aws::Utils::Outcome GetAliasOutcome; typedef Aws::Utils::Outcome GetEventSourceMappingOutcome; typedef Aws::Utils::Outcome GetFunctionOutcome; typedef Aws::Utils::Outcome GetFunctionConcurrencyOutcome; typedef Aws::Utils::Outcome GetFunctionConfigurationOutcome; typedef Aws::Utils::Outcome GetFunctionEventInvokeConfigOutcome; typedef Aws::Utils::Outcome GetLayerVersionOutcome; typedef Aws::Utils::Outcome GetLayerVersionByArnOutcome; typedef Aws::Utils::Outcome GetLayerVersionPolicyOutcome; typedef Aws::Utils::Outcome GetPolicyOutcome; typedef Aws::Utils::Outcome GetProvisionedConcurrencyConfigOutcome; typedef Aws::Utils::Outcome InvokeOutcome; typedef Aws::Utils::Outcome ListAliasesOutcome; typedef Aws::Utils::Outcome ListEventSourceMappingsOutcome; typedef Aws::Utils::Outcome ListFunctionEventInvokeConfigsOutcome; typedef Aws::Utils::Outcome ListFunctionsOutcome; typedef Aws::Utils::Outcome ListLayerVersionsOutcome; typedef Aws::Utils::Outcome ListLayersOutcome; typedef Aws::Utils::Outcome ListProvisionedConcurrencyConfigsOutcome; typedef Aws::Utils::Outcome ListTagsOutcome; typedef Aws::Utils::Outcome ListVersionsByFunctionOutcome; typedef Aws::Utils::Outcome PublishLayerVersionOutcome; typedef Aws::Utils::Outcome PublishVersionOutcome; typedef Aws::Utils::Outcome PutFunctionConcurrencyOutcome; typedef Aws::Utils::Outcome PutFunctionEventInvokeConfigOutcome; typedef Aws::Utils::Outcome PutProvisionedConcurrencyConfigOutcome; typedef Aws::Utils::Outcome RemoveLayerVersionPermissionOutcome; typedef Aws::Utils::Outcome RemovePermissionOutcome; typedef Aws::Utils::Outcome TagResourceOutcome; typedef Aws::Utils::Outcome UntagResourceOutcome; typedef Aws::Utils::Outcome UpdateAliasOutcome; typedef Aws::Utils::Outcome UpdateEventSourceMappingOutcome; typedef Aws::Utils::Outcome UpdateFunctionCodeOutcome; typedef Aws::Utils::Outcome UpdateFunctionConfigurationOutcome; typedef Aws::Utils::Outcome UpdateFunctionEventInvokeConfigOutcome; typedef std::future AddLayerVersionPermissionOutcomeCallable; typedef std::future AddPermissionOutcomeCallable; typedef std::future CreateAliasOutcomeCallable; typedef std::future CreateEventSourceMappingOutcomeCallable; typedef std::future CreateFunctionOutcomeCallable; typedef std::future DeleteAliasOutcomeCallable; typedef std::future DeleteEventSourceMappingOutcomeCallable; typedef std::future DeleteFunctionOutcomeCallable; typedef std::future DeleteFunctionConcurrencyOutcomeCallable; typedef std::future DeleteFunctionEventInvokeConfigOutcomeCallable; typedef std::future DeleteLayerVersionOutcomeCallable; typedef std::future DeleteProvisionedConcurrencyConfigOutcomeCallable; typedef std::future GetAccountSettingsOutcomeCallable; typedef std::future GetAliasOutcomeCallable; typedef std::future GetEventSourceMappingOutcomeCallable; typedef std::future GetFunctionOutcomeCallable; typedef std::future GetFunctionConcurrencyOutcomeCallable; typedef std::future GetFunctionConfigurationOutcomeCallable; typedef std::future GetFunctionEventInvokeConfigOutcomeCallable; typedef std::future GetLayerVersionOutcomeCallable; typedef std::future GetLayerVersionByArnOutcomeCallable; typedef std::future GetLayerVersionPolicyOutcomeCallable; typedef std::future GetPolicyOutcomeCallable; typedef std::future GetProvisionedConcurrencyConfigOutcomeCallable; typedef std::future InvokeOutcomeCallable; typedef std::future ListAliasesOutcomeCallable; typedef std::future ListEventSourceMappingsOutcomeCallable; typedef std::future ListFunctionEventInvokeConfigsOutcomeCallable; typedef std::future ListFunctionsOutcomeCallable; typedef std::future ListLayerVersionsOutcomeCallable; typedef std::future ListLayersOutcomeCallable; typedef std::future ListProvisionedConcurrencyConfigsOutcomeCallable; typedef std::future ListTagsOutcomeCallable; typedef std::future ListVersionsByFunctionOutcomeCallable; typedef std::future PublishLayerVersionOutcomeCallable; typedef std::future PublishVersionOutcomeCallable; typedef std::future PutFunctionConcurrencyOutcomeCallable; typedef std::future PutFunctionEventInvokeConfigOutcomeCallable; typedef std::future PutProvisionedConcurrencyConfigOutcomeCallable; typedef std::future RemoveLayerVersionPermissionOutcomeCallable; typedef std::future RemovePermissionOutcomeCallable; typedef std::future TagResourceOutcomeCallable; typedef std::future UntagResourceOutcomeCallable; typedef std::future UpdateAliasOutcomeCallable; typedef std::future UpdateEventSourceMappingOutcomeCallable; typedef std::future UpdateFunctionCodeOutcomeCallable; typedef std::future UpdateFunctionConfigurationOutcomeCallable; typedef std::future UpdateFunctionEventInvokeConfigOutcomeCallable; } // namespace Model class LambdaClient; typedef std::function&) > AddLayerVersionPermissionResponseReceivedHandler; typedef std::function&) > AddPermissionResponseReceivedHandler; typedef std::function&) > CreateAliasResponseReceivedHandler; typedef std::function&) > CreateEventSourceMappingResponseReceivedHandler; typedef std::function&) > CreateFunctionResponseReceivedHandler; typedef std::function&) > DeleteAliasResponseReceivedHandler; typedef std::function&) > DeleteEventSourceMappingResponseReceivedHandler; typedef std::function&) > DeleteFunctionResponseReceivedHandler; typedef std::function&) > DeleteFunctionConcurrencyResponseReceivedHandler; typedef std::function&) > DeleteFunctionEventInvokeConfigResponseReceivedHandler; typedef std::function&) > DeleteLayerVersionResponseReceivedHandler; typedef std::function&) > DeleteProvisionedConcurrencyConfigResponseReceivedHandler; typedef std::function&) > GetAccountSettingsResponseReceivedHandler; typedef std::function&) > GetAliasResponseReceivedHandler; typedef std::function&) > GetEventSourceMappingResponseReceivedHandler; typedef std::function&) > GetFunctionResponseReceivedHandler; typedef std::function&) > GetFunctionConcurrencyResponseReceivedHandler; typedef std::function&) > GetFunctionConfigurationResponseReceivedHandler; typedef std::function&) > GetFunctionEventInvokeConfigResponseReceivedHandler; typedef std::function&) > GetLayerVersionResponseReceivedHandler; typedef std::function&) > GetLayerVersionByArnResponseReceivedHandler; typedef std::function&) > GetLayerVersionPolicyResponseReceivedHandler; typedef std::function&) > GetPolicyResponseReceivedHandler; typedef std::function&) > GetProvisionedConcurrencyConfigResponseReceivedHandler; typedef std::function&) > InvokeResponseReceivedHandler; typedef std::function&) > ListAliasesResponseReceivedHandler; typedef std::function&) > ListEventSourceMappingsResponseReceivedHandler; typedef std::function&) > ListFunctionEventInvokeConfigsResponseReceivedHandler; typedef std::function&) > ListFunctionsResponseReceivedHandler; typedef std::function&) > ListLayerVersionsResponseReceivedHandler; typedef std::function&) > ListLayersResponseReceivedHandler; typedef std::function&) > ListProvisionedConcurrencyConfigsResponseReceivedHandler; typedef std::function&) > ListTagsResponseReceivedHandler; typedef std::function&) > ListVersionsByFunctionResponseReceivedHandler; typedef std::function&) > PublishLayerVersionResponseReceivedHandler; typedef std::function&) > PublishVersionResponseReceivedHandler; typedef std::function&) > PutFunctionConcurrencyResponseReceivedHandler; typedef std::function&) > PutFunctionEventInvokeConfigResponseReceivedHandler; typedef std::function&) > PutProvisionedConcurrencyConfigResponseReceivedHandler; typedef std::function&) > RemoveLayerVersionPermissionResponseReceivedHandler; typedef std::function&) > RemovePermissionResponseReceivedHandler; typedef std::function&) > TagResourceResponseReceivedHandler; typedef std::function&) > UntagResourceResponseReceivedHandler; typedef std::function&) > UpdateAliasResponseReceivedHandler; typedef std::function&) > UpdateEventSourceMappingResponseReceivedHandler; typedef std::function&) > UpdateFunctionCodeResponseReceivedHandler; typedef std::function&) > UpdateFunctionConfigurationResponseReceivedHandler; typedef std::function&) > UpdateFunctionEventInvokeConfigResponseReceivedHandler; /** * AWS Lambda

Overview

This is the AWS * Lambda API Reference. The AWS Lambda Developer Guide provides additional * information. For the service overview, see What is AWS * Lambda, and for information about how the service works, see AWS * Lambda: How it Works in the AWS Lambda Developer Guide.

*/ class AWS_LAMBDA_API LambdaClient : public Aws::Client::AWSJsonClient { public: typedef Aws::Client::AWSJsonClient BASECLASS; /** * Initializes client to use DefaultCredentialProviderChain, with default http client factory, and optional client config. If client config * is not specified, it will be initialized to default values. */ LambdaClient(const Aws::Client::ClientConfiguration& clientConfiguration = Aws::Client::ClientConfiguration()); /** * Initializes client to use SimpleAWSCredentialsProvider, with default http client factory, and optional client config. If client config * is not specified, it will be initialized to default values. */ LambdaClient(const Aws::Auth::AWSCredentials& credentials, const Aws::Client::ClientConfiguration& clientConfiguration = Aws::Client::ClientConfiguration()); /** * Initializes client to use specified credentials provider with specified client config. If http client factory is not supplied, * the default http client factory will be used */ LambdaClient(const std::shared_ptr& credentialsProvider, const Aws::Client::ClientConfiguration& clientConfiguration = Aws::Client::ClientConfiguration()); virtual ~LambdaClient(); /** *

Adds permissions to the resource-based policy of a version of an AWS * Lambda layer. Use this action to grant layer usage permission to other * accounts. You can grant permission to a single account, all AWS accounts, or all * accounts in an organization.

To revoke permission, call * RemoveLayerVersionPermission with the statement ID that you specified * when you added it.

See Also:

AWS * API Reference

*/ virtual Model::AddLayerVersionPermissionOutcome AddLayerVersionPermission(const Model::AddLayerVersionPermissionRequest& request) const; /** *

Adds permissions to the resource-based policy of a version of an AWS * Lambda layer. Use this action to grant layer usage permission to other * accounts. You can grant permission to a single account, all AWS accounts, or all * accounts in an organization.

To revoke permission, call * RemoveLayerVersionPermission with the statement ID that you specified * when you added it.

See Also:

AWS * API Reference

* * returns a future to the operation so that it can be executed in parallel to other requests. */ virtual Model::AddLayerVersionPermissionOutcomeCallable AddLayerVersionPermissionCallable(const Model::AddLayerVersionPermissionRequest& request) const; /** *

Adds permissions to the resource-based policy of a version of an AWS * Lambda layer. Use this action to grant layer usage permission to other * accounts. You can grant permission to a single account, all AWS accounts, or all * accounts in an organization.

To revoke permission, call * RemoveLayerVersionPermission with the statement ID that you specified * when you added it.

See Also:

AWS * API Reference

* * Queues the request into a thread executor and triggers associated callback when operation has finished. */ virtual void AddLayerVersionPermissionAsync(const Model::AddLayerVersionPermissionRequest& request, const AddLayerVersionPermissionResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const; /** *

Grants an AWS service or another account permission to use a function. You * can apply the policy at the function level, or specify a qualifier to restrict * access to a single version or alias. If you use a qualifier, the invoker must * use the full Amazon Resource Name (ARN) of that version or alias to invoke the * function.

To grant permission to another account, specify the account ID * as the Principal. For AWS services, the principal is a domain-style * identifier defined by the service, like s3.amazonaws.com or * sns.amazonaws.com. For AWS services, you can also specify the ARN * of the associated resource as the SourceArn. If you grant * permission to a service principal without specifying the source, other accounts * could potentially configure resources in their account to invoke your Lambda * function.

This action adds a statement to a resource-based permissions * policy for the function. For more information about function policies, see Lambda * Function Policies.

See Also:

AWS * API Reference

*/ virtual Model::AddPermissionOutcome AddPermission(const Model::AddPermissionRequest& request) const; /** *

Grants an AWS service or another account permission to use a function. You * can apply the policy at the function level, or specify a qualifier to restrict * access to a single version or alias. If you use a qualifier, the invoker must * use the full Amazon Resource Name (ARN) of that version or alias to invoke the * function.

To grant permission to another account, specify the account ID * as the Principal. For AWS services, the principal is a domain-style * identifier defined by the service, like s3.amazonaws.com or * sns.amazonaws.com. For AWS services, you can also specify the ARN * of the associated resource as the SourceArn. If you grant * permission to a service principal without specifying the source, other accounts * could potentially configure resources in their account to invoke your Lambda * function.

This action adds a statement to a resource-based permissions * policy for the function. For more information about function policies, see Lambda * Function Policies.

See Also:

AWS * API Reference

* * returns a future to the operation so that it can be executed in parallel to other requests. */ virtual Model::AddPermissionOutcomeCallable AddPermissionCallable(const Model::AddPermissionRequest& request) const; /** *

Grants an AWS service or another account permission to use a function. You * can apply the policy at the function level, or specify a qualifier to restrict * access to a single version or alias. If you use a qualifier, the invoker must * use the full Amazon Resource Name (ARN) of that version or alias to invoke the * function.

To grant permission to another account, specify the account ID * as the Principal. For AWS services, the principal is a domain-style * identifier defined by the service, like s3.amazonaws.com or * sns.amazonaws.com. For AWS services, you can also specify the ARN * of the associated resource as the SourceArn. If you grant * permission to a service principal without specifying the source, other accounts * could potentially configure resources in their account to invoke your Lambda * function.

This action adds a statement to a resource-based permissions * policy for the function. For more information about function policies, see Lambda * Function Policies.

See Also:

AWS * API Reference

* * Queues the request into a thread executor and triggers associated callback when operation has finished. */ virtual void AddPermissionAsync(const Model::AddPermissionRequest& request, const AddPermissionResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const; /** *

Creates an alias * for a Lambda function version. Use aliases to provide clients with a function * identifier that you can update to invoke a different version.

You can * also map an alias to split invocation requests between two versions. Use the * RoutingConfig parameter to specify a second version and the * percentage of invocation requests that it receives.

See Also:

* AWS * API Reference

*/ virtual Model::CreateAliasOutcome CreateAlias(const Model::CreateAliasRequest& request) const; /** *

Creates an alias * for a Lambda function version. Use aliases to provide clients with a function * identifier that you can update to invoke a different version.

You can * also map an alias to split invocation requests between two versions. Use the * RoutingConfig parameter to specify a second version and the * percentage of invocation requests that it receives.

See Also:

* AWS * API Reference

* * returns a future to the operation so that it can be executed in parallel to other requests. */ virtual Model::CreateAliasOutcomeCallable CreateAliasCallable(const Model::CreateAliasRequest& request) const; /** *

Creates an alias * for a Lambda function version. Use aliases to provide clients with a function * identifier that you can update to invoke a different version.

You can * also map an alias to split invocation requests between two versions. Use the * RoutingConfig parameter to specify a second version and the * percentage of invocation requests that it receives.

See Also:

* AWS * API Reference

* * Queues the request into a thread executor and triggers associated callback when operation has finished. */ virtual void CreateAliasAsync(const Model::CreateAliasRequest& request, const CreateAliasResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const; /** *

Creates a mapping between an event source and an AWS Lambda function. Lambda * reads items from the event source and triggers the function.

For details * about each event source type, see the following topics.

The following error handling * options are only available for stream sources (DynamoDB and Kinesis):

    *
  • BisectBatchOnFunctionError - If the function returns an * error, split the batch in two and retry.

  • * DestinationConfig - Send discarded records to an Amazon SQS queue * or Amazon SNS topic.

  • MaximumRecordAgeInSeconds - * Discard records older than the specified age. Default -1 (infinite). Minimum 60. * Maximum 604800.

  • MaximumRetryAttempts - Discard * records after the specified number of retries. Default -1 (infinite). Minimum 0. * Maximum 10000. When infinite, failed records will be retried until the record * expires.

  • ParallelizationFactor - Process * multiple batches from each shard concurrently.

See * Also:

AWS * API Reference

*/ virtual Model::CreateEventSourceMappingOutcome CreateEventSourceMapping(const Model::CreateEventSourceMappingRequest& request) const; /** *

Creates a mapping between an event source and an AWS Lambda function. Lambda * reads items from the event source and triggers the function.

For details * about each event source type, see the following topics.

The following error handling * options are only available for stream sources (DynamoDB and Kinesis):

    *
  • BisectBatchOnFunctionError - If the function returns an * error, split the batch in two and retry.

  • * DestinationConfig - Send discarded records to an Amazon SQS queue * or Amazon SNS topic.

  • MaximumRecordAgeInSeconds - * Discard records older than the specified age. Default -1 (infinite). Minimum 60. * Maximum 604800.

  • MaximumRetryAttempts - Discard * records after the specified number of retries. Default -1 (infinite). Minimum 0. * Maximum 10000. When infinite, failed records will be retried until the record * expires.

  • ParallelizationFactor - Process * multiple batches from each shard concurrently.

See * Also:

AWS * API Reference

* * returns a future to the operation so that it can be executed in parallel to other requests. */ virtual Model::CreateEventSourceMappingOutcomeCallable CreateEventSourceMappingCallable(const Model::CreateEventSourceMappingRequest& request) const; /** *

Creates a mapping between an event source and an AWS Lambda function. Lambda * reads items from the event source and triggers the function.

For details * about each event source type, see the following topics.

The following error handling * options are only available for stream sources (DynamoDB and Kinesis):

    *
  • BisectBatchOnFunctionError - If the function returns an * error, split the batch in two and retry.

  • * DestinationConfig - Send discarded records to an Amazon SQS queue * or Amazon SNS topic.

  • MaximumRecordAgeInSeconds - * Discard records older than the specified age. Default -1 (infinite). Minimum 60. * Maximum 604800.

  • MaximumRetryAttempts - Discard * records after the specified number of retries. Default -1 (infinite). Minimum 0. * Maximum 10000. When infinite, failed records will be retried until the record * expires.

  • ParallelizationFactor - Process * multiple batches from each shard concurrently.

See * Also:

AWS * API Reference

* * Queues the request into a thread executor and triggers associated callback when operation has finished. */ virtual void CreateEventSourceMappingAsync(const Model::CreateEventSourceMappingRequest& request, const CreateEventSourceMappingResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const; /** *

Creates a Lambda function. To create a function, you need a deployment * package and an execution * role. The deployment package contains your function code. The execution role * grants the function permission to use AWS services, such as Amazon CloudWatch * Logs for log streaming and AWS X-Ray for request tracing.

When you create * a function, Lambda provisions an instance of the function and its supporting * resources. If your function connects to a VPC, this process can take a minute or * so. During this time, you can't invoke or modify the function. The * State, StateReason, and StateReasonCode * fields in the response from GetFunctionConfiguration indicate when the * function is ready to invoke. For more information, see Function * States.

A function has an unpublished version, and can have published * versions and aliases. The unpublished version changes when you update your * function's code and configuration. A published version is a snapshot of your * function code and configuration that can't be changed. An alias is a named * resource that maps to a version, and can be changed to map to a different * version. Use the Publish parameter to create version 1 * of your function from its initial configuration.

The other parameters let * you configure version-specific and function-level settings. You can modify * version-specific settings later with UpdateFunctionConfiguration. * Function-level settings apply to both the unpublished and published versions of * the function, and include tags (TagResource) and per-function concurrency * limits (PutFunctionConcurrency).

If another account or an AWS * service invokes your function, use AddPermission to grant permission by * creating a resource-based IAM policy. You can grant permissions at the function * level, on a version, or on an alias.

To invoke your function directly, * use Invoke. To invoke your function in response to events in other AWS * services, create an event source mapping (CreateEventSourceMapping), or * configure a function trigger in the other service. For more information, see Invoking * Functions.

See Also:

AWS * API Reference

*/ virtual Model::CreateFunctionOutcome CreateFunction(const Model::CreateFunctionRequest& request) const; /** *

Creates a Lambda function. To create a function, you need a deployment * package and an execution * role. The deployment package contains your function code. The execution role * grants the function permission to use AWS services, such as Amazon CloudWatch * Logs for log streaming and AWS X-Ray for request tracing.

When you create * a function, Lambda provisions an instance of the function and its supporting * resources. If your function connects to a VPC, this process can take a minute or * so. During this time, you can't invoke or modify the function. The * State, StateReason, and StateReasonCode * fields in the response from GetFunctionConfiguration indicate when the * function is ready to invoke. For more information, see Function * States.

A function has an unpublished version, and can have published * versions and aliases. The unpublished version changes when you update your * function's code and configuration. A published version is a snapshot of your * function code and configuration that can't be changed. An alias is a named * resource that maps to a version, and can be changed to map to a different * version. Use the Publish parameter to create version 1 * of your function from its initial configuration.

The other parameters let * you configure version-specific and function-level settings. You can modify * version-specific settings later with UpdateFunctionConfiguration. * Function-level settings apply to both the unpublished and published versions of * the function, and include tags (TagResource) and per-function concurrency * limits (PutFunctionConcurrency).

If another account or an AWS * service invokes your function, use AddPermission to grant permission by * creating a resource-based IAM policy. You can grant permissions at the function * level, on a version, or on an alias.

To invoke your function directly, * use Invoke. To invoke your function in response to events in other AWS * services, create an event source mapping (CreateEventSourceMapping), or * configure a function trigger in the other service. For more information, see Invoking * Functions.

See Also:

AWS * API Reference

* * returns a future to the operation so that it can be executed in parallel to other requests. */ virtual Model::CreateFunctionOutcomeCallable CreateFunctionCallable(const Model::CreateFunctionRequest& request) const; /** *

Creates a Lambda function. To create a function, you need a deployment * package and an execution * role. The deployment package contains your function code. The execution role * grants the function permission to use AWS services, such as Amazon CloudWatch * Logs for log streaming and AWS X-Ray for request tracing.

When you create * a function, Lambda provisions an instance of the function and its supporting * resources. If your function connects to a VPC, this process can take a minute or * so. During this time, you can't invoke or modify the function. The * State, StateReason, and StateReasonCode * fields in the response from GetFunctionConfiguration indicate when the * function is ready to invoke. For more information, see Function * States.

A function has an unpublished version, and can have published * versions and aliases. The unpublished version changes when you update your * function's code and configuration. A published version is a snapshot of your * function code and configuration that can't be changed. An alias is a named * resource that maps to a version, and can be changed to map to a different * version. Use the Publish parameter to create version 1 * of your function from its initial configuration.

The other parameters let * you configure version-specific and function-level settings. You can modify * version-specific settings later with UpdateFunctionConfiguration. * Function-level settings apply to both the unpublished and published versions of * the function, and include tags (TagResource) and per-function concurrency * limits (PutFunctionConcurrency).

If another account or an AWS * service invokes your function, use AddPermission to grant permission by * creating a resource-based IAM policy. You can grant permissions at the function * level, on a version, or on an alias.

To invoke your function directly, * use Invoke. To invoke your function in response to events in other AWS * services, create an event source mapping (CreateEventSourceMapping), or * configure a function trigger in the other service. For more information, see Invoking * Functions.

See Also:

AWS * API Reference

* * Queues the request into a thread executor and triggers associated callback when operation has finished. */ virtual void CreateFunctionAsync(const Model::CreateFunctionRequest& request, const CreateFunctionResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const; /** *

Deletes a Lambda function alias.

See * Also:

AWS * API Reference

*/ virtual Model::DeleteAliasOutcome DeleteAlias(const Model::DeleteAliasRequest& request) const; /** *

Deletes a Lambda function alias.

See * Also:

AWS * API Reference

* * returns a future to the operation so that it can be executed in parallel to other requests. */ virtual Model::DeleteAliasOutcomeCallable DeleteAliasCallable(const Model::DeleteAliasRequest& request) const; /** *

Deletes a Lambda function alias.

See * Also:

AWS * API Reference

* * Queues the request into a thread executor and triggers associated callback when operation has finished. */ virtual void DeleteAliasAsync(const Model::DeleteAliasRequest& request, const DeleteAliasResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const; /** *

Deletes an event * source mapping. You can get the identifier of a mapping from the output of * ListEventSourceMappings.

When you delete an event source mapping, * it enters a Deleting state and might not be completely deleted for * several seconds.

See Also:

AWS * API Reference

*/ virtual Model::DeleteEventSourceMappingOutcome DeleteEventSourceMapping(const Model::DeleteEventSourceMappingRequest& request) const; /** *

Deletes an event * source mapping. You can get the identifier of a mapping from the output of * ListEventSourceMappings.

When you delete an event source mapping, * it enters a Deleting state and might not be completely deleted for * several seconds.

See Also:

AWS * API Reference

* * returns a future to the operation so that it can be executed in parallel to other requests. */ virtual Model::DeleteEventSourceMappingOutcomeCallable DeleteEventSourceMappingCallable(const Model::DeleteEventSourceMappingRequest& request) const; /** *

Deletes an event * source mapping. You can get the identifier of a mapping from the output of * ListEventSourceMappings.

When you delete an event source mapping, * it enters a Deleting state and might not be completely deleted for * several seconds.

See Also:

AWS * API Reference

* * Queues the request into a thread executor and triggers associated callback when operation has finished. */ virtual void DeleteEventSourceMappingAsync(const Model::DeleteEventSourceMappingRequest& request, const DeleteEventSourceMappingResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const; /** *

Deletes a Lambda function. To delete a specific function version, use the * Qualifier parameter. Otherwise, all versions and aliases are * deleted.

To delete Lambda event source mappings that invoke a function, * use DeleteEventSourceMapping. For AWS services and resources that invoke * your function directly, delete the trigger in the service where you originally * configured it.

See Also:

AWS * API Reference

*/ virtual Model::DeleteFunctionOutcome DeleteFunction(const Model::DeleteFunctionRequest& request) const; /** *

Deletes a Lambda function. To delete a specific function version, use the * Qualifier parameter. Otherwise, all versions and aliases are * deleted.

To delete Lambda event source mappings that invoke a function, * use DeleteEventSourceMapping. For AWS services and resources that invoke * your function directly, delete the trigger in the service where you originally * configured it.

See Also:

AWS * API Reference

* * returns a future to the operation so that it can be executed in parallel to other requests. */ virtual Model::DeleteFunctionOutcomeCallable DeleteFunctionCallable(const Model::DeleteFunctionRequest& request) const; /** *

Deletes a Lambda function. To delete a specific function version, use the * Qualifier parameter. Otherwise, all versions and aliases are * deleted.

To delete Lambda event source mappings that invoke a function, * use DeleteEventSourceMapping. For AWS services and resources that invoke * your function directly, delete the trigger in the service where you originally * configured it.

See Also:

AWS * API Reference

* * Queues the request into a thread executor and triggers associated callback when operation has finished. */ virtual void DeleteFunctionAsync(const Model::DeleteFunctionRequest& request, const DeleteFunctionResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const; /** *

Removes a concurrent execution limit from a function.

See * Also:

AWS * API Reference

*/ virtual Model::DeleteFunctionConcurrencyOutcome DeleteFunctionConcurrency(const Model::DeleteFunctionConcurrencyRequest& request) const; /** *

Removes a concurrent execution limit from a function.

See * Also:

AWS * API Reference

* * returns a future to the operation so that it can be executed in parallel to other requests. */ virtual Model::DeleteFunctionConcurrencyOutcomeCallable DeleteFunctionConcurrencyCallable(const Model::DeleteFunctionConcurrencyRequest& request) const; /** *

Removes a concurrent execution limit from a function.

See * Also:

AWS * API Reference

* * Queues the request into a thread executor and triggers associated callback when operation has finished. */ virtual void DeleteFunctionConcurrencyAsync(const Model::DeleteFunctionConcurrencyRequest& request, const DeleteFunctionConcurrencyResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const; /** *

Deletes the configuration for asynchronous invocation for a function, * version, or alias.

To configure options for asynchronous invocation, use * PutFunctionEventInvokeConfig.

See Also:

AWS * API Reference

*/ virtual Model::DeleteFunctionEventInvokeConfigOutcome DeleteFunctionEventInvokeConfig(const Model::DeleteFunctionEventInvokeConfigRequest& request) const; /** *

Deletes the configuration for asynchronous invocation for a function, * version, or alias.

To configure options for asynchronous invocation, use * PutFunctionEventInvokeConfig.

See Also:

AWS * API Reference

* * returns a future to the operation so that it can be executed in parallel to other requests. */ virtual Model::DeleteFunctionEventInvokeConfigOutcomeCallable DeleteFunctionEventInvokeConfigCallable(const Model::DeleteFunctionEventInvokeConfigRequest& request) const; /** *

Deletes the configuration for asynchronous invocation for a function, * version, or alias.

To configure options for asynchronous invocation, use * PutFunctionEventInvokeConfig.

See Also:

AWS * API Reference

* * Queues the request into a thread executor and triggers associated callback when operation has finished. */ virtual void DeleteFunctionEventInvokeConfigAsync(const Model::DeleteFunctionEventInvokeConfigRequest& request, const DeleteFunctionEventInvokeConfigResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const; /** *

Deletes a version of an AWS * Lambda layer. Deleted versions can no longer be viewed or added to * functions. To avoid breaking functions, a copy of the version remains in Lambda * until no functions refer to it.

See Also:

AWS * API Reference

*/ virtual Model::DeleteLayerVersionOutcome DeleteLayerVersion(const Model::DeleteLayerVersionRequest& request) const; /** *

Deletes a version of an AWS * Lambda layer. Deleted versions can no longer be viewed or added to * functions. To avoid breaking functions, a copy of the version remains in Lambda * until no functions refer to it.

See Also:

AWS * API Reference

* * returns a future to the operation so that it can be executed in parallel to other requests. */ virtual Model::DeleteLayerVersionOutcomeCallable DeleteLayerVersionCallable(const Model::DeleteLayerVersionRequest& request) const; /** *

Deletes a version of an AWS * Lambda layer. Deleted versions can no longer be viewed or added to * functions. To avoid breaking functions, a copy of the version remains in Lambda * until no functions refer to it.

See Also:

AWS * API Reference

* * Queues the request into a thread executor and triggers associated callback when operation has finished. */ virtual void DeleteLayerVersionAsync(const Model::DeleteLayerVersionRequest& request, const DeleteLayerVersionResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const; /** *

Deletes the provisioned concurrency configuration for a * function.

See Also:

AWS * API Reference

*/ virtual Model::DeleteProvisionedConcurrencyConfigOutcome DeleteProvisionedConcurrencyConfig(const Model::DeleteProvisionedConcurrencyConfigRequest& request) const; /** *

Deletes the provisioned concurrency configuration for a * function.

See Also:

AWS * API Reference

* * returns a future to the operation so that it can be executed in parallel to other requests. */ virtual Model::DeleteProvisionedConcurrencyConfigOutcomeCallable DeleteProvisionedConcurrencyConfigCallable(const Model::DeleteProvisionedConcurrencyConfigRequest& request) const; /** *

Deletes the provisioned concurrency configuration for a * function.

See Also:

AWS * API Reference

* * Queues the request into a thread executor and triggers associated callback when operation has finished. */ virtual void DeleteProvisionedConcurrencyConfigAsync(const Model::DeleteProvisionedConcurrencyConfigRequest& request, const DeleteProvisionedConcurrencyConfigResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const; /** *

Retrieves details about your account's limits and * usage in an AWS Region.

See Also:

AWS * API Reference

*/ virtual Model::GetAccountSettingsOutcome GetAccountSettings(const Model::GetAccountSettingsRequest& request) const; /** *

Retrieves details about your account's limits and * usage in an AWS Region.

See Also:

AWS * API Reference

* * returns a future to the operation so that it can be executed in parallel to other requests. */ virtual Model::GetAccountSettingsOutcomeCallable GetAccountSettingsCallable(const Model::GetAccountSettingsRequest& request) const; /** *

Retrieves details about your account's limits and * usage in an AWS Region.

See Also:

AWS * API Reference

* * Queues the request into a thread executor and triggers associated callback when operation has finished. */ virtual void GetAccountSettingsAsync(const Model::GetAccountSettingsRequest& request, const GetAccountSettingsResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const; /** *

Returns details about a Lambda function alias.

See * Also:

AWS API * Reference

*/ virtual Model::GetAliasOutcome GetAlias(const Model::GetAliasRequest& request) const; /** *

Returns details about a Lambda function alias.

See * Also:

AWS API * Reference

* * returns a future to the operation so that it can be executed in parallel to other requests. */ virtual Model::GetAliasOutcomeCallable GetAliasCallable(const Model::GetAliasRequest& request) const; /** *

Returns details about a Lambda function alias.

See * Also:

AWS API * Reference

* * Queues the request into a thread executor and triggers associated callback when operation has finished. */ virtual void GetAliasAsync(const Model::GetAliasRequest& request, const GetAliasResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const; /** *

Returns details about an event source mapping. You can get the identifier of * a mapping from the output of ListEventSourceMappings.

See * Also:

AWS * API Reference

*/ virtual Model::GetEventSourceMappingOutcome GetEventSourceMapping(const Model::GetEventSourceMappingRequest& request) const; /** *

Returns details about an event source mapping. You can get the identifier of * a mapping from the output of ListEventSourceMappings.

See * Also:

AWS * API Reference

* * returns a future to the operation so that it can be executed in parallel to other requests. */ virtual Model::GetEventSourceMappingOutcomeCallable GetEventSourceMappingCallable(const Model::GetEventSourceMappingRequest& request) const; /** *

Returns details about an event source mapping. You can get the identifier of * a mapping from the output of ListEventSourceMappings.

See * Also:

AWS * API Reference

* * Queues the request into a thread executor and triggers associated callback when operation has finished. */ virtual void GetEventSourceMappingAsync(const Model::GetEventSourceMappingRequest& request, const GetEventSourceMappingResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const; /** *

Returns information about the function or function version, with a link to * download the deployment package that's valid for 10 minutes. If you specify a * function version, only details that are specific to that version are * returned.

See Also:

AWS * API Reference

*/ virtual Model::GetFunctionOutcome GetFunction(const Model::GetFunctionRequest& request) const; /** *

Returns information about the function or function version, with a link to * download the deployment package that's valid for 10 minutes. If you specify a * function version, only details that are specific to that version are * returned.

See Also:

AWS * API Reference

* * returns a future to the operation so that it can be executed in parallel to other requests. */ virtual Model::GetFunctionOutcomeCallable GetFunctionCallable(const Model::GetFunctionRequest& request) const; /** *

Returns information about the function or function version, with a link to * download the deployment package that's valid for 10 minutes. If you specify a * function version, only details that are specific to that version are * returned.

See Also:

AWS * API Reference

* * Queues the request into a thread executor and triggers associated callback when operation has finished. */ virtual void GetFunctionAsync(const Model::GetFunctionRequest& request, const GetFunctionResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const; /** *

Returns details about the reserved concurrency configuration for a function. * To set a concurrency limit for a function, use * PutFunctionConcurrency.

See Also:

AWS * API Reference

*/ virtual Model::GetFunctionConcurrencyOutcome GetFunctionConcurrency(const Model::GetFunctionConcurrencyRequest& request) const; /** *

Returns details about the reserved concurrency configuration for a function. * To set a concurrency limit for a function, use * PutFunctionConcurrency.

See Also:

AWS * API Reference

* * returns a future to the operation so that it can be executed in parallel to other requests. */ virtual Model::GetFunctionConcurrencyOutcomeCallable GetFunctionConcurrencyCallable(const Model::GetFunctionConcurrencyRequest& request) const; /** *

Returns details about the reserved concurrency configuration for a function. * To set a concurrency limit for a function, use * PutFunctionConcurrency.

See Also:

AWS * API Reference

* * Queues the request into a thread executor and triggers associated callback when operation has finished. */ virtual void GetFunctionConcurrencyAsync(const Model::GetFunctionConcurrencyRequest& request, const GetFunctionConcurrencyResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const; /** *

Returns the version-specific settings of a Lambda function or version. The * output includes only options that can vary between versions of a function. To * modify these settings, use UpdateFunctionConfiguration.

To get all * of a function's details, including function-level settings, use * GetFunction.

See Also:

AWS * API Reference

*/ virtual Model::GetFunctionConfigurationOutcome GetFunctionConfiguration(const Model::GetFunctionConfigurationRequest& request) const; /** *

Returns the version-specific settings of a Lambda function or version. The * output includes only options that can vary between versions of a function. To * modify these settings, use UpdateFunctionConfiguration.

To get all * of a function's details, including function-level settings, use * GetFunction.

See Also:

AWS * API Reference

* * returns a future to the operation so that it can be executed in parallel to other requests. */ virtual Model::GetFunctionConfigurationOutcomeCallable GetFunctionConfigurationCallable(const Model::GetFunctionConfigurationRequest& request) const; /** *

Returns the version-specific settings of a Lambda function or version. The * output includes only options that can vary between versions of a function. To * modify these settings, use UpdateFunctionConfiguration.

To get all * of a function's details, including function-level settings, use * GetFunction.

See Also:

AWS * API Reference

* * Queues the request into a thread executor and triggers associated callback when operation has finished. */ virtual void GetFunctionConfigurationAsync(const Model::GetFunctionConfigurationRequest& request, const GetFunctionConfigurationResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const; /** *

Retrieves the configuration for asynchronous invocation for a function, * version, or alias.

To configure options for asynchronous invocation, use * PutFunctionEventInvokeConfig.

See Also:

AWS * API Reference

*/ virtual Model::GetFunctionEventInvokeConfigOutcome GetFunctionEventInvokeConfig(const Model::GetFunctionEventInvokeConfigRequest& request) const; /** *

Retrieves the configuration for asynchronous invocation for a function, * version, or alias.

To configure options for asynchronous invocation, use * PutFunctionEventInvokeConfig.

See Also:

AWS * API Reference

* * returns a future to the operation so that it can be executed in parallel to other requests. */ virtual Model::GetFunctionEventInvokeConfigOutcomeCallable GetFunctionEventInvokeConfigCallable(const Model::GetFunctionEventInvokeConfigRequest& request) const; /** *

Retrieves the configuration for asynchronous invocation for a function, * version, or alias.

To configure options for asynchronous invocation, use * PutFunctionEventInvokeConfig.

See Also:

AWS * API Reference

* * Queues the request into a thread executor and triggers associated callback when operation has finished. */ virtual void GetFunctionEventInvokeConfigAsync(const Model::GetFunctionEventInvokeConfigRequest& request, const GetFunctionEventInvokeConfigResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const; /** *

Returns information about a version of an AWS * Lambda layer, with a link to download the layer archive that's valid for 10 * minutes.

See Also:

AWS * API Reference

*/ virtual Model::GetLayerVersionOutcome GetLayerVersion(const Model::GetLayerVersionRequest& request) const; /** *

Returns information about a version of an AWS * Lambda layer, with a link to download the layer archive that's valid for 10 * minutes.

See Also:

AWS * API Reference

* * returns a future to the operation so that it can be executed in parallel to other requests. */ virtual Model::GetLayerVersionOutcomeCallable GetLayerVersionCallable(const Model::GetLayerVersionRequest& request) const; /** *

Returns information about a version of an AWS * Lambda layer, with a link to download the layer archive that's valid for 10 * minutes.

See Also:

AWS * API Reference

* * Queues the request into a thread executor and triggers associated callback when operation has finished. */ virtual void GetLayerVersionAsync(const Model::GetLayerVersionRequest& request, const GetLayerVersionResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const; /** *

Returns information about a version of an AWS * Lambda layer, with a link to download the layer archive that's valid for 10 * minutes.

See Also:

AWS * API Reference

*/ virtual Model::GetLayerVersionByArnOutcome GetLayerVersionByArn(const Model::GetLayerVersionByArnRequest& request) const; /** *

Returns information about a version of an AWS * Lambda layer, with a link to download the layer archive that's valid for 10 * minutes.

See Also:

AWS * API Reference

* * returns a future to the operation so that it can be executed in parallel to other requests. */ virtual Model::GetLayerVersionByArnOutcomeCallable GetLayerVersionByArnCallable(const Model::GetLayerVersionByArnRequest& request) const; /** *

Returns information about a version of an AWS * Lambda layer, with a link to download the layer archive that's valid for 10 * minutes.

See Also:

AWS * API Reference

* * Queues the request into a thread executor and triggers associated callback when operation has finished. */ virtual void GetLayerVersionByArnAsync(const Model::GetLayerVersionByArnRequest& request, const GetLayerVersionByArnResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const; /** *

Returns the permission policy for a version of an AWS * Lambda layer. For more information, see * AddLayerVersionPermission.

See Also:

AWS * API Reference

*/ virtual Model::GetLayerVersionPolicyOutcome GetLayerVersionPolicy(const Model::GetLayerVersionPolicyRequest& request) const; /** *

Returns the permission policy for a version of an AWS * Lambda layer. For more information, see * AddLayerVersionPermission.

See Also:

AWS * API Reference

* * returns a future to the operation so that it can be executed in parallel to other requests. */ virtual Model::GetLayerVersionPolicyOutcomeCallable GetLayerVersionPolicyCallable(const Model::GetLayerVersionPolicyRequest& request) const; /** *

Returns the permission policy for a version of an AWS * Lambda layer. For more information, see * AddLayerVersionPermission.

See Also:

AWS * API Reference

* * Queues the request into a thread executor and triggers associated callback when operation has finished. */ virtual void GetLayerVersionPolicyAsync(const Model::GetLayerVersionPolicyRequest& request, const GetLayerVersionPolicyResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const; /** *

Returns the resource-based * IAM policy for a function, version, or alias.

See Also:

AWS * API Reference

*/ virtual Model::GetPolicyOutcome GetPolicy(const Model::GetPolicyRequest& request) const; /** *

Returns the resource-based * IAM policy for a function, version, or alias.

See Also:

AWS * API Reference

* * returns a future to the operation so that it can be executed in parallel to other requests. */ virtual Model::GetPolicyOutcomeCallable GetPolicyCallable(const Model::GetPolicyRequest& request) const; /** *

Returns the resource-based * IAM policy for a function, version, or alias.

See Also:

AWS * API Reference

* * Queues the request into a thread executor and triggers associated callback when operation has finished. */ virtual void GetPolicyAsync(const Model::GetPolicyRequest& request, const GetPolicyResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const; /** *

Retrieves the provisioned concurrency configuration for a function's alias or * version.

See Also:

AWS * API Reference

*/ virtual Model::GetProvisionedConcurrencyConfigOutcome GetProvisionedConcurrencyConfig(const Model::GetProvisionedConcurrencyConfigRequest& request) const; /** *

Retrieves the provisioned concurrency configuration for a function's alias or * version.

See Also:

AWS * API Reference

* * returns a future to the operation so that it can be executed in parallel to other requests. */ virtual Model::GetProvisionedConcurrencyConfigOutcomeCallable GetProvisionedConcurrencyConfigCallable(const Model::GetProvisionedConcurrencyConfigRequest& request) const; /** *

Retrieves the provisioned concurrency configuration for a function's alias or * version.

See Also:

AWS * API Reference

* * Queues the request into a thread executor and triggers associated callback when operation has finished. */ virtual void GetProvisionedConcurrencyConfigAsync(const Model::GetProvisionedConcurrencyConfigRequest& request, const GetProvisionedConcurrencyConfigResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const; /** *

Invokes a Lambda function. You can invoke a function synchronously (and wait * for the response), or asynchronously. To invoke a function asynchronously, set * InvocationType to Event.

For synchronous * invocation, details about the function response, including errors, are * included in the response body and headers. For either invocation type, you can * find more information in the execution * log and trace.

*

When an error occurs, your function may be invoked multiple times. Retry * behavior varies by error type, client, event source, and invocation type. For * example, if you invoke a function asynchronously and it returns an error, Lambda * executes the function up to two more times. For more information, see Retry * Behavior.

For asynchronous * invocation, Lambda adds events to a queue before sending them to your * function. If your function does not have enough capacity to keep up with the * queue, events may be lost. Occasionally, your function may receive the same * event multiple times, even if no error occurs. To retain events that were not * processed, configure your function with a dead-letter * queue.

The status code in the API response doesn't reflect function * errors. Error codes are reserved for errors that prevent your function from * executing, such as permissions errors, limit * errors, or issues with your function's code and configuration. For example, * Lambda returns TooManyRequestsException if executing the function * would cause you to exceed a concurrency limit at either the account level * (ConcurrentInvocationLimitExceeded) or function level * (ReservedFunctionConcurrentInvocationLimitExceeded).

For * functions with a long timeout, your client might be disconnected during * synchronous invocation while it waits for a response. Configure your HTTP * client, SDK, firewall, proxy, or operating system to allow for long connections * with timeout or keep-alive settings.

This operation requires permission * for the lambda:InvokeFunction * action.

See Also:

AWS API * Reference

*/ virtual Model::InvokeOutcome Invoke(const Model::InvokeRequest& request) const; /** *

Invokes a Lambda function. You can invoke a function synchronously (and wait * for the response), or asynchronously. To invoke a function asynchronously, set * InvocationType to Event.

For synchronous * invocation, details about the function response, including errors, are * included in the response body and headers. For either invocation type, you can * find more information in the execution * log and trace.

*

When an error occurs, your function may be invoked multiple times. Retry * behavior varies by error type, client, event source, and invocation type. For * example, if you invoke a function asynchronously and it returns an error, Lambda * executes the function up to two more times. For more information, see Retry * Behavior.

For asynchronous * invocation, Lambda adds events to a queue before sending them to your * function. If your function does not have enough capacity to keep up with the * queue, events may be lost. Occasionally, your function may receive the same * event multiple times, even if no error occurs. To retain events that were not * processed, configure your function with a dead-letter * queue.

The status code in the API response doesn't reflect function * errors. Error codes are reserved for errors that prevent your function from * executing, such as permissions errors, limit * errors, or issues with your function's code and configuration. For example, * Lambda returns TooManyRequestsException if executing the function * would cause you to exceed a concurrency limit at either the account level * (ConcurrentInvocationLimitExceeded) or function level * (ReservedFunctionConcurrentInvocationLimitExceeded).

For * functions with a long timeout, your client might be disconnected during * synchronous invocation while it waits for a response. Configure your HTTP * client, SDK, firewall, proxy, or operating system to allow for long connections * with timeout or keep-alive settings.

This operation requires permission * for the lambda:InvokeFunction * action.

See Also:

AWS API * Reference

* * returns a future to the operation so that it can be executed in parallel to other requests. */ virtual Model::InvokeOutcomeCallable InvokeCallable(const Model::InvokeRequest& request) const; /** *

Invokes a Lambda function. You can invoke a function synchronously (and wait * for the response), or asynchronously. To invoke a function asynchronously, set * InvocationType to Event.

For synchronous * invocation, details about the function response, including errors, are * included in the response body and headers. For either invocation type, you can * find more information in the execution * log and trace.

*

When an error occurs, your function may be invoked multiple times. Retry * behavior varies by error type, client, event source, and invocation type. For * example, if you invoke a function asynchronously and it returns an error, Lambda * executes the function up to two more times. For more information, see Retry * Behavior.

For asynchronous * invocation, Lambda adds events to a queue before sending them to your * function. If your function does not have enough capacity to keep up with the * queue, events may be lost. Occasionally, your function may receive the same * event multiple times, even if no error occurs. To retain events that were not * processed, configure your function with a dead-letter * queue.

The status code in the API response doesn't reflect function * errors. Error codes are reserved for errors that prevent your function from * executing, such as permissions errors, limit * errors, or issues with your function's code and configuration. For example, * Lambda returns TooManyRequestsException if executing the function * would cause you to exceed a concurrency limit at either the account level * (ConcurrentInvocationLimitExceeded) or function level * (ReservedFunctionConcurrentInvocationLimitExceeded).

For * functions with a long timeout, your client might be disconnected during * synchronous invocation while it waits for a response. Configure your HTTP * client, SDK, firewall, proxy, or operating system to allow for long connections * with timeout or keep-alive settings.

This operation requires permission * for the lambda:InvokeFunction * action.

See Also:

AWS API * Reference

* * Queues the request into a thread executor and triggers associated callback when operation has finished. */ virtual void InvokeAsync(const Model::InvokeRequest& request, const InvokeResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const; /** *

Returns a list of aliases * for a Lambda function.

See Also:

AWS * API Reference

*/ virtual Model::ListAliasesOutcome ListAliases(const Model::ListAliasesRequest& request) const; /** *

Returns a list of aliases * for a Lambda function.

See Also:

AWS * API Reference

* * returns a future to the operation so that it can be executed in parallel to other requests. */ virtual Model::ListAliasesOutcomeCallable ListAliasesCallable(const Model::ListAliasesRequest& request) const; /** *

Returns a list of aliases * for a Lambda function.

See Also:

AWS * API Reference

* * Queues the request into a thread executor and triggers associated callback when operation has finished. */ virtual void ListAliasesAsync(const Model::ListAliasesRequest& request, const ListAliasesResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const; /** *

Lists event source mappings. Specify an EventSourceArn to only * show event source mappings for a single event source.

See Also:

* AWS * API Reference

*/ virtual Model::ListEventSourceMappingsOutcome ListEventSourceMappings(const Model::ListEventSourceMappingsRequest& request) const; /** *

Lists event source mappings. Specify an EventSourceArn to only * show event source mappings for a single event source.

See Also:

* AWS * API Reference

* * returns a future to the operation so that it can be executed in parallel to other requests. */ virtual Model::ListEventSourceMappingsOutcomeCallable ListEventSourceMappingsCallable(const Model::ListEventSourceMappingsRequest& request) const; /** *

Lists event source mappings. Specify an EventSourceArn to only * show event source mappings for a single event source.

See Also:

* AWS * API Reference

* * Queues the request into a thread executor and triggers associated callback when operation has finished. */ virtual void ListEventSourceMappingsAsync(const Model::ListEventSourceMappingsRequest& request, const ListEventSourceMappingsResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const; /** *

Retrieves a list of configurations for asynchronous invocation for a * function.

To configure options for asynchronous invocation, use * PutFunctionEventInvokeConfig.

See Also:

AWS * API Reference

*/ virtual Model::ListFunctionEventInvokeConfigsOutcome ListFunctionEventInvokeConfigs(const Model::ListFunctionEventInvokeConfigsRequest& request) const; /** *

Retrieves a list of configurations for asynchronous invocation for a * function.

To configure options for asynchronous invocation, use * PutFunctionEventInvokeConfig.

See Also:

AWS * API Reference

* * returns a future to the operation so that it can be executed in parallel to other requests. */ virtual Model::ListFunctionEventInvokeConfigsOutcomeCallable ListFunctionEventInvokeConfigsCallable(const Model::ListFunctionEventInvokeConfigsRequest& request) const; /** *

Retrieves a list of configurations for asynchronous invocation for a * function.

To configure options for asynchronous invocation, use * PutFunctionEventInvokeConfig.

See Also:

AWS * API Reference

* * Queues the request into a thread executor and triggers associated callback when operation has finished. */ virtual void ListFunctionEventInvokeConfigsAsync(const Model::ListFunctionEventInvokeConfigsRequest& request, const ListFunctionEventInvokeConfigsResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const; /** *

Returns a list of Lambda functions, with the version-specific configuration * of each. Lambda returns up to 50 functions per call.

Set * FunctionVersion to ALL to include all published * versions of each function in addition to the unpublished version. To get more * information about a function or version, use GetFunction.

See * Also:

AWS * API Reference

*/ virtual Model::ListFunctionsOutcome ListFunctions(const Model::ListFunctionsRequest& request) const; /** *

Returns a list of Lambda functions, with the version-specific configuration * of each. Lambda returns up to 50 functions per call.

Set * FunctionVersion to ALL to include all published * versions of each function in addition to the unpublished version. To get more * information about a function or version, use GetFunction.

See * Also:

AWS * API Reference

* * returns a future to the operation so that it can be executed in parallel to other requests. */ virtual Model::ListFunctionsOutcomeCallable ListFunctionsCallable(const Model::ListFunctionsRequest& request) const; /** *

Returns a list of Lambda functions, with the version-specific configuration * of each. Lambda returns up to 50 functions per call.

Set * FunctionVersion to ALL to include all published * versions of each function in addition to the unpublished version. To get more * information about a function or version, use GetFunction.

See * Also:

AWS * API Reference

* * Queues the request into a thread executor and triggers associated callback when operation has finished. */ virtual void ListFunctionsAsync(const Model::ListFunctionsRequest& request, const ListFunctionsResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const; /** *

Lists the versions of an AWS * Lambda layer. Versions that have been deleted aren't listed. Specify a runtime * identifier to list only versions that indicate that they're compatible with * that runtime.

See Also:

AWS * API Reference

*/ virtual Model::ListLayerVersionsOutcome ListLayerVersions(const Model::ListLayerVersionsRequest& request) const; /** *

Lists the versions of an AWS * Lambda layer. Versions that have been deleted aren't listed. Specify a runtime * identifier to list only versions that indicate that they're compatible with * that runtime.

See Also:

AWS * API Reference

* * returns a future to the operation so that it can be executed in parallel to other requests. */ virtual Model::ListLayerVersionsOutcomeCallable ListLayerVersionsCallable(const Model::ListLayerVersionsRequest& request) const; /** *

Lists the versions of an AWS * Lambda layer. Versions that have been deleted aren't listed. Specify a runtime * identifier to list only versions that indicate that they're compatible with * that runtime.

See Also:

AWS * API Reference

* * Queues the request into a thread executor and triggers associated callback when operation has finished. */ virtual void ListLayerVersionsAsync(const Model::ListLayerVersionsRequest& request, const ListLayerVersionsResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const; /** *

Lists AWS * Lambda layers and shows information about the latest version of each. * Specify a runtime * identifier to list only layers that indicate that they're compatible with * that runtime.

See Also:

AWS * API Reference

*/ virtual Model::ListLayersOutcome ListLayers(const Model::ListLayersRequest& request) const; /** *

Lists AWS * Lambda layers and shows information about the latest version of each. * Specify a runtime * identifier to list only layers that indicate that they're compatible with * that runtime.

See Also:

AWS * API Reference

* * returns a future to the operation so that it can be executed in parallel to other requests. */ virtual Model::ListLayersOutcomeCallable ListLayersCallable(const Model::ListLayersRequest& request) const; /** *

Lists AWS * Lambda layers and shows information about the latest version of each. * Specify a runtime * identifier to list only layers that indicate that they're compatible with * that runtime.

See Also:

AWS * API Reference

* * Queues the request into a thread executor and triggers associated callback when operation has finished. */ virtual void ListLayersAsync(const Model::ListLayersRequest& request, const ListLayersResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const; /** *

Retrieves a list of provisioned concurrency configurations for a * function.

See Also:

AWS * API Reference

*/ virtual Model::ListProvisionedConcurrencyConfigsOutcome ListProvisionedConcurrencyConfigs(const Model::ListProvisionedConcurrencyConfigsRequest& request) const; /** *

Retrieves a list of provisioned concurrency configurations for a * function.

See Also:

AWS * API Reference

* * returns a future to the operation so that it can be executed in parallel to other requests. */ virtual Model::ListProvisionedConcurrencyConfigsOutcomeCallable ListProvisionedConcurrencyConfigsCallable(const Model::ListProvisionedConcurrencyConfigsRequest& request) const; /** *

Retrieves a list of provisioned concurrency configurations for a * function.

See Also:

AWS * API Reference

* * Queues the request into a thread executor and triggers associated callback when operation has finished. */ virtual void ListProvisionedConcurrencyConfigsAsync(const Model::ListProvisionedConcurrencyConfigsRequest& request, const ListProvisionedConcurrencyConfigsResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const; /** *

Returns a function's tags. You * can also view tags with GetFunction.

See Also:

AWS API * Reference

*/ virtual Model::ListTagsOutcome ListTags(const Model::ListTagsRequest& request) const; /** *

Returns a function's tags. You * can also view tags with GetFunction.

See Also:

AWS API * Reference

* * returns a future to the operation so that it can be executed in parallel to other requests. */ virtual Model::ListTagsOutcomeCallable ListTagsCallable(const Model::ListTagsRequest& request) const; /** *

Returns a function's tags. You * can also view tags with GetFunction.

See Also:

AWS API * Reference

* * Queues the request into a thread executor and triggers associated callback when operation has finished. */ virtual void ListTagsAsync(const Model::ListTagsRequest& request, const ListTagsResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const; /** *

Returns a list of versions, * with the version-specific configuration of each. Lambda returns up to 50 * versions per call.

See Also:

AWS * API Reference

*/ virtual Model::ListVersionsByFunctionOutcome ListVersionsByFunction(const Model::ListVersionsByFunctionRequest& request) const; /** *

Returns a list of versions, * with the version-specific configuration of each. Lambda returns up to 50 * versions per call.

See Also:

AWS * API Reference

* * returns a future to the operation so that it can be executed in parallel to other requests. */ virtual Model::ListVersionsByFunctionOutcomeCallable ListVersionsByFunctionCallable(const Model::ListVersionsByFunctionRequest& request) const; /** *

Returns a list of versions, * with the version-specific configuration of each. Lambda returns up to 50 * versions per call.

See Also:

AWS * API Reference

* * Queues the request into a thread executor and triggers associated callback when operation has finished. */ virtual void ListVersionsByFunctionAsync(const Model::ListVersionsByFunctionRequest& request, const ListVersionsByFunctionResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const; /** *

Creates an AWS * Lambda layer from a ZIP archive. Each time you call * PublishLayerVersion with the same layer name, a new version is * created.

Add layers to your function with CreateFunction or * UpdateFunctionConfiguration.

See Also:

AWS * API Reference

*/ virtual Model::PublishLayerVersionOutcome PublishLayerVersion(const Model::PublishLayerVersionRequest& request) const; /** *

Creates an AWS * Lambda layer from a ZIP archive. Each time you call * PublishLayerVersion with the same layer name, a new version is * created.

Add layers to your function with CreateFunction or * UpdateFunctionConfiguration.

See Also:

AWS * API Reference

* * returns a future to the operation so that it can be executed in parallel to other requests. */ virtual Model::PublishLayerVersionOutcomeCallable PublishLayerVersionCallable(const Model::PublishLayerVersionRequest& request) const; /** *

Creates an AWS * Lambda layer from a ZIP archive. Each time you call * PublishLayerVersion with the same layer name, a new version is * created.

Add layers to your function with CreateFunction or * UpdateFunctionConfiguration.

See Also:

AWS * API Reference

* * Queues the request into a thread executor and triggers associated callback when operation has finished. */ virtual void PublishLayerVersionAsync(const Model::PublishLayerVersionRequest& request, const PublishLayerVersionResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const; /** *

Creates a version * from the current code and configuration of a function. Use versions to create a * snapshot of your function code and configuration that doesn't change.

AWS * Lambda doesn't publish a version if the function's configuration and code * haven't changed since the last version. Use UpdateFunctionCode or * UpdateFunctionConfiguration to update the function before publishing a * version.

Clients can invoke versions directly or with an alias. To create * an alias, use CreateAlias.

See Also:

AWS * API Reference

*/ virtual Model::PublishVersionOutcome PublishVersion(const Model::PublishVersionRequest& request) const; /** *

Creates a version * from the current code and configuration of a function. Use versions to create a * snapshot of your function code and configuration that doesn't change.

AWS * Lambda doesn't publish a version if the function's configuration and code * haven't changed since the last version. Use UpdateFunctionCode or * UpdateFunctionConfiguration to update the function before publishing a * version.

Clients can invoke versions directly or with an alias. To create * an alias, use CreateAlias.

See Also:

AWS * API Reference

* * returns a future to the operation so that it can be executed in parallel to other requests. */ virtual Model::PublishVersionOutcomeCallable PublishVersionCallable(const Model::PublishVersionRequest& request) const; /** *

Creates a version * from the current code and configuration of a function. Use versions to create a * snapshot of your function code and configuration that doesn't change.

AWS * Lambda doesn't publish a version if the function's configuration and code * haven't changed since the last version. Use UpdateFunctionCode or * UpdateFunctionConfiguration to update the function before publishing a * version.

Clients can invoke versions directly or with an alias. To create * an alias, use CreateAlias.

See Also:

AWS * API Reference

* * Queues the request into a thread executor and triggers associated callback when operation has finished. */ virtual void PublishVersionAsync(const Model::PublishVersionRequest& request, const PublishVersionResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const; /** *

Sets the maximum number of simultaneous executions for a function, and * reserves capacity for that concurrency level.

Concurrency settings apply * to the function as a whole, including all published versions and the unpublished * version. Reserving concurrency both ensures that your function has capacity to * process the specified number of events simultaneously, and prevents it from * scaling beyond that level. Use GetFunction to see the current setting for * a function.

Use GetAccountSettings to see your Regional * concurrency limit. You can reserve concurrency for as many functions as you * like, as long as you leave at least 100 simultaneous executions unreserved for * functions that aren't configured with a per-function limit. For more * information, see Managing * Concurrency.

See Also:

AWS * API Reference

*/ virtual Model::PutFunctionConcurrencyOutcome PutFunctionConcurrency(const Model::PutFunctionConcurrencyRequest& request) const; /** *

Sets the maximum number of simultaneous executions for a function, and * reserves capacity for that concurrency level.

Concurrency settings apply * to the function as a whole, including all published versions and the unpublished * version. Reserving concurrency both ensures that your function has capacity to * process the specified number of events simultaneously, and prevents it from * scaling beyond that level. Use GetFunction to see the current setting for * a function.

Use GetAccountSettings to see your Regional * concurrency limit. You can reserve concurrency for as many functions as you * like, as long as you leave at least 100 simultaneous executions unreserved for * functions that aren't configured with a per-function limit. For more * information, see Managing * Concurrency.

See Also:

AWS * API Reference

* * returns a future to the operation so that it can be executed in parallel to other requests. */ virtual Model::PutFunctionConcurrencyOutcomeCallable PutFunctionConcurrencyCallable(const Model::PutFunctionConcurrencyRequest& request) const; /** *

Sets the maximum number of simultaneous executions for a function, and * reserves capacity for that concurrency level.

Concurrency settings apply * to the function as a whole, including all published versions and the unpublished * version. Reserving concurrency both ensures that your function has capacity to * process the specified number of events simultaneously, and prevents it from * scaling beyond that level. Use GetFunction to see the current setting for * a function.

Use GetAccountSettings to see your Regional * concurrency limit. You can reserve concurrency for as many functions as you * like, as long as you leave at least 100 simultaneous executions unreserved for * functions that aren't configured with a per-function limit. For more * information, see Managing * Concurrency.

See Also:

AWS * API Reference

* * Queues the request into a thread executor and triggers associated callback when operation has finished. */ virtual void PutFunctionConcurrencyAsync(const Model::PutFunctionConcurrencyRequest& request, const PutFunctionConcurrencyResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const; /** *

Configures options for asynchronous * invocation on a function, version, or alias. If a configuration already * exists for a function, version, or alias, this operation overwrites it. If you * exclude any settings, they are removed. To set one option without affecting * existing settings for other options, use * UpdateFunctionEventInvokeConfig.

By default, Lambda retries an * asynchronous invocation twice if the function returns an error. It retains * events in a queue for up to six hours. When an event fails all processing * attempts or stays in the asynchronous invocation queue for too long, Lambda * discards it. To retain discarded events, configure a dead-letter queue with * UpdateFunctionConfiguration.

To send an invocation record to a * queue, topic, function, or event bus, specify a destination. * You can configure separate destinations for successful invocations (on-success) * and events that fail all processing attempts (on-failure). You can configure * destinations in addition to or instead of a dead-letter queue.

See * Also:

AWS * API Reference

*/ virtual Model::PutFunctionEventInvokeConfigOutcome PutFunctionEventInvokeConfig(const Model::PutFunctionEventInvokeConfigRequest& request) const; /** *

Configures options for asynchronous * invocation on a function, version, or alias. If a configuration already * exists for a function, version, or alias, this operation overwrites it. If you * exclude any settings, they are removed. To set one option without affecting * existing settings for other options, use * UpdateFunctionEventInvokeConfig.

By default, Lambda retries an * asynchronous invocation twice if the function returns an error. It retains * events in a queue for up to six hours. When an event fails all processing * attempts or stays in the asynchronous invocation queue for too long, Lambda * discards it. To retain discarded events, configure a dead-letter queue with * UpdateFunctionConfiguration.

To send an invocation record to a * queue, topic, function, or event bus, specify a destination. * You can configure separate destinations for successful invocations (on-success) * and events that fail all processing attempts (on-failure). You can configure * destinations in addition to or instead of a dead-letter queue.

See * Also:

AWS * API Reference

* * returns a future to the operation so that it can be executed in parallel to other requests. */ virtual Model::PutFunctionEventInvokeConfigOutcomeCallable PutFunctionEventInvokeConfigCallable(const Model::PutFunctionEventInvokeConfigRequest& request) const; /** *

Configures options for asynchronous * invocation on a function, version, or alias. If a configuration already * exists for a function, version, or alias, this operation overwrites it. If you * exclude any settings, they are removed. To set one option without affecting * existing settings for other options, use * UpdateFunctionEventInvokeConfig.

By default, Lambda retries an * asynchronous invocation twice if the function returns an error. It retains * events in a queue for up to six hours. When an event fails all processing * attempts or stays in the asynchronous invocation queue for too long, Lambda * discards it. To retain discarded events, configure a dead-letter queue with * UpdateFunctionConfiguration.

To send an invocation record to a * queue, topic, function, or event bus, specify a destination. * You can configure separate destinations for successful invocations (on-success) * and events that fail all processing attempts (on-failure). You can configure * destinations in addition to or instead of a dead-letter queue.

See * Also:

AWS * API Reference

* * Queues the request into a thread executor and triggers associated callback when operation has finished. */ virtual void PutFunctionEventInvokeConfigAsync(const Model::PutFunctionEventInvokeConfigRequest& request, const PutFunctionEventInvokeConfigResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const; /** *

Adds a provisioned concurrency configuration to a function's alias or * version.

See Also:

AWS * API Reference

*/ virtual Model::PutProvisionedConcurrencyConfigOutcome PutProvisionedConcurrencyConfig(const Model::PutProvisionedConcurrencyConfigRequest& request) const; /** *

Adds a provisioned concurrency configuration to a function's alias or * version.

See Also:

AWS * API Reference

* * returns a future to the operation so that it can be executed in parallel to other requests. */ virtual Model::PutProvisionedConcurrencyConfigOutcomeCallable PutProvisionedConcurrencyConfigCallable(const Model::PutProvisionedConcurrencyConfigRequest& request) const; /** *

Adds a provisioned concurrency configuration to a function's alias or * version.

See Also:

AWS * API Reference

* * Queues the request into a thread executor and triggers associated callback when operation has finished. */ virtual void PutProvisionedConcurrencyConfigAsync(const Model::PutProvisionedConcurrencyConfigRequest& request, const PutProvisionedConcurrencyConfigResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const; /** *

Removes a statement from the permissions policy for a version of an AWS * Lambda layer. For more information, see * AddLayerVersionPermission.

See Also:

AWS * API Reference

*/ virtual Model::RemoveLayerVersionPermissionOutcome RemoveLayerVersionPermission(const Model::RemoveLayerVersionPermissionRequest& request) const; /** *

Removes a statement from the permissions policy for a version of an AWS * Lambda layer. For more information, see * AddLayerVersionPermission.

See Also:

AWS * API Reference

* * returns a future to the operation so that it can be executed in parallel to other requests. */ virtual Model::RemoveLayerVersionPermissionOutcomeCallable RemoveLayerVersionPermissionCallable(const Model::RemoveLayerVersionPermissionRequest& request) const; /** *

Removes a statement from the permissions policy for a version of an AWS * Lambda layer. For more information, see * AddLayerVersionPermission.

See Also:

AWS * API Reference

* * Queues the request into a thread executor and triggers associated callback when operation has finished. */ virtual void RemoveLayerVersionPermissionAsync(const Model::RemoveLayerVersionPermissionRequest& request, const RemoveLayerVersionPermissionResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const; /** *

Revokes function-use permission from an AWS service or another account. You * can get the ID of the statement from the output of * GetPolicy.

See Also:

AWS * API Reference

*/ virtual Model::RemovePermissionOutcome RemovePermission(const Model::RemovePermissionRequest& request) const; /** *

Revokes function-use permission from an AWS service or another account. You * can get the ID of the statement from the output of * GetPolicy.

See Also:

AWS * API Reference

* * returns a future to the operation so that it can be executed in parallel to other requests. */ virtual Model::RemovePermissionOutcomeCallable RemovePermissionCallable(const Model::RemovePermissionRequest& request) const; /** *

Revokes function-use permission from an AWS service or another account. You * can get the ID of the statement from the output of * GetPolicy.

See Also:

AWS * API Reference

* * Queues the request into a thread executor and triggers associated callback when operation has finished. */ virtual void RemovePermissionAsync(const Model::RemovePermissionRequest& request, const RemovePermissionResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const; /** *

Adds tags to a * function.

See Also:

AWS * API Reference

*/ virtual Model::TagResourceOutcome TagResource(const Model::TagResourceRequest& request) const; /** *

Adds tags to a * function.

See Also:

AWS * API Reference

* * returns a future to the operation so that it can be executed in parallel to other requests. */ virtual Model::TagResourceOutcomeCallable TagResourceCallable(const Model::TagResourceRequest& request) const; /** *

Adds tags to a * function.

See Also:

AWS * API Reference

* * Queues the request into a thread executor and triggers associated callback when operation has finished. */ virtual void TagResourceAsync(const Model::TagResourceRequest& request, const TagResourceResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const; /** *

Removes tags from a * function.

See Also:

AWS * API Reference

*/ virtual Model::UntagResourceOutcome UntagResource(const Model::UntagResourceRequest& request) const; /** *

Removes tags from a * function.

See Also:

AWS * API Reference

* * returns a future to the operation so that it can be executed in parallel to other requests. */ virtual Model::UntagResourceOutcomeCallable UntagResourceCallable(const Model::UntagResourceRequest& request) const; /** *

Removes tags from a * function.

See Also:

AWS * API Reference

* * Queues the request into a thread executor and triggers associated callback when operation has finished. */ virtual void UntagResourceAsync(const Model::UntagResourceRequest& request, const UntagResourceResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const; /** *

Updates the configuration of a Lambda function alias.

See * Also:

AWS * API Reference

*/ virtual Model::UpdateAliasOutcome UpdateAlias(const Model::UpdateAliasRequest& request) const; /** *

Updates the configuration of a Lambda function alias.

See * Also:

AWS * API Reference

* * returns a future to the operation so that it can be executed in parallel to other requests. */ virtual Model::UpdateAliasOutcomeCallable UpdateAliasCallable(const Model::UpdateAliasRequest& request) const; /** *

Updates the configuration of a Lambda function alias.

See * Also:

AWS * API Reference

* * Queues the request into a thread executor and triggers associated callback when operation has finished. */ virtual void UpdateAliasAsync(const Model::UpdateAliasRequest& request, const UpdateAliasResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const; /** *

Updates an event source mapping. You can change the function that AWS Lambda * invokes, or pause invocation and resume later from the same location.

The * following error handling options are only available for stream sources (DynamoDB * and Kinesis):

  • BisectBatchOnFunctionError - If the * function returns an error, split the batch in two and retry.

  • * DestinationConfig - Send discarded records to an Amazon SQS queue * or Amazon SNS topic.

  • MaximumRecordAgeInSeconds - * Discard records older than the specified age. Default -1 (infinite). Minimum 60. * Maximum 604800.

  • MaximumRetryAttempts - Discard * records after the specified number of retries. Default -1 (infinite). Minimum 0. * Maximum 10000. When infinite, failed records will be retried until the record * expires.

  • ParallelizationFactor - Process * multiple batches from each shard concurrently.

See * Also:

AWS * API Reference

*/ virtual Model::UpdateEventSourceMappingOutcome UpdateEventSourceMapping(const Model::UpdateEventSourceMappingRequest& request) const; /** *

Updates an event source mapping. You can change the function that AWS Lambda * invokes, or pause invocation and resume later from the same location.

The * following error handling options are only available for stream sources (DynamoDB * and Kinesis):

  • BisectBatchOnFunctionError - If the * function returns an error, split the batch in two and retry.

  • * DestinationConfig - Send discarded records to an Amazon SQS queue * or Amazon SNS topic.

  • MaximumRecordAgeInSeconds - * Discard records older than the specified age. Default -1 (infinite). Minimum 60. * Maximum 604800.

  • MaximumRetryAttempts - Discard * records after the specified number of retries. Default -1 (infinite). Minimum 0. * Maximum 10000. When infinite, failed records will be retried until the record * expires.

  • ParallelizationFactor - Process * multiple batches from each shard concurrently.

See * Also:

AWS * API Reference

* * returns a future to the operation so that it can be executed in parallel to other requests. */ virtual Model::UpdateEventSourceMappingOutcomeCallable UpdateEventSourceMappingCallable(const Model::UpdateEventSourceMappingRequest& request) const; /** *

Updates an event source mapping. You can change the function that AWS Lambda * invokes, or pause invocation and resume later from the same location.

The * following error handling options are only available for stream sources (DynamoDB * and Kinesis):

  • BisectBatchOnFunctionError - If the * function returns an error, split the batch in two and retry.

  • * DestinationConfig - Send discarded records to an Amazon SQS queue * or Amazon SNS topic.

  • MaximumRecordAgeInSeconds - * Discard records older than the specified age. Default -1 (infinite). Minimum 60. * Maximum 604800.

  • MaximumRetryAttempts - Discard * records after the specified number of retries. Default -1 (infinite). Minimum 0. * Maximum 10000. When infinite, failed records will be retried until the record * expires.

  • ParallelizationFactor - Process * multiple batches from each shard concurrently.

See * Also:

AWS * API Reference

* * Queues the request into a thread executor and triggers associated callback when operation has finished. */ virtual void UpdateEventSourceMappingAsync(const Model::UpdateEventSourceMappingRequest& request, const UpdateEventSourceMappingResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const; /** *

Updates a Lambda function's code.

The function's code is locked when * you publish a version. You can't modify the code of a published version, only * the unpublished version.

See Also:

AWS * API Reference

*/ virtual Model::UpdateFunctionCodeOutcome UpdateFunctionCode(const Model::UpdateFunctionCodeRequest& request) const; /** *

Updates a Lambda function's code.

The function's code is locked when * you publish a version. You can't modify the code of a published version, only * the unpublished version.

See Also:

AWS * API Reference

* * returns a future to the operation so that it can be executed in parallel to other requests. */ virtual Model::UpdateFunctionCodeOutcomeCallable UpdateFunctionCodeCallable(const Model::UpdateFunctionCodeRequest& request) const; /** *

Updates a Lambda function's code.

The function's code is locked when * you publish a version. You can't modify the code of a published version, only * the unpublished version.

See Also:

AWS * API Reference

* * Queues the request into a thread executor and triggers associated callback when operation has finished. */ virtual void UpdateFunctionCodeAsync(const Model::UpdateFunctionCodeRequest& request, const UpdateFunctionCodeResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const; /** *

Modify the version-specific settings of a Lambda function.

When you * update a function, Lambda provisions an instance of the function and its * supporting resources. If your function connects to a VPC, this process can take * a minute. During this time, you can't modify the function, but you can still * invoke it. The LastUpdateStatus, * LastUpdateStatusReason, and LastUpdateStatusReasonCode * fields in the response from GetFunctionConfiguration indicate when the * update is complete and the function is processing events with the new * configuration. For more information, see Function * States.

These settings can vary between versions of a function and * are locked when you publish a version. You can't modify the configuration of a * published version, only the unpublished version.

To configure function * concurrency, use PutFunctionConcurrency. To grant invoke permissions to * an account or AWS service, use AddPermission.

See Also:

* AWS * API Reference

*/ virtual Model::UpdateFunctionConfigurationOutcome UpdateFunctionConfiguration(const Model::UpdateFunctionConfigurationRequest& request) const; /** *

Modify the version-specific settings of a Lambda function.

When you * update a function, Lambda provisions an instance of the function and its * supporting resources. If your function connects to a VPC, this process can take * a minute. During this time, you can't modify the function, but you can still * invoke it. The LastUpdateStatus, * LastUpdateStatusReason, and LastUpdateStatusReasonCode * fields in the response from GetFunctionConfiguration indicate when the * update is complete and the function is processing events with the new * configuration. For more information, see Function * States.

These settings can vary between versions of a function and * are locked when you publish a version. You can't modify the configuration of a * published version, only the unpublished version.

To configure function * concurrency, use PutFunctionConcurrency. To grant invoke permissions to * an account or AWS service, use AddPermission.

See Also:

* AWS * API Reference

* * returns a future to the operation so that it can be executed in parallel to other requests. */ virtual Model::UpdateFunctionConfigurationOutcomeCallable UpdateFunctionConfigurationCallable(const Model::UpdateFunctionConfigurationRequest& request) const; /** *

Modify the version-specific settings of a Lambda function.

When you * update a function, Lambda provisions an instance of the function and its * supporting resources. If your function connects to a VPC, this process can take * a minute. During this time, you can't modify the function, but you can still * invoke it. The LastUpdateStatus, * LastUpdateStatusReason, and LastUpdateStatusReasonCode * fields in the response from GetFunctionConfiguration indicate when the * update is complete and the function is processing events with the new * configuration. For more information, see Function * States.

These settings can vary between versions of a function and * are locked when you publish a version. You can't modify the configuration of a * published version, only the unpublished version.

To configure function * concurrency, use PutFunctionConcurrency. To grant invoke permissions to * an account or AWS service, use AddPermission.

See Also:

* AWS * API Reference

* * Queues the request into a thread executor and triggers associated callback when operation has finished. */ virtual void UpdateFunctionConfigurationAsync(const Model::UpdateFunctionConfigurationRequest& request, const UpdateFunctionConfigurationResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const; /** *

Updates the configuration for asynchronous invocation for a function, * version, or alias.

To configure options for asynchronous invocation, use * PutFunctionEventInvokeConfig.

See Also:

AWS * API Reference

*/ virtual Model::UpdateFunctionEventInvokeConfigOutcome UpdateFunctionEventInvokeConfig(const Model::UpdateFunctionEventInvokeConfigRequest& request) const; /** *

Updates the configuration for asynchronous invocation for a function, * version, or alias.

To configure options for asynchronous invocation, use * PutFunctionEventInvokeConfig.

See Also:

AWS * API Reference

* * returns a future to the operation so that it can be executed in parallel to other requests. */ virtual Model::UpdateFunctionEventInvokeConfigOutcomeCallable UpdateFunctionEventInvokeConfigCallable(const Model::UpdateFunctionEventInvokeConfigRequest& request) const; /** *

Updates the configuration for asynchronous invocation for a function, * version, or alias.

To configure options for asynchronous invocation, use * PutFunctionEventInvokeConfig.

See Also:

AWS * API Reference

* * Queues the request into a thread executor and triggers associated callback when operation has finished. */ virtual void UpdateFunctionEventInvokeConfigAsync(const Model::UpdateFunctionEventInvokeConfigRequest& request, const UpdateFunctionEventInvokeConfigResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const; void OverrideEndpoint(const Aws::String& endpoint); private: void init(const Aws::Client::ClientConfiguration& clientConfiguration); void AddLayerVersionPermissionAsyncHelper(const Model::AddLayerVersionPermissionRequest& request, const AddLayerVersionPermissionResponseReceivedHandler& handler, const std::shared_ptr& context) const; void AddPermissionAsyncHelper(const Model::AddPermissionRequest& request, const AddPermissionResponseReceivedHandler& handler, const std::shared_ptr& context) const; void CreateAliasAsyncHelper(const Model::CreateAliasRequest& request, const CreateAliasResponseReceivedHandler& handler, const std::shared_ptr& context) const; void CreateEventSourceMappingAsyncHelper(const Model::CreateEventSourceMappingRequest& request, const CreateEventSourceMappingResponseReceivedHandler& handler, const std::shared_ptr& context) const; void CreateFunctionAsyncHelper(const Model::CreateFunctionRequest& request, const CreateFunctionResponseReceivedHandler& handler, const std::shared_ptr& context) const; void DeleteAliasAsyncHelper(const Model::DeleteAliasRequest& request, const DeleteAliasResponseReceivedHandler& handler, const std::shared_ptr& context) const; void DeleteEventSourceMappingAsyncHelper(const Model::DeleteEventSourceMappingRequest& request, const DeleteEventSourceMappingResponseReceivedHandler& handler, const std::shared_ptr& context) const; void DeleteFunctionAsyncHelper(const Model::DeleteFunctionRequest& request, const DeleteFunctionResponseReceivedHandler& handler, const std::shared_ptr& context) const; void DeleteFunctionConcurrencyAsyncHelper(const Model::DeleteFunctionConcurrencyRequest& request, const DeleteFunctionConcurrencyResponseReceivedHandler& handler, const std::shared_ptr& context) const; void DeleteFunctionEventInvokeConfigAsyncHelper(const Model::DeleteFunctionEventInvokeConfigRequest& request, const DeleteFunctionEventInvokeConfigResponseReceivedHandler& handler, const std::shared_ptr& context) const; void DeleteLayerVersionAsyncHelper(const Model::DeleteLayerVersionRequest& request, const DeleteLayerVersionResponseReceivedHandler& handler, const std::shared_ptr& context) const; void DeleteProvisionedConcurrencyConfigAsyncHelper(const Model::DeleteProvisionedConcurrencyConfigRequest& request, const DeleteProvisionedConcurrencyConfigResponseReceivedHandler& handler, const std::shared_ptr& context) const; void GetAccountSettingsAsyncHelper(const Model::GetAccountSettingsRequest& request, const GetAccountSettingsResponseReceivedHandler& handler, const std::shared_ptr& context) const; void GetAliasAsyncHelper(const Model::GetAliasRequest& request, const GetAliasResponseReceivedHandler& handler, const std::shared_ptr& context) const; void GetEventSourceMappingAsyncHelper(const Model::GetEventSourceMappingRequest& request, const GetEventSourceMappingResponseReceivedHandler& handler, const std::shared_ptr& context) const; void GetFunctionAsyncHelper(const Model::GetFunctionRequest& request, const GetFunctionResponseReceivedHandler& handler, const std::shared_ptr& context) const; void GetFunctionConcurrencyAsyncHelper(const Model::GetFunctionConcurrencyRequest& request, const GetFunctionConcurrencyResponseReceivedHandler& handler, const std::shared_ptr& context) const; void GetFunctionConfigurationAsyncHelper(const Model::GetFunctionConfigurationRequest& request, const GetFunctionConfigurationResponseReceivedHandler& handler, const std::shared_ptr& context) const; void GetFunctionEventInvokeConfigAsyncHelper(const Model::GetFunctionEventInvokeConfigRequest& request, const GetFunctionEventInvokeConfigResponseReceivedHandler& handler, const std::shared_ptr& context) const; void GetLayerVersionAsyncHelper(const Model::GetLayerVersionRequest& request, const GetLayerVersionResponseReceivedHandler& handler, const std::shared_ptr& context) const; void GetLayerVersionByArnAsyncHelper(const Model::GetLayerVersionByArnRequest& request, const GetLayerVersionByArnResponseReceivedHandler& handler, const std::shared_ptr& context) const; void GetLayerVersionPolicyAsyncHelper(const Model::GetLayerVersionPolicyRequest& request, const GetLayerVersionPolicyResponseReceivedHandler& handler, const std::shared_ptr& context) const; void GetPolicyAsyncHelper(const Model::GetPolicyRequest& request, const GetPolicyResponseReceivedHandler& handler, const std::shared_ptr& context) const; void GetProvisionedConcurrencyConfigAsyncHelper(const Model::GetProvisionedConcurrencyConfigRequest& request, const GetProvisionedConcurrencyConfigResponseReceivedHandler& handler, const std::shared_ptr& context) const; void InvokeAsyncHelper(const Model::InvokeRequest& request, const InvokeResponseReceivedHandler& handler, const std::shared_ptr& context) const; void ListAliasesAsyncHelper(const Model::ListAliasesRequest& request, const ListAliasesResponseReceivedHandler& handler, const std::shared_ptr& context) const; void ListEventSourceMappingsAsyncHelper(const Model::ListEventSourceMappingsRequest& request, const ListEventSourceMappingsResponseReceivedHandler& handler, const std::shared_ptr& context) const; void ListFunctionEventInvokeConfigsAsyncHelper(const Model::ListFunctionEventInvokeConfigsRequest& request, const ListFunctionEventInvokeConfigsResponseReceivedHandler& handler, const std::shared_ptr& context) const; void ListFunctionsAsyncHelper(const Model::ListFunctionsRequest& request, const ListFunctionsResponseReceivedHandler& handler, const std::shared_ptr& context) const; void ListLayerVersionsAsyncHelper(const Model::ListLayerVersionsRequest& request, const ListLayerVersionsResponseReceivedHandler& handler, const std::shared_ptr& context) const; void ListLayersAsyncHelper(const Model::ListLayersRequest& request, const ListLayersResponseReceivedHandler& handler, const std::shared_ptr& context) const; void ListProvisionedConcurrencyConfigsAsyncHelper(const Model::ListProvisionedConcurrencyConfigsRequest& request, const ListProvisionedConcurrencyConfigsResponseReceivedHandler& handler, const std::shared_ptr& context) const; void ListTagsAsyncHelper(const Model::ListTagsRequest& request, const ListTagsResponseReceivedHandler& handler, const std::shared_ptr& context) const; void ListVersionsByFunctionAsyncHelper(const Model::ListVersionsByFunctionRequest& request, const ListVersionsByFunctionResponseReceivedHandler& handler, const std::shared_ptr& context) const; void PublishLayerVersionAsyncHelper(const Model::PublishLayerVersionRequest& request, const PublishLayerVersionResponseReceivedHandler& handler, const std::shared_ptr& context) const; void PublishVersionAsyncHelper(const Model::PublishVersionRequest& request, const PublishVersionResponseReceivedHandler& handler, const std::shared_ptr& context) const; void PutFunctionConcurrencyAsyncHelper(const Model::PutFunctionConcurrencyRequest& request, const PutFunctionConcurrencyResponseReceivedHandler& handler, const std::shared_ptr& context) const; void PutFunctionEventInvokeConfigAsyncHelper(const Model::PutFunctionEventInvokeConfigRequest& request, const PutFunctionEventInvokeConfigResponseReceivedHandler& handler, const std::shared_ptr& context) const; void PutProvisionedConcurrencyConfigAsyncHelper(const Model::PutProvisionedConcurrencyConfigRequest& request, const PutProvisionedConcurrencyConfigResponseReceivedHandler& handler, const std::shared_ptr& context) const; void RemoveLayerVersionPermissionAsyncHelper(const Model::RemoveLayerVersionPermissionRequest& request, const RemoveLayerVersionPermissionResponseReceivedHandler& handler, const std::shared_ptr& context) const; void RemovePermissionAsyncHelper(const Model::RemovePermissionRequest& request, const RemovePermissionResponseReceivedHandler& handler, const std::shared_ptr& context) const; void TagResourceAsyncHelper(const Model::TagResourceRequest& request, const TagResourceResponseReceivedHandler& handler, const std::shared_ptr& context) const; void UntagResourceAsyncHelper(const Model::UntagResourceRequest& request, const UntagResourceResponseReceivedHandler& handler, const std::shared_ptr& context) const; void UpdateAliasAsyncHelper(const Model::UpdateAliasRequest& request, const UpdateAliasResponseReceivedHandler& handler, const std::shared_ptr& context) const; void UpdateEventSourceMappingAsyncHelper(const Model::UpdateEventSourceMappingRequest& request, const UpdateEventSourceMappingResponseReceivedHandler& handler, const std::shared_ptr& context) const; void UpdateFunctionCodeAsyncHelper(const Model::UpdateFunctionCodeRequest& request, const UpdateFunctionCodeResponseReceivedHandler& handler, const std::shared_ptr& context) const; void UpdateFunctionConfigurationAsyncHelper(const Model::UpdateFunctionConfigurationRequest& request, const UpdateFunctionConfigurationResponseReceivedHandler& handler, const std::shared_ptr& context) const; void UpdateFunctionEventInvokeConfigAsyncHelper(const Model::UpdateFunctionEventInvokeConfigRequest& request, const UpdateFunctionEventInvokeConfigResponseReceivedHandler& handler, const std::shared_ptr& context) const; Aws::String m_uri; Aws::String m_configScheme; std::shared_ptr m_executor; }; } // namespace Lambda } // namespace Aws