Class: Aws::LambdaCore::Client

Inherits:
Seahorse::Client::Base show all
Includes:
ClientStubs
Defined in:
gems/aws-sdk-lambdacore/lib/aws-sdk-lambdacore/client.rb

Overview

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

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

For details on configuring region and credentials see the developer guide.

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

Instance Attribute Summary

Attributes inherited from Seahorse::Client::Base

#config, #handlers

API Operations collapse

Instance Method Summary collapse

Methods included from ClientStubs

#api_requests, #stub_data, #stub_responses

Methods inherited from Seahorse::Client::Base

add_plugin, api, clear_plugins, define, new, #operation_names, plugins, remove_plugin, set_api, set_plugins

Methods included from Seahorse::Client::HandlerBuilder

#handle, #handle_request, #handle_response

Constructor Details

#initialize(options) ⇒ Client

Returns a new instance of Client.

Parameters:

  • options (Hash)

Options Hash (options):

  • :plugins (Array<Seahorse::Client::Plugin>) — default: []] —

    A list of plugins to apply to the client. Each plugin is either a class name or an instance of a plugin class.

  • :credentials (required, Aws::CredentialProvider) —

    Your AWS credentials used for authentication. This can be any class that includes and implements Aws::CredentialProvider, or 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, :session_token, and :account_id options.

    • ENV['AWS_ACCESS_KEY_ID'], ENV['AWS_SECRET_ACCESS_KEY'], ENV['AWS_SESSION_TOKEN'], and ENV['AWS_ACCOUNT_ID'].

    • ~/.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::InstanceProfileCredentials or Aws::ECSCredentials to enable retries and extended timeouts. Instance profile credential fetching can be disabled by setting ENV['AWS_EC2_METADATA_DISABLED'] to true.

  • :region (required, String) —

    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
  • :access_key_id (String)
  • :account_id (String)
  • :active_endpoint_cache (Boolean) — default: false —

    When set to true, a thread polling for endpoints will be running in the background every 60 secs (default). Defaults to false.

  • :adaptive_retry_wait_to_fill (Boolean) — default: 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.

  • :auth_scheme_preference (Array<String>) —

    A list of preferred authentication schemes to use when making a request. Supported values are: sigv4, sigv4a, httpBearerAuth, and noAuth. When set using ENV['AWS_AUTH_SCHEME_PREFERENCE'] or in shared config as auth_scheme_preference, the value should be a comma-separated list.

  • :client_side_monitoring (Boolean) — default: false —

    When true, client-side metrics will be collected for all API requests from this client.

  • :client_side_monitoring_client_id (String) — default: "" —

    Allows you to provide an identifier for this client which will be attached to all generated client side metrics. Defaults to an empty string.

  • :client_side_monitoring_host (String) — default: "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.

  • :client_side_monitoring_port (Integer) — default: 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.

  • :client_side_monitoring_publisher (Aws::ClientSideMonitoring::Publisher) — default: Aws::ClientSideMonitoring::Publisher —

    Allows you to provide a custom client-side monitoring publisher class. By default, will use the Client Side Monitoring Agent Publisher.

  • :convert_params (Boolean) — default: true —

    When true, an attempt is made to coerce request parameters into the required types.

  • :correct_clock_skew (Boolean) — default: true —

    Used only in standard and adaptive retry modes. Specifies whether to apply a clock skew correction and retry requests with skewed client clocks. Takes effect only when disable_clock_skew_correction is not set.

  • :defaults_mode (String) — default: "legacy" —

    See DefaultsModeConfiguration for a list of the accepted modes and the configuration defaults that are included.

  • :disable_clock_skew_correction (Boolean) —

    Used only in standard and adaptive retry modes. When true, the SDK does not apply a clock skew correction, does not update its stored skew from responses, and does not retry clock skew errors. Clock skew correction is enabled by default.

  • :disable_host_prefix_injection (Boolean) — default: false —

    When true, the SDK will not prepend the modeled host prefix to the endpoint.

  • :disable_request_compression (Boolean) — default: false —

    When set to 'true' the request body will not be compressed for supported operations.

  • :endpoint (String, URI::HTTPS, URI::HTTP) —

    Normally you should not configure the :endpoint option directly. This is normally constructed from the :region option. Configuring :endpoint is normally reserved for connecting to test or custom endpoints. The endpoint should be a URI formatted like:

    'http://example.com'
    'https://example.com'
    'http://example.com:123'
    
  • :endpoint_cache_max_entries (Integer) — default: 1000 —

    Used for the maximum size limit of the LRU cache storing endpoints data for endpoint discovery enabled operations. Defaults to 1000.

  • :endpoint_cache_max_threads (Integer) — default: 10 —

    Used for the maximum threads in use for polling endpoints to be cached, defaults to 10.

  • :endpoint_cache_poll_interval (Integer) — default: 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.

  • :endpoint_discovery (Boolean) — default: false —

    When set to true, endpoint discovery will be enabled for operations when available.

  • :ignore_configured_endpoint_urls (Boolean) —

    Setting to true disables use of endpoint URLs provided via environment variables and the shared configuration file.

  • :log_formatter (Aws::Log::Formatter) — default: Aws::Log::Formatter.default —

    The log formatter.

  • :log_level (Symbol) — default: :info —

    The log level to send messages to the :logger at.

  • :logger (Logger) —

    The Logger instance to send log messages to. If this option is not set, logging will be disabled.

  • :max_attempts (Integer) — default: 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. Defaults to 3, except for DynamoDB and DynamoDB Streams, which default to 4.

  • :profile (String) — default: "default" —

    Used when loading credentials from the shared credentials file at HOME/.aws/credentials. When not specified, 'default' is used.

  • :request_checksum_calculation (String) — default: "when_supported" —

    Determines when a checksum will be calculated for request payloads. Values are:

    • when_supported - (default) When set, a checksum will be calculated for all request payloads of operations modeled with the httpChecksum trait where requestChecksumRequired is true and/or a requestAlgorithmMember is modeled.
    • when_required - When set, a checksum will only be calculated for request payloads of operations modeled with the httpChecksum trait where requestChecksumRequired is true or where a requestAlgorithmMember is modeled and supplied.
  • :request_min_compression_size_bytes (Integer) — default: 10240 —

    The minimum size in bytes that triggers compression for request bodies. The value must be non-negative integer value between 0 and 10485780 bytes inclusive.

  • :response_checksum_validation (String) — default: "when_supported" —

    Determines when checksum validation will be performed on response payloads. Values are:

    • when_supported - (default) When set, checksum validation is performed on all response payloads of operations modeled with the httpChecksum trait where responseAlgorithms is modeled, except when no modeled checksum algorithms are supported.
    • when_required - When set, checksum validation is not performed on response payloads of operations unless the checksum algorithm is supported and the requestValidationModeMember member is set to ENABLED.
  • :retry_backoff (Proc) —

    A proc or lambda used for backoff. Defaults to 2**retries * retry_base_delay. This option is only used in the legacy retry mode.

  • :retry_base_delay (Float) — default: 0.3 —

    The base delay in seconds used by the default backoff function. This option is only used in the legacy retry mode.

  • :retry_jitter (Symbol) — default: :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

  • :retry_limit (Integer) — default: 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.

  • :retry_max_delay (Integer) — default: 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.

  • :retry_mode (String) — default: "standard" —

    Specifies which retry algorithm to use. Values are:

    • legacy - The pre-existing retry behavior.

    • 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. This is the default value if no retry mode is provided.

    • adaptive - A retry mode that includes all the functionality of standard mode along with automatic client side throttling.

  • :sdk_ua_app_id (String) —

    A unique and opaque application ID that is appended to the User-Agent header as app/sdk_ua_app_id. It should have a maximum length of 50. This variable is sourced from environment variable AWS_SDK_UA_APP_ID or the shared config profile attribute sdk_ua_app_id.

  • :secret_access_key (String)
  • :session_token (String)
  • :sigv4a_signing_region_set (Array) —

    A list of regions that should be signed with SigV4a signing. When not passed, a default :sigv4a_signing_region_set is searched for in the following locations:

    • Aws.config[:sigv4a_signing_region_set]
    • ENV['AWS_SIGV4A_SIGNING_REGION_SET']
    • ~/.aws/config
  • :stub_responses (Boolean) — default: 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.

  • :telemetry_provider (Aws::Telemetry::TelemetryProviderBase) — default: Aws::Telemetry::NoOpTelemetryProvider —

    Allows you to provide a telemetry provider, which is used to emit telemetry data. By default, uses NoOpTelemetryProvider which will not record or emit any telemetry data. The SDK supports the following telemetry providers:

    • OpenTelemetry (OTel) - To use the OTel provider, install and require the opentelemetry-sdk gem and then, pass in an instance of a Aws::Telemetry::OTelProvider for telemetry provider.
  • :token_provider (Aws::TokenProvider) —

    Your Bearer token used for authentication. This can be any class that includes and implements Aws::TokenProvider, or instance of any one of the following classes:

    • Aws::StaticTokenProvider - Used for configuring static, non-refreshing tokens.

    • Aws::SSOTokenProvider - Used for loading tokens from AWS SSO using an access token generated from aws login.

    When :token_provider is not configured directly, the Aws::TokenProviderChain will be used to search for tokens configured for your profile in shared configuration files.

  • :use_dualstack_endpoint (Boolean) —

    When set to true, dualstack enabled endpoints (with .aws TLD) will be used if available.

  • :use_fips_endpoint (Boolean) —

    When set to true, fips compatible endpoints will be used if available. When a fips region is used, the region is normalized and this config is set to true.

  • :validate_params (Boolean) — default: true —

    When true, request parameters are validated before sending the request.

  • :endpoint_provider (Aws::LambdaCore::EndpointProvider) —

    The endpoint provider used to resolve endpoints. Any object that responds to #resolve_endpoint(parameters) where parameters is a Struct similar to Aws::LambdaCore::EndpointParameters.

  • :http_continue_timeout (Float) — default: 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.

  • :http_idle_timeout (Float) — default: 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.

  • :http_open_timeout (Float) — default: 15 —

    The default number of seconds to wait for response data. This value can safely be set per-request on the session.

  • :http_proxy (URI::HTTP, String) —

    A proxy to send requests through. Formatted like 'http://proxy.com:123'.

  • :http_read_timeout (Float) — default: 60 —

    The default number of seconds to wait for response data. This value can safely be set per-request on the session.

  • :http_wire_trace (Boolean) — default: false —

    When true, HTTP debug output will be sent to the :logger.

  • :on_chunk_received (Proc) —

    When a Proc object is provided, it will be used as callback when each chunk of the response body is received. It provides three arguments: the chunk, the number of bytes received, and the total number of bytes in the response (or nil if the server did not send a content-length).

  • :on_chunk_sent (Proc) —

    When a Proc object is provided, it will be used as callback when each chunk of the request body is sent. It provides three arguments: the chunk, the number of bytes read from the body, and the total number of bytes in the body.

  • :raise_response_errors (Boolean) — default: true —

    When true, response errors are raised.

  • :ssl_ca_bundle (String) —

    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.

  • :ssl_ca_directory (String) —

    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.

  • :ssl_ca_store (String) —

    Sets the X509::Store to verify peer certificate.

  • :ssl_cert (OpenSSL::X509::Certificate) —

    Sets a client certificate when creating http connections.

  • :ssl_key (OpenSSL::PKey) —

    Sets a client key when creating http connections.

  • :ssl_timeout (Float) —

    Sets the SSL timeout in seconds

  • :ssl_verify_peer (Boolean) — default: true —

    When true, SSL peer certificates are verified when establishing a connection.



479
480
481
# File 'gems/aws-sdk-lambdacore/lib/aws-sdk-lambdacore/client.rb', line 479

def initialize(*args)
  super
end

Instance Method Details

#create_network_connector(params = {}) ⇒ Types::CreateNetworkConnectorResponse

Creates a network connector that enables Lambda compute resources to route outbound traffic through your Amazon VPC. The network connector provisions elastic network interfaces (ENIs) in the subnets you specify, providing a managed network path to private resources such as databases, caches, and internal APIs.

This operation is asynchronous. The network connector starts in PENDING state while ENIs are provisioned in your VPC (provisioning typically takes up to 10 minutes). Use GetNetworkConnector to poll the connector state until it reaches ACTIVE. Once active, you can attach the connector to supported Lambda compute resources — such as MicroVMs and WebFunctions — at run time. For how to attach a connector, see the documentation for the specific compute type.

This operation is idempotent when you provide a ClientToken — if you retry a request that completed successfully using the same client token, the operation returns the existing connector without creating a duplicate.

Examples:

Request syntax with placeholder values


resp = client.create_network_connector({
  name: "NetworkConnectorName", # required
  configuration: { # required
    vpc_egress_configuration: {
      subnet_ids: ["NetworkConnectorSubnetId"],
      security_group_ids: ["NetworkConnectorSecurityGroupId"],
      network_protocol: "IPv4", # accepts IPv4, DualStack
      associated_compute_resource_types: ["MicroVm"], # accepts MicroVm, WebFunction
    },
  },
  operator_role: "NetworkConnectorRoleArn",
  client_token: "ClientTokenString",
  tags: {
    "NetworkConnectorTagKey" => "NetworkConnectorTagValue",
  },
})

Response structure


resp.arn #=> String
resp.name #=> String
resp.id #=> String
resp.version_arn #=> String
resp.version #=> Integer
resp.configuration.vpc_egress_configuration.subnet_ids #=> Array
resp.configuration.vpc_egress_configuration.subnet_ids[0] #=> String
resp.configuration.vpc_egress_configuration.security_group_ids #=> Array
resp.configuration.vpc_egress_configuration.security_group_ids[0] #=> String
resp.configuration.vpc_egress_configuration.network_protocol #=> String, one of "IPv4", "DualStack"
resp.configuration.vpc_egress_configuration.associated_compute_resource_types #=> Array
resp.configuration.vpc_egress_configuration.associated_compute_resource_types[0] #=> String, one of "MicroVm", "WebFunction"
resp.operator_role #=> String
resp.state #=> String, one of "PENDING", "ACTIVE", "INACTIVE", "FAILED", "DELETING", "DELETE_FAILED"

Parameters:

  • params (Hash) (defaults to: {}) —

    ({})

Options Hash (params):

  • :name (required, String) —

    A unique name for the network connector within your account and Region. You can use the name to identify the connector in subsequent API calls.

  • :configuration (required, Types::NetworkConnectorConfiguration) —

    The network configuration for the connector. Specify a VpcEgressConfiguration to enable outbound traffic routing through your VPC.

  • :operator_role (String) —

    The ARN of the IAM role that Lambda assumes to manage elastic network interfaces in your VPC. This role must have permissions for ec2:CreateNetworkInterface, ec2:DeleteNetworkInterface, and related describe operations.

  • :client_token (String) —

    A unique, case-sensitive identifier that you provide to ensure the idempotency of the request. If you retry a request with the same client token, the API returns the existing connector without creating a duplicate.

    A suitable default value is auto-generated. You should normally not need to pass this option.**

  • :tags (Hash<String,String>) —

    A map of key-value pairs to associate with the network connector for organization, cost allocation, or access control.

Returns:

See Also:



584
585
586
587
# File 'gems/aws-sdk-lambdacore/lib/aws-sdk-lambdacore/client.rb', line 584

def create_network_connector(params = {}, options = {})
  req = build_request(:create_network_connector, params)
  req.send_request(options)
end

#create_runtime(params = {}) ⇒ Types::CreateRuntimeResponse

Creates a customer-managed runtime, a resource providing a centrally managed execution environment for your Lambda functions. The runtime resource is the parent of the runtime version and runtime alias child resources.

Examples:

Example: Create a runtime


# Creates a customer-managed runtime resource.

resp = client.create_runtime({
  description: "PHP 8 custom runtime", 
  license_info: "MIT", 
  name: "php8", 
  tags: {
    "team" => "runtimes", 
  }, 
})

resp.to_h outputs the following:
{
  arn: "arn:aws:lambda:us-west-2:123456789012:runtime/php8", 
  created: "2026-10-01T12:00:00.000Z", 
  description: "PHP 8 custom runtime", 
  last_modified: "2026-10-01T12:00:00.000Z", 
  license_info: "MIT", 
  name: "php8", 
}

Request syntax with placeholder values


resp = client.create_runtime({
  name: "RuntimeName", # required
  tags: {
    "String" => "String",
  },
  description: "RuntimeDescription",
  license_info: "RuntimeLicenseInfo",
  release_lifecycle: {
    release_state: "PREVIEW", # accepts PREVIEW, GA, DEPRECATED
    deprecation_date: "RuntimeLifecycleDate",
    function_create_block_date: "RuntimeLifecycleDate",
    function_update_block_date: "RuntimeLifecycleDate",
  },
})

Response structure


resp.arn #=> String
resp.name #=> String
resp.description #=> String
resp.license_info #=> String
resp.release_lifecycle.release_state #=> String, one of "PREVIEW", "GA", "DEPRECATED"
resp.release_lifecycle.deprecation_date #=> String
resp.release_lifecycle.function_create_block_date #=> String
resp.release_lifecycle.function_update_block_date #=> String
resp.created #=> String
resp.last_modified #=> String

Parameters:

  • params (Hash) (defaults to: {}) —

    ({})

Options Hash (params):

  • :name (required, String) —

    The name of the runtime to create.

  • :tags (Hash<String,String>) —

    A map of tag keys and values to associate with the runtime.

  • :description (String) —

    A description of the runtime.

  • :license_info (String) —

    The license information for the runtime.

  • :release_lifecycle (Types::RuntimeReleaseLifecycle) —

    The runtime lifecycle for the runtime (optional). Use this to schedule runtime deprecation.

Returns:

See Also:



678
679
680
681
# File 'gems/aws-sdk-lambdacore/lib/aws-sdk-lambdacore/client.rb', line 678

def create_runtime(params = {}, options = {})
  req = build_request(:create_runtime, params)
  req.send_request(options)
end

#create_runtime_alias(params = {}) ⇒ Types::CreateRuntimeAliasResponse

Creates a new customer-managed runtime alias. The alias is a named pointer to a runtime version. Functions consume the customer-managed runtime through the runtime alias.

Examples:

Example: Create a runtime alias


# Creates an alias that points at a published runtime version.

resp = client.create_runtime_alias({
  description: "Points at the newest published version", 
  name: "latest", 
  runtime_name: "php8", 
  runtime_version: "v1", 
})

resp.to_h outputs the following:
{
  arn: "arn:aws:lambda:us-west-2:123456789012:runtime/php8/alias/latest", 
  created: "2026-10-01T12:00:00.000Z", 
  description: "Points at the newest published version", 
  last_modified: "2026-10-01T12:00:00.000Z", 
  name: "latest", 
  runtime_version: "v1", 
  runtime_version_arn: "arn:aws:lambda:us-west-2:123456789012:runtime/php8/version/v1", 
  state: "CREATING", 
}

Request syntax with placeholder values


resp = client.create_runtime_alias({
  runtime_name: "RuntimeIdentifier", # required
  runtime_version: "RuntimeVersionName", # required
  name: "RuntimeAliasName", # required
  description: "RuntimeAliasDescription",
  release_lifecycle: {
    release_state: "PREVIEW", # accepts PREVIEW, GA, DEPRECATED
    deprecation_date: "RuntimeLifecycleDate",
    function_create_block_date: "RuntimeLifecycleDate",
    function_update_block_date: "RuntimeLifecycleDate",
  },
})

Response structure


resp.name #=> String
resp.arn #=> String
resp.runtime_version #=> String
resp.runtime_version_arn #=> String
resp.state #=> String, one of "CREATING", "ACTIVE", "UPDATING", "DELETING", "PENDING_DELETION"
resp.description #=> String
resp.release_lifecycle.release_state #=> String, one of "PREVIEW", "GA", "DEPRECATED"
resp.release_lifecycle.deprecation_date #=> String
resp.release_lifecycle.function_create_block_date #=> String
resp.release_lifecycle.function_update_block_date #=> String
resp.created #=> String
resp.last_modified #=> String

Parameters:

  • params (Hash) (defaults to: {}) —

    ({})

Options Hash (params):

  • :runtime_name (required, String) —

    The name or ARN of the runtime to create an alias for.

  • :runtime_version (required, String) —

    The name of the runtime version the alias points to.

  • :name (required, String) —

    The name to assign to the new runtime alias.

  • :description (String) —

    A description of the runtime alias.

  • :release_lifecycle (Types::RuntimeReleaseLifecycle) —

    The runtime lifecycle for the alias. By default, this is inherited from the runtime lifecycle. Optionally, you can override the lifecycle information at the alias level, if required.

Returns:

See Also:



774
775
776
777
# File 'gems/aws-sdk-lambdacore/lib/aws-sdk-lambdacore/client.rb', line 774

def create_runtime_alias(params = {}, options = {})
  req = build_request(:create_runtime_alias, params)
  req.send_request(options)
end

#create_runtime_version(params = {}) ⇒ Types::CreateRuntimeVersionResponse

Creates a new runtime version. A runtime version defines the function execution environment by referencing a container image. Runtime versions are immutable. To update the runtime, create a new runtime version and migrate functions by updating the runtime aliases to point to the new runtime version.

Examples:

Example: Create a runtime version


# Creates a new runtime version from a container image.

resp = client.create_runtime_version({
  image_uri: "123456789012.dkr.ecr.us-west-2.amazonaws.com/php8:latest", 
  name: "v1", 
  release_notes: "Initial release", 
  runtime_name: "php8", 
})

resp.to_h outputs the following:
{
  arn: "arn:aws:lambda:us-west-2:123456789012:runtime/php8/version/v1", 
  compatibility: {
    architectures: [
      "arm64", 
      "x86_64", 
    ], 
    integration_models: [
      "RuntimeAPI", 
    ], 
    managed_instances: "Supported", 
  }, 
  created: "2026-10-01T12:00:00.000Z", 
  last_modified: "2026-10-01T12:00:00.000Z", 
  name: "v1", 
  platforms: [
    {
      architecture: "arm64", 
      digest: "sha256:1a2b3c4d5e6f7a8b9c0d1e2f3a4b5c6d7e8f9a0b1c2d3e4f5a6b7c8d9e0f1a2b", 
      os: "linux", 
    }, 
  ], 
  release_notes: "Initial release", 
  resolved_uri: "123456789012.dkr.ecr.us-west-2.amazonaws.com/php8@sha256:1a2b3c4d5e6f7a8b9c0d1e2f3a4b5c6d7e8f9a0b1c2d3e4f5a6b7c8d9e0f1a2b", 
  state: "CREATING", 
}

Request syntax with placeholder values


resp = client.create_runtime_version({
  runtime_name: "RuntimeIdentifier", # required
  image_uri: "String", # required
  name: "RuntimeVersionName", # required
  release_notes: "String",
  dry_run: false,
})

Response structure


resp.name #=> String
resp.arn #=> String
resp.resolved_uri #=> String
resp.state #=> String, one of "CREATING", "ACTIVE", "FAILED", "DELETING", "PENDING_DELETION"
resp.release_notes #=> String
resp.platforms #=> Array
resp.platforms[0].architecture #=> String
resp.platforms[0].os #=> String
resp.platforms[0].digest #=> String
resp.compatibility.integration_models #=> Array
resp.compatibility.integration_models[0] #=> String, one of "RuntimeAPI"
resp.compatibility.architectures #=> Array
resp.compatibility.architectures[0] #=> String, one of "x86_64", "arm64"
resp.compatibility.managed_instances #=> String, one of "Supported", "NotSupported"
resp.created #=> String
resp.last_modified #=> String

Parameters:

  • params (Hash) (defaults to: {}) —

    ({})

Options Hash (params):

  • :runtime_name (required, String) —

    The name or ARN of the runtime to create a version for.

  • :image_uri (required, String) —

    The URI of the container image used to define the function execution environment for this runtime version.

  • :name (required, String) —

    The name to assign to the new runtime version.

  • :release_notes (String) —

    The release notes to associate with the runtime version.

  • :dry_run (Boolean) —

    When set to true, the request is validated without creating a new runtime version. Use this to check that the request would succeed. No runtime version is created and no changes are made.

Returns:

See Also:



888
889
890
891
# File 'gems/aws-sdk-lambdacore/lib/aws-sdk-lambdacore/client.rb', line 888

def create_runtime_version(params = {}, options = {})
  req = build_request(:create_runtime_version, params)
  req.send_request(options)
end

#delete_network_connector(params = {}) ⇒ Types::DeleteNetworkConnectorResponse

Initiates deletion of a network connector. The connector transitions to DELETING state while elastic network interfaces are cleaned up asynchronously. After deletion completes, subsequent calls to GetNetworkConnector return ResourceNotFoundException.

This operation is idempotent — calling delete on a connector that is already deleting or has been deleted succeeds without error. You can delete connectors in ACTIVE or FAILED states. Before deleting a connector, ensure that no Lambda compute resources are using it, as they will lose VPC egress connectivity immediately.

Deleting with an unqualified identifier removes the connector and all of its versions. To remove a single historical version, supply its version-qualified ARN; the connector and its remaining versions are unaffected. You can't delete the latest version on its own — delete the connector to remove it.

Examples:

Request syntax with placeholder values


resp = client.delete_network_connector({
  identifier: "NetworkConnectorIdentifier", # required
})

Response structure


resp.arn #=> String
resp.name #=> String
resp.id #=> String
resp.version_arn #=> String
resp.version #=> Integer
resp.configuration.vpc_egress_configuration.subnet_ids #=> Array
resp.configuration.vpc_egress_configuration.subnet_ids[0] #=> String
resp.configuration.vpc_egress_configuration.security_group_ids #=> Array
resp.configuration.vpc_egress_configuration.security_group_ids[0] #=> String
resp.configuration.vpc_egress_configuration.network_protocol #=> String, one of "IPv4", "DualStack"
resp.configuration.vpc_egress_configuration.associated_compute_resource_types #=> Array
resp.configuration.vpc_egress_configuration.associated_compute_resource_types[0] #=> String, one of "MicroVm", "WebFunction"
resp.operator_role #=> String
resp.state #=> String, one of "PENDING", "ACTIVE", "INACTIVE", "FAILED", "DELETING", "DELETE_FAILED"

Parameters:

  • params (Hash) (defaults to: {}) —

    ({})

Options Hash (params):

  • :identifier (required, String) —

    The identifier of the network connector to delete. Provide an unqualified ARN (or an ID or name) to delete the entire connector and all of its versions, or a version-qualified ARN — one that includes the immutable version suffix — to delete a specific historical version. You can't delete the latest version with a version-qualified identifier; delete the connector instead.

Returns:

See Also:



956
957
958
959
# File 'gems/aws-sdk-lambdacore/lib/aws-sdk-lambdacore/client.rb', line 956

def delete_network_connector(params = {}, options = {})
  req = build_request(:delete_network_connector, params)
  req.send_request(options)
end

#delete_runtime(params = {}) ⇒ Struct

Schedules a customer-managed runtime to be deleted. Runtimes scheduled for deletion enter the PENDING_DELETION state and can be restored during the scheduled deletion window. Runtime versions and aliases must be deleted or scheduled for deletion before deleting the runtime. Function invokes fail for functions using runtime versions or aliases that are deleted or pending deletion.

Examples:

Example: Delete a runtime


# Schedules a customer-managed runtime to be deleted.

resp = client.delete_runtime({
  runtime_name: "php8", 
})

resp.to_h outputs the following:
{
}

Request syntax with placeholder values


resp = client.delete_runtime({
  runtime_name: "RuntimeIdentifier", # required
  recovery_window_in_days: 1,
})

Parameters:

  • params (Hash) (defaults to: {}) —

    ({})

Options Hash (params):

  • :runtime_name (required, String) —

    The name or ARN of the runtime to delete.

  • :recovery_window_in_days (Integer) —

    Optional. The waiting period, in days (7-30), before the runtime is permanently deleted.

Returns:

  • (Struct) —

    Returns an empty response.

See Also:



1001
1002
1003
1004
# File 'gems/aws-sdk-lambdacore/lib/aws-sdk-lambdacore/client.rb', line 1001

def delete_runtime(params = {}, options = {})
  req = build_request(:delete_runtime, params)
  req.send_request(options)
end

#delete_runtime_alias(params = {}) ⇒ Struct

Schedules a runtime alias to be deleted. Runtime aliases scheduled for deletion enter the PENDING_DELETION state and can be restored during the scheduled deletion window. Function invokes fail for functions using runtime aliases that are deleted or pending deletion.

Examples:

Example: Delete a runtime alias


# Schedules a runtime alias to be deleted.

resp = client.delete_runtime_alias({
  name: "latest", 
  runtime_name: "php8", 
})

resp.to_h outputs the following:
{
}

Request syntax with placeholder values


resp = client.delete_runtime_alias({
  runtime_name: "RuntimeIdentifier", # required
  name: "RuntimeAliasName", # required
  recovery_window_in_days: 1,
})

Parameters:

  • params (Hash) (defaults to: {}) —

    ({})

Options Hash (params):

  • :runtime_name (required, String) —

    The name or ARN of the runtime.

  • :name (required, String) —

    The name of the runtime alias to delete.

  • :recovery_window_in_days (Integer) —

    Optional. The waiting period, in days (7-30), before the runtime alias is permanently deleted.

Returns:

  • (Struct) —

    Returns an empty response.

See Also:



1049
1050
1051
1052
# File 'gems/aws-sdk-lambdacore/lib/aws-sdk-lambdacore/client.rb', line 1049

def delete_runtime_alias(params = {}, options = {})
  req = build_request(:delete_runtime_alias, params)
  req.send_request(options)
end

#delete_runtime_version(params = {}) ⇒ Struct

Schedules a runtime version to be deleted. Runtime versions scheduled for deletion enter the PENDING_DELETION state and can be restored during the scheduled deletion window. Function invokes fail for functions using a runtime version that is deleted or pending deletion.

Examples:

Example: Delete a runtime version


# Schedules a runtime version to be deleted.

resp = client.delete_runtime_version({
  name: "v1", 
  runtime_name: "php8", 
})

resp.to_h outputs the following:
{
}

Request syntax with placeholder values


resp = client.delete_runtime_version({
  runtime_name: "RuntimeIdentifier", # required
  name: "RuntimeVersionName", # required
  recovery_window_in_days: 1,
})

Parameters:

  • params (Hash) (defaults to: {}) —

    ({})

Options Hash (params):

  • :runtime_name (required, String) —

    The name or ARN of the runtime.

  • :name (required, String) —

    The name of the runtime version to delete.

  • :recovery_window_in_days (Integer) —

    Optional. The waiting period, in days (7-30), before the runtime version is permanently deleted.

Returns:

  • (Struct) —

    Returns an empty response.

See Also:



1097
1098
1099
1100
# File 'gems/aws-sdk-lambdacore/lib/aws-sdk-lambdacore/client.rb', line 1097

def delete_runtime_version(params = {}, options = {})
  req = build_request(:delete_runtime_version, params)
  req.send_request(options)
end

#get_network_connector(params = {}) ⇒ Types::GetNetworkConnectorResponse

Retrieves the current configuration, state, and metadata of a network connector. The Identifier parameter accepts the connector ID, name, or full ARN. Use this operation to poll connector state after creation or update, or to inspect the current VPC configuration and any failure reasons.

The response includes the full connector configuration, current state, and — if the connector has been updated — the LastUpdateStatus and LastUpdateStatusReasonCode fields that indicate whether the most recent update succeeded or failed.

Examples:

Request syntax with placeholder values


resp = client.get_network_connector({
  identifier: "NetworkConnectorIdentifier", # required
})

Response structure


resp.arn #=> String
resp.name #=> String
resp.id #=> String
resp.version_arn #=> String
resp.version #=> Integer
resp.latest_version_arn #=> String
resp.latest_version #=> Integer
resp.configuration.vpc_egress_configuration.subnet_ids #=> Array
resp.configuration.vpc_egress_configuration.subnet_ids[0] #=> String
resp.configuration.vpc_egress_configuration.security_group_ids #=> Array
resp.configuration.vpc_egress_configuration.security_group_ids[0] #=> String
resp.configuration.vpc_egress_configuration.network_protocol #=> String, one of "IPv4", "DualStack"
resp.configuration.vpc_egress_configuration.associated_compute_resource_types #=> Array
resp.configuration.vpc_egress_configuration.associated_compute_resource_types[0] #=> String, one of "MicroVm", "WebFunction"
resp.operator_role #=> String
resp.state #=> String, one of "PENDING", "ACTIVE", "INACTIVE", "FAILED", "DELETING", "DELETE_FAILED"
resp.state_reason #=> String
resp.state_reason_code #=> String, one of "DisallowedByVpcEncryptionControl", "Ec2RequestLimitExceeded", "InsufficientRolePermissions", "InternalError", "InvalidSecurityGroup", "InvalidSubnet", "SecurityGroupsPerInterfaceLimitExceeded", "SubnetOutOfIPAddresses"
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 "DisallowedByVpcEncryptionControl", "Ec2RequestLimitExceeded", "InsufficientRolePermissions", "InternalError", "InvalidSecurityGroup", "InvalidSubnet", "SecurityGroupsPerInterfaceLimitExceeded", "SubnetOutOfIPAddresses"
resp.last_modified #=> Time

Parameters:

  • params (Hash) (defaults to: {}) —

    ({})

Options Hash (params):

  • :identifier (required, String) —

    The identifier of the network connector to retrieve. You can specify the connector ID, name, or ARN. Provide an unqualified ARN (or an ID or name) to retrieve the connector's latest version, or a version-qualified ARN — one that includes the immutable version suffix — to retrieve a specific historical version.

Returns:

See Also:



1174
1175
1176
1177
# File 'gems/aws-sdk-lambdacore/lib/aws-sdk-lambdacore/client.rb', line 1174

def get_network_connector(params = {}, options = {})
  req = build_request(:get_network_connector, params)
  req.send_request(options)
end

#get_runtime(params = {}) ⇒ Types::GetRuntimeResponse

Retrieves the configuration and metadata of a runtime.

Examples:

Example: Get a runtime


# Retrieves the metadata for a runtime by name.

resp = client.get_runtime({
  runtime_name: "php8", 
})

resp.to_h outputs the following:
{
  arn: "arn:aws:lambda:us-west-2:123456789012:runtime/php8", 
  created: "2026-10-01T12:00:00.000Z", 
  description: "PHP 8 custom runtime", 
  last_modified: "2026-10-02T09:30:00.000Z", 
  license_info: "MIT", 
  name: "php8", 
  release_lifecycle: {
    release_state: "GA", 
  }, 
}

Request syntax with placeholder values


resp = client.get_runtime({
  runtime_name: "RuntimeIdentifier", # required
})

Response structure


resp.arn #=> String
resp.name #=> String
resp.description #=> String
resp.license_info #=> String
resp.release_lifecycle.release_state #=> String, one of "PREVIEW", "GA", "DEPRECATED"
resp.release_lifecycle.deprecation_date #=> String
resp.release_lifecycle.function_create_block_date #=> String
resp.release_lifecycle.function_update_block_date #=> String
resp.state #=> String, one of "ACTIVE", "PENDING_DELETION", "DELETING", "FAILED"
resp.pending_deletion_at #=> String
resp.created #=> String
resp.last_modified #=> String
resp.id #=> String

Parameters:

  • params (Hash) (defaults to: {}) —

    ({})

Options Hash (params):

  • :runtime_name (required, String) —

    The name or ARN of the runtime to retrieve.

Returns:

See Also:



1245
1246
1247
1248
# File 'gems/aws-sdk-lambdacore/lib/aws-sdk-lambdacore/client.rb', line 1245

def get_runtime(params = {}, options = {})
  req = build_request(:get_runtime, params)
  req.send_request(options)
end

#get_runtime_alias(params = {}) ⇒ Types::GetRuntimeAliasResponse

Retrieves the configuration, state, and metadata of a runtime alias.

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

  • runtime_alias_active

Examples:

Example: Get a runtime alias


# Retrieves an alias, including the version it currently points at and its compatibility matrix.

resp = client.get_runtime_alias({
  name: "latest", 
  runtime_name: "php8", 
})

resp.to_h outputs the following:
{
  arn: "arn:aws:lambda:us-west-2:123456789012:runtime/php8/alias/latest", 
  compatibility: {
    architectures: [
      "arm64", 
      "x86_64", 
    ], 
    integration_models: [
      "RuntimeAPI", 
    ], 
    managed_instances: "Supported", 
  }, 
  created: "2026-10-01T12:00:00.000Z", 
  description: "Points at the newest published version", 
  last_modified: "2026-10-02T09:30:00.000Z", 
  name: "latest", 
  release_lifecycle: {
    release_state: "GA", 
  }, 
  runtime_version: "v1", 
  runtime_version_arn: "arn:aws:lambda:us-west-2:123456789012:runtime/php8/version/v1", 
  state: "ACTIVE", 
}

Request syntax with placeholder values


resp = client.get_runtime_alias({
  runtime_name: "RuntimeIdentifier", # required
  name: "RuntimeAliasName", # required
})

Response structure


resp.name #=> String
resp.arn #=> String
resp.runtime_version #=> String
resp.runtime_version_arn #=> String
resp.state #=> String, one of "CREATING", "ACTIVE", "UPDATING", "DELETING", "PENDING_DELETION"
resp.pending_deletion_at #=> String
resp.description #=> String
resp.compatibility.integration_models #=> Array
resp.compatibility.integration_models[0] #=> String, one of "RuntimeAPI"
resp.compatibility.architectures #=> Array
resp.compatibility.architectures[0] #=> String, one of "x86_64", "arm64"
resp.compatibility.managed_instances #=> String, one of "Supported", "NotSupported"
resp.release_lifecycle.release_state #=> String, one of "PREVIEW", "GA", "DEPRECATED"
resp.release_lifecycle.deprecation_date #=> String
resp.release_lifecycle.function_create_block_date #=> String
resp.release_lifecycle.function_update_block_date #=> String
resp.created #=> String
resp.last_modified #=> String

Parameters:

  • params (Hash) (defaults to: {}) —

    ({})

Options Hash (params):

  • :runtime_name (required, String) —

    The name or ARN of the runtime.

  • :name (required, String) —

    The name of the runtime alias to retrieve.

Returns:

See Also:



1344
1345
1346
1347
# File 'gems/aws-sdk-lambdacore/lib/aws-sdk-lambdacore/client.rb', line 1344

def get_runtime_alias(params = {}, options = {})
  req = build_request(:get_runtime_alias, params)
  req.send_request(options)
end

#get_runtime_version(params = {}) ⇒ Types::GetRuntimeVersionResponse

Retrieves the configuration, state, and metadata of a runtime version.

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

  • runtime_version_active

Examples:

Example: Get a runtime version


# Retrieves a runtime version, including its resolved image URI, per-architecture platforms, and compatibility matrix.

resp = client.get_runtime_version({
  name: "v1", 
  runtime_name: "php8", 
})

resp.to_h outputs the following:
{
  arn: "arn:aws:lambda:us-west-2:123456789012:runtime/php8/version/v1", 
  compatibility: {
    architectures: [
      "arm64", 
      "x86_64", 
    ], 
    integration_models: [
      "RuntimeAPI", 
    ], 
    managed_instances: "Supported", 
  }, 
  created: "2026-10-01T12:00:00.000Z", 
  last_modified: "2026-10-01T12:00:00.000Z", 
  name: "v1", 
  platforms: [
    {
      architecture: "arm64", 
      digest: "sha256:1a2b3c4d5e6f7a8b9c0d1e2f3a4b5c6d7e8f9a0b1c2d3e4f5a6b7c8d9e0f1a2b", 
      os: "linux", 
    }, 
    {
      architecture: "x86_64", 
      digest: "sha256:2b3c4d5e6f7a8b9c0d1e2f3a4b5c6d7e8f9a0b1c2d3e4f5a6b7c8d9e0f1a2b3c", 
      os: "linux", 
    }, 
  ], 
  release_notes: "Initial release", 
  resolved_uri: "123456789012.dkr.ecr.us-west-2.amazonaws.com/php8@sha256:1a2b3c4d5e6f7a8b9c0d1e2f3a4b5c6d7e8f9a0b1c2d3e4f5a6b7c8d9e0f1a2b", 
  state: "ACTIVE", 
}

Request syntax with placeholder values


resp = client.get_runtime_version({
  runtime_name: "RuntimeIdentifier", # required
  name: "RuntimeVersionName", # required
})

Response structure


resp.name #=> String
resp.arn #=> String
resp.resolved_uri #=> String
resp.state #=> String, one of "CREATING", "ACTIVE", "FAILED", "DELETING", "PENDING_DELETION"
resp.pending_deletion_at #=> String
resp.release_notes #=> String
resp.platforms #=> Array
resp.platforms[0].architecture #=> String
resp.platforms[0].os #=> String
resp.platforms[0].digest #=> String
resp.compatibility.integration_models #=> Array
resp.compatibility.integration_models[0] #=> String, one of "RuntimeAPI"
resp.compatibility.architectures #=> Array
resp.compatibility.architectures[0] #=> String, one of "x86_64", "arm64"
resp.compatibility.managed_instances #=> String, one of "Supported", "NotSupported"
resp.created #=> String
resp.last_modified #=> String

Parameters:

  • params (Hash) (defaults to: {}) —

    ({})

Options Hash (params):

  • :runtime_name (required, String) —

    The name or ARN of the runtime.

  • :name (required, String) —

    The name of the runtime version to retrieve.

Returns:

See Also:



1449
1450
1451
1452
# File 'gems/aws-sdk-lambdacore/lib/aws-sdk-lambdacore/client.rb', line 1449

def get_runtime_version(params = {}, options = {})
  req = build_request(:get_runtime_version, params)
  req.send_request(options)
end

#list_network_connector_versions(params = {}) ⇒ Types::ListNetworkConnectorVersionsResponse

Returns a paginated list of the versions of a network connector. Each configuration update creates a new immutable version; this operation lists those versions for the connector you specify. You can optionally filter results by version state. Use the Marker parameter from a previous response to retrieve the next page of results.

Each item in the response includes the version-qualified ARN, version number, current state, and last modified timestamp for that version. To retrieve the current (latest) configuration of the connector, use GetNetworkConnector; to inspect a specific version, call GetNetworkConnector with a version-qualified identifier.

The returned response is a pageable response and is Enumerable. For details on usage see PageableResponse.

Examples:

Request syntax with placeholder values


resp = client.list_network_connector_versions({
  identifier: "NetworkConnectorIdentifier", # required
  state: "PENDING", # accepts PENDING, ACTIVE, INACTIVE, FAILED, DELETING, DELETE_FAILED
  marker: "String",
  max_items: 1,
})

Response structure


resp.network_connector_versions #=> Array
resp.network_connector_versions[0].arn #=> String
resp.network_connector_versions[0].version_arn #=> String
resp.network_connector_versions[0].name #=> String
resp.network_connector_versions[0].id #=> String
resp.network_connector_versions[0].version #=> Integer
resp.network_connector_versions[0].state #=> String, one of "PENDING", "ACTIVE", "INACTIVE", "FAILED", "DELETING", "DELETE_FAILED"
resp.network_connector_versions[0].state_reason #=> String
resp.network_connector_versions[0].state_reason_code #=> String, one of "DisallowedByVpcEncryptionControl", "Ec2RequestLimitExceeded", "InsufficientRolePermissions", "InternalError", "InvalidSecurityGroup", "InvalidSubnet", "SecurityGroupsPerInterfaceLimitExceeded", "SubnetOutOfIPAddresses"
resp.network_connector_versions[0].last_modified #=> Time
resp.next_marker #=> String

Parameters:

  • params (Hash) (defaults to: {}) —

    ({})

Options Hash (params):

  • :identifier (required, String) —

    The identifier of the network connector whose versions you want to list. You can specify the connector ID, name, or full ARN. Specify an unqualified identifier — this operation lists all versions of the connector, not a specific version.

  • :state (String) —

    Optional filter to return only versions in the specified state (for example, ACTIVE or FAILED).

  • :marker (String) —

    The pagination token from a previous ListNetworkConnectorVersions response. Use this value to retrieve the next page of results.

  • :max_items (Integer) —

    The maximum number of versions to return per page. Valid range: 1 to 100.

Returns:

See Also:



1518
1519
1520
1521
# File 'gems/aws-sdk-lambdacore/lib/aws-sdk-lambdacore/client.rb', line 1518

def list_network_connector_versions(params = {}, options = {})
  req = build_request(:list_network_connector_versions, params)
  req.send_request(options)
end

#list_network_connectors(params = {}) ⇒ Types::ListNetworkConnectorsResponse

Returns a paginated list of network connectors in your account for the current Region. You can optionally filter results by connector state. Use the Marker parameter from a previous response to retrieve the next page of results.

Each item in the response includes the connector ARN, name, ID, type, current state, and last modified timestamp. To retrieve full configuration details for a specific connector, use GetNetworkConnector.

The returned response is a pageable response and is Enumerable. For details on usage see PageableResponse.

Examples:

Request syntax with placeholder values


resp = client.list_network_connectors({
  state: "PENDING", # accepts PENDING, ACTIVE, INACTIVE, FAILED, DELETING, DELETE_FAILED
  marker: "String",
  max_items: 1,
})

Response structure


resp.network_connectors #=> Array
resp.network_connectors[0].arn #=> String
resp.network_connectors[0].name #=> String
resp.network_connectors[0].id #=> String
resp.network_connectors[0].type #=> String, one of "VPC_EGRESS"
resp.network_connectors[0].state #=> String, one of "PENDING", "ACTIVE", "INACTIVE", "FAILED", "DELETING", "DELETE_FAILED"
resp.network_connectors[0].last_modified #=> Time
resp.network_connectors[0].latest_version_arn #=> String
resp.network_connectors[0].latest_version #=> Integer
resp.next_marker #=> String

Parameters:

  • params (Hash) (defaults to: {}) —

    ({})

Options Hash (params):

  • :state (String) —

    Optional filter to return only connectors in the specified state (for example, ACTIVE or FAILED).

  • :marker (String) —

    The pagination token from a previous ListNetworkConnectors response. Use this value to retrieve the next page of results.

  • :max_items (Integer) —

    The maximum number of connectors to return per page. Valid range: 1 to 100.

Returns:

See Also:



1577
1578
1579
1580
# File 'gems/aws-sdk-lambdacore/lib/aws-sdk-lambdacore/client.rb', line 1577

def list_network_connectors(params = {}, options = {})
  req = build_request(:list_network_connectors, params)
  req.send_request(options)
end

#list_runtime_aliases(params = {}) ⇒ Types::ListRuntimeAliasesResponse

Returns a paginated list of aliases for the specified runtime.

The returned response is a pageable response and is Enumerable. For details on usage see PageableResponse.

Examples:

Example: List runtime aliases


# Lists the aliases defined on a runtime.

resp = client.list_runtime_aliases({
  max_results: 10, 
  runtime_name: "php8", 
})

resp.to_h outputs the following:
{
  items: [
    {
      arn: "arn:aws:lambda:us-west-2:123456789012:runtime/php8/alias/latest", 
      created: "2026-10-01T12:00:00.000Z", 
      description: "Points at the newest published version", 
      last_modified: "2026-10-02T09:30:00.000Z", 
      name: "latest", 
      runtime_version: "v1", 
      runtime_version_arn: "arn:aws:lambda:us-west-2:123456789012:runtime/php8/version/v1", 
      state: "ACTIVE", 
    }, 
  ], 
}

Request syntax with placeholder values


resp = client.list_runtime_aliases({
  runtime_name: "RuntimeIdentifier", # required
  next_token: "String",
  max_results: 1,
})

Response structure


resp.items #=> Array
resp.items[0].name #=> String
resp.items[0].arn #=> String
resp.items[0].runtime_version #=> String
resp.items[0].runtime_version_arn #=> String
resp.items[0].state #=> String, one of "CREATING", "ACTIVE", "UPDATING", "DELETING", "PENDING_DELETION"
resp.items[0].pending_deletion_at #=> String
resp.items[0].description #=> String
resp.items[0].compatibility.integration_models #=> Array
resp.items[0].compatibility.integration_models[0] #=> String, one of "RuntimeAPI"
resp.items[0].compatibility.architectures #=> Array
resp.items[0].compatibility.architectures[0] #=> String, one of "x86_64", "arm64"
resp.items[0].compatibility.managed_instances #=> String, one of "Supported", "NotSupported"
resp.items[0].release_lifecycle.release_state #=> String, one of "PREVIEW", "GA", "DEPRECATED"
resp.items[0].release_lifecycle.deprecation_date #=> String
resp.items[0].release_lifecycle.function_create_block_date #=> String
resp.items[0].release_lifecycle.function_update_block_date #=> String
resp.items[0].created #=> String
resp.items[0].last_modified #=> String
resp.next_token #=> String

Parameters:

  • params (Hash) (defaults to: {}) —

    ({})

Options Hash (params):

  • :runtime_name (required, String) —

    The name or ARN of the runtime whose aliases to list.

  • :next_token (String) —

    The pagination token from a previous response. Use it to retrieve the next page of results.

  • :max_results (Integer) —

    The maximum number of runtime aliases to return per page. Valid range: 1 to 100.

Returns:

See Also:



1663
1664
1665
1666
# File 'gems/aws-sdk-lambdacore/lib/aws-sdk-lambdacore/client.rb', line 1663

def list_runtime_aliases(params = {}, options = {})
  req = build_request(:list_runtime_aliases, params)
  req.send_request(options)
end

#list_runtime_versions(params = {}) ⇒ Types::ListRuntimeVersionsResponse

Returns a paginated list of versions for the specified runtime.

The returned response is a pageable response and is Enumerable. For details on usage see PageableResponse.

Examples:

Example: List runtime versions


# Lists the versions published for a runtime.

resp = client.list_runtime_versions({
  max_results: 10, 
  runtime_name: "php8", 
})

resp.to_h outputs the following:
{
  items: [
    {
      arn: "arn:aws:lambda:us-west-2:123456789012:runtime/php8/version/v1", 
      created: "2026-10-01T12:00:00.000Z", 
      last_modified: "2026-10-01T12:00:00.000Z", 
      name: "v1", 
      release_notes: "Initial release", 
      resolved_uri: "123456789012.dkr.ecr.us-west-2.amazonaws.com/php8@sha256:1a2b3c4d5e6f7a8b9c0d1e2f3a4b5c6d7e8f9a0b1c2d3e4f5a6b7c8d9e0f1a2b", 
      state: "ACTIVE", 
    }, 
  ], 
}

Request syntax with placeholder values


resp = client.list_runtime_versions({
  runtime_name: "RuntimeIdentifier", # required
  next_token: "String",
  max_results: 1,
})

Response structure


resp.items #=> Array
resp.items[0].name #=> String
resp.items[0].arn #=> String
resp.items[0].resolved_uri #=> String
resp.items[0].state #=> String, one of "CREATING", "ACTIVE", "FAILED", "DELETING", "PENDING_DELETION"
resp.items[0].pending_deletion_at #=> String
resp.items[0].release_notes #=> String
resp.items[0].compatibility.integration_models #=> Array
resp.items[0].compatibility.integration_models[0] #=> String, one of "RuntimeAPI"
resp.items[0].compatibility.architectures #=> Array
resp.items[0].compatibility.architectures[0] #=> String, one of "x86_64", "arm64"
resp.items[0].compatibility.managed_instances #=> String, one of "Supported", "NotSupported"
resp.items[0].created #=> String
resp.items[0].last_modified #=> String
resp.next_token #=> String

Parameters:

  • params (Hash) (defaults to: {}) —

    ({})

Options Hash (params):

  • :runtime_name (required, String) —

    The name or ARN of the runtime whose versions to list.

  • :next_token (String) —

    The pagination token from a previous response. Use it to retrieve the next page of results.

  • :max_results (Integer) —

    The maximum number of runtime versions to return per page. Valid range: 1 to 100.

Returns:

See Also:



1743
1744
1745
1746
# File 'gems/aws-sdk-lambdacore/lib/aws-sdk-lambdacore/client.rb', line 1743

def list_runtime_versions(params = {}, options = {})
  req = build_request(:list_runtime_versions, params)
  req.send_request(options)
end

#list_runtimes(params = {}) ⇒ Types::ListRuntimesResponse

Returns a paginated list of runtimes in your account for the current Region.

The returned response is a pageable response and is Enumerable. For details on usage see PageableResponse.

Examples:

Example: List runtimes


# Lists the runtimes in the account and region.

resp = client.list_runtimes({
  max_results: 10, 
})

resp.to_h outputs the following:
{
  items: [
    {
      arn: "arn:aws:lambda:us-west-2:123456789012:runtime/php8", 
      created: "2026-10-01T12:00:00.000Z", 
      description: "PHP 8 custom runtime", 
      last_modified: "2026-10-02T09:30:00.000Z", 
      license_info: "MIT", 
      name: "php8", 
      release_lifecycle: {
        release_state: "GA", 
      }, 
    }, 
  ], 
}

Request syntax with placeholder values


resp = client.list_runtimes({
  next_token: "String",
  max_results: 1,
})

Response structure


resp.next_token #=> String
resp.items #=> Array
resp.items[0].arn #=> String
resp.items[0].name #=> String
resp.items[0].description #=> String
resp.items[0].license_info #=> String
resp.items[0].release_lifecycle.release_state #=> String, one of "PREVIEW", "GA", "DEPRECATED"
resp.items[0].release_lifecycle.deprecation_date #=> String
resp.items[0].release_lifecycle.function_create_block_date #=> String
resp.items[0].release_lifecycle.function_update_block_date #=> String
resp.items[0].state #=> String, one of "ACTIVE", "PENDING_DELETION", "DELETING", "FAILED"
resp.items[0].pending_deletion_at #=> String
resp.items[0].created #=> String
resp.items[0].last_modified #=> String

Parameters:

  • params (Hash) (defaults to: {}) —

    ({})

Options Hash (params):

  • :next_token (String) —

    The pagination token from a previous response. Use it to retrieve the next page of results.

  • :max_results (Integer) —

    The maximum number of runtimes to return per page. Valid range: 1 to 100.

Returns:

See Also:



1820
1821
1822
1823
# File 'gems/aws-sdk-lambdacore/lib/aws-sdk-lambdacore/client.rb', line 1820

def list_runtimes(params = {}, options = {})
  req = build_request(:list_runtimes, params)
  req.send_request(options)
end

#restore_runtime(params = {}) ⇒ Types::RestoreRuntimeResponse

Cancels a pending scheduled deletion, returning the resource to the ACTIVE state. Scope is determined by the RuntimeName path parameter plus an optional, mutually exclusive RuntimeVersion or RuntimeAlias query parameter: with neither, the runtime itself is restored; with RuntimeVersion, the named runtime version; with RuntimeAlias, the named runtime alias. Restoring a resource that is already ACTIVE is a no-op success. Restore only works while the target is PENDING_DELETION; once the scheduled deletion has begun executing (DELETING) or has completed, the call fails.

Examples:

Example: Restore a runtime alias that is scheduled for deletion


# Cancels a pending deletion for an alias, returning it to ACTIVE.

resp = client.restore_runtime({
  runtime_alias: "release", 
  runtime_name: "php8", 
})

resp.to_h outputs the following:
{
  arn: "arn:aws:lambda:us-west-2:123456789012:runtime/php8/alias/release", 
  last_modified: "2026-10-02T19:40:00.000Z", 
  runtime_alias: "release", 
  runtime_name: "php8", 
  state: "ACTIVE", 
}

Example: Restore a customer-managed runtime that is scheduled for deletion


# Cancels a pending deletion for the runtime, returning it to ACTIVE.

resp = client.restore_runtime({
  runtime_name: "php8", 
})

resp.to_h outputs the following:
{
  arn: "arn:aws:lambda:us-west-2:123456789012:runtime/php8", 
  last_modified: "2026-10-02T19:41:00.000Z", 
  runtime_name: "php8", 
  state: "ACTIVE", 
}

Request syntax with placeholder values


resp = client.restore_runtime({
  runtime_name: "RuntimeIdentifier", # required
  runtime_version: "RuntimeVersionName",
  runtime_alias: "RuntimeAliasName",
})

Response structure


resp.runtime_name #=> String
resp.runtime_version #=> String
resp.runtime_alias #=> String
resp.arn #=> String
resp.state #=> String, one of "ACTIVE", "PENDING_DELETION", "DELETING", "FAILED"
resp.last_modified #=> String

Parameters:

  • params (Hash) (defaults to: {}) —

    ({})

Options Hash (params):

  • :runtime_name (required, String) —

    The name or ARN of the runtime to restore. When RuntimeVersion or RuntimeAlias is specified, the runtime that owns the runtime version or runtime alias to restore.

  • :runtime_version (String) —

    Optional. Restores the named RuntimeVersion under RuntimeName. Mutually exclusive with RuntimeAlias; supplying both is rejected with InvalidParameterValueException.

  • :runtime_alias (String) —

    Optional. Restores the named RuntimeAlias under RuntimeName. Mutually exclusive with RuntimeVersion; supplying both is rejected with InvalidParameterValueException.

Returns:

See Also:



1915
1916
1917
1918
# File 'gems/aws-sdk-lambdacore/lib/aws-sdk-lambdacore/client.rb', line 1915

def restore_runtime(params = {}, options = {})
  req = build_request(:restore_runtime, params)
  req.send_request(options)
end

#update_network_connector(params = {}) ⇒ Types::UpdateNetworkConnectorResponse

Updates the VPC configuration or operator role of an existing network connector. You can modify the subnet IDs, security group IDs, network protocol, or operator role. The connector must be in ACTIVE state to accept updates.

This operation is asynchronous. The connector remains in ACTIVE state during the update — existing workloads that reference this connector are not disrupted. Use GetNetworkConnector to monitor the LastUpdateStatus field, which transitions through InProgress to Successful or Failed. If the update fails, the LastUpdateStatusReasonCode field provides a specific error code for troubleshooting. This operation is idempotent when you provide a ClientToken.

Each successful configuration change creates a new immutable version. A connector can have a limited number of versions; once that limit is reached, further updates fail with NetworkConnectorLimitExceededException until you delete older versions.

Examples:

Request syntax with placeholder values


resp = client.update_network_connector({
  identifier: "NetworkConnectorIdentifier", # required
  configuration: {
    vpc_egress_configuration: {
      subnet_ids: ["NetworkConnectorSubnetId"],
      security_group_ids: ["NetworkConnectorSecurityGroupId"],
      network_protocol: "IPv4", # accepts IPv4, DualStack
      associated_compute_resource_types: ["MicroVm"], # accepts MicroVm, WebFunction
    },
  },
  operator_role: "NetworkConnectorRoleArn",
  client_token: "ClientTokenString",
})

Response structure


resp.arn #=> String
resp.name #=> String
resp.id #=> String
resp.version_arn #=> String
resp.version #=> Integer
resp.operator_role #=> String
resp.configuration.vpc_egress_configuration.subnet_ids #=> Array
resp.configuration.vpc_egress_configuration.subnet_ids[0] #=> String
resp.configuration.vpc_egress_configuration.security_group_ids #=> Array
resp.configuration.vpc_egress_configuration.security_group_ids[0] #=> String
resp.configuration.vpc_egress_configuration.network_protocol #=> String, one of "IPv4", "DualStack"
resp.configuration.vpc_egress_configuration.associated_compute_resource_types #=> Array
resp.configuration.vpc_egress_configuration.associated_compute_resource_types[0] #=> String, one of "MicroVm", "WebFunction"
resp.state #=> String, one of "PENDING", "ACTIVE", "INACTIVE", "FAILED", "DELETING", "DELETE_FAILED"
resp.last_update_status #=> String, one of "Successful", "Failed", "InProgress"
resp.last_update_status_reason #=> String
resp.last_modified #=> Time

Parameters:

  • params (Hash) (defaults to: {}) —

    ({})

Options Hash (params):

  • :identifier (required, String) —

    The identifier of the network connector to update. You can specify the connector ID, name, or full ARN.

  • :configuration (Types::NetworkConnectorConfiguration) —

    The updated network configuration for the connector. Provide the full VpcEgressConfiguration including all subnet IDs and security group IDs — this replaces the existing configuration.

  • :operator_role (String) —

    The updated ARN of the IAM role that Lambda assumes to manage ENIs. Use this to change the operator role without recreating the connector.

  • :client_token (String) —

    A unique, case-sensitive identifier to ensure idempotency of the update request.

    A suitable default value is auto-generated. You should normally not need to pass this option.**

Returns:

See Also:



2014
2015
2016
2017
# File 'gems/aws-sdk-lambdacore/lib/aws-sdk-lambdacore/client.rb', line 2014

def update_network_connector(params = {}, options = {})
  req = build_request(:update_network_connector, params)
  req.send_request(options)
end

#update_runtime(params = {}) ⇒ Types::UpdateRuntimeResponse

Updates the properties of an existing customer-managed runtime, such as its description, license information, or lifecycle information.

Examples:

Example: Update a runtime


# Updates a runtime's description and declares it generally available.

resp = client.update_runtime({
  description: "PHP 8 custom runtime (updated)", 
  release_lifecycle: {
    release_state: "GA", 
  }, 
  runtime_name: "php8", 
})

resp.to_h outputs the following:
{
  arn: "arn:aws:lambda:us-west-2:123456789012:runtime/php8", 
  created: "2026-10-01T12:00:00.000Z", 
  description: "PHP 8 custom runtime (updated)", 
  last_modified: "2026-10-02T09:30:00.000Z", 
  license_info: "MIT", 
  name: "php8", 
  release_lifecycle: {
    release_state: "GA", 
  }, 
}

Request syntax with placeholder values


resp = client.update_runtime({
  runtime_name: "RuntimeIdentifier", # required
  description: "RuntimeDescription",
  license_info: "RuntimeLicenseInfo",
  release_lifecycle: {
    release_state: "PREVIEW", # accepts PREVIEW, GA, DEPRECATED
    deprecation_date: "RuntimeLifecycleDate",
    function_create_block_date: "RuntimeLifecycleDate",
    function_update_block_date: "RuntimeLifecycleDate",
  },
})

Response structure


resp.arn #=> String
resp.name #=> String
resp.description #=> String
resp.license_info #=> String
resp.release_lifecycle.release_state #=> String, one of "PREVIEW", "GA", "DEPRECATED"
resp.release_lifecycle.deprecation_date #=> String
resp.release_lifecycle.function_create_block_date #=> String
resp.release_lifecycle.function_update_block_date #=> String
resp.created #=> String
resp.last_modified #=> String

Parameters:

  • params (Hash) (defaults to: {}) —

    ({})

Options Hash (params):

  • :runtime_name (required, String) —

    The name or ARN of the runtime to update.

  • :description (String) —

    The updated description of the runtime.

  • :license_info (String) —

    The updated license information for the runtime.

  • :release_lifecycle (Types::RuntimeReleaseLifecycle) —

    The runtime lifecycle for the runtime. Optional. Used to schedule runtime deprecation. Omitting or providing an empty object removes the existing lifecycle.

Returns:

See Also:



2103
2104
2105
2106
# File 'gems/aws-sdk-lambdacore/lib/aws-sdk-lambdacore/client.rb', line 2103

def update_runtime(params = {}, options = {})
  req = build_request(:update_runtime, params)
  req.send_request(options)
end

#update_runtime_alias(params = {}) ⇒ Types::UpdateRuntimeAliasResponse

Updates an existing runtime alias to point to a different runtime version or to change its description or lifecycle information.

Examples:

Example: Update a runtime alias


# Repoints an alias at a different runtime version.

resp = client.update_runtime_alias({
  name: "latest", 
  runtime_name: "php8", 
  runtime_version: "v2", 
})

resp.to_h outputs the following:
{
  arn: "arn:aws:lambda:us-west-2:123456789012:runtime/php8/alias/latest", 
  created: "2026-10-01T12:00:00.000Z", 
  description: "Points at the newest published version", 
  last_modified: "2026-10-03T08:15:00.000Z", 
  name: "latest", 
  runtime_name: "php8", 
  runtime_version: "v2", 
  runtime_version_arn: "arn:aws:lambda:us-west-2:123456789012:runtime/php8/version/v2", 
  state: "UPDATING", 
}

Request syntax with placeholder values


resp = client.update_runtime_alias({
  runtime_name: "RuntimeIdentifier", # required
  name: "RuntimeAliasName", # required
  runtime_version: "RuntimeVersionName", # required
  description: "RuntimeAliasDescription",
  release_lifecycle: {
    release_state: "PREVIEW", # accepts PREVIEW, GA, DEPRECATED
    deprecation_date: "RuntimeLifecycleDate",
    function_create_block_date: "RuntimeLifecycleDate",
    function_update_block_date: "RuntimeLifecycleDate",
  },
})

Response structure


resp.runtime_name #=> String
resp.name #=> String
resp.arn #=> String
resp.runtime_version #=> String
resp.runtime_version_arn #=> String
resp.state #=> String, one of "CREATING", "ACTIVE", "UPDATING", "DELETING", "PENDING_DELETION"
resp.description #=> String
resp.compatibility.integration_models #=> Array
resp.compatibility.integration_models[0] #=> String, one of "RuntimeAPI"
resp.compatibility.architectures #=> Array
resp.compatibility.architectures[0] #=> String, one of "x86_64", "arm64"
resp.compatibility.managed_instances #=> String, one of "Supported", "NotSupported"
resp.release_lifecycle.release_state #=> String, one of "PREVIEW", "GA", "DEPRECATED"
resp.release_lifecycle.deprecation_date #=> String
resp.release_lifecycle.function_create_block_date #=> String
resp.release_lifecycle.function_update_block_date #=> String
resp.created #=> String
resp.last_modified #=> String

Parameters:

  • params (Hash) (defaults to: {}) —

    ({})

Options Hash (params):

  • :runtime_name (required, String) —

    The name or ARN of the runtime.

  • :name (required, String) —

    The name of the runtime alias to update.

  • :runtime_version (required, String) —

    The name of the runtime version the alias should point to.

  • :description (String) —

    A description of the runtime alias.

  • :release_lifecycle (Types::RuntimeReleaseLifecycle) —

    The lifecycle for the alias. By default, this is inherited from the runtime lifecycle. Optionally, you can override the lifecycle information at the alias level, if required. Omitting or providing an empty object removes the existing lifecycle override.

Returns:

See Also:



2207
2208
2209
2210
# File 'gems/aws-sdk-lambdacore/lib/aws-sdk-lambdacore/client.rb', line 2207

def update_runtime_alias(params = {}, options = {})
  req = build_request(:update_runtime_alias, params)
  req.send_request(options)
end

#update_runtime_version(params = {}) ⇒ Types::UpdateRuntimeVersionResponse

Updates the runtime version release notes. The runtime version must be in the ACTIVE state. The runtime version image is immutable. To change the runtime contents, create a new runtime version.

Examples:

Example: Update a runtime version's release notes


# Updates the release notes of an ACTIVE runtime version.

resp = client.update_runtime_version({
  name: "v1", 
  release_notes: "Patched OpenSSL to 3.0.14", 
  runtime_name: "php8", 
})

resp.to_h outputs the following:
{
  arn: "arn:aws:lambda:us-west-2:123456789012:runtime/php8/version/v1", 
  created: "2026-10-01T12:00:00.000Z", 
  last_modified: "2026-10-03T08:15:00.000Z", 
  name: "v1", 
  release_notes: "Patched OpenSSL to 3.0.14", 
  resolved_uri: "123456789012.dkr.ecr.us-west-2.amazonaws.com/php8@sha256:1a2b3c4d5e6f7a8b9c0d1e2f3a4b5c6d7e8f9a0b1c2d3e4f5a6b7c8d9e0f1a2b", 
  state: "ACTIVE", 
}

Request syntax with placeholder values


resp = client.update_runtime_version({
  runtime_name: "RuntimeIdentifier", # required
  name: "RuntimeVersionName", # required
  release_notes: "String", # required
})

Response structure


resp.name #=> String
resp.arn #=> String
resp.resolved_uri #=> String
resp.state #=> String, one of "CREATING", "ACTIVE", "FAILED", "DELETING", "PENDING_DELETION"
resp.release_notes #=> String
resp.platforms #=> Array
resp.platforms[0].architecture #=> String
resp.platforms[0].os #=> String
resp.platforms[0].digest #=> String
resp.compatibility.integration_models #=> Array
resp.compatibility.integration_models[0] #=> String, one of "RuntimeAPI"
resp.compatibility.architectures #=> Array
resp.compatibility.architectures[0] #=> String, one of "x86_64", "arm64"
resp.compatibility.managed_instances #=> String, one of "Supported", "NotSupported"
resp.created #=> String
resp.last_modified #=> String

Parameters:

  • params (Hash) (defaults to: {}) —

    ({})

Options Hash (params):

  • :runtime_name (required, String) —

    The name or ARN of the runtime.

  • :name (required, String) —

    The name of the runtime version to update.

  • :release_notes (required, String) —

    The release notes to associate with the runtime version.

Returns:

See Also:



2290
2291
2292
2293
# File 'gems/aws-sdk-lambdacore/lib/aws-sdk-lambdacore/client.rb', line 2290

def update_runtime_version(params = {}, options = {})
  req = build_request(:update_runtime_version, params)
  req.send_request(options)
end

#wait_until(waiter_name, params = {}, options = {}) {|w.waiter| ... } ⇒ Boolean

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 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
runtime_alias_active #get_runtime_alias 2 60
runtime_version_active #get_runtime_version 2 60

Parameters:

  • waiter_name (Symbol)
  • params (Hash) (defaults to: {}) —

    ({})

  • options (Hash) (defaults to: {}) —

    ({})

Options Hash (options):

  • :max_attempts (Integer)
  • :delay (Integer)
  • :before_attempt (Proc)
  • :before_wait (Proc)

Yields:

  • (w.waiter)

Returns:

  • (Boolean) —

    Returns true if the waiter was successful.

Raises:

  • (Errors::FailureStateError) —

    Raised when the waiter terminates because the waiter has entered a state that it will not transition out of, preventing success.

  • (Errors::TooManyAttemptsError) —

    Raised when the configured maximum number of attempts have been made, and the waiter is not yet successful.

  • (Errors::UnexpectedError) —

    Raised when an error is encounted while polling for a resource that is not expected.

  • (Errors::NoSuchWaiterError) —

    Raised when you request to wait for an unknown state.



2406
2407
2408
2409
2410
# File 'gems/aws-sdk-lambdacore/lib/aws-sdk-lambdacore/client.rb', line 2406

def wait_until(waiter_name, params = {}, options = {})
  w = waiter(waiter_name, options)
  yield(w.waiter) if block_given? # deprecated
  w.wait(params)
end