class Aws::Lambda::Client

An API client for Lambda. To construct a client, you need to configure a `:region` and `:credentials`.

client = Aws::Lambda::Client.new(
  region: region_name,
  credentials: credentials,
  # ...
)

For details on configuring region and credentials see the [developer guide](/sdk-for-ruby/v3/developer-guide/setup-config.html).

See {#initialize} for a full list of supported configuration options.

Attributes

identifier[R]

@api private

Public Class Methods

new(*args) click to toggle source

@overload initialize(options)

@param [Hash] options
@option options [required, Aws::CredentialProvider] :credentials
  Your AWS credentials. This can be an instance of any one of the
  following classes:

  * `Aws::Credentials` - Used for configuring static, non-refreshing
    credentials.

  * `Aws::SharedCredentials` - Used for loading static credentials from a
    shared file, such as `~/.aws/config`.

  * `Aws::AssumeRoleCredentials` - Used when you need to assume a role.

  * `Aws::AssumeRoleWebIdentityCredentials` - Used when you need to
    assume a role after providing credentials via the web.

  * `Aws::SSOCredentials` - Used for loading credentials from AWS SSO using an
    access token generated from `aws login`.

  * `Aws::ProcessCredentials` - Used for loading credentials from a
    process that outputs to stdout.

  * `Aws::InstanceProfileCredentials` - Used for loading credentials
    from an EC2 IMDS on an EC2 instance.

  * `Aws::ECSCredentials` - Used for loading credentials from
    instances running in ECS.

  * `Aws::CognitoIdentityCredentials` - Used for loading credentials
    from the Cognito Identity service.

  When `:credentials` are not configured directly, the following
  locations will be searched for credentials:

  * `Aws.config[:credentials]`
  * The `:access_key_id`, `:secret_access_key`, and `:session_token` options.
  * ENV['AWS_ACCESS_KEY_ID'], ENV['AWS_SECRET_ACCESS_KEY']
  * `~/.aws/credentials`
  * `~/.aws/config`
  * EC2/ECS IMDS instance profile - When used by default, the timeouts
    are very aggressive. Construct and pass an instance of
    `Aws::InstanceProfileCredentails` or `Aws::ECSCredentials` to
    enable retries and extended timeouts.

@option options [required, String] :region
  The AWS region to connect to.  The configured `:region` is
  used to determine the service `:endpoint`. When not passed,
  a default `:region` is searched for in the following locations:

  * `Aws.config[:region]`
  * `ENV['AWS_REGION']`
  * `ENV['AMAZON_REGION']`
  * `ENV['AWS_DEFAULT_REGION']`
  * `~/.aws/credentials`
  * `~/.aws/config`

@option options [String] :access_key_id

@option options [Boolean] :active_endpoint_cache (false)
  When set to `true`, a thread polling for endpoints will be running in
  the background every 60 secs (default). Defaults to `false`.

@option options [Boolean] :adaptive_retry_wait_to_fill (true)
  Used only in `adaptive` retry mode.  When true, the request will sleep
  until there is sufficent client side capacity to retry the request.
  When false, the request will raise a `RetryCapacityNotAvailableError` and will
  not retry instead of sleeping.

@option options [Boolean] :client_side_monitoring (false)
  When `true`, client-side metrics will be collected for all API requests from
  this client.

@option options [String] :client_side_monitoring_client_id ("")
  Allows you to provide an identifier for this client which will be attached to
  all generated client side metrics. Defaults to an empty string.

@option options [String] :client_side_monitoring_host ("127.0.0.1")
  Allows you to specify the DNS hostname or IPv4 or IPv6 address that the client
  side monitoring agent is running on, where client metrics will be published via UDP.

@option options [Integer] :client_side_monitoring_port (31000)
  Required for publishing client metrics. The port that the client side monitoring
  agent is running on, where client metrics will be published via UDP.

@option options [Aws::ClientSideMonitoring::Publisher] :client_side_monitoring_publisher (Aws::ClientSideMonitoring::Publisher)
  Allows you to provide a custom client-side monitoring publisher class. By default,
  will use the Client Side Monitoring Agent Publisher.

@option options [Boolean] :convert_params (true)
  When `true`, an attempt is made to coerce request parameters into
  the required types.

@option options [Boolean] :correct_clock_skew (true)
  Used only in `standard` and adaptive retry modes. Specifies whether to apply
  a clock skew correction and retry requests with skewed client clocks.

@option options [Boolean] :disable_host_prefix_injection (false)
  Set to true to disable SDK automatically adding host prefix
  to default service endpoint when available.

@option options [String] :endpoint
  The client endpoint is normally constructed from the `:region`
  option. You should only configure an `:endpoint` when connecting
  to test or custom endpoints. This should be a valid HTTP(S) URI.

@option options [Integer] :endpoint_cache_max_entries (1000)
  Used for the maximum size limit of the LRU cache storing endpoints data
  for endpoint discovery enabled operations. Defaults to 1000.

@option options [Integer] :endpoint_cache_max_threads (10)
  Used for the maximum threads in use for polling endpoints to be cached, defaults to 10.

@option options [Integer] :endpoint_cache_poll_interval (60)
  When :endpoint_discovery and :active_endpoint_cache is enabled,
  Use this option to config the time interval in seconds for making
  requests fetching endpoints information. Defaults to 60 sec.

@option options [Boolean] :endpoint_discovery (false)
  When set to `true`, endpoint discovery will be enabled for operations when available.

@option options [Aws::Log::Formatter] :log_formatter (Aws::Log::Formatter.default)
  The log formatter.

@option options [Symbol] :log_level (:info)
  The log level to send messages to the `:logger` at.

@option options [Logger] :logger
  The Logger instance to send log messages to.  If this option
  is not set, logging will be disabled.

@option options [Integer] :max_attempts (3)
  An integer representing the maximum number attempts that will be made for
  a single request, including the initial attempt.  For example,
  setting this value to 5 will result in a request being retried up to
  4 times. Used in `standard` and `adaptive` retry modes.

@option options [String] :profile ("default")
  Used when loading credentials from the shared credentials file
  at HOME/.aws/credentials.  When not specified, 'default' is used.

@option options [Proc] :retry_backoff
  A proc or lambda used for backoff. Defaults to 2**retries * retry_base_delay.
  This option is only used in the `legacy` retry mode.

@option options [Float] :retry_base_delay (0.3)
  The base delay in seconds used by the default backoff function. This option
  is only used in the `legacy` retry mode.

@option options [Symbol] :retry_jitter (:none)
  A delay randomiser function used by the default backoff function.
  Some predefined functions can be referenced by name - :none, :equal, :full,
  otherwise a Proc that takes and returns a number. This option is only used
  in the `legacy` retry mode.

  @see https://www.awsarchitectureblog.com/2015/03/backoff.html

@option options [Integer] :retry_limit (3)
  The maximum number of times to retry failed requests.  Only
  ~ 500 level server errors and certain ~ 400 level client errors
  are retried.  Generally, these are throttling errors, data
  checksum errors, networking errors, timeout errors, auth errors,
  endpoint discovery, and errors from expired credentials.
  This option is only used in the `legacy` retry mode.

@option options [Integer] :retry_max_delay (0)
  The maximum number of seconds to delay between retries (0 for no limit)
  used by the default backoff function. This option is only used in the
  `legacy` retry mode.

@option options [String] :retry_mode ("legacy")
  Specifies which retry algorithm to use. Values are:

  * `legacy` - The pre-existing retry behavior.  This is default value if
    no retry mode is provided.

  * `standard` - A standardized set of retry rules across the AWS SDKs.
    This includes support for retry quotas, which limit the number of
    unsuccessful retries a client can make.

  * `adaptive` - An experimental retry mode that includes all the
    functionality of `standard` mode along with automatic client side
    throttling.  This is a provisional mode that may change behavior
    in the future.

@option options [String] :secret_access_key

@option options [String] :session_token

@option options [Boolean] :stub_responses (false)
  Causes the client to return stubbed responses. By default
  fake responses are generated and returned. You can specify
  the response data to return or errors to raise by calling
  {ClientStubs#stub_responses}. See {ClientStubs} for more information.

  ** Please note ** When response stubbing is enabled, no HTTP
  requests are made, and retries are disabled.

@option options [Boolean] :validate_params (true)
  When `true`, request parameters are validated before
  sending the request.

@option options [URI::HTTP,String] :http_proxy A proxy to send
  requests through.  Formatted like 'http://proxy.com:123'.

@option options [Float] :http_open_timeout (15) The number of
  seconds to wait when opening a HTTP session before raising a
  `Timeout::Error`.

@option options [Integer] :http_read_timeout (60) The default
  number of seconds to wait for response data.  This value can
  safely be set per-request on the session.

@option options [Float] :http_idle_timeout (5) The number of
  seconds a connection is allowed to sit idle before it is
  considered stale.  Stale connections are closed and removed
  from the pool before making a request.

@option options [Float] :http_continue_timeout (1) The number of
  seconds to wait for a 100-continue response before sending the
  request body.  This option has no effect unless the request has
  "Expect" header set to "100-continue".  Defaults to `nil` which
  disables this behaviour.  This value can safely be set per
  request on the session.

@option options [Boolean] :http_wire_trace (false) When `true`,
  HTTP debug output will be sent to the `:logger`.

@option options [Boolean] :ssl_verify_peer (true) When `true`,
  SSL peer certificates are verified when establishing a
  connection.

@option options [String] :ssl_ca_bundle Full path to the SSL
  certificate authority bundle file that should be used when
  verifying peer certificates.  If you do not pass
  `:ssl_ca_bundle` or `:ssl_ca_directory` the the system default
  will be used if available.

@option options [String] :ssl_ca_directory Full path of the
  directory that contains the unbundled SSL certificate
  authority files for verifying peer certificates.  If you do
  not pass `:ssl_ca_bundle` or `:ssl_ca_directory` the the
  system default will be used if available.
Calls superclass method
# File lib/aws-sdk-lambda/client.rb, line 324
def initialize(*args)
  super
end

Private Class Methods

errors_module() click to toggle source

@api private

# File lib/aws-sdk-lambda/client.rb, line 5143
def errors_module
  Errors
end

Public Instance Methods

add_layer_version_permission(params = {}, options = {}) click to toggle source

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

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

[1]: docs.aws.amazon.com/lambda/latest/dg/configuration-layers.html

@option params [required, String] :layer_name

The name or Amazon Resource Name (ARN) of the layer.

@option params [required, Integer] :version_number

The version number.

@option params [required, String] :statement_id

An identifier that distinguishes the policy from others on the same
layer version.

@option params [required, String] :action

The API action that grants access to the layer. For example,
`lambda:GetLayerVersion`.

@option params [required, String] :principal

An account ID, or `*` to grant layer usage permission to all accounts
in an organization, or all Amazon Web Services accounts (if
`organizationId` is not specified). For the last case, make sure that
you really do want all Amazon Web Services accounts to have usage
permission to this layer.

@option params [String] :organization_id

With the principal set to `*`, grant permission to all accounts in the
specified organization.

@option params [String] :revision_id

Only update the policy if the revision ID matches the ID specified.
Use this option to avoid modifying a policy that has changed since you
last read it.

@return [Types::AddLayerVersionPermissionResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:

* {Types::AddLayerVersionPermissionResponse#statement #statement} => String
* {Types::AddLayerVersionPermissionResponse#revision_id #revision_id} => String

@example Request syntax with placeholder values

resp = client.add_layer_version_permission({
  layer_name: "LayerName", # required
  version_number: 1, # required
  statement_id: "StatementId", # required
  action: "LayerPermissionAllowedAction", # required
  principal: "LayerPermissionAllowedPrincipal", # required
  organization_id: "OrganizationId",
  revision_id: "String",
})

@example Response structure

resp.statement #=> String
resp.revision_id #=> String

@see docs.aws.amazon.com/goto/WebAPI/lambda-2015-03-31/AddLayerVersionPermission AWS API Documentation

@overload add_layer_version_permission(params = {}) @param [Hash] params ({})

# File lib/aws-sdk-lambda/client.rb, line 398
def add_layer_version_permission(params = {}, options = {})
  req = build_request(:add_layer_version_permission, params)
  req.send_request(options)
end
add_permission(params = {}, options = {}) click to toggle source

Grants an Amazon Web Services 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 Amazon Web Services services, the principal is a domain-style identifier defined by the service, like `s3.amazonaws.com` or `sns.amazonaws.com`. For Amazon Web Services 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].

[1]: docs.aws.amazon.com/lambda/latest/dg/access-control-resource-based.html

@option params [required, String] :function_name

The name of the Lambda function, version, or alias.

**Name formats**

* **Function name** - `my-function` (name-only), `my-function:v1`
  (with alias).

* **Function ARN** -
  `arn:aws:lambda:us-west-2:123456789012:function:my-function`.

* **Partial ARN** - `123456789012:function:my-function`.

You can append a version number or alias to any of the formats. The
length constraint applies only to the full ARN. If you specify only
the function name, it is limited to 64 characters in length.

@option params [required, String] :statement_id

A statement identifier that differentiates the statement from others
in the same policy.

@option params [required, String] :action

The action that the principal can use on the function. For example,
`lambda:InvokeFunction` or `lambda:GetFunction`.

@option params [required, String] :principal

The Amazon Web Services service or account that invokes the function.
If you specify a service, use `SourceArn` or `SourceAccount` to limit
who can invoke the function through that service.

@option params [String] :source_arn

For Amazon Web Services services, the ARN of the Amazon Web Services
resource that invokes the function. For example, an Amazon S3 bucket
or Amazon SNS topic.

@option params [String] :source_account

For Amazon S3, the ID of the account that owns the resource. Use this
together with `SourceArn` to ensure that the resource is owned by the
specified account. It is possible for an Amazon S3 bucket to be
deleted by its owner and recreated by another account.

@option params [String] :event_source_token

For Alexa Smart Home functions, a token that must be supplied by the
invoker.

@option params [String] :qualifier

Specify a version or alias to add permissions to a published version
of the function.

@option params [String] :revision_id

Only update the policy if the revision ID matches the ID that's
specified. Use this option to avoid modifying a policy that has
changed since you last read it.

@return [Types::AddPermissionResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:

* {Types::AddPermissionResponse#statement #statement} => String

@example Request syntax with placeholder values

resp = client.add_permission({
  function_name: "FunctionName", # required
  statement_id: "StatementId", # required
  action: "Action", # required
  principal: "Principal", # required
  source_arn: "Arn",
  source_account: "SourceOwner",
  event_source_token: "EventSourceToken",
  qualifier: "Qualifier",
  revision_id: "String",
})

@example Response structure

resp.statement #=> String

@see docs.aws.amazon.com/goto/WebAPI/lambda-2015-03-31/AddPermission AWS API Documentation

@overload add_permission(params = {}) @param [Hash] params ({})

# File lib/aws-sdk-lambda/client.rb, line 506
def add_permission(params = {}, options = {})
  req = build_request(:add_permission, params)
  req.send_request(options)
end
build_request(operation_name, params = {}) click to toggle source

@param params ({}) @api private

# File lib/aws-sdk-lambda/client.rb, line 5001
def build_request(operation_name, params = {})
  handlers = @handlers.for(operation_name)
  context = Seahorse::Client::RequestContext.new(
    operation_name: operation_name,
    operation: config.api.operation(operation_name),
    client: self,
    params: params,
    config: config)
  context[:gem_name] = 'aws-sdk-lambda'
  context[:gem_version] = '1.68.0'
  Seahorse::Client::Request.new(handlers, context)
end
create_alias(params = {}, options = {}) click to toggle source

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.

[1]: docs.aws.amazon.com/lambda/latest/dg/versioning-aliases.html

@option params [required, String] :function_name

The name of the Lambda function.

**Name formats**

* **Function name** - `MyFunction`.

* **Function ARN** -
  `arn:aws:lambda:us-west-2:123456789012:function:MyFunction`.

* **Partial ARN** - `123456789012:function:MyFunction`.

The length constraint applies only to the full ARN. If you specify
only the function name, it is limited to 64 characters in length.

@option params [required, String] :name

The name of the alias.

@option params [required, String] :function_version

The function version that the alias invokes.

@option params [String] :description

A description of the alias.

@option params [Types::AliasRoutingConfiguration] :routing_config

The [routing configuration][1] of the alias.

[1]: https://docs.aws.amazon.com/lambda/latest/dg/configuration-aliases.html#configuring-alias-routing

@return [Types::AliasConfiguration] Returns a {Seahorse::Client::Response response} object which responds to the following methods:

* {Types::AliasConfiguration#alias_arn #alias_arn} => String
* {Types::AliasConfiguration#name #name} => String
* {Types::AliasConfiguration#function_version #function_version} => String
* {Types::AliasConfiguration#description #description} => String
* {Types::AliasConfiguration#routing_config #routing_config} => Types::AliasRoutingConfiguration
* {Types::AliasConfiguration#revision_id #revision_id} => String

@example Request syntax with placeholder values

resp = client.create_alias({
  function_name: "FunctionName", # required
  name: "Alias", # required
  function_version: "Version", # required
  description: "Description",
  routing_config: {
    additional_version_weights: {
      "AdditionalVersion" => 1.0,
    },
  },
})

@example Response structure

resp.alias_arn #=> String
resp.name #=> String
resp.function_version #=> String
resp.description #=> String
resp.routing_config.additional_version_weights #=> Hash
resp.routing_config.additional_version_weights["AdditionalVersion"] #=> Float
resp.revision_id #=> String

@see docs.aws.amazon.com/goto/WebAPI/lambda-2015-03-31/CreateAlias AWS API Documentation

@overload create_alias(params = {}) @param [Hash] params ({})

# File lib/aws-sdk-lambda/client.rb, line 591
def create_alias(params = {}, options = {})
  req = build_request(:create_alias, params)
  req.send_request(options)
end
create_code_signing_config(params = {}, options = {}) click to toggle source

Creates a code signing configuration. A [code signing configuration] defines a list of allowed signing profiles and defines the code-signing validation policy (action to be taken if deployment validation checks fail).

[1]: docs.aws.amazon.com/lambda/latest/dg/configuration-trustedcode.html

@option params [String] :description

Descriptive name for this code signing configuration.

@option params [required, Types::AllowedPublishers] :allowed_publishers

Signing profiles for this code signing configuration.

@option params [Types::CodeSigningPolicies] :code_signing_policies

The code signing policies define the actions to take if the validation
checks fail.

@return [Types::CreateCodeSigningConfigResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:

* {Types::CreateCodeSigningConfigResponse#code_signing_config #code_signing_config} => Types::CodeSigningConfig

@example Request syntax with placeholder values

resp = client.create_code_signing_config({
  description: "Description",
  allowed_publishers: { # required
    signing_profile_version_arns: ["Arn"], # required
  },
  code_signing_policies: {
    untrusted_artifact_on_deployment: "Warn", # accepts Warn, Enforce
  },
})

@example Response structure

resp.code_signing_config.code_signing_config_id #=> String
resp.code_signing_config.code_signing_config_arn #=> String
resp.code_signing_config.description #=> String
resp.code_signing_config.allowed_publishers.signing_profile_version_arns #=> Array
resp.code_signing_config.allowed_publishers.signing_profile_version_arns[0] #=> String
resp.code_signing_config.code_signing_policies.untrusted_artifact_on_deployment #=> String, one of "Warn", "Enforce"
resp.code_signing_config.last_modified #=> Time

@see docs.aws.amazon.com/goto/WebAPI/lambda-2015-03-31/CreateCodeSigningConfig AWS API Documentation

@overload create_code_signing_config(params = {}) @param [Hash] params ({})

# File lib/aws-sdk-lambda/client.rb, line 645
def create_code_signing_config(params = {}, options = {})
  req = build_request(:create_code_signing_config, params)
  req.send_request(options)
end
create_event_source_mapping(params = {}, options = {}) click to toggle source

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

For details about each event source type, see the following topics. In particular, each of the topics describes the required and optional parameters for the specific event source.

  • Configuring a Dynamo DB stream as an event source][1
  • Configuring a Kinesis stream as an event source][2
  • Configuring an SQS queue as an event source][3
  • Configuring an MQ broker as an event source][4
  • Configuring MSK as an event source][5
  • Configuring Self-Managed Apache Kafka as an event source][6

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. The default value is infinite (-1). When set to infinite (-1), failed records are retried until the record expires

  • `MaximumRetryAttempts` - Discard records after the specified number of retries. The default value is infinite (-1). When set to infinite (-1), failed records are retried until the record expires.

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

[1]: docs.aws.amazon.com/lambda/latest/dg/with-ddb.html#services-dynamodb-eventsourcemapping [2]: docs.aws.amazon.com/lambda/latest/dg/with-kinesis.html#services-kinesis-eventsourcemapping [3]: docs.aws.amazon.com/lambda/latest/dg/with-sqs.html#events-sqs-eventsource [4]: docs.aws.amazon.com/lambda/latest/dg/with-mq.html#services-mq-eventsourcemapping [5]: docs.aws.amazon.com/lambda/latest/dg/with-msk.html [6]: docs.aws.amazon.com/lambda/latest/dg/kafka-smaa.html

@option params [String] :event_source_arn

The Amazon Resource Name (ARN) of the event source.

* **Amazon Kinesis** - The ARN of the data stream or a stream
  consumer.

* **Amazon DynamoDB Streams** - The ARN of the stream.

* **Amazon Simple Queue Service** - The ARN of the queue.

* **Amazon Managed Streaming for Apache Kafka** - The ARN of the
  cluster.

@option params [required, String] :function_name

The name of the Lambda function.

**Name formats**

* **Function name** - `MyFunction`.

* **Function ARN** -
  `arn:aws:lambda:us-west-2:123456789012:function:MyFunction`.

* **Version or Alias ARN** -
  `arn:aws:lambda:us-west-2:123456789012:function:MyFunction:PROD`.

* **Partial ARN** - `123456789012:function:MyFunction`.

The length constraint applies only to the full ARN. If you specify
only the function name, it's limited to 64 characters in length.

@option params [Boolean] :enabled

If true, the event source mapping is active. Set to false to pause
polling and invocation.

@option params [Integer] :batch_size

The maximum number of items to retrieve in a single batch.

* **Amazon Kinesis** - Default 100. Max 10,000.

* **Amazon DynamoDB Streams** - Default 100. Max 1,000.

* **Amazon Simple Queue Service** - Default 10. For standard queues
  the max is 10,000. For FIFO queues the max is 10.

* **Amazon Managed Streaming for Apache Kafka** - Default 100. Max
  10,000.

* **Self-Managed Apache Kafka** - Default 100. Max 10,000.

@option params [Integer] :maximum_batching_window_in_seconds

(Streams and SQS standard queues) The maximum amount of time to gather
records before invoking the function, in seconds.

@option params [Integer] :parallelization_factor

(Streams only) The number of batches to process from each shard
concurrently.

@option params [String] :starting_position

The position in a stream from which to start reading. Required for
Amazon Kinesis, Amazon DynamoDB, and Amazon MSK Streams sources.
`AT_TIMESTAMP` is only supported for Amazon Kinesis streams.

@option params [Time,DateTime,Date,Integer,String] :starting_position_timestamp

With `StartingPosition` set to `AT_TIMESTAMP`, the time from which to
start reading.

@option params [Types::DestinationConfig] :destination_config

(Streams only) An Amazon SQS queue or Amazon SNS topic destination for
discarded records.

@option params [Integer] :maximum_record_age_in_seconds

(Streams only) Discard records older than the specified age. The
default value is infinite (-1).

@option params [Boolean] :bisect_batch_on_function_error

(Streams only) If the function returns an error, split the batch in
two and retry.

@option params [Integer] :maximum_retry_attempts

(Streams only) Discard records after the specified number of retries.
The default value is infinite (-1). When set to infinite (-1), failed
records will be retried until the record expires.

@option params [Integer] :tumbling_window_in_seconds

(Streams only) The duration in seconds of a processing window. The
range is between 1 second up to 900 seconds.

@option params [Array<String>] :topics

The name of the Kafka topic.

@option params [Array<String>] :queues

(MQ) The name of the Amazon MQ broker destination queue to consume.

@option params [Array<Types::SourceAccessConfiguration>] :source_access_configurations

An array of authentication protocols or VPC components required to
secure your event source.

@option params [Types::SelfManagedEventSource] :self_managed_event_source

The Self-Managed Apache Kafka cluster to send records.

@option params [Array<String>] :function_response_types

(Streams only) A list of current response type enums applied to the
event source mapping.

@return [Types::EventSourceMappingConfiguration] Returns a {Seahorse::Client::Response response} object which responds to the following methods:

* {Types::EventSourceMappingConfiguration#uuid #uuid} => String
* {Types::EventSourceMappingConfiguration#starting_position #starting_position} => String
* {Types::EventSourceMappingConfiguration#starting_position_timestamp #starting_position_timestamp} => Time
* {Types::EventSourceMappingConfiguration#batch_size #batch_size} => Integer
* {Types::EventSourceMappingConfiguration#maximum_batching_window_in_seconds #maximum_batching_window_in_seconds} => Integer
* {Types::EventSourceMappingConfiguration#parallelization_factor #parallelization_factor} => Integer
* {Types::EventSourceMappingConfiguration#event_source_arn #event_source_arn} => String
* {Types::EventSourceMappingConfiguration#function_arn #function_arn} => String
* {Types::EventSourceMappingConfiguration#last_modified #last_modified} => Time
* {Types::EventSourceMappingConfiguration#last_processing_result #last_processing_result} => String
* {Types::EventSourceMappingConfiguration#state #state} => String
* {Types::EventSourceMappingConfiguration#state_transition_reason #state_transition_reason} => String
* {Types::EventSourceMappingConfiguration#destination_config #destination_config} => Types::DestinationConfig
* {Types::EventSourceMappingConfiguration#topics #topics} => Array&lt;String&gt;
* {Types::EventSourceMappingConfiguration#queues #queues} => Array&lt;String&gt;
* {Types::EventSourceMappingConfiguration#source_access_configurations #source_access_configurations} => Array&lt;Types::SourceAccessConfiguration&gt;
* {Types::EventSourceMappingConfiguration#self_managed_event_source #self_managed_event_source} => Types::SelfManagedEventSource
* {Types::EventSourceMappingConfiguration#maximum_record_age_in_seconds #maximum_record_age_in_seconds} => Integer
* {Types::EventSourceMappingConfiguration#bisect_batch_on_function_error #bisect_batch_on_function_error} => Boolean
* {Types::EventSourceMappingConfiguration#maximum_retry_attempts #maximum_retry_attempts} => Integer
* {Types::EventSourceMappingConfiguration#tumbling_window_in_seconds #tumbling_window_in_seconds} => Integer
* {Types::EventSourceMappingConfiguration#function_response_types #function_response_types} => Array&lt;String&gt;

@example Request syntax with placeholder values

resp = client.create_event_source_mapping({
  event_source_arn: "Arn",
  function_name: "FunctionName", # required
  enabled: false,
  batch_size: 1,
  maximum_batching_window_in_seconds: 1,
  parallelization_factor: 1,
  starting_position: "TRIM_HORIZON", # accepts TRIM_HORIZON, LATEST, AT_TIMESTAMP
  starting_position_timestamp: Time.now,
  destination_config: {
    on_success: {
      destination: "DestinationArn",
    },
    on_failure: {
      destination: "DestinationArn",
    },
  },
  maximum_record_age_in_seconds: 1,
  bisect_batch_on_function_error: false,
  maximum_retry_attempts: 1,
  tumbling_window_in_seconds: 1,
  topics: ["Topic"],
  queues: ["Queue"],
  source_access_configurations: [
    {
      type: "BASIC_AUTH", # accepts BASIC_AUTH, VPC_SUBNET, VPC_SECURITY_GROUP, SASL_SCRAM_512_AUTH, SASL_SCRAM_256_AUTH, VIRTUAL_HOST
      uri: "URI",
    },
  ],
  self_managed_event_source: {
    endpoints: {
      "KAFKA_BOOTSTRAP_SERVERS" => ["Endpoint"],
    },
  },
  function_response_types: ["ReportBatchItemFailures"], # accepts ReportBatchItemFailures
})

@example Response structure

resp.uuid #=> String
resp.starting_position #=> String, one of "TRIM_HORIZON", "LATEST", "AT_TIMESTAMP"
resp.starting_position_timestamp #=> Time
resp.batch_size #=> Integer
resp.maximum_batching_window_in_seconds #=> Integer
resp.parallelization_factor #=> Integer
resp.event_source_arn #=> String
resp.function_arn #=> String
resp.last_modified #=> Time
resp.last_processing_result #=> String
resp.state #=> String
resp.state_transition_reason #=> String
resp.destination_config.on_success.destination #=> String
resp.destination_config.on_failure.destination #=> String
resp.topics #=> Array
resp.topics[0] #=> String
resp.queues #=> Array
resp.queues[0] #=> String
resp.source_access_configurations #=> Array
resp.source_access_configurations[0].type #=> String, one of "BASIC_AUTH", "VPC_SUBNET", "VPC_SECURITY_GROUP", "SASL_SCRAM_512_AUTH", "SASL_SCRAM_256_AUTH", "VIRTUAL_HOST"
resp.source_access_configurations[0].uri #=> String
resp.self_managed_event_source.endpoints #=> Hash
resp.self_managed_event_source.endpoints["EndPointType"] #=> Array
resp.self_managed_event_source.endpoints["EndPointType"][0] #=> String
resp.maximum_record_age_in_seconds #=> Integer
resp.bisect_batch_on_function_error #=> Boolean
resp.maximum_retry_attempts #=> Integer
resp.tumbling_window_in_seconds #=> Integer
resp.function_response_types #=> Array
resp.function_response_types[0] #=> String, one of "ReportBatchItemFailures"

@see docs.aws.amazon.com/goto/WebAPI/lambda-2015-03-31/CreateEventSourceMapping AWS API Documentation

@overload create_event_source_mapping(params = {}) @param [Hash] params ({})

# File lib/aws-sdk-lambda/client.rb, line 904
def create_event_source_mapping(params = {}, options = {})
  req = build_request(:create_event_source_mapping, params)
  req.send_request(options)
end
create_function(params = {}, options = {}) click to toggle source

Creates a Lambda function. To create a function, you need a

deployment package][1

and an [execution role]. The deployment

package is a .zip file archive or container image that contains your function code. The execution role grants the function permission to use Amazon Web Services services, such as Amazon CloudWatch Logs for log streaming and X-Ray for request tracing.

You set the package type to `Image` if the deployment package is a [container image]. For a container image, the code property must include the URI of a container image in the Amazon ECR registry. You do not need to specify the handler and runtime properties.

You set the package type to `Zip` if the deployment package is a [.zip file archive]. For a .zip file archive, the code property specifies the location of the .zip file. You must also specify the handler and runtime properties.

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).

You can use code signing if your deployment package is a .zip file archive. To enable code signing for this function, specify the ARN of a code-signing configuration. When a user attempts to deploy a code package with UpdateFunctionCode, Lambda checks that the code package has a valid signature from a trusted publisher. The code-signing configuration includes set set of signing profiles, which define the trusted publishers for this function.

If another account or an Amazon Web Services 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 Amazon Web Services services, create an event source mapping (CreateEventSourceMapping), or configure a function trigger in the other service. For more information, see [Invoking Functions].

[1]: docs.aws.amazon.com/lambda/latest/dg/gettingstarted-package.html [2]: docs.aws.amazon.com/lambda/latest/dg/intro-permission-model.html#lambda-intro-execution-role [3]: docs.aws.amazon.com/lambda/latest/dg/lambda-images.html [4]: docs.aws.amazon.com/lambda/latest/dg/gettingstarted-package.html#gettingstarted-package-zip [5]: docs.aws.amazon.com/lambda/latest/dg/functions-states.html [6]: docs.aws.amazon.com/lambda/latest/dg/lambda-invocation.html

@option params [required, String] :function_name

The name of the Lambda function.

**Name formats**

* **Function name** - `my-function`.

* **Function ARN** -
  `arn:aws:lambda:us-west-2:123456789012:function:my-function`.

* **Partial ARN** - `123456789012:function:my-function`.

The length constraint applies only to the full ARN. If you specify
only the function name, it is limited to 64 characters in length.

@option params [String] :runtime

The identifier of the function's [runtime][1].

[1]: https://docs.aws.amazon.com/lambda/latest/dg/lambda-runtimes.html

@option params [required, String] :role

The Amazon Resource Name (ARN) of the function's execution role.

@option params [String] :handler

The name of the method within your code that Lambda calls to execute
your function. The format includes the file name. It can also include
namespaces and other qualifiers, depending on the runtime. For more
information, see [Programming Model][1].

[1]: https://docs.aws.amazon.com/lambda/latest/dg/programming-model-v2.html

@option params [required, Types::FunctionCode] :code

The code for the function.

@option params [String] :description

A description of the function.

@option params [Integer] :timeout

The amount of time that Lambda allows a function to run before
stopping it. The default is 3 seconds. The maximum allowed value is
900 seconds. For additional information, see [Lambda execution
environment][1].

[1]: https://docs.aws.amazon.com/lambda/latest/dg/runtimes-context.html

@option params [Integer] :memory_size

The amount of [memory available to the function][1] at runtime.
Increasing the function memory also increases its CPU allocation. The
default value is 128 MB. The value can be any multiple of 1 MB.

[1]: https://docs.aws.amazon.com/lambda/latest/dg/configuration-memory.html

@option params [Boolean] :publish

Set to true to publish the first version of the function during
creation.

@option params [Types::VpcConfig] :vpc_config

For network connectivity to Amazon Web Services resources in a VPC,
specify a list of security groups and subnets in the VPC. When you
connect a function to a VPC, it can only access resources and the
internet through that VPC. For more information, see [VPC
Settings][1].

[1]: https://docs.aws.amazon.com/lambda/latest/dg/configuration-vpc.html

@option params [String] :package_type

The type of deployment package. Set to `Image` for container image and
set `Zip` for ZIP archive.

@option params [Types::DeadLetterConfig] :dead_letter_config

A dead letter queue configuration that specifies the queue or topic
where Lambda sends asynchronous events when they fail processing. For
more information, see [Dead Letter Queues][1].

[1]: https://docs.aws.amazon.com/lambda/latest/dg/invocation-async.html#dlq

@option params [Types::Environment] :environment

Environment variables that are accessible from function code during
execution.

@option params [String] :kms_key_arn

The ARN of the Amazon Web Services Key Management Service (KMS) key
that's used to encrypt your function's environment variables. If
it's not provided, Lambda uses a default service key.

@option params [Types::TracingConfig] :tracing_config

Set `Mode` to `Active` to sample and trace a subset of incoming
requests with [X-Ray][1].

[1]: https://docs.aws.amazon.com/lambda/latest/dg/services-xray.html

@option params [Hash<String,String>] :tags

A list of [tags][1] to apply to the function.

[1]: https://docs.aws.amazon.com/lambda/latest/dg/tagging.html

@option params [Array<String>] :layers

A list of [function layers][1] to add to the function's execution
environment. Specify each layer by its ARN, including the version.

[1]: https://docs.aws.amazon.com/lambda/latest/dg/configuration-layers.html

@option params [Array<Types::FileSystemConfig>] :file_system_configs

Connection settings for an Amazon EFS file system.

@option params [Types::ImageConfig] :image_config

Container image [configuration values][1] that override the values in
the container image Dockerfile.

[1]: https://docs.aws.amazon.com/lambda/latest/dg/configuration-images.html#configuration-images-settings

@option params [String] :code_signing_config_arn

To enable code signing for this function, specify the ARN of a
code-signing configuration. A code-signing configuration includes a
set of signing profiles, which define the trusted publishers for this
function.

@return [Types::FunctionConfiguration] Returns a {Seahorse::Client::Response response} object which responds to the following methods:

* {Types::FunctionConfiguration#function_name #function_name} => String
* {Types::FunctionConfiguration#function_arn #function_arn} => String
* {Types::FunctionConfiguration#runtime #runtime} => String
* {Types::FunctionConfiguration#role #role} => String
* {Types::FunctionConfiguration#handler #handler} => String
* {Types::FunctionConfiguration#code_size #code_size} => Integer
* {Types::FunctionConfiguration#description #description} => String
* {Types::FunctionConfiguration#timeout #timeout} => Integer
* {Types::FunctionConfiguration#memory_size #memory_size} => Integer
* {Types::FunctionConfiguration#last_modified #last_modified} => Time
* {Types::FunctionConfiguration#code_sha_256 #code_sha_256} => String
* {Types::FunctionConfiguration#version #version} => String
* {Types::FunctionConfiguration#vpc_config #vpc_config} => Types::VpcConfigResponse
* {Types::FunctionConfiguration#dead_letter_config #dead_letter_config} => Types::DeadLetterConfig
* {Types::FunctionConfiguration#environment #environment} => Types::EnvironmentResponse
* {Types::FunctionConfiguration#kms_key_arn #kms_key_arn} => String
* {Types::FunctionConfiguration#tracing_config #tracing_config} => Types::TracingConfigResponse
* {Types::FunctionConfiguration#master_arn #master_arn} => String
* {Types::FunctionConfiguration#revision_id #revision_id} => String
* {Types::FunctionConfiguration#layers #layers} => Array&lt;Types::Layer&gt;
* {Types::FunctionConfiguration#state #state} => String
* {Types::FunctionConfiguration#state_reason #state_reason} => String
* {Types::FunctionConfiguration#state_reason_code #state_reason_code} => String
* {Types::FunctionConfiguration#last_update_status #last_update_status} => String
* {Types::FunctionConfiguration#last_update_status_reason #last_update_status_reason} => String
* {Types::FunctionConfiguration#last_update_status_reason_code #last_update_status_reason_code} => String
* {Types::FunctionConfiguration#file_system_configs #file_system_configs} => Array&lt;Types::FileSystemConfig&gt;
* {Types::FunctionConfiguration#package_type #package_type} => String
* {Types::FunctionConfiguration#image_config_response #image_config_response} => Types::ImageConfigResponse
* {Types::FunctionConfiguration#signing_profile_version_arn #signing_profile_version_arn} => String
* {Types::FunctionConfiguration#signing_job_arn #signing_job_arn} => String

@example Request syntax with placeholder values

resp = client.create_function({
  function_name: "FunctionName", # required
  runtime: "nodejs", # accepts nodejs, nodejs4.3, nodejs6.10, nodejs8.10, nodejs10.x, nodejs12.x, nodejs14.x, java8, java8.al2, java11, python2.7, python3.6, python3.7, python3.8, python3.9, dotnetcore1.0, dotnetcore2.0, dotnetcore2.1, dotnetcore3.1, nodejs4.3-edge, go1.x, ruby2.5, ruby2.7, provided, provided.al2
  role: "RoleArn", # required
  handler: "Handler",
  code: { # required
    zip_file: "data",
    s3_bucket: "S3Bucket",
    s3_key: "S3Key",
    s3_object_version: "S3ObjectVersion",
    image_uri: "String",
  },
  description: "Description",
  timeout: 1,
  memory_size: 1,
  publish: false,
  vpc_config: {
    subnet_ids: ["SubnetId"],
    security_group_ids: ["SecurityGroupId"],
  },
  package_type: "Zip", # accepts Zip, Image
  dead_letter_config: {
    target_arn: "ResourceArn",
  },
  environment: {
    variables: {
      "EnvironmentVariableName" => "EnvironmentVariableValue",
    },
  },
  kms_key_arn: "KMSKeyArn",
  tracing_config: {
    mode: "Active", # accepts Active, PassThrough
  },
  tags: {
    "TagKey" => "TagValue",
  },
  layers: ["LayerVersionArn"],
  file_system_configs: [
    {
      arn: "FileSystemArn", # required
      local_mount_path: "LocalMountPath", # required
    },
  ],
  image_config: {
    entry_point: ["String"],
    command: ["String"],
    working_directory: "WorkingDirectory",
  },
  code_signing_config_arn: "CodeSigningConfigArn",
})

@example Response structure

resp.function_name #=> String
resp.function_arn #=> String
resp.runtime #=> String, one of "nodejs", "nodejs4.3", "nodejs6.10", "nodejs8.10", "nodejs10.x", "nodejs12.x", "nodejs14.x", "java8", "java8.al2", "java11", "python2.7", "python3.6", "python3.7", "python3.8", "python3.9", "dotnetcore1.0", "dotnetcore2.0", "dotnetcore2.1", "dotnetcore3.1", "nodejs4.3-edge", "go1.x", "ruby2.5", "ruby2.7", "provided", "provided.al2"
resp.role #=> String
resp.handler #=> String
resp.code_size #=> Integer
resp.description #=> String
resp.timeout #=> Integer
resp.memory_size #=> Integer
resp.last_modified #=> Time
resp.code_sha_256 #=> String
resp.version #=> String
resp.vpc_config.subnet_ids #=> Array
resp.vpc_config.subnet_ids[0] #=> String
resp.vpc_config.security_group_ids #=> Array
resp.vpc_config.security_group_ids[0] #=> String
resp.vpc_config.vpc_id #=> String
resp.dead_letter_config.target_arn #=> String
resp.environment.variables #=> Hash
resp.environment.variables["EnvironmentVariableName"] #=> String
resp.environment.error.error_code #=> String
resp.environment.error.message #=> String
resp.kms_key_arn #=> String
resp.tracing_config.mode #=> String, one of "Active", "PassThrough"
resp.master_arn #=> String
resp.revision_id #=> String
resp.layers #=> Array
resp.layers[0].arn #=> String
resp.layers[0].code_size #=> Integer
resp.layers[0].signing_profile_version_arn #=> String
resp.layers[0].signing_job_arn #=> String
resp.state #=> String, one of "Pending", "Active", "Inactive", "Failed"
resp.state_reason #=> String
resp.state_reason_code #=> String, one of "Idle", "Creating", "Restoring", "EniLimitExceeded", "InsufficientRolePermissions", "InvalidConfiguration", "InternalError", "SubnetOutOfIPAddresses", "InvalidSubnet", "InvalidSecurityGroup", "ImageDeleted", "ImageAccessDenied", "InvalidImage"
resp.last_update_status #=> String, one of "Successful", "Failed", "InProgress"
resp.last_update_status_reason #=> String
resp.last_update_status_reason_code #=> String, one of "EniLimitExceeded", "InsufficientRolePermissions", "InvalidConfiguration", "InternalError", "SubnetOutOfIPAddresses", "InvalidSubnet", "InvalidSecurityGroup", "ImageDeleted", "ImageAccessDenied", "InvalidImage"
resp.file_system_configs #=> Array
resp.file_system_configs[0].arn #=> String
resp.file_system_configs[0].local_mount_path #=> String
resp.package_type #=> String, one of "Zip", "Image"
resp.image_config_response.image_config.entry_point #=> Array
resp.image_config_response.image_config.entry_point[0] #=> String
resp.image_config_response.image_config.command #=> Array
resp.image_config_response.image_config.command[0] #=> String
resp.image_config_response.image_config.working_directory #=> String
resp.image_config_response.error.error_code #=> String
resp.image_config_response.error.message #=> String
resp.signing_profile_version_arn #=> String
resp.signing_job_arn #=> String

@see docs.aws.amazon.com/goto/WebAPI/lambda-2015-03-31/CreateFunction AWS API Documentation

@overload create_function(params = {}) @param [Hash] params ({})

# File lib/aws-sdk-lambda/client.rb, line 1258
def create_function(params = {}, options = {})
  req = build_request(:create_function, params)
  req.send_request(options)
end
delete_alias(params = {}, options = {}) click to toggle source

Deletes a Lambda function [alias].

[1]: docs.aws.amazon.com/lambda/latest/dg/versioning-aliases.html

@option params [required, String] :function_name

The name of the Lambda function.

**Name formats**

* **Function name** - `MyFunction`.

* **Function ARN** -
  `arn:aws:lambda:us-west-2:123456789012:function:MyFunction`.

* **Partial ARN** - `123456789012:function:MyFunction`.

The length constraint applies only to the full ARN. If you specify
only the function name, it is limited to 64 characters in length.

@option params [required, String] :name

The name of the alias.

@return [Struct] Returns an empty {Seahorse::Client::Response response}.

@example Request syntax with placeholder values

resp = client.delete_alias({
  function_name: "FunctionName", # required
  name: "Alias", # required
})

@see docs.aws.amazon.com/goto/WebAPI/lambda-2015-03-31/DeleteAlias AWS API Documentation

@overload delete_alias(params = {}) @param [Hash] params ({})

# File lib/aws-sdk-lambda/client.rb, line 1300
def delete_alias(params = {}, options = {})
  req = build_request(:delete_alias, params)
  req.send_request(options)
end
delete_code_signing_config(params = {}, options = {}) click to toggle source

Deletes the code signing configuration. You can delete the code signing configuration only if no function is using it.

@option params [required, String] :code_signing_config_arn

The The Amazon Resource Name (ARN) of the code signing configuration.

@return [Struct] Returns an empty {Seahorse::Client::Response response}.

@example Request syntax with placeholder values

resp = client.delete_code_signing_config({
  code_signing_config_arn: "CodeSigningConfigArn", # required
})

@see docs.aws.amazon.com/goto/WebAPI/lambda-2015-03-31/DeleteCodeSigningConfig AWS API Documentation

@overload delete_code_signing_config(params = {}) @param [Hash] params ({})

# File lib/aws-sdk-lambda/client.rb, line 1323
def delete_code_signing_config(params = {}, options = {})
  req = build_request(:delete_code_signing_config, params)
  req.send_request(options)
end
delete_event_source_mapping(params = {}, options = {}) click to toggle source

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.

[1]: docs.aws.amazon.com/lambda/latest/dg/intro-invocation-modes.html

@option params [required, String] :uuid

The identifier of the event source mapping.

@return [Types::EventSourceMappingConfiguration] Returns a {Seahorse::Client::Response response} object which responds to the following methods:

* {Types::EventSourceMappingConfiguration#uuid #uuid} => String
* {Types::EventSourceMappingConfiguration#starting_position #starting_position} => String
* {Types::EventSourceMappingConfiguration#starting_position_timestamp #starting_position_timestamp} => Time
* {Types::EventSourceMappingConfiguration#batch_size #batch_size} => Integer
* {Types::EventSourceMappingConfiguration#maximum_batching_window_in_seconds #maximum_batching_window_in_seconds} => Integer
* {Types::EventSourceMappingConfiguration#parallelization_factor #parallelization_factor} => Integer
* {Types::EventSourceMappingConfiguration#event_source_arn #event_source_arn} => String
* {Types::EventSourceMappingConfiguration#function_arn #function_arn} => String
* {Types::EventSourceMappingConfiguration#last_modified #last_modified} => Time
* {Types::EventSourceMappingConfiguration#last_processing_result #last_processing_result} => String
* {Types::EventSourceMappingConfiguration#state #state} => String
* {Types::EventSourceMappingConfiguration#state_transition_reason #state_transition_reason} => String
* {Types::EventSourceMappingConfiguration#destination_config #destination_config} => Types::DestinationConfig
* {Types::EventSourceMappingConfiguration#topics #topics} => Array&lt;String&gt;
* {Types::EventSourceMappingConfiguration#queues #queues} => Array&lt;String&gt;
* {Types::EventSourceMappingConfiguration#source_access_configurations #source_access_configurations} => Array&lt;Types::SourceAccessConfiguration&gt;
* {Types::EventSourceMappingConfiguration#self_managed_event_source #self_managed_event_source} => Types::SelfManagedEventSource
* {Types::EventSourceMappingConfiguration#maximum_record_age_in_seconds #maximum_record_age_in_seconds} => Integer
* {Types::EventSourceMappingConfiguration#bisect_batch_on_function_error #bisect_batch_on_function_error} => Boolean
* {Types::EventSourceMappingConfiguration#maximum_retry_attempts #maximum_retry_attempts} => Integer
* {Types::EventSourceMappingConfiguration#tumbling_window_in_seconds #tumbling_window_in_seconds} => Integer
* {Types::EventSourceMappingConfiguration#function_response_types #function_response_types} => Array&lt;String&gt;

@example Request syntax with placeholder values

resp = client.delete_event_source_mapping({
  uuid: "String", # required
})

@example Response structure

resp.uuid #=> String
resp.starting_position #=> String, one of "TRIM_HORIZON", "LATEST", "AT_TIMESTAMP"
resp.starting_position_timestamp #=> Time
resp.batch_size #=> Integer
resp.maximum_batching_window_in_seconds #=> Integer
resp.parallelization_factor #=> Integer
resp.event_source_arn #=> String
resp.function_arn #=> String
resp.last_modified #=> Time
resp.last_processing_result #=> String
resp.state #=> String
resp.state_transition_reason #=> String
resp.destination_config.on_success.destination #=> String
resp.destination_config.on_failure.destination #=> String
resp.topics #=> Array
resp.topics[0] #=> String
resp.queues #=> Array
resp.queues[0] #=> String
resp.source_access_configurations #=> Array
resp.source_access_configurations[0].type #=> String, one of "BASIC_AUTH", "VPC_SUBNET", "VPC_SECURITY_GROUP", "SASL_SCRAM_512_AUTH", "SASL_SCRAM_256_AUTH", "VIRTUAL_HOST"
resp.source_access_configurations[0].uri #=> String
resp.self_managed_event_source.endpoints #=> Hash
resp.self_managed_event_source.endpoints["EndPointType"] #=> Array
resp.self_managed_event_source.endpoints["EndPointType"][0] #=> String
resp.maximum_record_age_in_seconds #=> Integer
resp.bisect_batch_on_function_error #=> Boolean
resp.maximum_retry_attempts #=> Integer
resp.tumbling_window_in_seconds #=> Integer
resp.function_response_types #=> Array
resp.function_response_types[0] #=> String, one of "ReportBatchItemFailures"

@see docs.aws.amazon.com/goto/WebAPI/lambda-2015-03-31/DeleteEventSourceMapping AWS API Documentation

@overload delete_event_source_mapping(params = {}) @param [Hash] params ({})

# File lib/aws-sdk-lambda/client.rb, line 1409
def delete_event_source_mapping(params = {}, options = {})
  req = build_request(:delete_event_source_mapping, params)
  req.send_request(options)
end
delete_function(params = {}, options = {}) click to toggle source

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 Amazon Web Services services and resources that invoke your function directly, delete the trigger in the service where you originally configured it.

@option params [required, String] :function_name

The name of the Lambda function or version.

**Name formats**

* **Function name** - `my-function` (name-only), `my-function:1` (with
  version).

* **Function ARN** -
  `arn:aws:lambda:us-west-2:123456789012:function:my-function`.

* **Partial ARN** - `123456789012:function:my-function`.

You can append a version number or alias to any of the formats. The
length constraint applies only to the full ARN. If you specify only
the function name, it is limited to 64 characters in length.

@option params [String] :qualifier

Specify a version to delete. You can't delete a version that's
referenced by an alias.

@return [Struct] Returns an empty {Seahorse::Client::Response response}.

@example Request syntax with placeholder values

resp = client.delete_function({
  function_name: "FunctionName", # required
  qualifier: "Qualifier",
})

@see docs.aws.amazon.com/goto/WebAPI/lambda-2015-03-31/DeleteFunction AWS API Documentation

@overload delete_function(params = {}) @param [Hash] params ({})

# File lib/aws-sdk-lambda/client.rb, line 1457
def delete_function(params = {}, options = {})
  req = build_request(:delete_function, params)
  req.send_request(options)
end
delete_function_code_signing_config(params = {}, options = {}) click to toggle source

Removes the code signing configuration from the function.

@option params [required, String] :function_name

The name of the Lambda function.

**Name formats**

* **Function name** - `MyFunction`.

* **Function ARN** -
  `arn:aws:lambda:us-west-2:123456789012:function:MyFunction`.

* **Partial ARN** - `123456789012:function:MyFunction`.

The length constraint applies only to the full ARN. If you specify
only the function name, it is limited to 64 characters in length.

@return [Struct] Returns an empty {Seahorse::Client::Response response}.

@example Request syntax with placeholder values

resp = client.delete_function_code_signing_config({
  function_name: "FunctionName", # required
})

@see docs.aws.amazon.com/goto/WebAPI/lambda-2015-03-31/DeleteFunctionCodeSigningConfig AWS API Documentation

@overload delete_function_code_signing_config(params = {}) @param [Hash] params ({})

# File lib/aws-sdk-lambda/client.rb, line 1491
def delete_function_code_signing_config(params = {}, options = {})
  req = build_request(:delete_function_code_signing_config, params)
  req.send_request(options)
end
delete_function_concurrency(params = {}, options = {}) click to toggle source

Removes a concurrent execution limit from a function.

@option params [required, String] :function_name

The name of the Lambda function.

**Name formats**

* **Function name** - `my-function`.

* **Function ARN** -
  `arn:aws:lambda:us-west-2:123456789012:function:my-function`.

* **Partial ARN** - `123456789012:function:my-function`.

The length constraint applies only to the full ARN. If you specify
only the function name, it is limited to 64 characters in length.

@return [Struct] Returns an empty {Seahorse::Client::Response response}.

@example Request syntax with placeholder values

resp = client.delete_function_concurrency({
  function_name: "FunctionName", # required
})

@see docs.aws.amazon.com/goto/WebAPI/lambda-2015-03-31/DeleteFunctionConcurrency AWS API Documentation

@overload delete_function_concurrency(params = {}) @param [Hash] params ({})

# File lib/aws-sdk-lambda/client.rb, line 1525
def delete_function_concurrency(params = {}, options = {})
  req = build_request(:delete_function_concurrency, params)
  req.send_request(options)
end
delete_function_event_invoke_config(params = {}, options = {}) click to toggle source

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

To configure options for asynchronous invocation, use PutFunctionEventInvokeConfig.

@option params [required, String] :function_name

The name of the Lambda function, version, or alias.

**Name formats**

* **Function name** - `my-function` (name-only), `my-function:v1`
  (with alias).

* **Function ARN** -
  `arn:aws:lambda:us-west-2:123456789012:function:my-function`.

* **Partial ARN** - `123456789012:function:my-function`.

You can append a version number or alias to any of the formats. The
length constraint applies only to the full ARN. If you specify only
the function name, it is limited to 64 characters in length.

@option params [String] :qualifier

A version number or alias name.

@return [Struct] Returns an empty {Seahorse::Client::Response response}.

@example Request syntax with placeholder values

resp = client.delete_function_event_invoke_config({
  function_name: "FunctionName", # required
  qualifier: "Qualifier",
})

@see docs.aws.amazon.com/goto/WebAPI/lambda-2015-03-31/DeleteFunctionEventInvokeConfig AWS API Documentation

@overload delete_function_event_invoke_config(params = {}) @param [Hash] params ({})

# File lib/aws-sdk-lambda/client.rb, line 1569
def delete_function_event_invoke_config(params = {}, options = {})
  req = build_request(:delete_function_event_invoke_config, params)
  req.send_request(options)
end
delete_layer_version(params = {}, options = {}) click to toggle source

Deletes a version of an [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.

[1]: docs.aws.amazon.com/lambda/latest/dg/configuration-layers.html

@option params [required, String] :layer_name

The name or Amazon Resource Name (ARN) of the layer.

@option params [required, Integer] :version_number

The version number.

@return [Struct] Returns an empty {Seahorse::Client::Response response}.

@example Request syntax with placeholder values

resp = client.delete_layer_version({
  layer_name: "LayerName", # required
  version_number: 1, # required
})

@see docs.aws.amazon.com/goto/WebAPI/lambda-2015-03-31/DeleteLayerVersion AWS API Documentation

@overload delete_layer_version(params = {}) @param [Hash] params ({})

# File lib/aws-sdk-lambda/client.rb, line 1601
def delete_layer_version(params = {}, options = {})
  req = build_request(:delete_layer_version, params)
  req.send_request(options)
end
delete_provisioned_concurrency_config(params = {}, options = {}) click to toggle source

Deletes the provisioned concurrency configuration for a function.

@option params [required, String] :function_name

The name of the Lambda function.

**Name formats**

* **Function name** - `my-function`.

* **Function ARN** -
  `arn:aws:lambda:us-west-2:123456789012:function:my-function`.

* **Partial ARN** - `123456789012:function:my-function`.

The length constraint applies only to the full ARN. If you specify
only the function name, it is limited to 64 characters in length.

@option params [required, String] :qualifier

The version number or alias name.

@return [Struct] Returns an empty {Seahorse::Client::Response response}.

@example Request syntax with placeholder values

resp = client.delete_provisioned_concurrency_config({
  function_name: "FunctionName", # required
  qualifier: "Qualifier", # required
})

@see docs.aws.amazon.com/goto/WebAPI/lambda-2015-03-31/DeleteProvisionedConcurrencyConfig AWS API Documentation

@overload delete_provisioned_concurrency_config(params = {}) @param [Hash] params ({})

# File lib/aws-sdk-lambda/client.rb, line 1639
def delete_provisioned_concurrency_config(params = {}, options = {})
  req = build_request(:delete_provisioned_concurrency_config, params)
  req.send_request(options)
end
get_account_settings(params = {}, options = {}) click to toggle source

Retrieves details about your account's [limits] and usage in an Amazon Web Services Region.

[1]: docs.aws.amazon.com/lambda/latest/dg/limits.html

@return [Types::GetAccountSettingsResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:

* {Types::GetAccountSettingsResponse#account_limit #account_limit} => Types::AccountLimit
* {Types::GetAccountSettingsResponse#account_usage #account_usage} => Types::AccountUsage

@example Response structure

resp.account_limit.total_code_size #=> Integer
resp.account_limit.code_size_unzipped #=> Integer
resp.account_limit.code_size_zipped #=> Integer
resp.account_limit.concurrent_executions #=> Integer
resp.account_limit.unreserved_concurrent_executions #=> Integer
resp.account_usage.total_code_size #=> Integer
resp.account_usage.function_count #=> Integer

@see docs.aws.amazon.com/goto/WebAPI/lambda-2015-03-31/GetAccountSettings AWS API Documentation

@overload get_account_settings(params = {}) @param [Hash] params ({})

# File lib/aws-sdk-lambda/client.rb, line 1670
def get_account_settings(params = {}, options = {})
  req = build_request(:get_account_settings, params)
  req.send_request(options)
end
get_alias(params = {}, options = {}) click to toggle source

Returns details about a Lambda function [alias].

[1]: docs.aws.amazon.com/lambda/latest/dg/versioning-aliases.html

@option params [required, String] :function_name

The name of the Lambda function.

**Name formats**

* **Function name** - `MyFunction`.

* **Function ARN** -
  `arn:aws:lambda:us-west-2:123456789012:function:MyFunction`.

* **Partial ARN** - `123456789012:function:MyFunction`.

The length constraint applies only to the full ARN. If you specify
only the function name, it is limited to 64 characters in length.

@option params [required, String] :name

The name of the alias.

@return [Types::AliasConfiguration] Returns a {Seahorse::Client::Response response} object which responds to the following methods:

* {Types::AliasConfiguration#alias_arn #alias_arn} => String
* {Types::AliasConfiguration#name #name} => String
* {Types::AliasConfiguration#function_version #function_version} => String
* {Types::AliasConfiguration#description #description} => String
* {Types::AliasConfiguration#routing_config #routing_config} => Types::AliasRoutingConfiguration
* {Types::AliasConfiguration#revision_id #revision_id} => String

@example Request syntax with placeholder values

resp = client.get_alias({
  function_name: "FunctionName", # required
  name: "Alias", # required
})

@example Response structure

resp.alias_arn #=> String
resp.name #=> String
resp.function_version #=> String
resp.description #=> String
resp.routing_config.additional_version_weights #=> Hash
resp.routing_config.additional_version_weights["AdditionalVersion"] #=> Float
resp.revision_id #=> String

@see docs.aws.amazon.com/goto/WebAPI/lambda-2015-03-31/GetAlias AWS API Documentation

@overload get_alias(params = {}) @param [Hash] params ({})

# File lib/aws-sdk-lambda/client.rb, line 1729
def get_alias(params = {}, options = {})
  req = build_request(:get_alias, params)
  req.send_request(options)
end
get_code_signing_config(params = {}, options = {}) click to toggle source

Returns information about the specified code signing configuration.

@option params [required, String] :code_signing_config_arn

The The Amazon Resource Name (ARN) of the code signing configuration.

@return [Types::GetCodeSigningConfigResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:

* {Types::GetCodeSigningConfigResponse#code_signing_config #code_signing_config} => Types::CodeSigningConfig

@example Request syntax with placeholder values

resp = client.get_code_signing_config({
  code_signing_config_arn: "CodeSigningConfigArn", # required
})

@example Response structure

resp.code_signing_config.code_signing_config_id #=> String
resp.code_signing_config.code_signing_config_arn #=> String
resp.code_signing_config.description #=> String
resp.code_signing_config.allowed_publishers.signing_profile_version_arns #=> Array
resp.code_signing_config.allowed_publishers.signing_profile_version_arns[0] #=> String
resp.code_signing_config.code_signing_policies.untrusted_artifact_on_deployment #=> String, one of "Warn", "Enforce"
resp.code_signing_config.last_modified #=> Time

@see docs.aws.amazon.com/goto/WebAPI/lambda-2015-03-31/GetCodeSigningConfig AWS API Documentation

@overload get_code_signing_config(params = {}) @param [Hash] params ({})

# File lib/aws-sdk-lambda/client.rb, line 1763
def get_code_signing_config(params = {}, options = {})
  req = build_request(:get_code_signing_config, params)
  req.send_request(options)
end
get_event_source_mapping(params = {}, options = {}) click to toggle source

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

@option params [required, String] :uuid

The identifier of the event source mapping.

@return [Types::EventSourceMappingConfiguration] Returns a {Seahorse::Client::Response response} object which responds to the following methods:

* {Types::EventSourceMappingConfiguration#uuid #uuid} => String
* {Types::EventSourceMappingConfiguration#starting_position #starting_position} => String
* {Types::EventSourceMappingConfiguration#starting_position_timestamp #starting_position_timestamp} => Time
* {Types::EventSourceMappingConfiguration#batch_size #batch_size} => Integer
* {Types::EventSourceMappingConfiguration#maximum_batching_window_in_seconds #maximum_batching_window_in_seconds} => Integer
* {Types::EventSourceMappingConfiguration#parallelization_factor #parallelization_factor} => Integer
* {Types::EventSourceMappingConfiguration#event_source_arn #event_source_arn} => String
* {Types::EventSourceMappingConfiguration#function_arn #function_arn} => String
* {Types::EventSourceMappingConfiguration#last_modified #last_modified} => Time
* {Types::EventSourceMappingConfiguration#last_processing_result #last_processing_result} => String
* {Types::EventSourceMappingConfiguration#state #state} => String
* {Types::EventSourceMappingConfiguration#state_transition_reason #state_transition_reason} => String
* {Types::EventSourceMappingConfiguration#destination_config #destination_config} => Types::DestinationConfig
* {Types::EventSourceMappingConfiguration#topics #topics} => Array&lt;String&gt;
* {Types::EventSourceMappingConfiguration#queues #queues} => Array&lt;String&gt;
* {Types::EventSourceMappingConfiguration#source_access_configurations #source_access_configurations} => Array&lt;Types::SourceAccessConfiguration&gt;
* {Types::EventSourceMappingConfiguration#self_managed_event_source #self_managed_event_source} => Types::SelfManagedEventSource
* {Types::EventSourceMappingConfiguration#maximum_record_age_in_seconds #maximum_record_age_in_seconds} => Integer
* {Types::EventSourceMappingConfiguration#bisect_batch_on_function_error #bisect_batch_on_function_error} => Boolean
* {Types::EventSourceMappingConfiguration#maximum_retry_attempts #maximum_retry_attempts} => Integer
* {Types::EventSourceMappingConfiguration#tumbling_window_in_seconds #tumbling_window_in_seconds} => Integer
* {Types::EventSourceMappingConfiguration#function_response_types #function_response_types} => Array&lt;String&gt;

@example Request syntax with placeholder values

resp = client.get_event_source_mapping({
  uuid: "String", # required
})

@example Response structure

resp.uuid #=> String
resp.starting_position #=> String, one of "TRIM_HORIZON", "LATEST", "AT_TIMESTAMP"
resp.starting_position_timestamp #=> Time
resp.batch_size #=> Integer
resp.maximum_batching_window_in_seconds #=> Integer
resp.parallelization_factor #=> Integer
resp.event_source_arn #=> String
resp.function_arn #=> String
resp.last_modified #=> Time
resp.last_processing_result #=> String
resp.state #=> String
resp.state_transition_reason #=> String
resp.destination_config.on_success.destination #=> String
resp.destination_config.on_failure.destination #=> String
resp.topics #=> Array
resp.topics[0] #=> String
resp.queues #=> Array
resp.queues[0] #=> String
resp.source_access_configurations #=> Array
resp.source_access_configurations[0].type #=> String, one of "BASIC_AUTH", "VPC_SUBNET", "VPC_SECURITY_GROUP", "SASL_SCRAM_512_AUTH", "SASL_SCRAM_256_AUTH", "VIRTUAL_HOST"
resp.source_access_configurations[0].uri #=> String
resp.self_managed_event_source.endpoints #=> Hash
resp.self_managed_event_source.endpoints["EndPointType"] #=> Array
resp.self_managed_event_source.endpoints["EndPointType"][0] #=> String
resp.maximum_record_age_in_seconds #=> Integer
resp.bisect_batch_on_function_error #=> Boolean
resp.maximum_retry_attempts #=> Integer
resp.tumbling_window_in_seconds #=> Integer
resp.function_response_types #=> Array
resp.function_response_types[0] #=> String, one of "ReportBatchItemFailures"

@see docs.aws.amazon.com/goto/WebAPI/lambda-2015-03-31/GetEventSourceMapping AWS API Documentation

@overload get_event_source_mapping(params = {}) @param [Hash] params ({})

# File lib/aws-sdk-lambda/client.rb, line 1842
def get_event_source_mapping(params = {}, options = {})
  req = build_request(:get_event_source_mapping, params)
  req.send_request(options)
end
get_function(params = {}, options = {}) click to toggle source

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.

@option params [required, String] :function_name

The name of the Lambda function, version, or alias.

**Name formats**

* **Function name** - `my-function` (name-only), `my-function:v1`
  (with alias).

* **Function ARN** -
  `arn:aws:lambda:us-west-2:123456789012:function:my-function`.

* **Partial ARN** - `123456789012:function:my-function`.

You can append a version number or alias to any of the formats. The
length constraint applies only to the full ARN. If you specify only
the function name, it is limited to 64 characters in length.

@option params [String] :qualifier

Specify a version or alias to get details about a published version of
the function.

@return [Types::GetFunctionResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:

* {Types::GetFunctionResponse#configuration #configuration} => Types::FunctionConfiguration
* {Types::GetFunctionResponse#code #code} => Types::FunctionCodeLocation
* {Types::GetFunctionResponse#tags #tags} => Hash&lt;String,String&gt;
* {Types::GetFunctionResponse#concurrency #concurrency} => Types::Concurrency

@example Request syntax with placeholder values

resp = client.get_function({
  function_name: "NamespacedFunctionName", # required
  qualifier: "Qualifier",
})

@example Response structure

resp.configuration.function_name #=> String
resp.configuration.function_arn #=> String
resp.configuration.runtime #=> String, one of "nodejs", "nodejs4.3", "nodejs6.10", "nodejs8.10", "nodejs10.x", "nodejs12.x", "nodejs14.x", "java8", "java8.al2", "java11", "python2.7", "python3.6", "python3.7", "python3.8", "python3.9", "dotnetcore1.0", "dotnetcore2.0", "dotnetcore2.1", "dotnetcore3.1", "nodejs4.3-edge", "go1.x", "ruby2.5", "ruby2.7", "provided", "provided.al2"
resp.configuration.role #=> String
resp.configuration.handler #=> String
resp.configuration.code_size #=> Integer
resp.configuration.description #=> String
resp.configuration.timeout #=> Integer
resp.configuration.memory_size #=> Integer
resp.configuration.last_modified #=> Time
resp.configuration.code_sha_256 #=> String
resp.configuration.version #=> String
resp.configuration.vpc_config.subnet_ids #=> Array
resp.configuration.vpc_config.subnet_ids[0] #=> String
resp.configuration.vpc_config.security_group_ids #=> Array
resp.configuration.vpc_config.security_group_ids[0] #=> String
resp.configuration.vpc_config.vpc_id #=> String
resp.configuration.dead_letter_config.target_arn #=> String
resp.configuration.environment.variables #=> Hash
resp.configuration.environment.variables["EnvironmentVariableName"] #=> String
resp.configuration.environment.error.error_code #=> String
resp.configuration.environment.error.message #=> String
resp.configuration.kms_key_arn #=> String
resp.configuration.tracing_config.mode #=> String, one of "Active", "PassThrough"
resp.configuration.master_arn #=> String
resp.configuration.revision_id #=> String
resp.configuration.layers #=> Array
resp.configuration.layers[0].arn #=> String
resp.configuration.layers[0].code_size #=> Integer
resp.configuration.layers[0].signing_profile_version_arn #=> String
resp.configuration.layers[0].signing_job_arn #=> String
resp.configuration.state #=> String, one of "Pending", "Active", "Inactive", "Failed"
resp.configuration.state_reason #=> String
resp.configuration.state_reason_code #=> String, one of "Idle", "Creating", "Restoring", "EniLimitExceeded", "InsufficientRolePermissions", "InvalidConfiguration", "InternalError", "SubnetOutOfIPAddresses", "InvalidSubnet", "InvalidSecurityGroup", "ImageDeleted", "ImageAccessDenied", "InvalidImage"
resp.configuration.last_update_status #=> String, one of "Successful", "Failed", "InProgress"
resp.configuration.last_update_status_reason #=> String
resp.configuration.last_update_status_reason_code #=> String, one of "EniLimitExceeded", "InsufficientRolePermissions", "InvalidConfiguration", "InternalError", "SubnetOutOfIPAddresses", "InvalidSubnet", "InvalidSecurityGroup", "ImageDeleted", "ImageAccessDenied", "InvalidImage"
resp.configuration.file_system_configs #=> Array
resp.configuration.file_system_configs[0].arn #=> String
resp.configuration.file_system_configs[0].local_mount_path #=> String
resp.configuration.package_type #=> String, one of "Zip", "Image"
resp.configuration.image_config_response.image_config.entry_point #=> Array
resp.configuration.image_config_response.image_config.entry_point[0] #=> String
resp.configuration.image_config_response.image_config.command #=> Array
resp.configuration.image_config_response.image_config.command[0] #=> String
resp.configuration.image_config_response.image_config.working_directory #=> String
resp.configuration.image_config_response.error.error_code #=> String
resp.configuration.image_config_response.error.message #=> String
resp.configuration.signing_profile_version_arn #=> String
resp.configuration.signing_job_arn #=> String
resp.code.repository_type #=> String
resp.code.location #=> String
resp.code.image_uri #=> String
resp.code.resolved_image_uri #=> String
resp.tags #=> Hash
resp.tags["TagKey"] #=> String
resp.concurrency.reserved_concurrent_executions #=> Integer

The following waiters are defined for this operation (see {Client#wait_until} for detailed usage):

* function_exists

@see docs.aws.amazon.com/goto/WebAPI/lambda-2015-03-31/GetFunction AWS API Documentation

@overload get_function(params = {}) @param [Hash] params ({})

# File lib/aws-sdk-lambda/client.rb, line 1956
def get_function(params = {}, options = {})
  req = build_request(:get_function, params)
  req.send_request(options)
end
get_function_code_signing_config(params = {}, options = {}) click to toggle source

Returns the code signing configuration for the specified function.

@option params [required, String] :function_name

The name of the Lambda function.

**Name formats**

* **Function name** - `MyFunction`.

* **Function ARN** -
  `arn:aws:lambda:us-west-2:123456789012:function:MyFunction`.

* **Partial ARN** - `123456789012:function:MyFunction`.

The length constraint applies only to the full ARN. If you specify
only the function name, it is limited to 64 characters in length.

@return [Types::GetFunctionCodeSigningConfigResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:

* {Types::GetFunctionCodeSigningConfigResponse#code_signing_config_arn #code_signing_config_arn} => String
* {Types::GetFunctionCodeSigningConfigResponse#function_name #function_name} => String

@example Request syntax with placeholder values

resp = client.get_function_code_signing_config({
  function_name: "FunctionName", # required
})

@example Response structure

resp.code_signing_config_arn #=> String
resp.function_name #=> String

@see docs.aws.amazon.com/goto/WebAPI/lambda-2015-03-31/GetFunctionCodeSigningConfig AWS API Documentation

@overload get_function_code_signing_config(params = {}) @param [Hash] params ({})

# File lib/aws-sdk-lambda/client.rb, line 1998
def get_function_code_signing_config(params = {}, options = {})
  req = build_request(:get_function_code_signing_config, params)
  req.send_request(options)
end
get_function_concurrency(params = {}, options = {}) click to toggle source

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

@option params [required, String] :function_name

The name of the Lambda function.

**Name formats**

* **Function name** - `my-function`.

* **Function ARN** -
  `arn:aws:lambda:us-west-2:123456789012:function:my-function`.

* **Partial ARN** - `123456789012:function:my-function`.

The length constraint applies only to the full ARN. If you specify
only the function name, it is limited to 64 characters in length.

@return [Types::GetFunctionConcurrencyResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:

* {Types::GetFunctionConcurrencyResponse#reserved_concurrent_executions #reserved_concurrent_executions} => Integer

@example Request syntax with placeholder values

resp = client.get_function_concurrency({
  function_name: "FunctionName", # required
})

@example Response structure

resp.reserved_concurrent_executions #=> Integer

@see docs.aws.amazon.com/goto/WebAPI/lambda-2015-03-31/GetFunctionConcurrency AWS API Documentation

@overload get_function_concurrency(params = {}) @param [Hash] params ({})

# File lib/aws-sdk-lambda/client.rb, line 2040
def get_function_concurrency(params = {}, options = {})
  req = build_request(:get_function_concurrency, params)
  req.send_request(options)
end
get_function_configuration(params = {}, options = {}) click to toggle source

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.

@option params [required, String] :function_name

The name of the Lambda function, version, or alias.

**Name formats**

* **Function name** - `my-function` (name-only), `my-function:v1`
  (with alias).

* **Function ARN** -
  `arn:aws:lambda:us-west-2:123456789012:function:my-function`.

* **Partial ARN** - `123456789012:function:my-function`.

You can append a version number or alias to any of the formats. The
length constraint applies only to the full ARN. If you specify only
the function name, it is limited to 64 characters in length.

@option params [String] :qualifier

Specify a version or alias to get details about a published version of
the function.

@return [Types::FunctionConfiguration] Returns a {Seahorse::Client::Response response} object which responds to the following methods:

* {Types::FunctionConfiguration#function_name #function_name} => String
* {Types::FunctionConfiguration#function_arn #function_arn} => String
* {Types::FunctionConfiguration#runtime #runtime} => String
* {Types::FunctionConfiguration#role #role} => String
* {Types::FunctionConfiguration#handler #handler} => String
* {Types::FunctionConfiguration#code_size #code_size} => Integer
* {Types::FunctionConfiguration#description #description} => String
* {Types::FunctionConfiguration#timeout #timeout} => Integer
* {Types::FunctionConfiguration#memory_size #memory_size} => Integer
* {Types::FunctionConfiguration#last_modified #last_modified} => Time
* {Types::FunctionConfiguration#code_sha_256 #code_sha_256} => String
* {Types::FunctionConfiguration#version #version} => String
* {Types::FunctionConfiguration#vpc_config #vpc_config} => Types::VpcConfigResponse
* {Types::FunctionConfiguration#dead_letter_config #dead_letter_config} => Types::DeadLetterConfig
* {Types::FunctionConfiguration#environment #environment} => Types::EnvironmentResponse
* {Types::FunctionConfiguration#kms_key_arn #kms_key_arn} => String
* {Types::FunctionConfiguration#tracing_config #tracing_config} => Types::TracingConfigResponse
* {Types::FunctionConfiguration#master_arn #master_arn} => String
* {Types::FunctionConfiguration#revision_id #revision_id} => String
* {Types::FunctionConfiguration#layers #layers} => Array&lt;Types::Layer&gt;
* {Types::FunctionConfiguration#state #state} => String
* {Types::FunctionConfiguration#state_reason #state_reason} => String
* {Types::FunctionConfiguration#state_reason_code #state_reason_code} => String
* {Types::FunctionConfiguration#last_update_status #last_update_status} => String
* {Types::FunctionConfiguration#last_update_status_reason #last_update_status_reason} => String
* {Types::FunctionConfiguration#last_update_status_reason_code #last_update_status_reason_code} => String
* {Types::FunctionConfiguration#file_system_configs #file_system_configs} => Array&lt;Types::FileSystemConfig&gt;
* {Types::FunctionConfiguration#package_type #package_type} => String
* {Types::FunctionConfiguration#image_config_response #image_config_response} => Types::ImageConfigResponse
* {Types::FunctionConfiguration#signing_profile_version_arn #signing_profile_version_arn} => String
* {Types::FunctionConfiguration#signing_job_arn #signing_job_arn} => String

@example Request syntax with placeholder values

resp = client.get_function_configuration({
  function_name: "NamespacedFunctionName", # required
  qualifier: "Qualifier",
})

@example Response structure

resp.function_name #=> String
resp.function_arn #=> String
resp.runtime #=> String, one of "nodejs", "nodejs4.3", "nodejs6.10", "nodejs8.10", "nodejs10.x", "nodejs12.x", "nodejs14.x", "java8", "java8.al2", "java11", "python2.7", "python3.6", "python3.7", "python3.8", "python3.9", "dotnetcore1.0", "dotnetcore2.0", "dotnetcore2.1", "dotnetcore3.1", "nodejs4.3-edge", "go1.x", "ruby2.5", "ruby2.7", "provided", "provided.al2"
resp.role #=> String
resp.handler #=> String
resp.code_size #=> Integer
resp.description #=> String
resp.timeout #=> Integer
resp.memory_size #=> Integer
resp.last_modified #=> Time
resp.code_sha_256 #=> String
resp.version #=> String
resp.vpc_config.subnet_ids #=> Array
resp.vpc_config.subnet_ids[0] #=> String
resp.vpc_config.security_group_ids #=> Array
resp.vpc_config.security_group_ids[0] #=> String
resp.vpc_config.vpc_id #=> String
resp.dead_letter_config.target_arn #=> String
resp.environment.variables #=> Hash
resp.environment.variables["EnvironmentVariableName"] #=> String
resp.environment.error.error_code #=> String
resp.environment.error.message #=> String
resp.kms_key_arn #=> String
resp.tracing_config.mode #=> String, one of "Active", "PassThrough"
resp.master_arn #=> String
resp.revision_id #=> String
resp.layers #=> Array
resp.layers[0].arn #=> String
resp.layers[0].code_size #=> Integer
resp.layers[0].signing_profile_version_arn #=> String
resp.layers[0].signing_job_arn #=> String
resp.state #=> String, one of "Pending", "Active", "Inactive", "Failed"
resp.state_reason #=> String
resp.state_reason_code #=> String, one of "Idle", "Creating", "Restoring", "EniLimitExceeded", "InsufficientRolePermissions", "InvalidConfiguration", "InternalError", "SubnetOutOfIPAddresses", "InvalidSubnet", "InvalidSecurityGroup", "ImageDeleted", "ImageAccessDenied", "InvalidImage"
resp.last_update_status #=> String, one of "Successful", "Failed", "InProgress"
resp.last_update_status_reason #=> String
resp.last_update_status_reason_code #=> String, one of "EniLimitExceeded", "InsufficientRolePermissions", "InvalidConfiguration", "InternalError", "SubnetOutOfIPAddresses", "InvalidSubnet", "InvalidSecurityGroup", "ImageDeleted", "ImageAccessDenied", "InvalidImage"
resp.file_system_configs #=> Array
resp.file_system_configs[0].arn #=> String
resp.file_system_configs[0].local_mount_path #=> String
resp.package_type #=> String, one of "Zip", "Image"
resp.image_config_response.image_config.entry_point #=> Array
resp.image_config_response.image_config.entry_point[0] #=> String
resp.image_config_response.image_config.command #=> Array
resp.image_config_response.image_config.command[0] #=> String
resp.image_config_response.image_config.working_directory #=> String
resp.image_config_response.error.error_code #=> String
resp.image_config_response.error.message #=> String
resp.signing_profile_version_arn #=> String
resp.signing_job_arn #=> String

The following waiters are defined for this operation (see {Client#wait_until} for detailed usage):

* function_active
* function_updated

@see docs.aws.amazon.com/goto/WebAPI/lambda-2015-03-31/GetFunctionConfiguration AWS API Documentation

@overload get_function_configuration(params = {}) @param [Hash] params ({})

# File lib/aws-sdk-lambda/client.rb, line 2177
def get_function_configuration(params = {}, options = {})
  req = build_request(:get_function_configuration, params)
  req.send_request(options)
end
get_function_event_invoke_config(params = {}, options = {}) click to toggle source

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

To configure options for asynchronous invocation, use PutFunctionEventInvokeConfig.

@option params [required, String] :function_name

The name of the Lambda function, version, or alias.

**Name formats**

* **Function name** - `my-function` (name-only), `my-function:v1`
  (with alias).

* **Function ARN** -
  `arn:aws:lambda:us-west-2:123456789012:function:my-function`.

* **Partial ARN** - `123456789012:function:my-function`.

You can append a version number or alias to any of the formats. The
length constraint applies only to the full ARN. If you specify only
the function name, it is limited to 64 characters in length.

@option params [String] :qualifier

A version number or alias name.

@return [Types::FunctionEventInvokeConfig] Returns a {Seahorse::Client::Response response} object which responds to the following methods:

* {Types::FunctionEventInvokeConfig#last_modified #last_modified} => Time
* {Types::FunctionEventInvokeConfig#function_arn #function_arn} => String
* {Types::FunctionEventInvokeConfig#maximum_retry_attempts #maximum_retry_attempts} => Integer
* {Types::FunctionEventInvokeConfig#maximum_event_age_in_seconds #maximum_event_age_in_seconds} => Integer
* {Types::FunctionEventInvokeConfig#destination_config #destination_config} => Types::DestinationConfig

@example Request syntax with placeholder values

resp = client.get_function_event_invoke_config({
  function_name: "FunctionName", # required
  qualifier: "Qualifier",
})

@example Response structure

resp.last_modified #=> Time
resp.function_arn #=> String
resp.maximum_retry_attempts #=> Integer
resp.maximum_event_age_in_seconds #=> Integer
resp.destination_config.on_success.destination #=> String
resp.destination_config.on_failure.destination #=> String

@see docs.aws.amazon.com/goto/WebAPI/lambda-2015-03-31/GetFunctionEventInvokeConfig AWS API Documentation

@overload get_function_event_invoke_config(params = {}) @param [Hash] params ({})

# File lib/aws-sdk-lambda/client.rb, line 2236
def get_function_event_invoke_config(params = {}, options = {})
  req = build_request(:get_function_event_invoke_config, params)
  req.send_request(options)
end
get_layer_version(params = {}, options = {}) click to toggle source

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

[1]: docs.aws.amazon.com/lambda/latest/dg/configuration-layers.html

@option params [required, String] :layer_name

The name or Amazon Resource Name (ARN) of the layer.

@option params [required, Integer] :version_number

The version number.

@return [Types::GetLayerVersionResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:

* {Types::GetLayerVersionResponse#content #content} => Types::LayerVersionContentOutput
* {Types::GetLayerVersionResponse#layer_arn #layer_arn} => String
* {Types::GetLayerVersionResponse#layer_version_arn #layer_version_arn} => String
* {Types::GetLayerVersionResponse#description #description} => String
* {Types::GetLayerVersionResponse#created_date #created_date} => Time
* {Types::GetLayerVersionResponse#version #version} => Integer
* {Types::GetLayerVersionResponse#compatible_runtimes #compatible_runtimes} => Array&lt;String&gt;
* {Types::GetLayerVersionResponse#license_info #license_info} => String

@example Request syntax with placeholder values

resp = client.get_layer_version({
  layer_name: "LayerName", # required
  version_number: 1, # required
})

@example Response structure

resp.content.location #=> String
resp.content.code_sha_256 #=> String
resp.content.code_size #=> Integer
resp.content.signing_profile_version_arn #=> String
resp.content.signing_job_arn #=> String
resp.layer_arn #=> String
resp.layer_version_arn #=> String
resp.description #=> String
resp.created_date #=> Time
resp.version #=> Integer
resp.compatible_runtimes #=> Array
resp.compatible_runtimes[0] #=> String, one of "nodejs", "nodejs4.3", "nodejs6.10", "nodejs8.10", "nodejs10.x", "nodejs12.x", "nodejs14.x", "java8", "java8.al2", "java11", "python2.7", "python3.6", "python3.7", "python3.8", "python3.9", "dotnetcore1.0", "dotnetcore2.0", "dotnetcore2.1", "dotnetcore3.1", "nodejs4.3-edge", "go1.x", "ruby2.5", "ruby2.7", "provided", "provided.al2"
resp.license_info #=> String

@see docs.aws.amazon.com/goto/WebAPI/lambda-2015-03-31/GetLayerVersion AWS API Documentation

@overload get_layer_version(params = {}) @param [Hash] params ({})

# File lib/aws-sdk-lambda/client.rb, line 2292
def get_layer_version(params = {}, options = {})
  req = build_request(:get_layer_version, params)
  req.send_request(options)
end
get_layer_version_by_arn(params = {}, options = {}) click to toggle source

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

[1]: docs.aws.amazon.com/lambda/latest/dg/configuration-layers.html

@option params [required, String] :arn

The ARN of the layer version.

@return [Types::GetLayerVersionResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:

* {Types::GetLayerVersionResponse#content #content} => Types::LayerVersionContentOutput
* {Types::GetLayerVersionResponse#layer_arn #layer_arn} => String
* {Types::GetLayerVersionResponse#layer_version_arn #layer_version_arn} => String
* {Types::GetLayerVersionResponse#description #description} => String
* {Types::GetLayerVersionResponse#created_date #created_date} => Time
* {Types::GetLayerVersionResponse#version #version} => Integer
* {Types::GetLayerVersionResponse#compatible_runtimes #compatible_runtimes} => Array&lt;String&gt;
* {Types::GetLayerVersionResponse#license_info #license_info} => String

@example Request syntax with placeholder values

resp = client.get_layer_version_by_arn({
  arn: "LayerVersionArn", # required
})

@example Response structure

resp.content.location #=> String
resp.content.code_sha_256 #=> String
resp.content.code_size #=> Integer
resp.content.signing_profile_version_arn #=> String
resp.content.signing_job_arn #=> String
resp.layer_arn #=> String
resp.layer_version_arn #=> String
resp.description #=> String
resp.created_date #=> Time
resp.version #=> Integer
resp.compatible_runtimes #=> Array
resp.compatible_runtimes[0] #=> String, one of "nodejs", "nodejs4.3", "nodejs6.10", "nodejs8.10", "nodejs10.x", "nodejs12.x", "nodejs14.x", "java8", "java8.al2", "java11", "python2.7", "python3.6", "python3.7", "python3.8", "python3.9", "dotnetcore1.0", "dotnetcore2.0", "dotnetcore2.1", "dotnetcore3.1", "nodejs4.3-edge", "go1.x", "ruby2.5", "ruby2.7", "provided", "provided.al2"
resp.license_info #=> String

@see docs.aws.amazon.com/goto/WebAPI/lambda-2015-03-31/GetLayerVersionByArn AWS API Documentation

@overload get_layer_version_by_arn(params = {}) @param [Hash] params ({})

# File lib/aws-sdk-lambda/client.rb, line 2344
def get_layer_version_by_arn(params = {}, options = {})
  req = build_request(:get_layer_version_by_arn, params)
  req.send_request(options)
end
get_layer_version_policy(params = {}, options = {}) click to toggle source

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

[1]: docs.aws.amazon.com/lambda/latest/dg/configuration-layers.html

@option params [required, String] :layer_name

The name or Amazon Resource Name (ARN) of the layer.

@option params [required, Integer] :version_number

The version number.

@return [Types::GetLayerVersionPolicyResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:

* {Types::GetLayerVersionPolicyResponse#policy #policy} => String
* {Types::GetLayerVersionPolicyResponse#revision_id #revision_id} => String

@example Request syntax with placeholder values

resp = client.get_layer_version_policy({
  layer_name: "LayerName", # required
  version_number: 1, # required
})

@example Response structure

resp.policy #=> String
resp.revision_id #=> String

@see docs.aws.amazon.com/goto/WebAPI/lambda-2015-03-31/GetLayerVersionPolicy AWS API Documentation

@overload get_layer_version_policy(params = {}) @param [Hash] params ({})

# File lib/aws-sdk-lambda/client.rb, line 2383
def get_layer_version_policy(params = {}, options = {})
  req = build_request(:get_layer_version_policy, params)
  req.send_request(options)
end
get_policy(params = {}, options = {}) click to toggle source

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

[1]: docs.aws.amazon.com/lambda/latest/dg/access-control-resource-based.html

@option params [required, String] :function_name

The name of the Lambda function, version, or alias.

**Name formats**

* **Function name** - `my-function` (name-only), `my-function:v1`
  (with alias).

* **Function ARN** -
  `arn:aws:lambda:us-west-2:123456789012:function:my-function`.

* **Partial ARN** - `123456789012:function:my-function`.

You can append a version number or alias to any of the formats. The
length constraint applies only to the full ARN. If you specify only
the function name, it is limited to 64 characters in length.

@option params [String] :qualifier

Specify a version or alias to get the policy for that resource.

@return [Types::GetPolicyResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:

* {Types::GetPolicyResponse#policy #policy} => String
* {Types::GetPolicyResponse#revision_id #revision_id} => String

@example Request syntax with placeholder values

resp = client.get_policy({
  function_name: "NamespacedFunctionName", # required
  qualifier: "Qualifier",
})

@example Response structure

resp.policy #=> String
resp.revision_id #=> String

@see docs.aws.amazon.com/goto/WebAPI/lambda-2015-03-31/GetPolicy AWS API Documentation

@overload get_policy(params = {}) @param [Hash] params ({})

# File lib/aws-sdk-lambda/client.rb, line 2436
def get_policy(params = {}, options = {})
  req = build_request(:get_policy, params)
  req.send_request(options)
end
get_provisioned_concurrency_config(params = {}, options = {}) click to toggle source

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

@option params [required, String] :function_name

The name of the Lambda function.

**Name formats**

* **Function name** - `my-function`.

* **Function ARN** -
  `arn:aws:lambda:us-west-2:123456789012:function:my-function`.

* **Partial ARN** - `123456789012:function:my-function`.

The length constraint applies only to the full ARN. If you specify
only the function name, it is limited to 64 characters in length.

@option params [required, String] :qualifier

The version number or alias name.

@return [Types::GetProvisionedConcurrencyConfigResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:

* {Types::GetProvisionedConcurrencyConfigResponse#requested_provisioned_concurrent_executions #requested_provisioned_concurrent_executions} => Integer
* {Types::GetProvisionedConcurrencyConfigResponse#available_provisioned_concurrent_executions #available_provisioned_concurrent_executions} => Integer
* {Types::GetProvisionedConcurrencyConfigResponse#allocated_provisioned_concurrent_executions #allocated_provisioned_concurrent_executions} => Integer
* {Types::GetProvisionedConcurrencyConfigResponse#status #status} => String
* {Types::GetProvisionedConcurrencyConfigResponse#status_reason #status_reason} => String
* {Types::GetProvisionedConcurrencyConfigResponse#last_modified #last_modified} => Time

@example Request syntax with placeholder values

resp = client.get_provisioned_concurrency_config({
  function_name: "FunctionName", # required
  qualifier: "Qualifier", # required
})

@example Response structure

resp.requested_provisioned_concurrent_executions #=> Integer
resp.available_provisioned_concurrent_executions #=> Integer
resp.allocated_provisioned_concurrent_executions #=> Integer
resp.status #=> String, one of "IN_PROGRESS", "READY", "FAILED"
resp.status_reason #=> String
resp.last_modified #=> Time

@see docs.aws.amazon.com/goto/WebAPI/lambda-2015-03-31/GetProvisionedConcurrencyConfig AWS API Documentation

@overload get_provisioned_concurrency_config(params = {}) @param [Hash] params ({})

# File lib/aws-sdk-lambda/client.rb, line 2491
def get_provisioned_concurrency_config(params = {}, options = {})
  req = build_request(:get_provisioned_concurrency_config, params)
  req.send_request(options)
end
invoke(params = {}, options = {}) click to toggle source

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][2

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.

[1]: docs.aws.amazon.com/lambda/latest/dg/invocation-sync.html [2]: docs.aws.amazon.com/lambda/latest/dg/monitoring-functions.html [3]: docs.aws.amazon.com/lambda/latest/dg/lambda-x-ray.html [4]: docs.aws.amazon.com/lambda/latest/dg/retries-on-errors.html [5]: docs.aws.amazon.com/lambda/latest/dg/invocation-async.html [6]: docs.aws.amazon.com/lambda/latest/dg/invocation-async.html#dlq [7]: docs.aws.amazon.com/lambda/latest/dg/limits.html [8]: docs.aws.amazon.com/IAM/latest/UserGuide/list_awslambda.html

@option params [required, String] :function_name

The name of the Lambda function, version, or alias.

**Name formats**

* **Function name** - `my-function` (name-only), `my-function:v1`
  (with alias).

* **Function ARN** -
  `arn:aws:lambda:us-west-2:123456789012:function:my-function`.

* **Partial ARN** - `123456789012:function:my-function`.

You can append a version number or alias to any of the formats. The
length constraint applies only to the full ARN. If you specify only
the function name, it is limited to 64 characters in length.

@option params [String] :invocation_type

Choose from the following options.

* `RequestResponse` (default) - Invoke the function synchronously.
  Keep the connection open until the function returns a response or
  times out. The API response includes the function response and
  additional data.

* `Event` - Invoke the function asynchronously. Send events that fail
  multiple times to the function's dead-letter queue (if it's
  configured). The API response only includes a status code.

* `DryRun` - Validate parameter values and verify that the user or
  role has permission to invoke the function.

@option params [String] :log_type

Set to `Tail` to include the execution log in the response.

@option params [String] :client_context

Up to 3583 bytes of base64-encoded data about the invoking client to
pass to the function in the context object.

@option params [String, StringIO, File] :payload

The JSON that you want to provide to your Lambda function as input.

@option params [String] :qualifier

Specify a version or alias to invoke a published version of the
function.

@return [Types::InvocationResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:

* {Types::InvocationResponse#status_code #status_code} => Integer
* {Types::InvocationResponse#function_error #function_error} => String
* {Types::InvocationResponse#log_result #log_result} => String
* {Types::InvocationResponse#payload #payload} => String
* {Types::InvocationResponse#executed_version #executed_version} => String

@example Request syntax with placeholder values

resp = client.invoke({
  function_name: "NamespacedFunctionName", # required
  invocation_type: "Event", # accepts Event, RequestResponse, DryRun
  log_type: "None", # accepts None, Tail
  client_context: "String",
  payload: "data",
  qualifier: "Qualifier",
})

@example Response structure

resp.status_code #=> Integer
resp.function_error #=> String
resp.log_result #=> String
resp.payload #=> String
resp.executed_version #=> String

@see docs.aws.amazon.com/goto/WebAPI/lambda-2015-03-31/Invoke AWS API Documentation

@overload invoke(params = {}) @param [Hash] params ({})

# File lib/aws-sdk-lambda/client.rb, line 2623
def invoke(params = {}, options = {})
  req = build_request(:invoke, params)
  req.send_request(options)
end
invoke_async(params = {}, options = {}) click to toggle source

For asynchronous function invocation, use Invoke.

Invokes a function asynchronously.

@option params [required, String] :function_name

The name of the Lambda function.

**Name formats**

* **Function name** - `my-function`.

* **Function ARN** -
  `arn:aws:lambda:us-west-2:123456789012:function:my-function`.

* **Partial ARN** - `123456789012:function:my-function`.

The length constraint applies only to the full ARN. If you specify
only the function name, it is limited to 64 characters in length.

@option params [required, String, StringIO, File] :invoke_args

The JSON that you want to provide to your Lambda function as input.

@return [Types::InvokeAsyncResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:

* {Types::InvokeAsyncResponse#status #status} => Integer

@example Request syntax with placeholder values

resp = client.invoke_async({
  function_name: "NamespacedFunctionName", # required
  invoke_args: "data", # required
})

@example Response structure

resp.status #=> Integer

@see docs.aws.amazon.com/goto/WebAPI/lambda-2015-03-31/InvokeAsync AWS API Documentation

@overload invoke_async(params = {}) @param [Hash] params ({})

# File lib/aws-sdk-lambda/client.rb, line 2669
def invoke_async(params = {}, options = {})
  req = build_request(:invoke_async, params)
  req.send_request(options)
end
list_aliases(params = {}, options = {}) click to toggle source

Returns a list of [aliases] for a Lambda function.

[1]: docs.aws.amazon.com/lambda/latest/dg/versioning-aliases.html

@option params [required, String] :function_name

The name of the Lambda function.

**Name formats**

* **Function name** - `MyFunction`.

* **Function ARN** -
  `arn:aws:lambda:us-west-2:123456789012:function:MyFunction`.

* **Partial ARN** - `123456789012:function:MyFunction`.

The length constraint applies only to the full ARN. If you specify
only the function name, it is limited to 64 characters in length.

@option params [String] :function_version

Specify a function version to only list aliases that invoke that
version.

@option params [String] :marker

Specify the pagination token that's returned by a previous request to
retrieve the next page of results.

@option params [Integer] :max_items

Limit the number of aliases returned.

@return [Types::ListAliasesResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:

* {Types::ListAliasesResponse#next_marker #next_marker} => String
* {Types::ListAliasesResponse#aliases #aliases} => Array&lt;Types::AliasConfiguration&gt;

The returned {Seahorse::Client::Response response} is a pageable response and is Enumerable. For details on usage see {Aws::PageableResponse PageableResponse}.

@example Request syntax with placeholder values

resp = client.list_aliases({
  function_name: "FunctionName", # required
  function_version: "Version",
  marker: "String",
  max_items: 1,
})

@example Response structure

resp.next_marker #=> String
resp.aliases #=> Array
resp.aliases[0].alias_arn #=> String
resp.aliases[0].name #=> String
resp.aliases[0].function_version #=> String
resp.aliases[0].description #=> String
resp.aliases[0].routing_config.additional_version_weights #=> Hash
resp.aliases[0].routing_config.additional_version_weights["AdditionalVersion"] #=> Float
resp.aliases[0].revision_id #=> String

@see docs.aws.amazon.com/goto/WebAPI/lambda-2015-03-31/ListAliases AWS API Documentation

@overload list_aliases(params = {}) @param [Hash] params ({})

# File lib/aws-sdk-lambda/client.rb, line 2738
def list_aliases(params = {}, options = {})
  req = build_request(:list_aliases, params)
  req.send_request(options)
end
list_code_signing_configs(params = {}, options = {}) click to toggle source

Returns a list of [code signing configurations]. A request returns up to 10,000 configurations per call. You can use the `MaxItems` parameter to return fewer configurations per call.

[1]: docs.aws.amazon.com/lambda/latest/dg/configuring-codesigning.html

@option params [String] :marker

Specify the pagination token that's returned by a previous request to
retrieve the next page of results.

@option params [Integer] :max_items

Maximum number of items to return.

@return [Types::ListCodeSigningConfigsResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:

* {Types::ListCodeSigningConfigsResponse#next_marker #next_marker} => String
* {Types::ListCodeSigningConfigsResponse#code_signing_configs #code_signing_configs} => Array&lt;Types::CodeSigningConfig&gt;

The returned {Seahorse::Client::Response response} is a pageable response and is Enumerable. For details on usage see {Aws::PageableResponse PageableResponse}.

@example Request syntax with placeholder values

resp = client.list_code_signing_configs({
  marker: "String",
  max_items: 1,
})

@example Response structure

resp.next_marker #=> String
resp.code_signing_configs #=> Array
resp.code_signing_configs[0].code_signing_config_id #=> String
resp.code_signing_configs[0].code_signing_config_arn #=> String
resp.code_signing_configs[0].description #=> String
resp.code_signing_configs[0].allowed_publishers.signing_profile_version_arns #=> Array
resp.code_signing_configs[0].allowed_publishers.signing_profile_version_arns[0] #=> String
resp.code_signing_configs[0].code_signing_policies.untrusted_artifact_on_deployment #=> String, one of "Warn", "Enforce"
resp.code_signing_configs[0].last_modified #=> Time

@see docs.aws.amazon.com/goto/WebAPI/lambda-2015-03-31/ListCodeSigningConfigs AWS API Documentation

@overload list_code_signing_configs(params = {}) @param [Hash] params ({})

# File lib/aws-sdk-lambda/client.rb, line 2788
def list_code_signing_configs(params = {}, options = {})
  req = build_request(:list_code_signing_configs, params)
  req.send_request(options)
end
list_event_source_mappings(params = {}, options = {}) click to toggle source

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

@option params [String] :event_source_arn

The Amazon Resource Name (ARN) of the event source.

* **Amazon Kinesis** - The ARN of the data stream or a stream
  consumer.

* **Amazon DynamoDB Streams** - The ARN of the stream.

* **Amazon Simple Queue Service** - The ARN of the queue.

* **Amazon Managed Streaming for Apache Kafka** - The ARN of the
  cluster.

@option params [String] :function_name

The name of the Lambda function.

**Name formats**

* **Function name** - `MyFunction`.

* **Function ARN** -
  `arn:aws:lambda:us-west-2:123456789012:function:MyFunction`.

* **Version or Alias ARN** -
  `arn:aws:lambda:us-west-2:123456789012:function:MyFunction:PROD`.

* **Partial ARN** - `123456789012:function:MyFunction`.

The length constraint applies only to the full ARN. If you specify
only the function name, it's limited to 64 characters in length.

@option params [String] :marker

A pagination token returned by a previous call.

@option params [Integer] :max_items

The maximum number of event source mappings to return. Note that
ListEventSourceMappings returns a maximum of 100 items in each
response, even if you set the number higher.

@return [Types::ListEventSourceMappingsResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:

* {Types::ListEventSourceMappingsResponse#next_marker #next_marker} => String
* {Types::ListEventSourceMappingsResponse#event_source_mappings #event_source_mappings} => Array&lt;Types::EventSourceMappingConfiguration&gt;

The returned {Seahorse::Client::Response response} is a pageable response and is Enumerable. For details on usage see {Aws::PageableResponse PageableResponse}.

@example Request syntax with placeholder values

resp = client.list_event_source_mappings({
  event_source_arn: "Arn",
  function_name: "FunctionName",
  marker: "String",
  max_items: 1,
})

@example Response structure

resp.next_marker #=> String
resp.event_source_mappings #=> Array
resp.event_source_mappings[0].uuid #=> String
resp.event_source_mappings[0].starting_position #=> String, one of "TRIM_HORIZON", "LATEST", "AT_TIMESTAMP"
resp.event_source_mappings[0].starting_position_timestamp #=> Time
resp.event_source_mappings[0].batch_size #=> Integer
resp.event_source_mappings[0].maximum_batching_window_in_seconds #=> Integer
resp.event_source_mappings[0].parallelization_factor #=> Integer
resp.event_source_mappings[0].event_source_arn #=> String
resp.event_source_mappings[0].function_arn #=> String
resp.event_source_mappings[0].last_modified #=> Time
resp.event_source_mappings[0].last_processing_result #=> String
resp.event_source_mappings[0].state #=> String
resp.event_source_mappings[0].state_transition_reason #=> String
resp.event_source_mappings[0].destination_config.on_success.destination #=> String
resp.event_source_mappings[0].destination_config.on_failure.destination #=> String
resp.event_source_mappings[0].topics #=> Array
resp.event_source_mappings[0].topics[0] #=> String
resp.event_source_mappings[0].queues #=> Array
resp.event_source_mappings[0].queues[0] #=> String
resp.event_source_mappings[0].source_access_configurations #=> Array
resp.event_source_mappings[0].source_access_configurations[0].type #=> String, one of "BASIC_AUTH", "VPC_SUBNET", "VPC_SECURITY_GROUP", "SASL_SCRAM_512_AUTH", "SASL_SCRAM_256_AUTH", "VIRTUAL_HOST"
resp.event_source_mappings[0].source_access_configurations[0].uri #=> String
resp.event_source_mappings[0].self_managed_event_source.endpoints #=> Hash
resp.event_source_mappings[0].self_managed_event_source.endpoints["EndPointType"] #=> Array
resp.event_source_mappings[0].self_managed_event_source.endpoints["EndPointType"][0] #=> String
resp.event_source_mappings[0].maximum_record_age_in_seconds #=> Integer
resp.event_source_mappings[0].bisect_batch_on_function_error #=> Boolean
resp.event_source_mappings[0].maximum_retry_attempts #=> Integer
resp.event_source_mappings[0].tumbling_window_in_seconds #=> Integer
resp.event_source_mappings[0].function_response_types #=> Array
resp.event_source_mappings[0].function_response_types[0] #=> String, one of "ReportBatchItemFailures"

@see docs.aws.amazon.com/goto/WebAPI/lambda-2015-03-31/ListEventSourceMappings AWS API Documentation

@overload list_event_source_mappings(params = {}) @param [Hash] params ({})

# File lib/aws-sdk-lambda/client.rb, line 2890
def list_event_source_mappings(params = {}, options = {})
  req = build_request(:list_event_source_mappings, params)
  req.send_request(options)
end
list_function_event_invoke_configs(params = {}, options = {}) click to toggle source

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

To configure options for asynchronous invocation, use PutFunctionEventInvokeConfig.

@option params [required, String] :function_name

The name of the Lambda function.

**Name formats**

* **Function name** - `my-function`.

* **Function ARN** -
  `arn:aws:lambda:us-west-2:123456789012:function:my-function`.

* **Partial ARN** - `123456789012:function:my-function`.

The length constraint applies only to the full ARN. If you specify
only the function name, it is limited to 64 characters in length.

@option params [String] :marker

Specify the pagination token that's returned by a previous request to
retrieve the next page of results.

@option params [Integer] :max_items

The maximum number of configurations to return.

@return [Types::ListFunctionEventInvokeConfigsResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:

* {Types::ListFunctionEventInvokeConfigsResponse#function_event_invoke_configs #function_event_invoke_configs} => Array&lt;Types::FunctionEventInvokeConfig&gt;
* {Types::ListFunctionEventInvokeConfigsResponse#next_marker #next_marker} => String

The returned {Seahorse::Client::Response response} is a pageable response and is Enumerable. For details on usage see {Aws::PageableResponse PageableResponse}.

@example Request syntax with placeholder values

resp = client.list_function_event_invoke_configs({
  function_name: "FunctionName", # required
  marker: "String",
  max_items: 1,
})

@example Response structure

resp.function_event_invoke_configs #=> Array
resp.function_event_invoke_configs[0].last_modified #=> Time
resp.function_event_invoke_configs[0].function_arn #=> String
resp.function_event_invoke_configs[0].maximum_retry_attempts #=> Integer
resp.function_event_invoke_configs[0].maximum_event_age_in_seconds #=> Integer
resp.function_event_invoke_configs[0].destination_config.on_success.destination #=> String
resp.function_event_invoke_configs[0].destination_config.on_failure.destination #=> String
resp.next_marker #=> String

@see docs.aws.amazon.com/goto/WebAPI/lambda-2015-03-31/ListFunctionEventInvokeConfigs AWS API Documentation

@overload list_function_event_invoke_configs(params = {}) @param [Hash] params ({})

# File lib/aws-sdk-lambda/client.rb, line 2953
def list_function_event_invoke_configs(params = {}, options = {})
  req = build_request(:list_function_event_invoke_configs, params)
  req.send_request(options)
end
list_functions(params = {}, options = {}) click to toggle source

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.

<note markdown=“1”> The `ListFunctions` action returns a subset of the FunctionConfiguration fields. To get the additional fields (State, StateReasonCode, StateReason, LastUpdateStatus, LastUpdateStatusReason, LastUpdateStatusReasonCode) for a function or version, use GetFunction.

</note>

@option params [String] :master_region

For Lambda@Edge functions, the Amazon Web Services Region of the
master function. For example, `us-east-1` filters the list of
functions to only include Lambda@Edge functions replicated from a
master function in US East (N. Virginia). If specified, you must set
`FunctionVersion` to `ALL`.

@option params [String] :function_version

Set to `ALL` to include entries for all published versions of each
function.

@option params [String] :marker

Specify the pagination token that's returned by a previous request to
retrieve the next page of results.

@option params [Integer] :max_items

The maximum number of functions to return in the response. Note that
`ListFunctions` returns a maximum of 50 items in each response, even
if you set the number higher.

@return [Types::ListFunctionsResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:

* {Types::ListFunctionsResponse#next_marker #next_marker} => String
* {Types::ListFunctionsResponse#functions #functions} => Array&lt;Types::FunctionConfiguration&gt;

The returned {Seahorse::Client::Response response} is a pageable response and is Enumerable. For details on usage see {Aws::PageableResponse PageableResponse}.

@example Request syntax with placeholder values

resp = client.list_functions({
  master_region: "MasterRegion",
  function_version: "ALL", # accepts ALL
  marker: "String",
  max_items: 1,
})

@example Response structure

resp.next_marker #=> String
resp.functions #=> Array
resp.functions[0].function_name #=> String
resp.functions[0].function_arn #=> String
resp.functions[0].runtime #=> String, one of "nodejs", "nodejs4.3", "nodejs6.10", "nodejs8.10", "nodejs10.x", "nodejs12.x", "nodejs14.x", "java8", "java8.al2", "java11", "python2.7", "python3.6", "python3.7", "python3.8", "python3.9", "dotnetcore1.0", "dotnetcore2.0", "dotnetcore2.1", "dotnetcore3.1", "nodejs4.3-edge", "go1.x", "ruby2.5", "ruby2.7", "provided", "provided.al2"
resp.functions[0].role #=> String
resp.functions[0].handler #=> String
resp.functions[0].code_size #=> Integer
resp.functions[0].description #=> String
resp.functions[0].timeout #=> Integer
resp.functions[0].memory_size #=> Integer
resp.functions[0].last_modified #=> Time
resp.functions[0].code_sha_256 #=> String
resp.functions[0].version #=> String
resp.functions[0].vpc_config.subnet_ids #=> Array
resp.functions[0].vpc_config.subnet_ids[0] #=> String
resp.functions[0].vpc_config.security_group_ids #=> Array
resp.functions[0].vpc_config.security_group_ids[0] #=> String
resp.functions[0].vpc_config.vpc_id #=> String
resp.functions[0].dead_letter_config.target_arn #=> String
resp.functions[0].environment.variables #=> Hash
resp.functions[0].environment.variables["EnvironmentVariableName"] #=> String
resp.functions[0].environment.error.error_code #=> String
resp.functions[0].environment.error.message #=> String
resp.functions[0].kms_key_arn #=> String
resp.functions[0].tracing_config.mode #=> String, one of "Active", "PassThrough"
resp.functions[0].master_arn #=> String
resp.functions[0].revision_id #=> String
resp.functions[0].layers #=> Array
resp.functions[0].layers[0].arn #=> String
resp.functions[0].layers[0].code_size #=> Integer
resp.functions[0].layers[0].signing_profile_version_arn #=> String
resp.functions[0].layers[0].signing_job_arn #=> String
resp.functions[0].state #=> String, one of "Pending", "Active", "Inactive", "Failed"
resp.functions[0].state_reason #=> String
resp.functions[0].state_reason_code #=> String, one of "Idle", "Creating", "Restoring", "EniLimitExceeded", "InsufficientRolePermissions", "InvalidConfiguration", "InternalError", "SubnetOutOfIPAddresses", "InvalidSubnet", "InvalidSecurityGroup", "ImageDeleted", "ImageAccessDenied", "InvalidImage"
resp.functions[0].last_update_status #=> String, one of "Successful", "Failed", "InProgress"
resp.functions[0].last_update_status_reason #=> String
resp.functions[0].last_update_status_reason_code #=> String, one of "EniLimitExceeded", "InsufficientRolePermissions", "InvalidConfiguration", "InternalError", "SubnetOutOfIPAddresses", "InvalidSubnet", "InvalidSecurityGroup", "ImageDeleted", "ImageAccessDenied", "InvalidImage"
resp.functions[0].file_system_configs #=> Array
resp.functions[0].file_system_configs[0].arn #=> String
resp.functions[0].file_system_configs[0].local_mount_path #=> String
resp.functions[0].package_type #=> String, one of "Zip", "Image"
resp.functions[0].image_config_response.image_config.entry_point #=> Array
resp.functions[0].image_config_response.image_config.entry_point[0] #=> String
resp.functions[0].image_config_response.image_config.command #=> Array
resp.functions[0].image_config_response.image_config.command[0] #=> String
resp.functions[0].image_config_response.image_config.working_directory #=> String
resp.functions[0].image_config_response.error.error_code #=> String
resp.functions[0].image_config_response.error.message #=> String
resp.functions[0].signing_profile_version_arn #=> String
resp.functions[0].signing_job_arn #=> String

@see docs.aws.amazon.com/goto/WebAPI/lambda-2015-03-31/ListFunctions AWS API Documentation

@overload list_functions(params = {}) @param [Hash] params ({})

# File lib/aws-sdk-lambda/client.rb, line 3067
def list_functions(params = {}, options = {})
  req = build_request(:list_functions, params)
  req.send_request(options)
end
list_functions_by_code_signing_config(params = {}, options = {}) click to toggle source

List the functions that use the specified code signing configuration. You can use this method prior to deleting a code signing configuration, to verify that no functions are using it.

@option params [required, String] :code_signing_config_arn

The The Amazon Resource Name (ARN) of the code signing configuration.

@option params [String] :marker

Specify the pagination token that's returned by a previous request to
retrieve the next page of results.

@option params [Integer] :max_items

Maximum number of items to return.

@return [Types::ListFunctionsByCodeSigningConfigResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:

* {Types::ListFunctionsByCodeSigningConfigResponse#next_marker #next_marker} => String
* {Types::ListFunctionsByCodeSigningConfigResponse#function_arns #function_arns} => Array&lt;String&gt;

The returned {Seahorse::Client::Response response} is a pageable response and is Enumerable. For details on usage see {Aws::PageableResponse PageableResponse}.

@example Request syntax with placeholder values

resp = client.list_functions_by_code_signing_config({
  code_signing_config_arn: "CodeSigningConfigArn", # required
  marker: "String",
  max_items: 1,
})

@example Response structure

resp.next_marker #=> String
resp.function_arns #=> Array
resp.function_arns[0] #=> String

@see docs.aws.amazon.com/goto/WebAPI/lambda-2015-03-31/ListFunctionsByCodeSigningConfig AWS API Documentation

@overload list_functions_by_code_signing_config(params = {}) @param [Hash] params ({})

# File lib/aws-sdk-lambda/client.rb, line 3111
def list_functions_by_code_signing_config(params = {}, options = {})
  req = build_request(:list_functions_by_code_signing_config, params)
  req.send_request(options)
end
list_layer_versions(params = {}, options = {}) click to toggle source

Lists the versions of an [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.

[1]: docs.aws.amazon.com/lambda/latest/dg/configuration-layers.html [2]: docs.aws.amazon.com/lambda/latest/dg/lambda-runtimes.html

@option params [String] :compatible_runtime

A runtime identifier. For example, `go1.x`.

@option params [required, String] :layer_name

The name or Amazon Resource Name (ARN) of the layer.

@option params [String] :marker

A pagination token returned by a previous call.

@option params [Integer] :max_items

The maximum number of versions to return.

@return [Types::ListLayerVersionsResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:

* {Types::ListLayerVersionsResponse#next_marker #next_marker} => String
* {Types::ListLayerVersionsResponse#layer_versions #layer_versions} => Array&lt;Types::LayerVersionsListItem&gt;

The returned {Seahorse::Client::Response response} is a pageable response and is Enumerable. For details on usage see {Aws::PageableResponse PageableResponse}.

@example Request syntax with placeholder values

resp = client.list_layer_versions({
  compatible_runtime: "nodejs", # accepts nodejs, nodejs4.3, nodejs6.10, nodejs8.10, nodejs10.x, nodejs12.x, nodejs14.x, java8, java8.al2, java11, python2.7, python3.6, python3.7, python3.8, python3.9, dotnetcore1.0, dotnetcore2.0, dotnetcore2.1, dotnetcore3.1, nodejs4.3-edge, go1.x, ruby2.5, ruby2.7, provided, provided.al2
  layer_name: "LayerName", # required
  marker: "String",
  max_items: 1,
})

@example Response structure

resp.next_marker #=> String
resp.layer_versions #=> Array
resp.layer_versions[0].layer_version_arn #=> String
resp.layer_versions[0].version #=> Integer
resp.layer_versions[0].description #=> String
resp.layer_versions[0].created_date #=> Time
resp.layer_versions[0].compatible_runtimes #=> Array
resp.layer_versions[0].compatible_runtimes[0] #=> String, one of "nodejs", "nodejs4.3", "nodejs6.10", "nodejs8.10", "nodejs10.x", "nodejs12.x", "nodejs14.x", "java8", "java8.al2", "java11", "python2.7", "python3.6", "python3.7", "python3.8", "python3.9", "dotnetcore1.0", "dotnetcore2.0", "dotnetcore2.1", "dotnetcore3.1", "nodejs4.3-edge", "go1.x", "ruby2.5", "ruby2.7", "provided", "provided.al2"
resp.layer_versions[0].license_info #=> String

@see docs.aws.amazon.com/goto/WebAPI/lambda-2015-03-31/ListLayerVersions AWS API Documentation

@overload list_layer_versions(params = {}) @param [Hash] params ({})

# File lib/aws-sdk-lambda/client.rb, line 3169
def list_layer_versions(params = {}, options = {})
  req = build_request(:list_layer_versions, params)
  req.send_request(options)
end
list_layers(params = {}, options = {}) click to toggle source

Lists [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.

[1]: docs.aws.amazon.com/lambda/latest/dg/configuration-layers.html [2]: docs.aws.amazon.com/lambda/latest/dg/lambda-runtimes.html

@option params [String] :compatible_runtime

A runtime identifier. For example, `go1.x`.

@option params [String] :marker

A pagination token returned by a previous call.

@option params [Integer] :max_items

The maximum number of layers to return.

@return [Types::ListLayersResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:

* {Types::ListLayersResponse#next_marker #next_marker} => String
* {Types::ListLayersResponse#layers #layers} => Array&lt;Types::LayersListItem&gt;

The returned {Seahorse::Client::Response response} is a pageable response and is Enumerable. For details on usage see {Aws::PageableResponse PageableResponse}.

@example Request syntax with placeholder values

resp = client.list_layers({
  compatible_runtime: "nodejs", # accepts nodejs, nodejs4.3, nodejs6.10, nodejs8.10, nodejs10.x, nodejs12.x, nodejs14.x, java8, java8.al2, java11, python2.7, python3.6, python3.7, python3.8, python3.9, dotnetcore1.0, dotnetcore2.0, dotnetcore2.1, dotnetcore3.1, nodejs4.3-edge, go1.x, ruby2.5, ruby2.7, provided, provided.al2
  marker: "String",
  max_items: 1,
})

@example Response structure

resp.next_marker #=> String
resp.layers #=> Array
resp.layers[0].layer_name #=> String
resp.layers[0].layer_arn #=> String
resp.layers[0].latest_matching_version.layer_version_arn #=> String
resp.layers[0].latest_matching_version.version #=> Integer
resp.layers[0].latest_matching_version.description #=> String
resp.layers[0].latest_matching_version.created_date #=> Time
resp.layers[0].latest_matching_version.compatible_runtimes #=> Array
resp.layers[0].latest_matching_version.compatible_runtimes[0] #=> String, one of "nodejs", "nodejs4.3", "nodejs6.10", "nodejs8.10", "nodejs10.x", "nodejs12.x", "nodejs14.x", "java8", "java8.al2", "java11", "python2.7", "python3.6", "python3.7", "python3.8", "python3.9", "dotnetcore1.0", "dotnetcore2.0", "dotnetcore2.1", "dotnetcore3.1", "nodejs4.3-edge", "go1.x", "ruby2.5", "ruby2.7", "provided", "provided.al2"
resp.layers[0].latest_matching_version.license_info #=> String

@see docs.aws.amazon.com/goto/WebAPI/lambda-2015-03-31/ListLayers AWS API Documentation

@overload list_layers(params = {}) @param [Hash] params ({})

# File lib/aws-sdk-lambda/client.rb, line 3225
def list_layers(params = {}, options = {})
  req = build_request(:list_layers, params)
  req.send_request(options)
end
list_provisioned_concurrency_configs(params = {}, options = {}) click to toggle source

Retrieves a list of provisioned concurrency configurations for a function.

@option params [required, String] :function_name

The name of the Lambda function.

**Name formats**

* **Function name** - `my-function`.

* **Function ARN** -
  `arn:aws:lambda:us-west-2:123456789012:function:my-function`.

* **Partial ARN** - `123456789012:function:my-function`.

The length constraint applies only to the full ARN. If you specify
only the function name, it is limited to 64 characters in length.

@option params [String] :marker

Specify the pagination token that's returned by a previous request to
retrieve the next page of results.

@option params [Integer] :max_items

Specify a number to limit the number of configurations returned.

@return [Types::ListProvisionedConcurrencyConfigsResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:

* {Types::ListProvisionedConcurrencyConfigsResponse#provisioned_concurrency_configs #provisioned_concurrency_configs} => Array&lt;Types::ProvisionedConcurrencyConfigListItem&gt;
* {Types::ListProvisionedConcurrencyConfigsResponse#next_marker #next_marker} => String

The returned {Seahorse::Client::Response response} is a pageable response and is Enumerable. For details on usage see {Aws::PageableResponse PageableResponse}.

@example Request syntax with placeholder values

resp = client.list_provisioned_concurrency_configs({
  function_name: "FunctionName", # required
  marker: "String",
  max_items: 1,
})

@example Response structure

resp.provisioned_concurrency_configs #=> Array
resp.provisioned_concurrency_configs[0].function_arn #=> String
resp.provisioned_concurrency_configs[0].requested_provisioned_concurrent_executions #=> Integer
resp.provisioned_concurrency_configs[0].available_provisioned_concurrent_executions #=> Integer
resp.provisioned_concurrency_configs[0].allocated_provisioned_concurrent_executions #=> Integer
resp.provisioned_concurrency_configs[0].status #=> String, one of "IN_PROGRESS", "READY", "FAILED"
resp.provisioned_concurrency_configs[0].status_reason #=> String
resp.provisioned_concurrency_configs[0].last_modified #=> Time
resp.next_marker #=> String

@see docs.aws.amazon.com/goto/WebAPI/lambda-2015-03-31/ListProvisionedConcurrencyConfigs AWS API Documentation

@overload list_provisioned_concurrency_configs(params = {}) @param [Hash] params ({})

# File lib/aws-sdk-lambda/client.rb, line 3286
def list_provisioned_concurrency_configs(params = {}, options = {})
  req = build_request(:list_provisioned_concurrency_configs, params)
  req.send_request(options)
end
list_tags(params = {}, options = {}) click to toggle source

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

[1]: docs.aws.amazon.com/lambda/latest/dg/tagging.html

@option params [required, String] :resource

The function's Amazon Resource Name (ARN).

@return [Types::ListTagsResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:

* {Types::ListTagsResponse#tags #tags} => Hash&lt;String,String&gt;

@example Request syntax with placeholder values

resp = client.list_tags({
  resource: "FunctionArn", # required
})

@example Response structure

resp.tags #=> Hash
resp.tags["TagKey"] #=> String

@see docs.aws.amazon.com/goto/WebAPI/lambda-2015-03-31/ListTags AWS API Documentation

@overload list_tags(params = {}) @param [Hash] params ({})

# File lib/aws-sdk-lambda/client.rb, line 3320
def list_tags(params = {}, options = {})
  req = build_request(:list_tags, params)
  req.send_request(options)
end
list_versions_by_function(params = {}, options = {}) click to toggle source

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

[1]: docs.aws.amazon.com/lambda/latest/dg/versioning-aliases.html

@option params [required, String] :function_name

The name of the Lambda function.

**Name formats**

* **Function name** - `MyFunction`.

* **Function ARN** -
  `arn:aws:lambda:us-west-2:123456789012:function:MyFunction`.

* **Partial ARN** - `123456789012:function:MyFunction`.

The length constraint applies only to the full ARN. If you specify
only the function name, it is limited to 64 characters in length.

@option params [String] :marker

Specify the pagination token that's returned by a previous request to
retrieve the next page of results.

@option params [Integer] :max_items

The maximum number of versions to return. Note that
`ListVersionsByFunction` returns a maximum of 50 items in each
response, even if you set the number higher.

@return [Types::ListVersionsByFunctionResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:

* {Types::ListVersionsByFunctionResponse#next_marker #next_marker} => String
* {Types::ListVersionsByFunctionResponse#versions #versions} => Array&lt;Types::FunctionConfiguration&gt;

The returned {Seahorse::Client::Response response} is a pageable response and is Enumerable. For details on usage see {Aws::PageableResponse PageableResponse}.

@example Request syntax with placeholder values

resp = client.list_versions_by_function({
  function_name: "NamespacedFunctionName", # required
  marker: "String",
  max_items: 1,
})

@example Response structure

resp.next_marker #=> String
resp.versions #=> Array
resp.versions[0].function_name #=> String
resp.versions[0].function_arn #=> String
resp.versions[0].runtime #=> String, one of "nodejs", "nodejs4.3", "nodejs6.10", "nodejs8.10", "nodejs10.x", "nodejs12.x", "nodejs14.x", "java8", "java8.al2", "java11", "python2.7", "python3.6", "python3.7", "python3.8", "python3.9", "dotnetcore1.0", "dotnetcore2.0", "dotnetcore2.1", "dotnetcore3.1", "nodejs4.3-edge", "go1.x", "ruby2.5", "ruby2.7", "provided", "provided.al2"
resp.versions[0].role #=> String
resp.versions[0].handler #=> String
resp.versions[0].code_size #=> Integer
resp.versions[0].description #=> String
resp.versions[0].timeout #=> Integer
resp.versions[0].memory_size #=> Integer
resp.versions[0].last_modified #=> Time
resp.versions[0].code_sha_256 #=> String
resp.versions[0].version #=> String
resp.versions[0].vpc_config.subnet_ids #=> Array
resp.versions[0].vpc_config.subnet_ids[0] #=> String
resp.versions[0].vpc_config.security_group_ids #=> Array
resp.versions[0].vpc_config.security_group_ids[0] #=> String
resp.versions[0].vpc_config.vpc_id #=> String
resp.versions[0].dead_letter_config.target_arn #=> String
resp.versions[0].environment.variables #=> Hash
resp.versions[0].environment.variables["EnvironmentVariableName"] #=> String
resp.versions[0].environment.error.error_code #=> String
resp.versions[0].environment.error.message #=> String
resp.versions[0].kms_key_arn #=> String
resp.versions[0].tracing_config.mode #=> String, one of "Active", "PassThrough"
resp.versions[0].master_arn #=> String
resp.versions[0].revision_id #=> String
resp.versions[0].layers #=> Array
resp.versions[0].layers[0].arn #=> String
resp.versions[0].layers[0].code_size #=> Integer
resp.versions[0].layers[0].signing_profile_version_arn #=> String
resp.versions[0].layers[0].signing_job_arn #=> String
resp.versions[0].state #=> String, one of "Pending", "Active", "Inactive", "Failed"
resp.versions[0].state_reason #=> String
resp.versions[0].state_reason_code #=> String, one of "Idle", "Creating", "Restoring", "EniLimitExceeded", "InsufficientRolePermissions", "InvalidConfiguration", "InternalError", "SubnetOutOfIPAddresses", "InvalidSubnet", "InvalidSecurityGroup", "ImageDeleted", "ImageAccessDenied", "InvalidImage"
resp.versions[0].last_update_status #=> String, one of "Successful", "Failed", "InProgress"
resp.versions[0].last_update_status_reason #=> String
resp.versions[0].last_update_status_reason_code #=> String, one of "EniLimitExceeded", "InsufficientRolePermissions", "InvalidConfiguration", "InternalError", "SubnetOutOfIPAddresses", "InvalidSubnet", "InvalidSecurityGroup", "ImageDeleted", "ImageAccessDenied", "InvalidImage"
resp.versions[0].file_system_configs #=> Array
resp.versions[0].file_system_configs[0].arn #=> String
resp.versions[0].file_system_configs[0].local_mount_path #=> String
resp.versions[0].package_type #=> String, one of "Zip", "Image"
resp.versions[0].image_config_response.image_config.entry_point #=> Array
resp.versions[0].image_config_response.image_config.entry_point[0] #=> String
resp.versions[0].image_config_response.image_config.command #=> Array
resp.versions[0].image_config_response.image_config.command[0] #=> String
resp.versions[0].image_config_response.image_config.working_directory #=> String
resp.versions[0].image_config_response.error.error_code #=> String
resp.versions[0].image_config_response.error.message #=> String
resp.versions[0].signing_profile_version_arn #=> String
resp.versions[0].signing_job_arn #=> String

@see docs.aws.amazon.com/goto/WebAPI/lambda-2015-03-31/ListVersionsByFunction AWS API Documentation

@overload list_versions_by_function(params = {}) @param [Hash] params ({})

# File lib/aws-sdk-lambda/client.rb, line 3430
def list_versions_by_function(params = {}, options = {})
  req = build_request(:list_versions_by_function, params)
  req.send_request(options)
end
publish_layer_version(params = {}, options = {}) click to toggle source

Creates an [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.

[1]: docs.aws.amazon.com/lambda/latest/dg/configuration-layers.html

@option params [required, String] :layer_name

The name or Amazon Resource Name (ARN) of the layer.

@option params [String] :description

The description of the version.

@option params [required, Types::LayerVersionContentInput] :content

The function layer archive.

@option params [Array<String>] :compatible_runtimes

A list of compatible [function runtimes][1]. Used for filtering with
ListLayers and ListLayerVersions.

[1]: https://docs.aws.amazon.com/lambda/latest/dg/lambda-runtimes.html

@option params [String] :license_info

The layer's software license. It can be any of the following:

* An [SPDX license identifier][1]. For example, `MIT`.

* The URL of a license hosted on the internet. For example,
  `https://opensource.org/licenses/MIT`.

* The full text of the license.

[1]: https://spdx.org/licenses/

@return [Types::PublishLayerVersionResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:

* {Types::PublishLayerVersionResponse#content #content} => Types::LayerVersionContentOutput
* {Types::PublishLayerVersionResponse#layer_arn #layer_arn} => String
* {Types::PublishLayerVersionResponse#layer_version_arn #layer_version_arn} => String
* {Types::PublishLayerVersionResponse#description #description} => String
* {Types::PublishLayerVersionResponse#created_date #created_date} => Time
* {Types::PublishLayerVersionResponse#version #version} => Integer
* {Types::PublishLayerVersionResponse#compatible_runtimes #compatible_runtimes} => Array&lt;String&gt;
* {Types::PublishLayerVersionResponse#license_info #license_info} => String

@example Request syntax with placeholder values

resp = client.publish_layer_version({
  layer_name: "LayerName", # required
  description: "Description",
  content: { # required
    s3_bucket: "S3Bucket",
    s3_key: "S3Key",
    s3_object_version: "S3ObjectVersion",
    zip_file: "data",
  },
  compatible_runtimes: ["nodejs"], # accepts nodejs, nodejs4.3, nodejs6.10, nodejs8.10, nodejs10.x, nodejs12.x, nodejs14.x, java8, java8.al2, java11, python2.7, python3.6, python3.7, python3.8, python3.9, dotnetcore1.0, dotnetcore2.0, dotnetcore2.1, dotnetcore3.1, nodejs4.3-edge, go1.x, ruby2.5, ruby2.7, provided, provided.al2
  license_info: "LicenseInfo",
})

@example Response structure

resp.content.location #=> String
resp.content.code_sha_256 #=> String
resp.content.code_size #=> Integer
resp.content.signing_profile_version_arn #=> String
resp.content.signing_job_arn #=> String
resp.layer_arn #=> String
resp.layer_version_arn #=> String
resp.description #=> String
resp.created_date #=> Time
resp.version #=> Integer
resp.compatible_runtimes #=> Array
resp.compatible_runtimes[0] #=> String, one of "nodejs", "nodejs4.3", "nodejs6.10", "nodejs8.10", "nodejs10.x", "nodejs12.x", "nodejs14.x", "java8", "java8.al2", "java11", "python2.7", "python3.6", "python3.7", "python3.8", "python3.9", "dotnetcore1.0", "dotnetcore2.0", "dotnetcore2.1", "dotnetcore3.1", "nodejs4.3-edge", "go1.x", "ruby2.5", "ruby2.7", "provided", "provided.al2"
resp.license_info #=> String

@see docs.aws.amazon.com/goto/WebAPI/lambda-2015-03-31/PublishLayerVersion AWS API Documentation

@overload publish_layer_version(params = {}) @param [Hash] params ({})

# File lib/aws-sdk-lambda/client.rb, line 3523
def publish_layer_version(params = {}, options = {})
  req = build_request(:publish_layer_version, params)
  req.send_request(options)
end
publish_version(params = {}, options = {}) click to toggle source

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.

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.

[1]: docs.aws.amazon.com/lambda/latest/dg/versioning-aliases.html

@option params [required, String] :function_name

The name of the Lambda function.

**Name formats**

* **Function name** - `MyFunction`.

* **Function ARN** -
  `arn:aws:lambda:us-west-2:123456789012:function:MyFunction`.

* **Partial ARN** - `123456789012:function:MyFunction`.

The length constraint applies only to the full ARN. If you specify
only the function name, it is limited to 64 characters in length.

@option params [String] :code_sha_256

Only publish a version if the hash value matches the value that's
specified. Use this option to avoid publishing a version if the
function code has changed since you last updated it. You can get the
hash for the version that you uploaded from the output of
UpdateFunctionCode.

@option params [String] :description

A description for the version to override the description in the
function configuration.

@option params [String] :revision_id

Only update the function if the revision ID matches the ID that's
specified. Use this option to avoid publishing a version if the
function configuration has changed since you last updated it.

@return [Types::FunctionConfiguration] Returns a {Seahorse::Client::Response response} object which responds to the following methods:

* {Types::FunctionConfiguration#function_name #function_name} => String
* {Types::FunctionConfiguration#function_arn #function_arn} => String
* {Types::FunctionConfiguration#runtime #runtime} => String
* {Types::FunctionConfiguration#role #role} => String
* {Types::FunctionConfiguration#handler #handler} => String
* {Types::FunctionConfiguration#code_size #code_size} => Integer
* {Types::FunctionConfiguration#description #description} => String
* {Types::FunctionConfiguration#timeout #timeout} => Integer
* {Types::FunctionConfiguration#memory_size #memory_size} => Integer
* {Types::FunctionConfiguration#last_modified #last_modified} => Time
* {Types::FunctionConfiguration#code_sha_256 #code_sha_256} => String
* {Types::FunctionConfiguration#version #version} => String
* {Types::FunctionConfiguration#vpc_config #vpc_config} => Types::VpcConfigResponse
* {Types::FunctionConfiguration#dead_letter_config #dead_letter_config} => Types::DeadLetterConfig
* {Types::FunctionConfiguration#environment #environment} => Types::EnvironmentResponse
* {Types::FunctionConfiguration#kms_key_arn #kms_key_arn} => String
* {Types::FunctionConfiguration#tracing_config #tracing_config} => Types::TracingConfigResponse
* {Types::FunctionConfiguration#master_arn #master_arn} => String
* {Types::FunctionConfiguration#revision_id #revision_id} => String
* {Types::FunctionConfiguration#layers #layers} => Array&lt;Types::Layer&gt;
* {Types::FunctionConfiguration#state #state} => String
* {Types::FunctionConfiguration#state_reason #state_reason} => String
* {Types::FunctionConfiguration#state_reason_code #state_reason_code} => String
* {Types::FunctionConfiguration#last_update_status #last_update_status} => String
* {Types::FunctionConfiguration#last_update_status_reason #last_update_status_reason} => String
* {Types::FunctionConfiguration#last_update_status_reason_code #last_update_status_reason_code} => String
* {Types::FunctionConfiguration#file_system_configs #file_system_configs} => Array&lt;Types::FileSystemConfig&gt;
* {Types::FunctionConfiguration#package_type #package_type} => String
* {Types::FunctionConfiguration#image_config_response #image_config_response} => Types::ImageConfigResponse
* {Types::FunctionConfiguration#signing_profile_version_arn #signing_profile_version_arn} => String
* {Types::FunctionConfiguration#signing_job_arn #signing_job_arn} => String

@example Request syntax with placeholder values

resp = client.publish_version({
  function_name: "FunctionName", # required
  code_sha_256: "String",
  description: "Description",
  revision_id: "String",
})

@example Response structure

resp.function_name #=> String
resp.function_arn #=> String
resp.runtime #=> String, one of "nodejs", "nodejs4.3", "nodejs6.10", "nodejs8.10", "nodejs10.x", "nodejs12.x", "nodejs14.x", "java8", "java8.al2", "java11", "python2.7", "python3.6", "python3.7", "python3.8", "python3.9", "dotnetcore1.0", "dotnetcore2.0", "dotnetcore2.1", "dotnetcore3.1", "nodejs4.3-edge", "go1.x", "ruby2.5", "ruby2.7", "provided", "provided.al2"
resp.role #=> String
resp.handler #=> String
resp.code_size #=> Integer
resp.description #=> String
resp.timeout #=> Integer
resp.memory_size #=> Integer
resp.last_modified #=> Time
resp.code_sha_256 #=> String
resp.version #=> String
resp.vpc_config.subnet_ids #=> Array
resp.vpc_config.subnet_ids[0] #=> String
resp.vpc_config.security_group_ids #=> Array
resp.vpc_config.security_group_ids[0] #=> String
resp.vpc_config.vpc_id #=> String
resp.dead_letter_config.target_arn #=> String
resp.environment.variables #=> Hash
resp.environment.variables["EnvironmentVariableName"] #=> String
resp.environment.error.error_code #=> String
resp.environment.error.message #=> String
resp.kms_key_arn #=> String
resp.tracing_config.mode #=> String, one of "Active", "PassThrough"
resp.master_arn #=> String
resp.revision_id #=> String
resp.layers #=> Array
resp.layers[0].arn #=> String
resp.layers[0].code_size #=> Integer
resp.layers[0].signing_profile_version_arn #=> String
resp.layers[0].signing_job_arn #=> String
resp.state #=> String, one of "Pending", "Active", "Inactive", "Failed"
resp.state_reason #=> String
resp.state_reason_code #=> String, one of "Idle", "Creating", "Restoring", "EniLimitExceeded", "InsufficientRolePermissions", "InvalidConfiguration", "InternalError", "SubnetOutOfIPAddresses", "InvalidSubnet", "InvalidSecurityGroup", "ImageDeleted", "ImageAccessDenied", "InvalidImage"
resp.last_update_status #=> String, one of "Successful", "Failed", "InProgress"
resp.last_update_status_reason #=> String
resp.last_update_status_reason_code #=> String, one of "EniLimitExceeded", "InsufficientRolePermissions", "InvalidConfiguration", "InternalError", "SubnetOutOfIPAddresses", "InvalidSubnet", "InvalidSecurityGroup", "ImageDeleted", "ImageAccessDenied", "InvalidImage"
resp.file_system_configs #=> Array
resp.file_system_configs[0].arn #=> String
resp.file_system_configs[0].local_mount_path #=> String
resp.package_type #=> String, one of "Zip", "Image"
resp.image_config_response.image_config.entry_point #=> Array
resp.image_config_response.image_config.entry_point[0] #=> String
resp.image_config_response.image_config.command #=> Array
resp.image_config_response.image_config.command[0] #=> String
resp.image_config_response.image_config.working_directory #=> String
resp.image_config_response.error.error_code #=> String
resp.image_config_response.error.message #=> String
resp.signing_profile_version_arn #=> String
resp.signing_job_arn #=> String

@see docs.aws.amazon.com/goto/WebAPI/lambda-2015-03-31/PublishVersion AWS API Documentation

@overload publish_version(params = {}) @param [Hash] params ({})

# File lib/aws-sdk-lambda/client.rb, line 3675
def publish_version(params = {}, options = {})
  req = build_request(:publish_version, params)
  req.send_request(options)
end
put_function_code_signing_config(params = {}, options = {}) click to toggle source

Update the code signing configuration for the function. Changes to the code signing configuration take effect the next time a user tries to deploy a code package to the function.

@option params [required, String] :code_signing_config_arn

The The Amazon Resource Name (ARN) of the code signing configuration.

@option params [required, String] :function_name

The name of the Lambda function.

**Name formats**

* **Function name** - `MyFunction`.

* **Function ARN** -
  `arn:aws:lambda:us-west-2:123456789012:function:MyFunction`.

* **Partial ARN** - `123456789012:function:MyFunction`.

The length constraint applies only to the full ARN. If you specify
only the function name, it is limited to 64 characters in length.

@return [Types::PutFunctionCodeSigningConfigResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:

* {Types::PutFunctionCodeSigningConfigResponse#code_signing_config_arn #code_signing_config_arn} => String
* {Types::PutFunctionCodeSigningConfigResponse#function_name #function_name} => String

@example Request syntax with placeholder values

resp = client.put_function_code_signing_config({
  code_signing_config_arn: "CodeSigningConfigArn", # required
  function_name: "FunctionName", # required
})

@example Response structure

resp.code_signing_config_arn #=> String
resp.function_name #=> String

@see docs.aws.amazon.com/goto/WebAPI/lambda-2015-03-31/PutFunctionCodeSigningConfig AWS API Documentation

@overload put_function_code_signing_config(params = {}) @param [Hash] params ({})

# File lib/aws-sdk-lambda/client.rb, line 3723
def put_function_code_signing_config(params = {}, options = {})
  req = build_request(:put_function_code_signing_config, params)
  req.send_request(options)
end
put_function_concurrency(params = {}, options = {}) click to toggle source

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].

[1]: docs.aws.amazon.com/lambda/latest/dg/concurrent-executions.html

@option params [required, String] :function_name

The name of the Lambda function.

**Name formats**

* **Function name** - `my-function`.

* **Function ARN** -
  `arn:aws:lambda:us-west-2:123456789012:function:my-function`.

* **Partial ARN** - `123456789012:function:my-function`.

The length constraint applies only to the full ARN. If you specify
only the function name, it is limited to 64 characters in length.

@option params [required, Integer] :reserved_concurrent_executions

The number of simultaneous executions to reserve for the function.

@return [Types::Concurrency] Returns a {Seahorse::Client::Response response} object which responds to the following methods:

* {Types::Concurrency#reserved_concurrent_executions #reserved_concurrent_executions} => Integer

@example Request syntax with placeholder values

resp = client.put_function_concurrency({
  function_name: "FunctionName", # required
  reserved_concurrent_executions: 1, # required
})

@example Response structure

resp.reserved_concurrent_executions #=> Integer

@see docs.aws.amazon.com/goto/WebAPI/lambda-2015-03-31/PutFunctionConcurrency AWS API Documentation

@overload put_function_concurrency(params = {}) @param [Hash] params ({})

# File lib/aws-sdk-lambda/client.rb, line 3784
def put_function_concurrency(params = {}, options = {})
  req = build_request(:put_function_concurrency, params)
  req.send_request(options)
end
put_function_event_invoke_config(params = {}, options = {}) click to toggle source

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.

[1]: docs.aws.amazon.com/lambda/latest/dg/invocation-async.html [2]: docs.aws.amazon.com/lambda/latest/dg/invocation-async.html#invocation-async-destinations

@option params [required, String] :function_name

The name of the Lambda function, version, or alias.

**Name formats**

* **Function name** - `my-function` (name-only), `my-function:v1`
  (with alias).

* **Function ARN** -
  `arn:aws:lambda:us-west-2:123456789012:function:my-function`.

* **Partial ARN** - `123456789012:function:my-function`.

You can append a version number or alias to any of the formats. The
length constraint applies only to the full ARN. If you specify only
the function name, it is limited to 64 characters in length.

@option params [String] :qualifier

A version number or alias name.

@option params [Integer] :maximum_retry_attempts

The maximum number of times to retry when the function returns an
error.

@option params [Integer] :maximum_event_age_in_seconds

The maximum age of a request that Lambda sends to a function for
processing.

@option params [Types::DestinationConfig] :destination_config

A destination for events after they have been sent to a function for
processing.

**Destinations**

* **Function** - The Amazon Resource Name (ARN) of a Lambda function.

* **Queue** - The ARN of an SQS queue.

* **Topic** - The ARN of an SNS topic.

* **Event Bus** - The ARN of an Amazon EventBridge event bus.

@return [Types::FunctionEventInvokeConfig] Returns a {Seahorse::Client::Response response} object which responds to the following methods:

* {Types::FunctionEventInvokeConfig#last_modified #last_modified} => Time
* {Types::FunctionEventInvokeConfig#function_arn #function_arn} => String
* {Types::FunctionEventInvokeConfig#maximum_retry_attempts #maximum_retry_attempts} => Integer
* {Types::FunctionEventInvokeConfig#maximum_event_age_in_seconds #maximum_event_age_in_seconds} => Integer
* {Types::FunctionEventInvokeConfig#destination_config #destination_config} => Types::DestinationConfig

@example Request syntax with placeholder values

resp = client.put_function_event_invoke_config({
  function_name: "FunctionName", # required
  qualifier: "Qualifier",
  maximum_retry_attempts: 1,
  maximum_event_age_in_seconds: 1,
  destination_config: {
    on_success: {
      destination: "DestinationArn",
    },
    on_failure: {
      destination: "DestinationArn",
    },
  },
})

@example Response structure

resp.last_modified #=> Time
resp.function_arn #=> String
resp.maximum_retry_attempts #=> Integer
resp.maximum_event_age_in_seconds #=> Integer
resp.destination_config.on_success.destination #=> String
resp.destination_config.on_failure.destination #=> String

@see docs.aws.amazon.com/goto/WebAPI/lambda-2015-03-31/PutFunctionEventInvokeConfig AWS API Documentation

@overload put_function_event_invoke_config(params = {}) @param [Hash] params ({})

# File lib/aws-sdk-lambda/client.rb, line 3894
def put_function_event_invoke_config(params = {}, options = {})
  req = build_request(:put_function_event_invoke_config, params)
  req.send_request(options)
end
put_provisioned_concurrency_config(params = {}, options = {}) click to toggle source

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

@option params [required, String] :function_name

The name of the Lambda function.

**Name formats**

* **Function name** - `my-function`.

* **Function ARN** -
  `arn:aws:lambda:us-west-2:123456789012:function:my-function`.

* **Partial ARN** - `123456789012:function:my-function`.

The length constraint applies only to the full ARN. If you specify
only the function name, it is limited to 64 characters in length.

@option params [required, String] :qualifier

The version number or alias name.

@option params [required, Integer] :provisioned_concurrent_executions

The amount of provisioned concurrency to allocate for the version or
alias.

@return [Types::PutProvisionedConcurrencyConfigResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:

* {Types::PutProvisionedConcurrencyConfigResponse#requested_provisioned_concurrent_executions #requested_provisioned_concurrent_executions} => Integer
* {Types::PutProvisionedConcurrencyConfigResponse#available_provisioned_concurrent_executions #available_provisioned_concurrent_executions} => Integer
* {Types::PutProvisionedConcurrencyConfigResponse#allocated_provisioned_concurrent_executions #allocated_provisioned_concurrent_executions} => Integer
* {Types::PutProvisionedConcurrencyConfigResponse#status #status} => String
* {Types::PutProvisionedConcurrencyConfigResponse#status_reason #status_reason} => String
* {Types::PutProvisionedConcurrencyConfigResponse#last_modified #last_modified} => Time

@example Request syntax with placeholder values

resp = client.put_provisioned_concurrency_config({
  function_name: "FunctionName", # required
  qualifier: "Qualifier", # required
  provisioned_concurrent_executions: 1, # required
})

@example Response structure

resp.requested_provisioned_concurrent_executions #=> Integer
resp.available_provisioned_concurrent_executions #=> Integer
resp.allocated_provisioned_concurrent_executions #=> Integer
resp.status #=> String, one of "IN_PROGRESS", "READY", "FAILED"
resp.status_reason #=> String
resp.last_modified #=> Time

@see docs.aws.amazon.com/goto/WebAPI/lambda-2015-03-31/PutProvisionedConcurrencyConfig AWS API Documentation

@overload put_provisioned_concurrency_config(params = {}) @param [Hash] params ({})

# File lib/aws-sdk-lambda/client.rb, line 3954
def put_provisioned_concurrency_config(params = {}, options = {})
  req = build_request(:put_provisioned_concurrency_config, params)
  req.send_request(options)
end
remove_layer_version_permission(params = {}, options = {}) click to toggle source

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

[1]: docs.aws.amazon.com/lambda/latest/dg/configuration-layers.html

@option params [required, String] :layer_name

The name or Amazon Resource Name (ARN) of the layer.

@option params [required, Integer] :version_number

The version number.

@option params [required, String] :statement_id

The identifier that was specified when the statement was added.

@option params [String] :revision_id

Only update the policy if the revision ID matches the ID specified.
Use this option to avoid modifying a policy that has changed since you
last read it.

@return [Struct] Returns an empty {Seahorse::Client::Response response}.

@example Request syntax with placeholder values

resp = client.remove_layer_version_permission({
  layer_name: "LayerName", # required
  version_number: 1, # required
  statement_id: "StatementId", # required
  revision_id: "String",
})

@see docs.aws.amazon.com/goto/WebAPI/lambda-2015-03-31/RemoveLayerVersionPermission AWS API Documentation

@overload remove_layer_version_permission(params = {}) @param [Hash] params ({})

# File lib/aws-sdk-lambda/client.rb, line 3996
def remove_layer_version_permission(params = {}, options = {})
  req = build_request(:remove_layer_version_permission, params)
  req.send_request(options)
end
remove_permission(params = {}, options = {}) click to toggle source

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

@option params [required, String] :function_name

The name of the Lambda function, version, or alias.

**Name formats**

* **Function name** - `my-function` (name-only), `my-function:v1`
  (with alias).

* **Function ARN** -
  `arn:aws:lambda:us-west-2:123456789012:function:my-function`.

* **Partial ARN** - `123456789012:function:my-function`.

You can append a version number or alias to any of the formats. The
length constraint applies only to the full ARN. If you specify only
the function name, it is limited to 64 characters in length.

@option params [required, String] :statement_id

Statement ID of the permission to remove.

@option params [String] :qualifier

Specify a version or alias to remove permissions from a published
version of the function.

@option params [String] :revision_id

Only update the policy if the revision ID matches the ID that's
specified. Use this option to avoid modifying a policy that has
changed since you last read it.

@return [Struct] Returns an empty {Seahorse::Client::Response response}.

@example Request syntax with placeholder values

resp = client.remove_permission({
  function_name: "FunctionName", # required
  statement_id: "NamespacedStatementId", # required
  qualifier: "Qualifier",
  revision_id: "String",
})

@see docs.aws.amazon.com/goto/WebAPI/lambda-2015-03-31/RemovePermission AWS API Documentation

@overload remove_permission(params = {}) @param [Hash] params ({})

# File lib/aws-sdk-lambda/client.rb, line 4049
def remove_permission(params = {}, options = {})
  req = build_request(:remove_permission, params)
  req.send_request(options)
end
tag_resource(params = {}, options = {}) click to toggle source

Adds [tags] to a function.

[1]: docs.aws.amazon.com/lambda/latest/dg/tagging.html

@option params [required, String] :resource

The function's Amazon Resource Name (ARN).

@option params [required, Hash<String,String>] :tags

A list of tags to apply to the function.

@return [Struct] Returns an empty {Seahorse::Client::Response response}.

@example Request syntax with placeholder values

resp = client.tag_resource({
  resource: "FunctionArn", # required
  tags: { # required
    "TagKey" => "TagValue",
  },
})

@see docs.aws.amazon.com/goto/WebAPI/lambda-2015-03-31/TagResource AWS API Documentation

@overload tag_resource(params = {}) @param [Hash] params ({})

# File lib/aws-sdk-lambda/client.rb, line 4081
def tag_resource(params = {}, options = {})
  req = build_request(:tag_resource, params)
  req.send_request(options)
end
untag_resource(params = {}, options = {}) click to toggle source

Removes [tags] from a function.

[1]: docs.aws.amazon.com/lambda/latest/dg/tagging.html

@option params [required, String] :resource

The function's Amazon Resource Name (ARN).

@option params [required, Array<String>] :tag_keys

A list of tag keys to remove from the function.

@return [Struct] Returns an empty {Seahorse::Client::Response response}.

@example Request syntax with placeholder values

resp = client.untag_resource({
  resource: "FunctionArn", # required
  tag_keys: ["TagKey"], # required
})

@see docs.aws.amazon.com/goto/WebAPI/lambda-2015-03-31/UntagResource AWS API Documentation

@overload untag_resource(params = {}) @param [Hash] params ({})

# File lib/aws-sdk-lambda/client.rb, line 4111
def untag_resource(params = {}, options = {})
  req = build_request(:untag_resource, params)
  req.send_request(options)
end
update_alias(params = {}, options = {}) click to toggle source

Updates the configuration of a Lambda function [alias].

[1]: docs.aws.amazon.com/lambda/latest/dg/versioning-aliases.html

@option params [required, String] :function_name

The name of the Lambda function.

**Name formats**

* **Function name** - `MyFunction`.

* **Function ARN** -
  `arn:aws:lambda:us-west-2:123456789012:function:MyFunction`.

* **Partial ARN** - `123456789012:function:MyFunction`.

The length constraint applies only to the full ARN. If you specify
only the function name, it is limited to 64 characters in length.

@option params [required, String] :name

The name of the alias.

@option params [String] :function_version

The function version that the alias invokes.

@option params [String] :description

A description of the alias.

@option params [Types::AliasRoutingConfiguration] :routing_config

The [routing configuration][1] of the alias.

[1]: https://docs.aws.amazon.com/lambda/latest/dg/configuration-aliases.html#configuring-alias-routing

@option params [String] :revision_id

Only update the alias if the revision ID matches the ID that's
specified. Use this option to avoid modifying an alias that has
changed since you last read it.

@return [Types::AliasConfiguration] Returns a {Seahorse::Client::Response response} object which responds to the following methods:

* {Types::AliasConfiguration#alias_arn #alias_arn} => String
* {Types::AliasConfiguration#name #name} => String
* {Types::AliasConfiguration#function_version #function_version} => String
* {Types::AliasConfiguration#description #description} => String
* {Types::AliasConfiguration#routing_config #routing_config} => Types::AliasRoutingConfiguration
* {Types::AliasConfiguration#revision_id #revision_id} => String

@example Request syntax with placeholder values

resp = client.update_alias({
  function_name: "FunctionName", # required
  name: "Alias", # required
  function_version: "Version",
  description: "Description",
  routing_config: {
    additional_version_weights: {
      "AdditionalVersion" => 1.0,
    },
  },
  revision_id: "String",
})

@example Response structure

resp.alias_arn #=> String
resp.name #=> String
resp.function_version #=> String
resp.description #=> String
resp.routing_config.additional_version_weights #=> Hash
resp.routing_config.additional_version_weights["AdditionalVersion"] #=> Float
resp.revision_id #=> String

@see docs.aws.amazon.com/goto/WebAPI/lambda-2015-03-31/UpdateAlias AWS API Documentation

@overload update_alias(params = {}) @param [Hash] params ({})

# File lib/aws-sdk-lambda/client.rb, line 4196
def update_alias(params = {}, options = {})
  req = build_request(:update_alias, params)
  req.send_request(options)
end
update_code_signing_config(params = {}, options = {}) click to toggle source

Update the code signing configuration. Changes to the code signing configuration take effect the next time a user tries to deploy a code package to the function.

@option params [required, String] :code_signing_config_arn

The The Amazon Resource Name (ARN) of the code signing configuration.

@option params [String] :description

Descriptive name for this code signing configuration.

@option params [Types::AllowedPublishers] :allowed_publishers

Signing profiles for this code signing configuration.

@option params [Types::CodeSigningPolicies] :code_signing_policies

The code signing policy.

@return [Types::UpdateCodeSigningConfigResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:

* {Types::UpdateCodeSigningConfigResponse#code_signing_config #code_signing_config} => Types::CodeSigningConfig

@example Request syntax with placeholder values

resp = client.update_code_signing_config({
  code_signing_config_arn: "CodeSigningConfigArn", # required
  description: "Description",
  allowed_publishers: {
    signing_profile_version_arns: ["Arn"], # required
  },
  code_signing_policies: {
    untrusted_artifact_on_deployment: "Warn", # accepts Warn, Enforce
  },
})

@example Response structure

resp.code_signing_config.code_signing_config_id #=> String
resp.code_signing_config.code_signing_config_arn #=> String
resp.code_signing_config.description #=> String
resp.code_signing_config.allowed_publishers.signing_profile_version_arns #=> Array
resp.code_signing_config.allowed_publishers.signing_profile_version_arns[0] #=> String
resp.code_signing_config.code_signing_policies.untrusted_artifact_on_deployment #=> String, one of "Warn", "Enforce"
resp.code_signing_config.last_modified #=> Time

@see docs.aws.amazon.com/goto/WebAPI/lambda-2015-03-31/UpdateCodeSigningConfig AWS API Documentation

@overload update_code_signing_config(params = {}) @param [Hash] params ({})

# File lib/aws-sdk-lambda/client.rb, line 4248
def update_code_signing_config(params = {}, options = {})
  req = build_request(:update_code_signing_config, params)
  req.send_request(options)
end
update_event_source_mapping(params = {}, options = {}) click to toggle source

Updates an event source mapping. You can change the function that 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. The default value is infinite (-1). When set to infinite (-1), failed records are retried until the record expires

  • `MaximumRetryAttempts` - Discard records after the specified number of retries. The default value is infinite (-1). When set to infinite (-1), failed records are retried until the record expires.

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

@option params [required, String] :uuid

The identifier of the event source mapping.

@option params [String] :function_name

The name of the Lambda function.

**Name formats**

* **Function name** - `MyFunction`.

* **Function ARN** -
  `arn:aws:lambda:us-west-2:123456789012:function:MyFunction`.

* **Version or Alias ARN** -
  `arn:aws:lambda:us-west-2:123456789012:function:MyFunction:PROD`.

* **Partial ARN** - `123456789012:function:MyFunction`.

The length constraint applies only to the full ARN. If you specify
only the function name, it's limited to 64 characters in length.

@option params [Boolean] :enabled

If true, the event source mapping is active. Set to false to pause
polling and invocation.

@option params [Integer] :batch_size

The maximum number of items to retrieve in a single batch.

* **Amazon Kinesis** - Default 100. Max 10,000.

* **Amazon DynamoDB Streams** - Default 100. Max 1,000.

* **Amazon Simple Queue Service** - Default 10. For standard queues
  the max is 10,000. For FIFO queues the max is 10.

* **Amazon Managed Streaming for Apache Kafka** - Default 100. Max
  10,000.

* **Self-Managed Apache Kafka** - Default 100. Max 10,000.

@option params [Integer] :maximum_batching_window_in_seconds

(Streams and SQS standard queues) The maximum amount of time to gather
records before invoking the function, in seconds.

@option params [Types::DestinationConfig] :destination_config

(Streams only) An Amazon SQS queue or Amazon SNS topic destination for
discarded records.

@option params [Integer] :maximum_record_age_in_seconds

(Streams only) Discard records older than the specified age. The
default value is infinite (-1).

@option params [Boolean] :bisect_batch_on_function_error

(Streams only) If the function returns an error, split the batch in
two and retry.

@option params [Integer] :maximum_retry_attempts

(Streams only) Discard records after the specified number of retries.
The default value is infinite (-1). When set to infinite (-1), failed
records will be retried until the record expires.

@option params [Integer] :parallelization_factor

(Streams only) The number of batches to process from each shard
concurrently.

@option params [Array<Types::SourceAccessConfiguration>] :source_access_configurations

An array of authentication protocols or VPC components required to
secure your event source.

@option params [Integer] :tumbling_window_in_seconds

(Streams only) The duration in seconds of a processing window. The
range is between 1 second up to 900 seconds.

@option params [Array<String>] :function_response_types

(Streams only) A list of current response type enums applied to the
event source mapping.

@return [Types::EventSourceMappingConfiguration] Returns a {Seahorse::Client::Response response} object which responds to the following methods:

* {Types::EventSourceMappingConfiguration#uuid #uuid} => String
* {Types::EventSourceMappingConfiguration#starting_position #starting_position} => String
* {Types::EventSourceMappingConfiguration#starting_position_timestamp #starting_position_timestamp} => Time
* {Types::EventSourceMappingConfiguration#batch_size #batch_size} => Integer
* {Types::EventSourceMappingConfiguration#maximum_batching_window_in_seconds #maximum_batching_window_in_seconds} => Integer
* {Types::EventSourceMappingConfiguration#parallelization_factor #parallelization_factor} => Integer
* {Types::EventSourceMappingConfiguration#event_source_arn #event_source_arn} => String
* {Types::EventSourceMappingConfiguration#function_arn #function_arn} => String
* {Types::EventSourceMappingConfiguration#last_modified #last_modified} => Time
* {Types::EventSourceMappingConfiguration#last_processing_result #last_processing_result} => String
* {Types::EventSourceMappingConfiguration#state #state} => String
* {Types::EventSourceMappingConfiguration#state_transition_reason #state_transition_reason} => String
* {Types::EventSourceMappingConfiguration#destination_config #destination_config} => Types::DestinationConfig
* {Types::EventSourceMappingConfiguration#topics #topics} => Array&lt;String&gt;
* {Types::EventSourceMappingConfiguration#queues #queues} => Array&lt;String&gt;
* {Types::EventSourceMappingConfiguration#source_access_configurations #source_access_configurations} => Array&lt;Types::SourceAccessConfiguration&gt;
* {Types::EventSourceMappingConfiguration#self_managed_event_source #self_managed_event_source} => Types::SelfManagedEventSource
* {Types::EventSourceMappingConfiguration#maximum_record_age_in_seconds #maximum_record_age_in_seconds} => Integer
* {Types::EventSourceMappingConfiguration#bisect_batch_on_function_error #bisect_batch_on_function_error} => Boolean
* {Types::EventSourceMappingConfiguration#maximum_retry_attempts #maximum_retry_attempts} => Integer
* {Types::EventSourceMappingConfiguration#tumbling_window_in_seconds #tumbling_window_in_seconds} => Integer
* {Types::EventSourceMappingConfiguration#function_response_types #function_response_types} => Array&lt;String&gt;

@example Request syntax with placeholder values

resp = client.update_event_source_mapping({
  uuid: "String", # required
  function_name: "FunctionName",
  enabled: false,
  batch_size: 1,
  maximum_batching_window_in_seconds: 1,
  destination_config: {
    on_success: {
      destination: "DestinationArn",
    },
    on_failure: {
      destination: "DestinationArn",
    },
  },
  maximum_record_age_in_seconds: 1,
  bisect_batch_on_function_error: false,
  maximum_retry_attempts: 1,
  parallelization_factor: 1,
  source_access_configurations: [
    {
      type: "BASIC_AUTH", # accepts BASIC_AUTH, VPC_SUBNET, VPC_SECURITY_GROUP, SASL_SCRAM_512_AUTH, SASL_SCRAM_256_AUTH, VIRTUAL_HOST
      uri: "URI",
    },
  ],
  tumbling_window_in_seconds: 1,
  function_response_types: ["ReportBatchItemFailures"], # accepts ReportBatchItemFailures
})

@example Response structure

resp.uuid #=> String
resp.starting_position #=> String, one of "TRIM_HORIZON", "LATEST", "AT_TIMESTAMP"
resp.starting_position_timestamp #=> Time
resp.batch_size #=> Integer
resp.maximum_batching_window_in_seconds #=> Integer
resp.parallelization_factor #=> Integer
resp.event_source_arn #=> String
resp.function_arn #=> String
resp.last_modified #=> Time
resp.last_processing_result #=> String
resp.state #=> String
resp.state_transition_reason #=> String
resp.destination_config.on_success.destination #=> String
resp.destination_config.on_failure.destination #=> String
resp.topics #=> Array
resp.topics[0] #=> String
resp.queues #=> Array
resp.queues[0] #=> String
resp.source_access_configurations #=> Array
resp.source_access_configurations[0].type #=> String, one of "BASIC_AUTH", "VPC_SUBNET", "VPC_SECURITY_GROUP", "SASL_SCRAM_512_AUTH", "SASL_SCRAM_256_AUTH", "VIRTUAL_HOST"
resp.source_access_configurations[0].uri #=> String
resp.self_managed_event_source.endpoints #=> Hash
resp.self_managed_event_source.endpoints["EndPointType"] #=> Array
resp.self_managed_event_source.endpoints["EndPointType"][0] #=> String
resp.maximum_record_age_in_seconds #=> Integer
resp.bisect_batch_on_function_error #=> Boolean
resp.maximum_retry_attempts #=> Integer
resp.tumbling_window_in_seconds #=> Integer
resp.function_response_types #=> Array
resp.function_response_types[0] #=> String, one of "ReportBatchItemFailures"

@see docs.aws.amazon.com/goto/WebAPI/lambda-2015-03-31/UpdateEventSourceMapping AWS API Documentation

@overload update_event_source_mapping(params = {}) @param [Hash] params ({})

# File lib/aws-sdk-lambda/client.rb, line 4446
def update_event_source_mapping(params = {}, options = {})
  req = build_request(:update_event_source_mapping, params)
  req.send_request(options)
end
update_function_code(params = {}, options = {}) click to toggle source

Updates a Lambda function's code. If code signing is enabled for the function, the code package must be signed by a trusted publisher. For more information, see [Configuring code signing].

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.

<note markdown=“1”> For a function defined as a container image, Lambda resolves the image tag to an image digest. In Amazon ECR, if you update the image tag to a new image, Lambda does not automatically update the function.

</note>

[1]: docs.aws.amazon.com/lambda/latest/dg/configuration-trustedcode.html

@option params [required, String] :function_name

The name of the Lambda function.

**Name formats**

* **Function name** - `my-function`.

* **Function ARN** -
  `arn:aws:lambda:us-west-2:123456789012:function:my-function`.

* **Partial ARN** - `123456789012:function:my-function`.

The length constraint applies only to the full ARN. If you specify
only the function name, it is limited to 64 characters in length.

@option params [String, StringIO, File] :zip_file

The base64-encoded contents of the deployment package. Amazon Web
Services SDK and Amazon Web Services CLI clients handle the encoding
for you.

@option params [String] :s3_bucket

An Amazon S3 bucket in the same Amazon Web Services Region as your
function. The bucket can be in a different Amazon Web Services
account.

@option params [String] :s3_key

The Amazon S3 key of the deployment package.

@option params [String] :s3_object_version

For versioned objects, the version of the deployment package object to
use.

@option params [String] :image_uri

URI of a container image in the Amazon ECR registry.

@option params [Boolean] :publish

Set to true to publish a new version of the function after updating
the code. This has the same effect as calling PublishVersion
separately.

@option params [Boolean] :dry_run

Set to true to validate the request parameters and access permissions
without modifying the function code.

@option params [String] :revision_id

Only update the function if the revision ID matches the ID that's
specified. Use this option to avoid modifying a function that has
changed since you last read it.

@return [Types::FunctionConfiguration] Returns a {Seahorse::Client::Response response} object which responds to the following methods:

* {Types::FunctionConfiguration#function_name #function_name} => String
* {Types::FunctionConfiguration#function_arn #function_arn} => String
* {Types::FunctionConfiguration#runtime #runtime} => String
* {Types::FunctionConfiguration#role #role} => String
* {Types::FunctionConfiguration#handler #handler} => String
* {Types::FunctionConfiguration#code_size #code_size} => Integer
* {Types::FunctionConfiguration#description #description} => String
* {Types::FunctionConfiguration#timeout #timeout} => Integer
* {Types::FunctionConfiguration#memory_size #memory_size} => Integer
* {Types::FunctionConfiguration#last_modified #last_modified} => Time
* {Types::FunctionConfiguration#code_sha_256 #code_sha_256} => String
* {Types::FunctionConfiguration#version #version} => String
* {Types::FunctionConfiguration#vpc_config #vpc_config} => Types::VpcConfigResponse
* {Types::FunctionConfiguration#dead_letter_config #dead_letter_config} => Types::DeadLetterConfig
* {Types::FunctionConfiguration#environment #environment} => Types::EnvironmentResponse
* {Types::FunctionConfiguration#kms_key_arn #kms_key_arn} => String
* {Types::FunctionConfiguration#tracing_config #tracing_config} => Types::TracingConfigResponse
* {Types::FunctionConfiguration#master_arn #master_arn} => String
* {Types::FunctionConfiguration#revision_id #revision_id} => String
* {Types::FunctionConfiguration#layers #layers} => Array&lt;Types::Layer&gt;
* {Types::FunctionConfiguration#state #state} => String
* {Types::FunctionConfiguration#state_reason #state_reason} => String
* {Types::FunctionConfiguration#state_reason_code #state_reason_code} => String
* {Types::FunctionConfiguration#last_update_status #last_update_status} => String
* {Types::FunctionConfiguration#last_update_status_reason #last_update_status_reason} => String
* {Types::FunctionConfiguration#last_update_status_reason_code #last_update_status_reason_code} => String
* {Types::FunctionConfiguration#file_system_configs #file_system_configs} => Array&lt;Types::FileSystemConfig&gt;
* {Types::FunctionConfiguration#package_type #package_type} => String
* {Types::FunctionConfiguration#image_config_response #image_config_response} => Types::ImageConfigResponse
* {Types::FunctionConfiguration#signing_profile_version_arn #signing_profile_version_arn} => String
* {Types::FunctionConfiguration#signing_job_arn #signing_job_arn} => String

@example Request syntax with placeholder values

resp = client.update_function_code({
  function_name: "FunctionName", # required
  zip_file: "data",
  s3_bucket: "S3Bucket",
  s3_key: "S3Key",
  s3_object_version: "S3ObjectVersion",
  image_uri: "String",
  publish: false,
  dry_run: false,
  revision_id: "String",
})

@example Response structure

resp.function_name #=> String
resp.function_arn #=> String
resp.runtime #=> String, one of "nodejs", "nodejs4.3", "nodejs6.10", "nodejs8.10", "nodejs10.x", "nodejs12.x", "nodejs14.x", "java8", "java8.al2", "java11", "python2.7", "python3.6", "python3.7", "python3.8", "python3.9", "dotnetcore1.0", "dotnetcore2.0", "dotnetcore2.1", "dotnetcore3.1", "nodejs4.3-edge", "go1.x", "ruby2.5", "ruby2.7", "provided", "provided.al2"
resp.role #=> String
resp.handler #=> String
resp.code_size #=> Integer
resp.description #=> String
resp.timeout #=> Integer
resp.memory_size #=> Integer
resp.last_modified #=> Time
resp.code_sha_256 #=> String
resp.version #=> String
resp.vpc_config.subnet_ids #=> Array
resp.vpc_config.subnet_ids[0] #=> String
resp.vpc_config.security_group_ids #=> Array
resp.vpc_config.security_group_ids[0] #=> String
resp.vpc_config.vpc_id #=> String
resp.dead_letter_config.target_arn #=> String
resp.environment.variables #=> Hash
resp.environment.variables["EnvironmentVariableName"] #=> String
resp.environment.error.error_code #=> String
resp.environment.error.message #=> String
resp.kms_key_arn #=> String
resp.tracing_config.mode #=> String, one of "Active", "PassThrough"
resp.master_arn #=> String
resp.revision_id #=> String
resp.layers #=> Array
resp.layers[0].arn #=> String
resp.layers[0].code_size #=> Integer
resp.layers[0].signing_profile_version_arn #=> String
resp.layers[0].signing_job_arn #=> String
resp.state #=> String, one of "Pending", "Active", "Inactive", "Failed"
resp.state_reason #=> String
resp.state_reason_code #=> String, one of "Idle", "Creating", "Restoring", "EniLimitExceeded", "InsufficientRolePermissions", "InvalidConfiguration", "InternalError", "SubnetOutOfIPAddresses", "InvalidSubnet", "InvalidSecurityGroup", "ImageDeleted", "ImageAccessDenied", "InvalidImage"
resp.last_update_status #=> String, one of "Successful", "Failed", "InProgress"
resp.last_update_status_reason #=> String
resp.last_update_status_reason_code #=> String, one of "EniLimitExceeded", "InsufficientRolePermissions", "InvalidConfiguration", "InternalError", "SubnetOutOfIPAddresses", "InvalidSubnet", "InvalidSecurityGroup", "ImageDeleted", "ImageAccessDenied", "InvalidImage"
resp.file_system_configs #=> Array
resp.file_system_configs[0].arn #=> String
resp.file_system_configs[0].local_mount_path #=> String
resp.package_type #=> String, one of "Zip", "Image"
resp.image_config_response.image_config.entry_point #=> Array
resp.image_config_response.image_config.entry_point[0] #=> String
resp.image_config_response.image_config.command #=> Array
resp.image_config_response.image_config.command[0] #=> String
resp.image_config_response.image_config.working_directory #=> String
resp.image_config_response.error.error_code #=> String
resp.image_config_response.error.message #=> String
resp.signing_profile_version_arn #=> String
resp.signing_job_arn #=> String

@see docs.aws.amazon.com/goto/WebAPI/lambda-2015-03-31/UpdateFunctionCode AWS API Documentation

@overload update_function_code(params = {}) @param [Hash] params ({})

# File lib/aws-sdk-lambda/client.rb, line 4622
def update_function_code(params = {}, options = {})
  req = build_request(:update_function_code, params)
  req.send_request(options)
end
update_function_configuration(params = {}, options = {}) click to toggle source

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 Amazon Web Services service, use AddPermission.

[1]: docs.aws.amazon.com/lambda/latest/dg/functions-states.html

@option params [required, String] :function_name

The name of the Lambda function.

**Name formats**

* **Function name** - `my-function`.

* **Function ARN** -
  `arn:aws:lambda:us-west-2:123456789012:function:my-function`.

* **Partial ARN** - `123456789012:function:my-function`.

The length constraint applies only to the full ARN. If you specify
only the function name, it is limited to 64 characters in length.

@option params [String] :role

The Amazon Resource Name (ARN) of the function's execution role.

@option params [String] :handler

The name of the method within your code that Lambda calls to execute
your function. The format includes the file name. It can also include
namespaces and other qualifiers, depending on the runtime. For more
information, see [Programming Model][1].

[1]: https://docs.aws.amazon.com/lambda/latest/dg/programming-model-v2.html

@option params [String] :description

A description of the function.

@option params [Integer] :timeout

The amount of time that Lambda allows a function to run before
stopping it. The default is 3 seconds. The maximum allowed value is
900 seconds. For additional information, see [Lambda execution
environment][1].

[1]: https://docs.aws.amazon.com/lambda/latest/dg/runtimes-context.html

@option params [Integer] :memory_size

The amount of [memory available to the function][1] at runtime.
Increasing the function memory also increases its CPU allocation. The
default value is 128 MB. The value can be any multiple of 1 MB.

[1]: https://docs.aws.amazon.com/lambda/latest/dg/configuration-memory.html

@option params [Types::VpcConfig] :vpc_config

For network connectivity to Amazon Web Services resources in a VPC,
specify a list of security groups and subnets in the VPC. When you
connect a function to a VPC, it can only access resources and the
internet through that VPC. For more information, see [VPC
Settings][1].

[1]: https://docs.aws.amazon.com/lambda/latest/dg/configuration-vpc.html

@option params [Types::Environment] :environment

Environment variables that are accessible from function code during
execution.

@option params [String] :runtime

The identifier of the function's [runtime][1].

[1]: https://docs.aws.amazon.com/lambda/latest/dg/lambda-runtimes.html

@option params [Types::DeadLetterConfig] :dead_letter_config

A dead letter queue configuration that specifies the queue or topic
where Lambda sends asynchronous events when they fail processing. For
more information, see [Dead Letter Queues][1].

[1]: https://docs.aws.amazon.com/lambda/latest/dg/invocation-async.html#dlq

@option params [String] :kms_key_arn

The ARN of the Amazon Web Services Key Management Service (KMS) key
that's used to encrypt your function's environment variables. If
it's not provided, Lambda uses a default service key.

@option params [Types::TracingConfig] :tracing_config

Set `Mode` to `Active` to sample and trace a subset of incoming
requests with [X-Ray][1].

[1]: https://docs.aws.amazon.com/lambda/latest/dg/services-xray.html

@option params [String] :revision_id

Only update the function if the revision ID matches the ID that's
specified. Use this option to avoid modifying a function that has
changed since you last read it.

@option params [Array<String>] :layers

A list of [function layers][1] to add to the function's execution
environment. Specify each layer by its ARN, including the version.

[1]: https://docs.aws.amazon.com/lambda/latest/dg/configuration-layers.html

@option params [Array<Types::FileSystemConfig>] :file_system_configs

Connection settings for an Amazon EFS file system.

@option params [Types::ImageConfig] :image_config

[Container image configuration values][1] that override the values in
the container image Dockerfile.

[1]: https://docs.aws.amazon.com/lambda/latest/dg/images-parms.html

@return [Types::FunctionConfiguration] Returns a {Seahorse::Client::Response response} object which responds to the following methods:

* {Types::FunctionConfiguration#function_name #function_name} => String
* {Types::FunctionConfiguration#function_arn #function_arn} => String
* {Types::FunctionConfiguration#runtime #runtime} => String
* {Types::FunctionConfiguration#role #role} => String
* {Types::FunctionConfiguration#handler #handler} => String
* {Types::FunctionConfiguration#code_size #code_size} => Integer
* {Types::FunctionConfiguration#description #description} => String
* {Types::FunctionConfiguration#timeout #timeout} => Integer
* {Types::FunctionConfiguration#memory_size #memory_size} => Integer
* {Types::FunctionConfiguration#last_modified #last_modified} => Time
* {Types::FunctionConfiguration#code_sha_256 #code_sha_256} => String
* {Types::FunctionConfiguration#version #version} => String
* {Types::FunctionConfiguration#vpc_config #vpc_config} => Types::VpcConfigResponse
* {Types::FunctionConfiguration#dead_letter_config #dead_letter_config} => Types::DeadLetterConfig
* {Types::FunctionConfiguration#environment #environment} => Types::EnvironmentResponse
* {Types::FunctionConfiguration#kms_key_arn #kms_key_arn} => String
* {Types::FunctionConfiguration#tracing_config #tracing_config} => Types::TracingConfigResponse
* {Types::FunctionConfiguration#master_arn #master_arn} => String
* {Types::FunctionConfiguration#revision_id #revision_id} => String
* {Types::FunctionConfiguration#layers #layers} => Array&lt;Types::Layer&gt;
* {Types::FunctionConfiguration#state #state} => String
* {Types::FunctionConfiguration#state_reason #state_reason} => String
* {Types::FunctionConfiguration#state_reason_code #state_reason_code} => String
* {Types::FunctionConfiguration#last_update_status #last_update_status} => String
* {Types::FunctionConfiguration#last_update_status_reason #last_update_status_reason} => String
* {Types::FunctionConfiguration#last_update_status_reason_code #last_update_status_reason_code} => String
* {Types::FunctionConfiguration#file_system_configs #file_system_configs} => Array&lt;Types::FileSystemConfig&gt;
* {Types::FunctionConfiguration#package_type #package_type} => String
* {Types::FunctionConfiguration#image_config_response #image_config_response} => Types::ImageConfigResponse
* {Types::FunctionConfiguration#signing_profile_version_arn #signing_profile_version_arn} => String
* {Types::FunctionConfiguration#signing_job_arn #signing_job_arn} => String

@example Request syntax with placeholder values

resp = client.update_function_configuration({
  function_name: "FunctionName", # required
  role: "RoleArn",
  handler: "Handler",
  description: "Description",
  timeout: 1,
  memory_size: 1,
  vpc_config: {
    subnet_ids: ["SubnetId"],
    security_group_ids: ["SecurityGroupId"],
  },
  environment: {
    variables: {
      "EnvironmentVariableName" => "EnvironmentVariableValue",
    },
  },
  runtime: "nodejs", # accepts nodejs, nodejs4.3, nodejs6.10, nodejs8.10, nodejs10.x, nodejs12.x, nodejs14.x, java8, java8.al2, java11, python2.7, python3.6, python3.7, python3.8, python3.9, dotnetcore1.0, dotnetcore2.0, dotnetcore2.1, dotnetcore3.1, nodejs4.3-edge, go1.x, ruby2.5, ruby2.7, provided, provided.al2
  dead_letter_config: {
    target_arn: "ResourceArn",
  },
  kms_key_arn: "KMSKeyArn",
  tracing_config: {
    mode: "Active", # accepts Active, PassThrough
  },
  revision_id: "String",
  layers: ["LayerVersionArn"],
  file_system_configs: [
    {
      arn: "FileSystemArn", # required
      local_mount_path: "LocalMountPath", # required
    },
  ],
  image_config: {
    entry_point: ["String"],
    command: ["String"],
    working_directory: "WorkingDirectory",
  },
})

@example Response structure

resp.function_name #=> String
resp.function_arn #=> String
resp.runtime #=> String, one of "nodejs", "nodejs4.3", "nodejs6.10", "nodejs8.10", "nodejs10.x", "nodejs12.x", "nodejs14.x", "java8", "java8.al2", "java11", "python2.7", "python3.6", "python3.7", "python3.8", "python3.9", "dotnetcore1.0", "dotnetcore2.0", "dotnetcore2.1", "dotnetcore3.1", "nodejs4.3-edge", "go1.x", "ruby2.5", "ruby2.7", "provided", "provided.al2"
resp.role #=> String
resp.handler #=> String
resp.code_size #=> Integer
resp.description #=> String
resp.timeout #=> Integer
resp.memory_size #=> Integer
resp.last_modified #=> Time
resp.code_sha_256 #=> String
resp.version #=> String
resp.vpc_config.subnet_ids #=> Array
resp.vpc_config.subnet_ids[0] #=> String
resp.vpc_config.security_group_ids #=> Array
resp.vpc_config.security_group_ids[0] #=> String
resp.vpc_config.vpc_id #=> String
resp.dead_letter_config.target_arn #=> String
resp.environment.variables #=> Hash
resp.environment.variables["EnvironmentVariableName"] #=> String
resp.environment.error.error_code #=> String
resp.environment.error.message #=> String
resp.kms_key_arn #=> String
resp.tracing_config.mode #=> String, one of "Active", "PassThrough"
resp.master_arn #=> String
resp.revision_id #=> String
resp.layers #=> Array
resp.layers[0].arn #=> String
resp.layers[0].code_size #=> Integer
resp.layers[0].signing_profile_version_arn #=> String
resp.layers[0].signing_job_arn #=> String
resp.state #=> String, one of "Pending", "Active", "Inactive", "Failed"
resp.state_reason #=> String
resp.state_reason_code #=> String, one of "Idle", "Creating", "Restoring", "EniLimitExceeded", "InsufficientRolePermissions", "InvalidConfiguration", "InternalError", "SubnetOutOfIPAddresses", "InvalidSubnet", "InvalidSecurityGroup", "ImageDeleted", "ImageAccessDenied", "InvalidImage"
resp.last_update_status #=> String, one of "Successful", "Failed", "InProgress"
resp.last_update_status_reason #=> String
resp.last_update_status_reason_code #=> String, one of "EniLimitExceeded", "InsufficientRolePermissions", "InvalidConfiguration", "InternalError", "SubnetOutOfIPAddresses", "InvalidSubnet", "InvalidSecurityGroup", "ImageDeleted", "ImageAccessDenied", "InvalidImage"
resp.file_system_configs #=> Array
resp.file_system_configs[0].arn #=> String
resp.file_system_configs[0].local_mount_path #=> String
resp.package_type #=> String, one of "Zip", "Image"
resp.image_config_response.image_config.entry_point #=> Array
resp.image_config_response.image_config.entry_point[0] #=> String
resp.image_config_response.image_config.command #=> Array
resp.image_config_response.image_config.command[0] #=> String
resp.image_config_response.image_config.working_directory #=> String
resp.image_config_response.error.error_code #=> String
resp.image_config_response.error.message #=> String
resp.signing_profile_version_arn #=> String
resp.signing_job_arn #=> String

@see docs.aws.amazon.com/goto/WebAPI/lambda-2015-03-31/UpdateFunctionConfiguration AWS API Documentation

@overload update_function_configuration(params = {}) @param [Hash] params ({})

# File lib/aws-sdk-lambda/client.rb, line 4901
def update_function_configuration(params = {}, options = {})
  req = build_request(:update_function_configuration, params)
  req.send_request(options)
end
update_function_event_invoke_config(params = {}, options = {}) click to toggle source

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

To configure options for asynchronous invocation, use PutFunctionEventInvokeConfig.

@option params [required, String] :function_name

The name of the Lambda function, version, or alias.

**Name formats**

* **Function name** - `my-function` (name-only), `my-function:v1`
  (with alias).

* **Function ARN** -
  `arn:aws:lambda:us-west-2:123456789012:function:my-function`.

* **Partial ARN** - `123456789012:function:my-function`.

You can append a version number or alias to any of the formats. The
length constraint applies only to the full ARN. If you specify only
the function name, it is limited to 64 characters in length.

@option params [String] :qualifier

A version number or alias name.

@option params [Integer] :maximum_retry_attempts

The maximum number of times to retry when the function returns an
error.

@option params [Integer] :maximum_event_age_in_seconds

The maximum age of a request that Lambda sends to a function for
processing.

@option params [Types::DestinationConfig] :destination_config

A destination for events after they have been sent to a function for
processing.

**Destinations**

* **Function** - The Amazon Resource Name (ARN) of a Lambda function.

* **Queue** - The ARN of an SQS queue.

* **Topic** - The ARN of an SNS topic.

* **Event Bus** - The ARN of an Amazon EventBridge event bus.

@return [Types::FunctionEventInvokeConfig] Returns a {Seahorse::Client::Response response} object which responds to the following methods:

* {Types::FunctionEventInvokeConfig#last_modified #last_modified} => Time
* {Types::FunctionEventInvokeConfig#function_arn #function_arn} => String
* {Types::FunctionEventInvokeConfig#maximum_retry_attempts #maximum_retry_attempts} => Integer
* {Types::FunctionEventInvokeConfig#maximum_event_age_in_seconds #maximum_event_age_in_seconds} => Integer
* {Types::FunctionEventInvokeConfig#destination_config #destination_config} => Types::DestinationConfig

@example Request syntax with placeholder values

resp = client.update_function_event_invoke_config({
  function_name: "FunctionName", # required
  qualifier: "Qualifier",
  maximum_retry_attempts: 1,
  maximum_event_age_in_seconds: 1,
  destination_config: {
    on_success: {
      destination: "DestinationArn",
    },
    on_failure: {
      destination: "DestinationArn",
    },
  },
})

@example Response structure

resp.last_modified #=> Time
resp.function_arn #=> String
resp.maximum_retry_attempts #=> Integer
resp.maximum_event_age_in_seconds #=> Integer
resp.destination_config.on_success.destination #=> String
resp.destination_config.on_failure.destination #=> String

@see docs.aws.amazon.com/goto/WebAPI/lambda-2015-03-31/UpdateFunctionEventInvokeConfig AWS API Documentation

@overload update_function_event_invoke_config(params = {}) @param [Hash] params ({})

# File lib/aws-sdk-lambda/client.rb, line 4992
def update_function_event_invoke_config(params = {}, options = {})
  req = build_request(:update_function_event_invoke_config, params)
  req.send_request(options)
end
wait_until(waiter_name, params = {}, options = {}) { |waiter| ... } click to toggle source

Polls an API operation until a resource enters a desired state.

## Basic Usage

A waiter will call an API operation until:

  • It is successful

  • It enters a terminal state

  • It makes the maximum number of attempts

In between attempts, the waiter will sleep.

# polls in a loop, sleeping between attempts
client.wait_until(waiter_name, params)

## Configuration

You can configure the maximum number of polling attempts, and the delay (in seconds) between each polling attempt. You can pass configuration as the final arguments hash.

# poll for ~25 seconds
client.wait_until(waiter_name, params, {
  max_attempts: 5,
  delay: 5,
})

## Callbacks

You can be notified before each polling attempt and before each delay. If you throw `:success` or `:failure` from these callbacks, it will terminate the waiter.

started_at = Time.now
client.wait_until(waiter_name, params, {

  # disable max attempts
  max_attempts: nil,

  # poll for 1 hour, instead of a number of attempts
  before_wait: -> (attempts, response) do
    throw :failure if Time.now - started_at > 3600
  end
})

## Handling Errors

When a waiter is unsuccessful, it will raise an error. All of the failure errors extend from {Aws::Waiters::Errors::WaiterFailed}.

begin
  client.wait_until(...)
rescue Aws::Waiters::Errors::WaiterFailed
  # resource did not enter the desired state in time
end

## Valid Waiters

The following table lists the valid waiter names, the operations they call, and the default `:delay` and `:max_attempts` values.

| waiter_name | params | :delay | :max_attempts | | —————- | ———————————– | ——– | ————- | | function_active | {Client#get_function_configuration} | 5 | 60 | | function_exists | {Client#get_function} | 1 | 20 | | function_updated | {Client#get_function_configuration} | 5 | 60 |

@raise [Errors::FailureStateError] Raised when the waiter terminates

because the waiter has entered a state that it will not transition
out of, preventing success.

@raise [Errors::TooManyAttemptsError] Raised when the configured

maximum number of attempts have been made, and the waiter is not
yet successful.

@raise [Errors::UnexpectedError] Raised when an error is encounted

while polling for a resource that is not expected.

@raise [Errors::NoSuchWaiterError] Raised when you request to wait

for an unknown state.

@return [Boolean] Returns `true` if the waiter was successful. @param [Symbol] waiter_name @param [Hash] params ({}) @param [Hash] options ({}) @option options [Integer] :max_attempts @option options [Integer] :delay @option options [Proc] :before_attempt @option options [Proc] :before_wait

# File lib/aws-sdk-lambda/client.rb, line 5104
def wait_until(waiter_name, params = {}, options = {})
  w = waiter(waiter_name, options)
  yield(w.waiter) if block_given? # deprecated
  w.wait(params)
end
waiter_names() click to toggle source

@api private @deprecated

# File lib/aws-sdk-lambda/client.rb, line 5112
def waiter_names
  waiters.keys
end

Private Instance Methods

waiter(waiter_name, options = {}) click to toggle source

@param [Symbol] waiter_name @param [Hash] options ({})

# File lib/aws-sdk-lambda/client.rb, line 5120
def waiter(waiter_name, options = {})
  waiter_class = waiters[waiter_name]
  if waiter_class
    waiter_class.new(options.merge(client: self))
  else
    raise Aws::Waiters::Errors::NoSuchWaiterError.new(waiter_name, waiters.keys)
  end
end
waiters() click to toggle source
# File lib/aws-sdk-lambda/client.rb, line 5129
def waiters
  {
    function_active: Waiters::FunctionActive,
    function_exists: Waiters::FunctionExists,
    function_updated: Waiters::FunctionUpdated
  }
end