Class: Aws::ElasticBeanstalk::Client

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

Overview

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

client = Aws::ElasticBeanstalk::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. 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, :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.

  • :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.

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

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

  • :disable_host_prefix_injection (Boolean) — default: false

    Set to true to disable SDK automatically adding host prefix to default service endpoint when available.

  • :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.

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

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

  • :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.

  • :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: "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.

  • :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)

    A Bearer Token Provider. This can be an 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::ElasticBeanstalk::EndpointProvider)

    The endpoint provider used to resolve endpoints. Any object that responds to #resolve_endpoint(parameters) where parameters is a Struct similar to Aws::ElasticBeanstalk::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.



444
445
446
# File 'gems/aws-sdk-elasticbeanstalk/lib/aws-sdk-elasticbeanstalk/client.rb', line 444

def initialize(*args)
  super
end

Instance Method Details

#abort_environment_update(params = {}) ⇒ Struct

Cancels in-progress environment configuration update or application version deployment.

Examples:

Example: To abort a deployment


# The following code aborts a running application version deployment for an environment named my-env:

resp = client.abort_environment_update({
  environment_name: "my-env", 
})

Request syntax with placeholder values


resp = client.abort_environment_update({
  environment_id: "EnvironmentId",
  environment_name: "EnvironmentName",
})

Parameters:

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

    ({})

Options Hash (params):

  • :environment_id (String)

    This specifies the ID of the environment with the in-progress update that you want to cancel.

  • :environment_name (String)

    This specifies the name of the environment with the in-progress update that you want to cancel.

Returns:

  • (Struct)

    Returns an empty response.

See Also:



483
484
485
486
# File 'gems/aws-sdk-elasticbeanstalk/lib/aws-sdk-elasticbeanstalk/client.rb', line 483

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

#apply_environment_managed_action(params = {}) ⇒ Types::ApplyEnvironmentManagedActionResult

Applies a scheduled managed action immediately. A managed action can be applied only if its status is Scheduled. Get the status and action ID of a managed action with DescribeEnvironmentManagedActions.

Examples:

Request syntax with placeholder values


resp = client.apply_environment_managed_action({
  environment_name: "String",
  environment_id: "String",
  action_id: "String", # required
})

Response structure


resp.action_id #=> String
resp.action_description #=> String
resp.action_type #=> String, one of "InstanceRefresh", "PlatformUpdate", "Unknown"
resp.status #=> String

Parameters:

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

    ({})

Options Hash (params):

  • :environment_name (String)

    The name of the target environment.

  • :environment_id (String)

    The environment ID of the target environment.

  • :action_id (required, String)

    The action ID of the scheduled managed action to execute.

Returns:

See Also:



527
528
529
530
# File 'gems/aws-sdk-elasticbeanstalk/lib/aws-sdk-elasticbeanstalk/client.rb', line 527

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

#associate_environment_operations_role(params = {}) ⇒ Struct

Add or change the operations role used by an environment. After this call is made, Elastic Beanstalk uses the associated operations role for permissions to downstream services during subsequent calls acting on this environment. For more information, see Operations roles in the AWS Elastic Beanstalk Developer Guide.

Examples:

Request syntax with placeholder values


resp = client.associate_environment_operations_role({
  environment_name: "EnvironmentName", # required
  operations_role: "OperationsRole", # required
})

Parameters:

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

    ({})

Options Hash (params):

  • :environment_name (required, String)

    The name of the environment to which to set the operations role.

  • :operations_role (required, String)

    The Amazon Resource Name (ARN) of an existing IAM role to be used as the environment's operations role.

Returns:

  • (Struct)

    Returns an empty response.

See Also:



562
563
564
565
# File 'gems/aws-sdk-elasticbeanstalk/lib/aws-sdk-elasticbeanstalk/client.rb', line 562

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

#check_dns_availability(params = {}) ⇒ Types::CheckDNSAvailabilityResultMessage

Checks if the specified CNAME is available.

Examples:

Example: To check the availability of a CNAME


# The following operation checks the availability of the subdomain my-cname:

resp = client.check_dns_availability({
  cname_prefix: "my-cname", 
})

resp.to_h outputs the following:
{
  available: true, 
  fully_qualified_cname: "my-cname.us-west-2.elasticbeanstalk.com", 
}

Request syntax with placeholder values


resp = client.check_dns_availability({
  cname_prefix: "DNSCnamePrefix", # required
})

Response structure


resp.available #=> Boolean
resp.fully_qualified_cname #=> String

Parameters:

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

    ({})

Options Hash (params):

  • :cname_prefix (required, String)

    The prefix used when this CNAME is reserved.

Returns:

See Also:



607
608
609
610
# File 'gems/aws-sdk-elasticbeanstalk/lib/aws-sdk-elasticbeanstalk/client.rb', line 607

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

#compose_environments(params = {}) ⇒ Types::EnvironmentDescriptionsMessage

Create or update a group of environments that each run a separate component of a single application. Takes a list of version labels that specify application source bundles for each of the environments to create or update. The name of each environment and other required information must be included in the source bundles in an environment manifest named env.yaml. See Compose Environments for details.

Examples:

Request syntax with placeholder values


resp = client.compose_environments({
  application_name: "ApplicationName",
  group_name: "GroupName",
  version_labels: ["VersionLabel"],
})

Response structure


resp.environments #=> Array
resp.environments[0].environment_name #=> String
resp.environments[0].environment_id #=> String
resp.environments[0].application_name #=> String
resp.environments[0].version_label #=> String
resp.environments[0].solution_stack_name #=> String
resp.environments[0].platform_arn #=> String
resp.environments[0].template_name #=> String
resp.environments[0].description #=> String
resp.environments[0].endpoint_url #=> String
resp.environments[0].cname #=> String
resp.environments[0].date_created #=> Time
resp.environments[0].date_updated #=> Time
resp.environments[0].status #=> String, one of "Aborting", "Launching", "Updating", "LinkingFrom", "LinkingTo", "Ready", "Terminating", "Terminated"
resp.environments[0].abortable_operation_in_progress #=> Boolean
resp.environments[0].health #=> String, one of "Green", "Yellow", "Red", "Grey"
resp.environments[0].health_status #=> String, one of "NoData", "Unknown", "Pending", "Ok", "Info", "Warning", "Degraded", "Severe", "Suspended"
resp.environments[0].resources.load_balancer.load_balancer_name #=> String
resp.environments[0].resources.load_balancer.domain #=> String
resp.environments[0].resources.load_balancer.listeners #=> Array
resp.environments[0].resources.load_balancer.listeners[0].protocol #=> String
resp.environments[0].resources.load_balancer.listeners[0].port #=> Integer
resp.environments[0].tier.name #=> String
resp.environments[0].tier.type #=> String
resp.environments[0].tier.version #=> String
resp.environments[0].environment_links #=> Array
resp.environments[0].environment_links[0].link_name #=> String
resp.environments[0].environment_links[0].environment_name #=> String
resp.environments[0].environment_arn #=> String
resp.environments[0].operations_role #=> String
resp.next_token #=> String

Parameters:

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

    ({})

Options Hash (params):

  • :application_name (String)

    The name of the application to which the specified source bundles belong.

  • :group_name (String)

    The name of the group to which the target environments belong. Specify a group name only if the environment name defined in each target environment's manifest ends with a + (plus) character. See Environment Manifest (env.yaml) for details.

  • :version_labels (Array<String>)

    A list of version labels, specifying one or more application source bundles that belong to the target application. Each source bundle must include an environment manifest that specifies the name of the environment and the name of the solution stack to use, and optionally can specify environment links to create.

Returns:

See Also:



695
696
697
698
# File 'gems/aws-sdk-elasticbeanstalk/lib/aws-sdk-elasticbeanstalk/client.rb', line 695

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

#create_application(params = {}) ⇒ Types::ApplicationDescriptionMessage

Creates an application that has one configuration template named default and no application versions.

Examples:

Example: To create a new application


# The following operation creates a new application named my-app:

resp = client.create_application({
  application_name: "my-app", 
  description: "my application", 
})

resp.to_h outputs the following:
{
  application: {
    application_name: "my-app", 
    configuration_templates: [
    ], 
    date_created: Time.parse("2015-02-12T18:32:21.181Z"), 
    date_updated: Time.parse("2015-02-12T18:32:21.181Z"), 
    description: "my application", 
  }, 
}

Request syntax with placeholder values


resp = client.create_application({
  application_name: "ApplicationName", # required
  description: "Description",
  resource_lifecycle_config: {
    service_role: "String",
    version_lifecycle_config: {
      max_count_rule: {
        enabled: false, # required
        max_count: 1,
        delete_source_from_s3: false,
      },
      max_age_rule: {
        enabled: false, # required
        max_age_in_days: 1,
        delete_source_from_s3: false,
      },
    },
  },
  tags: [
    {
      key: "TagKey",
      value: "TagValue",
    },
  ],
})

Response structure


resp.application.application_arn #=> String
resp.application.application_name #=> String
resp.application.description #=> String
resp.application.date_created #=> Time
resp.application.date_updated #=> Time
resp.application.versions #=> Array
resp.application.versions[0] #=> String
resp.application.configuration_templates #=> Array
resp.application.configuration_templates[0] #=> String
resp.application.resource_lifecycle_config.service_role #=> String
resp.application.resource_lifecycle_config.version_lifecycle_config.max_count_rule.enabled #=> Boolean
resp.application.resource_lifecycle_config.version_lifecycle_config.max_count_rule.max_count #=> Integer
resp.application.resource_lifecycle_config.version_lifecycle_config.max_count_rule.delete_source_from_s3 #=> Boolean
resp.application.resource_lifecycle_config.version_lifecycle_config.max_age_rule.enabled #=> Boolean
resp.application.resource_lifecycle_config.version_lifecycle_config.max_age_rule.max_age_in_days #=> Integer
resp.application.resource_lifecycle_config.version_lifecycle_config.max_age_rule.delete_source_from_s3 #=> Boolean

Parameters:

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

    ({})

Options Hash (params):

  • :application_name (required, String)

    The name of the application. Must be unique within your account.

  • :description (String)

    Your description of the application.

  • :resource_lifecycle_config (Types::ApplicationResourceLifecycleConfig)

    Specifies an application resource lifecycle configuration to prevent your application from accumulating too many versions.

  • :tags (Array<Types::Tag>)

    Specifies the tags applied to the application.

    Elastic Beanstalk applies these tags only to the application. Environments that you create in the application don't inherit the tags.

Returns:

See Also:



797
798
799
800
# File 'gems/aws-sdk-elasticbeanstalk/lib/aws-sdk-elasticbeanstalk/client.rb', line 797

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

#create_application_version(params = {}) ⇒ Types::ApplicationVersionDescriptionMessage

Creates an application version for the specified application. You can create an application version from a source bundle in Amazon S3, a commit in AWS CodeCommit, or the output of an AWS CodeBuild build as follows:

Specify a commit in an AWS CodeCommit repository with SourceBuildInformation.

Specify a build in an AWS CodeBuild with SourceBuildInformation and BuildConfiguration.

Specify a source bundle in S3 with SourceBundle

Omit both SourceBuildInformation and SourceBundle to use the default sample application.

After you create an application version with a specified Amazon S3 bucket and key location, you can't change that Amazon S3 location. If you change the Amazon S3 location, you receive an exception when you attempt to launch an environment from the application version.

Examples:

Example: To create a new application


# The following operation creates a new version (v1) of an application named my-app:

resp = client.create_application_version({
  application_name: "my-app", 
  auto_create_application: true, 
  description: "my-app-v1", 
  process: true, 
  source_bundle: {
    s3_bucket: "my-bucket", 
    s3_key: "sample.war", 
  }, 
  version_label: "v1", 
})

resp.to_h outputs the following:
{
  application_version: {
    application_name: "my-app", 
    date_created: Time.parse("2015-02-03T23:01:25.412Z"), 
    date_updated: Time.parse("2015-02-03T23:01:25.412Z"), 
    description: "my-app-v1", 
    source_bundle: {
      s3_bucket: "my-bucket", 
      s3_key: "sample.war", 
    }, 
    version_label: "v1", 
  }, 
}

Request syntax with placeholder values


resp = client.create_application_version({
  application_name: "ApplicationName", # required
  version_label: "VersionLabel", # required
  description: "Description",
  source_build_information: {
    source_type: "Git", # required, accepts Git, Zip
    source_repository: "CodeCommit", # required, accepts CodeCommit, S3
    source_location: "SourceLocation", # required
  },
  source_bundle: {
    s3_bucket: "S3Bucket",
    s3_key: "S3Key",
  },
  build_configuration: {
    artifact_name: "String",
    code_build_service_role: "NonEmptyString", # required
    compute_type: "BUILD_GENERAL1_SMALL", # accepts BUILD_GENERAL1_SMALL, BUILD_GENERAL1_MEDIUM, BUILD_GENERAL1_LARGE
    image: "NonEmptyString", # required
    timeout_in_minutes: 1,
  },
  auto_create_application: false,
  process: false,
  tags: [
    {
      key: "TagKey",
      value: "TagValue",
    },
  ],
})

Response structure


resp.application_version.application_version_arn #=> String
resp.application_version.application_name #=> String
resp.application_version.description #=> String
resp.application_version.version_label #=> String
resp.application_version.source_build_information.source_type #=> String, one of "Git", "Zip"
resp.application_version.source_build_information.source_repository #=> String, one of "CodeCommit", "S3"
resp.application_version.source_build_information.source_location #=> String
resp.application_version.build_arn #=> String
resp.application_version.source_bundle.s3_bucket #=> String
resp.application_version.source_bundle.s3_key #=> String
resp.application_version.date_created #=> Time
resp.application_version.date_updated #=> Time
resp.application_version.status #=> String, one of "Processed", "Unprocessed", "Failed", "Processing", "Building"

Parameters:

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

    ({})

Options Hash (params):

  • :application_name (required, String)

    The name of the application. If no application is found with this name, and AutoCreateApplication is false, returns an InvalidParameterValue error.

  • :version_label (required, String)

    A label identifying this version.

    Constraint: Must be unique per application. If an application version already exists with this label for the specified application, AWS Elastic Beanstalk returns an InvalidParameterValue error.

  • :description (String)

    A description of this application version.

  • :source_build_information (Types::SourceBuildInformation)

    Specify a commit in an AWS CodeCommit Git repository to use as the source code for the application version.

  • :source_bundle (Types::S3Location)

    The Amazon S3 bucket and key that identify the location of the source bundle for this version.

    The Amazon S3 bucket must be in the same region as the environment.

    Specify a source bundle in S3 or a commit in an AWS CodeCommit repository (with SourceBuildInformation), but not both. If neither SourceBundle nor SourceBuildInformation are provided, Elastic Beanstalk uses a sample application.

  • :build_configuration (Types::BuildConfiguration)

    Settings for an AWS CodeBuild build.

  • :auto_create_application (Boolean)

    Set to true to create an application with the specified name if it doesn't already exist.

  • :process (Boolean)

    Pre-processes and validates the environment manifest (env.yaml) and configuration files (*.config files in the .ebextensions folder) in the source bundle. Validating configuration files can identify issues prior to deploying the application version to an environment.

    You must turn processing on for application versions that you create using AWS CodeBuild or AWS CodeCommit. For application versions built from a source bundle in Amazon S3, processing is optional.

    The Process option validates Elastic Beanstalk configuration files. It doesn't validate your application's configuration files, like proxy server or Docker configuration.

  • :tags (Array<Types::Tag>)

    Specifies the tags applied to the application version.

    Elastic Beanstalk applies these tags only to the application version. Environments that use the application version don't inherit the tags.

Returns:

See Also:



974
975
976
977
# File 'gems/aws-sdk-elasticbeanstalk/lib/aws-sdk-elasticbeanstalk/client.rb', line 974

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

#create_configuration_template(params = {}) ⇒ Types::ConfigurationSettingsDescription

Creates an AWS Elastic Beanstalk configuration template, associated with a specific Elastic Beanstalk application. You define application configuration settings in a configuration template. You can then use the configuration template to deploy different versions of the application with the same configuration settings.

Templates aren't associated with any environment. The EnvironmentName response element is always null.

Related Topics

  • DescribeConfigurationOptions

  • DescribeConfigurationSettings

  • ListAvailableSolutionStacks

Examples:

Example: To create a configuration template


# The following operation creates a configuration template named my-app-v1 from the settings applied to an environment
# with the id e-rpqsewtp2j:

resp = client.create_configuration_template({
  application_name: "my-app", 
  environment_id: "e-rpqsewtp2j", 
  template_name: "my-app-v1", 
})

resp.to_h outputs the following:
{
  application_name: "my-app", 
  date_created: Time.parse("2015-08-12T18:40:39Z"), 
  date_updated: Time.parse("2015-08-12T18:40:39Z"), 
  solution_stack_name: "64bit Amazon Linux 2015.03 v2.0.0 running Tomcat 8 Java 8", 
  template_name: "my-app-v1", 
}

Request syntax with placeholder values


resp = client.create_configuration_template({
  application_name: "ApplicationName", # required
  template_name: "ConfigurationTemplateName", # required
  solution_stack_name: "SolutionStackName",
  platform_arn: "PlatformArn",
  source_configuration: {
    application_name: "ApplicationName",
    template_name: "ConfigurationTemplateName",
  },
  environment_id: "EnvironmentId",
  description: "Description",
  option_settings: [
    {
      resource_name: "ResourceName",
      namespace: "OptionNamespace",
      option_name: "ConfigurationOptionName",
      value: "ConfigurationOptionValue",
    },
  ],
  tags: [
    {
      key: "TagKey",
      value: "TagValue",
    },
  ],
})

Response structure


resp.solution_stack_name #=> String
resp.platform_arn #=> String
resp.application_name #=> String
resp.template_name #=> String
resp.description #=> String
resp.environment_name #=> String
resp.deployment_status #=> String, one of "deployed", "pending", "failed"
resp.date_created #=> Time
resp.date_updated #=> Time
resp.option_settings #=> Array
resp.option_settings[0].resource_name #=> String
resp.option_settings[0].namespace #=> String
resp.option_settings[0].option_name #=> String
resp.option_settings[0].value #=> String

Parameters:

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

    ({})

Options Hash (params):

  • :application_name (required, String)

    The name of the Elastic Beanstalk application to associate with this configuration template.

  • :template_name (required, String)

    The name of the configuration template.

    Constraint: This name must be unique per application.

  • :solution_stack_name (String)

    The name of an Elastic Beanstalk solution stack (platform version) that this configuration uses. For example, 64bit Amazon Linux 2013.09 running Tomcat 7 Java 7. A solution stack specifies the operating system, runtime, and application server for a configuration template. It also determines the set of configuration options as well as the possible and default values. For more information, see Supported Platforms in the AWS Elastic Beanstalk Developer Guide.

    You must specify SolutionStackName if you don't specify PlatformArn, EnvironmentId, or SourceConfiguration.

    Use the ListAvailableSolutionStacks API to obtain a list of available solution stacks.

  • :platform_arn (String)

    The Amazon Resource Name (ARN) of the custom platform. For more information, see Custom Platforms in the AWS Elastic Beanstalk Developer Guide.

    If you specify PlatformArn, then don't specify SolutionStackName.

  • :source_configuration (Types::SourceConfiguration)

    An Elastic Beanstalk configuration template to base this one on. If specified, Elastic Beanstalk uses the configuration values from the specified configuration template to create a new configuration.

    Values specified in OptionSettings override any values obtained from the SourceConfiguration.

    You must specify SourceConfiguration if you don't specify PlatformArn, EnvironmentId, or SolutionStackName.

    Constraint: If both solution stack name and source configuration are specified, the solution stack of the source configuration template must match the specified solution stack name.

  • :environment_id (String)

    The ID of an environment whose settings you want to use to create the configuration template. You must specify EnvironmentId if you don't specify PlatformArn, SolutionStackName, or SourceConfiguration.

  • :description (String)

    An optional description for this configuration.

  • :option_settings (Array<Types::ConfigurationOptionSetting>)

    Option values for the Elastic Beanstalk configuration, such as the instance type. If specified, these values override the values obtained from the solution stack or the source configuration template. For a complete list of Elastic Beanstalk configuration options, see Option Values in the AWS Elastic Beanstalk Developer Guide.

  • :tags (Array<Types::Tag>)

    Specifies the tags applied to the configuration template.

Returns:

See Also:



1159
1160
1161
1162
# File 'gems/aws-sdk-elasticbeanstalk/lib/aws-sdk-elasticbeanstalk/client.rb', line 1159

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

#create_environment(params = {}) ⇒ Types::EnvironmentDescription

Launches an AWS Elastic Beanstalk environment for the specified application using the specified configuration.

Examples:

Example: To create a new environment for an application


# The following operation creates a new environment for version v1 of a java application named my-app:

resp = client.create_environment({
  application_name: "my-app", 
  cname_prefix: "my-app", 
  environment_name: "my-env", 
  solution_stack_name: "64bit Amazon Linux 2015.03 v2.0.0 running Tomcat 8 Java 8", 
  version_label: "v1", 
})

resp.to_h outputs the following:
{
  application_name: "my-app", 
  cname: "my-app.elasticbeanstalk.com", 
  date_created: Time.parse("2015-02-03T23:04:54.479Z"), 
  date_updated: Time.parse("2015-02-03T23:04:54.479Z"), 
  environment_id: "e-izqpassy4h", 
  environment_name: "my-env", 
  health: "Grey", 
  solution_stack_name: "64bit Amazon Linux 2015.03 v2.0.0 running Tomcat 8 Java 8", 
  status: "Launching", 
  tier: {
    name: "WebServer", 
    type: "Standard", 
    version: " ", 
  }, 
  version_label: "v1", 
}

Request syntax with placeholder values


resp = client.create_environment({
  application_name: "ApplicationName", # required
  environment_name: "EnvironmentName",
  group_name: "GroupName",
  description: "Description",
  cname_prefix: "DNSCnamePrefix",
  tier: {
    name: "String",
    type: "String",
    version: "String",
  },
  tags: [
    {
      key: "TagKey",
      value: "TagValue",
    },
  ],
  version_label: "VersionLabel",
  template_name: "ConfigurationTemplateName",
  solution_stack_name: "SolutionStackName",
  platform_arn: "PlatformArn",
  option_settings: [
    {
      resource_name: "ResourceName",
      namespace: "OptionNamespace",
      option_name: "ConfigurationOptionName",
      value: "ConfigurationOptionValue",
    },
  ],
  options_to_remove: [
    {
      resource_name: "ResourceName",
      namespace: "OptionNamespace",
      option_name: "ConfigurationOptionName",
    },
  ],
  operations_role: "OperationsRole",
})

Response structure


resp.environment_name #=> String
resp.environment_id #=> String
resp.application_name #=> String
resp.version_label #=> String
resp.solution_stack_name #=> String
resp.platform_arn #=> String
resp.template_name #=> String
resp.description #=> String
resp.endpoint_url #=> String
resp.cname #=> String
resp.date_created #=> Time
resp.date_updated #=> Time
resp.status #=> String, one of "Aborting", "Launching", "Updating", "LinkingFrom", "LinkingTo", "Ready", "Terminating", "Terminated"
resp.abortable_operation_in_progress #=> Boolean
resp.health #=> String, one of "Green", "Yellow", "Red", "Grey"
resp.health_status #=> String, one of "NoData", "Unknown", "Pending", "Ok", "Info", "Warning", "Degraded", "Severe", "Suspended"
resp.resources.load_balancer.load_balancer_name #=> String
resp.resources.load_balancer.domain #=> String
resp.resources.load_balancer.listeners #=> Array
resp.resources.load_balancer.listeners[0].protocol #=> String
resp.resources.load_balancer.listeners[0].port #=> Integer
resp.tier.name #=> String
resp.tier.type #=> String
resp.tier.version #=> String
resp.environment_links #=> Array
resp.environment_links[0].link_name #=> String
resp.environment_links[0].environment_name #=> String
resp.environment_arn #=> String
resp.operations_role #=> String

Parameters:

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

    ({})

Options Hash (params):

  • :application_name (required, String)

    The name of the application that is associated with this environment.

  • :environment_name (String)

    A unique name for the environment.

    Constraint: Must be from 4 to 40 characters in length. The name can contain only letters, numbers, and hyphens. It can't start or end with a hyphen. This name must be unique within a region in your account. If the specified name already exists in the region, Elastic Beanstalk returns an InvalidParameterValue error.

    If you don't specify the CNAMEPrefix parameter, the environment name becomes part of the CNAME, and therefore part of the visible URL for your application.

  • :group_name (String)

    The name of the group to which the target environment belongs. Specify a group name only if the environment's name is specified in an environment manifest and not with the environment name parameter. See Environment Manifest (env.yaml) for details.

  • :description (String)

    Your description for this environment.

  • :cname_prefix (String)

    If specified, the environment attempts to use this value as the prefix for the CNAME in your Elastic Beanstalk environment URL. If not specified, the CNAME is generated automatically by appending a random alphanumeric string to the environment name.

  • :tier (Types::EnvironmentTier)

    Specifies the tier to use in creating this environment. The environment tier that you choose determines whether Elastic Beanstalk provisions resources to support a web application that handles HTTP(S) requests or a web application that handles background-processing tasks.

  • :tags (Array<Types::Tag>)

    Specifies the tags applied to resources in the environment.

  • :version_label (String)

    The name of the application version to deploy.

    Default: If not specified, Elastic Beanstalk attempts to deploy the sample application.

  • :template_name (String)

    The name of the Elastic Beanstalk configuration template to use with the environment.

    If you specify TemplateName, then don't specify SolutionStackName.

  • :solution_stack_name (String)

    The name of an Elastic Beanstalk solution stack (platform version) to use with the environment. If specified, Elastic Beanstalk sets the configuration values to the default values associated with the specified solution stack. For a list of current solution stacks, see Elastic Beanstalk Supported Platforms in the AWS Elastic Beanstalk Platforms guide.

    If you specify SolutionStackName, don't specify PlatformArn or TemplateName.

  • :platform_arn (String)

    The Amazon Resource Name (ARN) of the custom platform to use with the environment. For more information, see Custom Platforms in the AWS Elastic Beanstalk Developer Guide.

    If you specify PlatformArn, don't specify SolutionStackName.

  • :option_settings (Array<Types::ConfigurationOptionSetting>)

    If specified, AWS Elastic Beanstalk sets the specified configuration options to the requested value in the configuration set for the new environment. These override the values obtained from the solution stack or the configuration template.

  • :options_to_remove (Array<Types::OptionSpecification>)

    A list of custom user-defined configuration options to remove from the configuration set for this new environment.

  • :operations_role (String)

    The Amazon Resource Name (ARN) of an existing IAM role to be used as the environment's operations role. If specified, Elastic Beanstalk uses the operations role for permissions to downstream services during this call and during subsequent calls acting on this environment. To specify an operations role, you must have the iam:PassRole permission for the role. For more information, see Operations roles in the AWS Elastic Beanstalk Developer Guide.

Returns:

See Also:



1413
1414
1415
1416
# File 'gems/aws-sdk-elasticbeanstalk/lib/aws-sdk-elasticbeanstalk/client.rb', line 1413

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

#create_platform_version(params = {}) ⇒ Types::CreatePlatformVersionResult

Create a new version of your custom platform.

Examples:

Request syntax with placeholder values


resp = client.create_platform_version({
  platform_name: "PlatformName", # required
  platform_version: "PlatformVersion", # required
  platform_definition_bundle: { # required
    s3_bucket: "S3Bucket",
    s3_key: "S3Key",
  },
  environment_name: "EnvironmentName",
  option_settings: [
    {
      resource_name: "ResourceName",
      namespace: "OptionNamespace",
      option_name: "ConfigurationOptionName",
      value: "ConfigurationOptionValue",
    },
  ],
  tags: [
    {
      key: "TagKey",
      value: "TagValue",
    },
  ],
})

Response structure


resp.platform_summary.platform_arn #=> String
resp.platform_summary.platform_owner #=> String
resp.platform_summary.platform_status #=> String, one of "Creating", "Failed", "Ready", "Deleting", "Deleted"
resp.platform_summary.platform_category #=> String
resp.platform_summary.operating_system_name #=> String
resp.platform_summary.operating_system_version #=> String
resp.platform_summary.supported_tier_list #=> Array
resp.platform_summary.supported_tier_list[0] #=> String
resp.platform_summary.supported_addon_list #=> Array
resp.platform_summary.supported_addon_list[0] #=> String
resp.platform_summary.platform_lifecycle_state #=> String
resp.platform_summary.platform_version #=> String
resp.platform_summary.platform_branch_name #=> String
resp.platform_summary.platform_branch_lifecycle_state #=> String
resp.builder.arn #=> String

Parameters:

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

    ({})

Options Hash (params):

  • :platform_name (required, String)

    The name of your custom platform.

  • :platform_version (required, String)

    The number, such as 1.0.2, for the new platform version.

  • :platform_definition_bundle (required, Types::S3Location)

    The location of the platform definition archive in Amazon S3.

  • :environment_name (String)

    The name of the builder environment.

  • :option_settings (Array<Types::ConfigurationOptionSetting>)

    The configuration option settings to apply to the builder environment.

  • :tags (Array<Types::Tag>)

    Specifies the tags applied to the new platform version.

    Elastic Beanstalk applies these tags only to the platform version. Environments that you create using the platform version don't inherit the tags.

Returns:

See Also:



1495
1496
1497
1498
# File 'gems/aws-sdk-elasticbeanstalk/lib/aws-sdk-elasticbeanstalk/client.rb', line 1495

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

#create_storage_location(params = {}) ⇒ Types::CreateStorageLocationResultMessage

Creates a bucket in Amazon S3 to store application versions, logs, and other files used by Elastic Beanstalk environments. The Elastic Beanstalk console and EB CLI call this API the first time you create an environment in a region. If the storage location already exists, CreateStorageLocation still returns the bucket name but does not create a new bucket.

Examples:

Example: To create a new environment for an application


# The following operation creates a new environment for version v1 of a java application named my-app:

resp = client.create_storage_location({
})

resp.to_h outputs the following:
{
  s3_bucket: "elasticbeanstalk-us-west-2-0123456789012", 
}

Response structure


resp.s3_bucket #=> String

Parameters:

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

    ({})

Returns:

See Also:



1532
1533
1534
1535
# File 'gems/aws-sdk-elasticbeanstalk/lib/aws-sdk-elasticbeanstalk/client.rb', line 1532

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

#delete_application(params = {}) ⇒ Struct

Deletes the specified application along with all associated versions and configurations. The application versions will not be deleted from your Amazon S3 bucket.

You cannot delete an application that has a running environment.

Examples:

Example: To delete an application


# The following operation deletes an application named my-app:

resp = client.delete_application({
  application_name: "my-app", 
})

Request syntax with placeholder values


resp = client.delete_application({
  application_name: "ApplicationName", # required
  terminate_env_by_force: false,
})

Parameters:

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

    ({})

Options Hash (params):

  • :application_name (required, String)

    The name of the application to delete.

  • :terminate_env_by_force (Boolean)

    When set to true, running environments will be terminated before deleting the application.

Returns:

  • (Struct)

    Returns an empty response.

See Also:



1574
1575
1576
1577
# File 'gems/aws-sdk-elasticbeanstalk/lib/aws-sdk-elasticbeanstalk/client.rb', line 1574

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

#delete_application_version(params = {}) ⇒ Struct

Deletes the specified version from the specified application.

You cannot delete an application version that is associated with a running environment.

Examples:

Example: To delete an application version


# The following operation deletes an application version named 22a0-stage-150819_182129 for an application named my-app:

resp = client.delete_application_version({
  application_name: "my-app", 
  delete_source_bundle: true, 
  version_label: "22a0-stage-150819_182129", 
})

Request syntax with placeholder values


resp = client.delete_application_version({
  application_name: "ApplicationName", # required
  version_label: "VersionLabel", # required
  delete_source_bundle: false,
})

Parameters:

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

    ({})

Options Hash (params):

  • :application_name (required, String)

    The name of the application to which the version belongs.

  • :version_label (required, String)

    The label of the version to delete.

  • :delete_source_bundle (Boolean)

    Set to true to delete the source bundle from your storage bucket. Otherwise, the application version is deleted only from Elastic Beanstalk and the source bundle remains in Amazon S3.

Returns:

  • (Struct)

    Returns an empty response.

See Also:



1622
1623
1624
1625
# File 'gems/aws-sdk-elasticbeanstalk/lib/aws-sdk-elasticbeanstalk/client.rb', line 1622

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

#delete_configuration_template(params = {}) ⇒ Struct

Deletes the specified configuration template.

When you launch an environment using a configuration template, the environment gets a copy of the template. You can delete or modify the environment's copy of the template without affecting the running environment.

Examples:

Example: To delete a configuration template


# The following operation deletes a configuration template named my-template for an application named my-app:

resp = client.delete_configuration_template({
  application_name: "my-app", 
  template_name: "my-template", 
})

Request syntax with placeholder values


resp = client.delete_configuration_template({
  application_name: "ApplicationName", # required
  template_name: "ConfigurationTemplateName", # required
})

Parameters:

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

    ({})

Options Hash (params):

  • :application_name (required, String)

    The name of the application to delete the configuration template from.

  • :template_name (required, String)

    The name of the configuration template to delete.

Returns:

  • (Struct)

    Returns an empty response.

See Also:



1665
1666
1667
1668
# File 'gems/aws-sdk-elasticbeanstalk/lib/aws-sdk-elasticbeanstalk/client.rb', line 1665

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

#delete_environment_configuration(params = {}) ⇒ Struct

Deletes the draft configuration associated with the running environment.

Updating a running environment with any configuration changes creates a draft configuration set. You can get the draft configuration using DescribeConfigurationSettings while the update is in progress or if the update fails. The DeploymentStatus for the draft configuration indicates whether the deployment is in process or has failed. The draft configuration remains in existence until it is deleted with this action.

Examples:

Example: To delete a draft configuration


# The following operation deletes a draft configuration for an environment named my-env:

resp = client.delete_environment_configuration({
  application_name: "my-app", 
  environment_name: "my-env", 
})

Request syntax with placeholder values


resp = client.delete_environment_configuration({
  application_name: "ApplicationName", # required
  environment_name: "EnvironmentName", # required
})

Parameters:

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

    ({})

Options Hash (params):

  • :application_name (required, String)

    The name of the application the environment is associated with.

  • :environment_name (required, String)

    The name of the environment to delete the draft configuration from.

Returns:

  • (Struct)

    Returns an empty response.

See Also:



1710
1711
1712
1713
# File 'gems/aws-sdk-elasticbeanstalk/lib/aws-sdk-elasticbeanstalk/client.rb', line 1710

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

#delete_platform_version(params = {}) ⇒ Types::DeletePlatformVersionResult

Deletes the specified version of a custom platform.

Examples:

Request syntax with placeholder values


resp = client.delete_platform_version({
  platform_arn: "PlatformArn",
})

Response structure


resp.platform_summary.platform_arn #=> String
resp.platform_summary.platform_owner #=> String
resp.platform_summary.platform_status #=> String, one of "Creating", "Failed", "Ready", "Deleting", "Deleted"
resp.platform_summary.platform_category #=> String
resp.platform_summary.operating_system_name #=> String
resp.platform_summary.operating_system_version #=> String
resp.platform_summary.supported_tier_list #=> Array
resp.platform_summary.supported_tier_list[0] #=> String
resp.platform_summary.supported_addon_list #=> Array
resp.platform_summary.supported_addon_list[0] #=> String
resp.platform_summary.platform_lifecycle_state #=> String
resp.platform_summary.platform_version #=> String
resp.platform_summary.platform_branch_name #=> String
resp.platform_summary.platform_branch_lifecycle_state #=> String

Parameters:

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

    ({})

Options Hash (params):

  • :platform_arn (String)

    The ARN of the version of the custom platform.

Returns:

See Also:



1751
1752
1753
1754
# File 'gems/aws-sdk-elasticbeanstalk/lib/aws-sdk-elasticbeanstalk/client.rb', line 1751

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

#describe_account_attributes(params = {}) ⇒ Types::DescribeAccountAttributesResult

Returns attributes related to AWS Elastic Beanstalk that are associated with the calling AWS account.

The result currently has one set of attributes—resource quotas.

Examples:

Response structure


resp.resource_quotas.application_quota.maximum #=> Integer
resp.resource_quotas.application_version_quota.maximum #=> Integer
resp.resource_quotas.environment_quota.maximum #=> Integer
resp.resource_quotas.configuration_template_quota.maximum #=> Integer
resp.resource_quotas.custom_platform_quota.maximum #=> Integer

Parameters:

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

    ({})

Returns:

See Also:



1777
1778
1779
1780
# File 'gems/aws-sdk-elasticbeanstalk/lib/aws-sdk-elasticbeanstalk/client.rb', line 1777

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

#describe_application_versions(params = {}) ⇒ Types::ApplicationVersionDescriptionsMessage

Retrieve a list of application versions.

Examples:

Example: To view information about an application version


# The following operation retrieves information about an application version labeled v2:

resp = client.describe_application_versions({
  application_name: "my-app", 
  version_labels: [
    "v2", 
  ], 
})

resp.to_h outputs the following:
{
  application_versions: [
    {
      application_name: "my-app", 
      date_created: Time.parse("2015-07-23T01:32:26.079Z"), 
      date_updated: Time.parse("2015-07-23T01:32:26.079Z"), 
      description: "update cover page", 
      source_bundle: {
        s3_bucket: "elasticbeanstalk-us-west-2-015321684451", 
        s3_key: "my-app/5026-stage-150723_224258.war", 
      }, 
      version_label: "v2", 
    }, 
    {
      application_name: "my-app", 
      date_created: Time.parse("2015-07-23T22:26:10.816Z"), 
      date_updated: Time.parse("2015-07-23T22:26:10.816Z"), 
      description: "initial version", 
      source_bundle: {
        s3_bucket: "elasticbeanstalk-us-west-2-015321684451", 
        s3_key: "my-app/5026-stage-150723_222618.war", 
      }, 
      version_label: "v1", 
    }, 
  ], 
}

Request syntax with placeholder values


resp = client.describe_application_versions({
  application_name: "ApplicationName",
  version_labels: ["VersionLabel"],
  max_records: 1,
  next_token: "Token",
})

Response structure


resp.application_versions #=> Array
resp.application_versions[0].application_version_arn #=> String
resp.application_versions[0].application_name #=> String
resp.application_versions[0].description #=> String
resp.application_versions[0].version_label #=> String
resp.application_versions[0].source_build_information.source_type #=> String, one of "Git", "Zip"
resp.application_versions[0].source_build_information.source_repository #=> String, one of "CodeCommit", "S3"
resp.application_versions[0].source_build_information.source_location #=> String
resp.application_versions[0].build_arn #=> String
resp.application_versions[0].source_bundle.s3_bucket #=> String
resp.application_versions[0].source_bundle.s3_key #=> String
resp.application_versions[0].date_created #=> Time
resp.application_versions[0].date_updated #=> Time
resp.application_versions[0].status #=> String, one of "Processed", "Unprocessed", "Failed", "Processing", "Building"
resp.next_token #=> String

Parameters:

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

    ({})

Options Hash (params):

  • :application_name (String)

    Specify an application name to show only application versions for that application.

  • :version_labels (Array<String>)

    Specify a version label to show a specific application version.

  • :max_records (Integer)

    For a paginated request. Specify a maximum number of application versions to include in each response.

    If no MaxRecords is specified, all available application versions are retrieved in a single response.

  • :next_token (String)

    For a paginated request. Specify a token from a previous response page to retrieve the next response page. All other parameter values must be identical to the ones specified in the initial request.

    If no NextToken is specified, the first page is retrieved.

Returns:

See Also:



1881
1882
1883
1884
# File 'gems/aws-sdk-elasticbeanstalk/lib/aws-sdk-elasticbeanstalk/client.rb', line 1881

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

#describe_applications(params = {}) ⇒ Types::ApplicationDescriptionsMessage

Returns the descriptions of existing applications.

Examples:

Example: To view a list of applications


# The following operation retrieves information about applications in the current region:

resp = client.describe_applications({
})

resp.to_h outputs the following:
{
  applications: [
    {
      application_name: "ruby", 
      configuration_templates: [
      ], 
      date_created: Time.parse("2015-08-13T21:05:44.376Z"), 
      date_updated: Time.parse("2015-08-13T21:05:44.376Z"), 
      versions: [
        "Sample Application", 
      ], 
    }, 
    {
      application_name: "pythonsample", 
      configuration_templates: [
      ], 
      date_created: Time.parse("2015-08-13T19:05:43.637Z"), 
      date_updated: Time.parse("2015-08-13T19:05:43.637Z"), 
      description: "Application created from the EB CLI using \"eb init\"", 
      versions: [
        "Sample Application", 
      ], 
    }, 
    {
      application_name: "nodejs-example", 
      configuration_templates: [
      ], 
      date_created: Time.parse("2015-08-06T17:50:02.486Z"), 
      date_updated: Time.parse("2015-08-06T17:50:02.486Z"), 
      versions: [
        "add elasticache", 
        "First Release", 
      ], 
    }, 
  ], 
}

Request syntax with placeholder values


resp = client.describe_applications({
  application_names: ["ApplicationName"],
})

Response structure


resp.applications #=> Array
resp.applications[0].application_arn #=> String
resp.applications[0].application_name #=> String
resp.applications[0].description #=> String
resp.applications[0].date_created #=> Time
resp.applications[0].date_updated #=> Time
resp.applications[0].versions #=> Array
resp.applications[0].versions[0] #=> String
resp.applications[0].configuration_templates #=> Array
resp.applications[0].configuration_templates[0] #=> String
resp.applications[0].resource_lifecycle_config.service_role #=> String
resp.applications[0].resource_lifecycle_config.version_lifecycle_config.max_count_rule.enabled #=> Boolean
resp.applications[0].resource_lifecycle_config.version_lifecycle_config.max_count_rule.max_count #=> Integer
resp.applications[0].resource_lifecycle_config.version_lifecycle_config.max_count_rule.delete_source_from_s3 #=> Boolean
resp.applications[0].resource_lifecycle_config.version_lifecycle_config.max_age_rule.enabled #=> Boolean
resp.applications[0].resource_lifecycle_config.version_lifecycle_config.max_age_rule.max_age_in_days #=> Integer
resp.applications[0].resource_lifecycle_config.version_lifecycle_config.max_age_rule.delete_source_from_s3 #=> Boolean

Parameters:

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

    ({})

Options Hash (params):

  • :application_names (Array<String>)

    If specified, AWS Elastic Beanstalk restricts the returned descriptions to only include those with the specified names.

Returns:

See Also:



1972
1973
1974
1975
# File 'gems/aws-sdk-elasticbeanstalk/lib/aws-sdk-elasticbeanstalk/client.rb', line 1972

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

#describe_configuration_options(params = {}) ⇒ Types::ConfigurationOptionsDescription

Describes the configuration options that are used in a particular configuration template or environment, or that a specified solution stack defines. The description includes the values the options, their default values, and an indication of the required action on a running environment if an option value is changed.

Examples:

Example: To view configuration options for an environment


# The following operation retrieves descriptions of all available configuration options for an environment named my-env:

resp = client.describe_configuration_options({
  application_name: "my-app", 
  environment_name: "my-env", 
})

resp.to_h outputs the following:
{
  options: [
    {
      change_severity: "NoInterruption", 
      default_value: "30", 
      max_value: 300, 
      min_value: 5, 
      name: "Interval", 
      namespace: "aws:elb:healthcheck", 
      user_defined: false, 
      value_type: "Scalar", 
    }, 
    {
      change_severity: "NoInterruption", 
      default_value: "2000000", 
      min_value: 0, 
      name: "LowerThreshold", 
      namespace: "aws:autoscaling:trigger", 
      user_defined: false, 
      value_type: "Scalar", 
    }, 
  ], 
}

Request syntax with placeholder values


resp = client.describe_configuration_options({
  application_name: "ApplicationName",
  template_name: "ConfigurationTemplateName",
  environment_name: "EnvironmentName",
  solution_stack_name: "SolutionStackName",
  platform_arn: "PlatformArn",
  options: [
    {
      resource_name: "ResourceName",
      namespace: "OptionNamespace",
      option_name: "ConfigurationOptionName",
    },
  ],
})

Response structure


resp.solution_stack_name #=> String
resp.platform_arn #=> String
resp.options #=> Array
resp.options[0].namespace #=> String
resp.options[0].name #=> String
resp.options[0].default_value #=> String
resp.options[0].change_severity #=> String
resp.options[0].user_defined #=> Boolean
resp.options[0].value_type #=> String, one of "Scalar", "List"
resp.options[0].value_options #=> Array
resp.options[0].value_options[0] #=> String
resp.options[0].min_value #=> Integer
resp.options[0].max_value #=> Integer
resp.options[0].max_length #=> Integer
resp.options[0].regex.pattern #=> String
resp.options[0].regex.label #=> String

Parameters:

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

    ({})

Options Hash (params):

  • :application_name (String)

    The name of the application associated with the configuration template or environment. Only needed if you want to describe the configuration options associated with either the configuration template or environment.

  • :template_name (String)

    The name of the configuration template whose configuration options you want to describe.

  • :environment_name (String)

    The name of the environment whose configuration options you want to describe.

  • :solution_stack_name (String)

    The name of the solution stack whose configuration options you want to describe.

  • :platform_arn (String)

    The ARN of the custom platform.

  • :options (Array<Types::OptionSpecification>)

    If specified, restricts the descriptions to only the specified options.

Returns:

See Also:



2089
2090
2091
2092
# File 'gems/aws-sdk-elasticbeanstalk/lib/aws-sdk-elasticbeanstalk/client.rb', line 2089

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

#describe_configuration_settings(params = {}) ⇒ Types::ConfigurationSettingsDescriptions

Returns a description of the settings for the specified configuration set, that is, either a configuration template or the configuration set associated with a running environment.

When describing the settings for the configuration set associated with a running environment, it is possible to receive two sets of setting descriptions. One is the deployed configuration set, and the other is a draft configuration of an environment that is either in the process of deployment or that failed to deploy.

Related Topics

  • DeleteEnvironmentConfiguration

^

Examples:

Example: To view configurations settings for an environment


# The following operation retrieves configuration settings for an environment named my-env:

resp = client.describe_configuration_settings({
  application_name: "my-app", 
  environment_name: "my-env", 
})

resp.to_h outputs the following:
{
  configuration_settings: [
    {
      application_name: "my-app", 
      date_created: Time.parse("2015-08-13T19:16:25Z"), 
      date_updated: Time.parse("2015-08-13T23:30:07Z"), 
      deployment_status: "deployed", 
      description: "Environment created from the EB CLI using \"eb create\"", 
      environment_name: "my-env", 
      option_settings: [
        {
          namespace: "aws:autoscaling:asg", 
          option_name: "Availability Zones", 
          resource_name: "AWSEBAutoScalingGroup", 
          value: "Any", 
        }, 
        {
          namespace: "aws:autoscaling:asg", 
          option_name: "Cooldown", 
          resource_name: "AWSEBAutoScalingGroup", 
          value: "360", 
        }, 
        {
          namespace: "aws:elb:policies", 
          option_name: "ConnectionDrainingTimeout", 
          resource_name: "AWSEBLoadBalancer", 
          value: "20", 
        }, 
        {
          namespace: "aws:elb:policies", 
          option_name: "ConnectionSettingIdleTimeout", 
          resource_name: "AWSEBLoadBalancer", 
          value: "60", 
        }, 
      ], 
      solution_stack_name: "64bit Amazon Linux 2015.03 v2.0.0 running Tomcat 8 Java 8", 
    }, 
  ], 
}

Request syntax with placeholder values


resp = client.describe_configuration_settings({
  application_name: "ApplicationName", # required
  template_name: "ConfigurationTemplateName",
  environment_name: "EnvironmentName",
})

Response structure


resp.configuration_settings #=> Array
resp.configuration_settings[0].solution_stack_name #=> String
resp.configuration_settings[0].platform_arn #=> String
resp.configuration_settings[0].application_name #=> String
resp.configuration_settings[0].template_name #=> String
resp.configuration_settings[0].description #=> String
resp.configuration_settings[0].environment_name #=> String
resp.configuration_settings[0].deployment_status #=> String, one of "deployed", "pending", "failed"
resp.configuration_settings[0].date_created #=> Time
resp.configuration_settings[0].date_updated #=> Time
resp.configuration_settings[0].option_settings #=> Array
resp.configuration_settings[0].option_settings[0].resource_name #=> String
resp.configuration_settings[0].option_settings[0].namespace #=> String
resp.configuration_settings[0].option_settings[0].option_name #=> String
resp.configuration_settings[0].option_settings[0].value #=> String

Parameters:

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

    ({})

Options Hash (params):

  • :application_name (required, String)

    The application for the environment or configuration template.

  • :template_name (String)

    The name of the configuration template to describe.

    Conditional: You must specify either this parameter or an EnvironmentName, but not both. If you specify both, AWS Elastic Beanstalk returns an InvalidParameterCombination error. If you do not specify either, AWS Elastic Beanstalk returns a MissingRequiredParameter error.

  • :environment_name (String)

    The name of the environment to describe.

    Condition: You must specify either this or a TemplateName, but not both. If you specify both, AWS Elastic Beanstalk returns an InvalidParameterCombination error. If you do not specify either, AWS Elastic Beanstalk returns MissingRequiredParameter error.

Returns:

See Also:



2215
2216
2217
2218
# File 'gems/aws-sdk-elasticbeanstalk/lib/aws-sdk-elasticbeanstalk/client.rb', line 2215

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

#describe_environment_health(params = {}) ⇒ Types::DescribeEnvironmentHealthResult

Returns information about the overall health of the specified environment. The DescribeEnvironmentHealth operation is only available with AWS Elastic Beanstalk Enhanced Health.

Examples:

Example: To view environment health


# The following operation retrieves overall health information for an environment named my-env:

resp = client.describe_environment_health({
  attribute_names: [
    "All", 
  ], 
  environment_name: "my-env", 
})

resp.to_h outputs the following:
{
  application_metrics: {
    duration: 10, 
    latency: {
      p10: 0.001, 
      p50: 0.001, 
      p75: 0.002, 
      p85: 0.003, 
      p90: 0.003, 
      p95: 0.004, 
      p99: 0.004, 
      p999: 0.004, 
    }, 
    request_count: 45, 
    status_codes: {
      status_2xx: 45, 
      status_3xx: 0, 
      status_4xx: 0, 
      status_5xx: 0, 
    }, 
  }, 
  causes: [
  ], 
  color: "Green", 
  environment_name: "my-env", 
  health_status: "Ok", 
  instances_health: {
    degraded: 0, 
    info: 0, 
    no_data: 0, 
    ok: 1, 
    pending: 0, 
    severe: 0, 
    unknown: 0, 
    warning: 0, 
  }, 
  refreshed_at: Time.parse("2015-08-20T21:09:18Z"), 
}

Request syntax with placeholder values


resp = client.describe_environment_health({
  environment_name: "EnvironmentName",
  environment_id: "EnvironmentId",
  attribute_names: ["Status"], # accepts Status, Color, Causes, ApplicationMetrics, InstancesHealth, All, HealthStatus, RefreshedAt
})

Response structure


resp.environment_name #=> String
resp.health_status #=> String
resp.status #=> String, one of "Green", "Yellow", "Red", "Grey"
resp.color #=> String
resp.causes #=> Array
resp.causes[0] #=> String
resp.application_metrics.duration #=> Integer
resp.application_metrics.request_count #=> Integer
resp.application_metrics.status_codes.status_2xx #=> Integer
resp.application_metrics.status_codes.status_3xx #=> Integer
resp.application_metrics.status_codes.status_4xx #=> Integer
resp.application_metrics.status_codes.status_5xx #=> Integer
resp.application_metrics.latency.p999 #=> Float
resp.application_metrics.latency.p99 #=> Float
resp.application_metrics.latency.p95 #=> Float
resp.application_metrics.latency.p90 #=> Float
resp.application_metrics.latency.p85 #=> Float
resp.application_metrics.latency.p75 #=> Float
resp.application_metrics.latency.p50 #=> Float
resp.application_metrics.latency.p10 #=> Float
resp.instances_health.no_data #=> Integer
resp.instances_health.unknown #=> Integer
resp.instances_health.pending #=> Integer
resp.instances_health.ok #=> Integer
resp.instances_health.info #=> Integer
resp.instances_health.warning #=> Integer
resp.instances_health.degraded #=> Integer
resp.instances_health.severe #=> Integer
resp.refreshed_at #=> Time

Parameters:

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

    ({})

Options Hash (params):

  • :environment_name (String)

    Specify the environment by name.

    You must specify either this or an EnvironmentName, or both.

  • :environment_id (String)

    Specify the environment by ID.

    You must specify either this or an EnvironmentName, or both.

  • :attribute_names (Array<String>)

    Specify the response elements to return. To retrieve all attributes, set to All. If no attribute names are specified, returns the name of the environment.

Returns:

See Also:



2346
2347
2348
2349
# File 'gems/aws-sdk-elasticbeanstalk/lib/aws-sdk-elasticbeanstalk/client.rb', line 2346

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

#describe_environment_managed_action_history(params = {}) ⇒ Types::DescribeEnvironmentManagedActionHistoryResult

Lists an environment's completed and failed managed actions.

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

Examples:

Request syntax with placeholder values


resp = client.describe_environment_managed_action_history({
  environment_id: "EnvironmentId",
  environment_name: "EnvironmentName",
  next_token: "String",
  max_items: 1,
})

Response structure


resp.managed_action_history_items #=> Array
resp.managed_action_history_items[0].action_id #=> String
resp.managed_action_history_items[0].action_type #=> String, one of "InstanceRefresh", "PlatformUpdate", "Unknown"
resp.managed_action_history_items[0].action_description #=> String
resp.managed_action_history_items[0].failure_type #=> String, one of "UpdateCancelled", "CancellationFailed", "RollbackFailed", "RollbackSuccessful", "InternalFailure", "InvalidEnvironmentState", "PermissionsError"
resp.managed_action_history_items[0].status #=> String, one of "Completed", "Failed", "Unknown"
resp.managed_action_history_items[0].failure_description #=> String
resp.managed_action_history_items[0].executed_time #=> Time
resp.managed_action_history_items[0].finished_time #=> Time
resp.next_token #=> String

Parameters:

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

    ({})

Options Hash (params):

  • :environment_id (String)

    The environment ID of the target environment.

  • :environment_name (String)

    The name of the target environment.

  • :next_token (String)

    The pagination token returned by a previous request.

  • :max_items (Integer)

    The maximum number of items to return for a single request.

Returns:

See Also:



2398
2399
2400
2401
# File 'gems/aws-sdk-elasticbeanstalk/lib/aws-sdk-elasticbeanstalk/client.rb', line 2398

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

#describe_environment_managed_actions(params = {}) ⇒ Types::DescribeEnvironmentManagedActionsResult

Lists an environment's upcoming and in-progress managed actions.

Examples:

Request syntax with placeholder values


resp = client.describe_environment_managed_actions({
  environment_name: "String",
  environment_id: "String",
  status: "Scheduled", # accepts Scheduled, Pending, Running, Unknown
})

Response structure


resp.managed_actions #=> Array
resp.managed_actions[0].action_id #=> String
resp.managed_actions[0].action_description #=> String
resp.managed_actions[0].action_type #=> String, one of "InstanceRefresh", "PlatformUpdate", "Unknown"
resp.managed_actions[0].status #=> String, one of "Scheduled", "Pending", "Running", "Unknown"
resp.managed_actions[0].window_start_time #=> Time

Parameters:

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

    ({})

Options Hash (params):

  • :environment_name (String)

    The name of the target environment.

  • :environment_id (String)

    The environment ID of the target environment.

  • :status (String)

    To show only actions with a particular status, specify a status.

Returns:

See Also:



2439
2440
2441
2442
# File 'gems/aws-sdk-elasticbeanstalk/lib/aws-sdk-elasticbeanstalk/client.rb', line 2439

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

#describe_environment_resources(params = {}) ⇒ Types::EnvironmentResourceDescriptionsMessage

Returns AWS resources for this environment.

Examples:

Example: To view information about the AWS resources in your environment


# The following operation retrieves information about resources in an environment named my-env:

resp = client.describe_environment_resources({
  environment_name: "my-env", 
})

resp.to_h outputs the following:
{
  environment_resources: {
    auto_scaling_groups: [
      {
        name: "awseb-e-qu3fyyjyjs-stack-AWSEBAutoScalingGroup-QSB2ZO88SXZT", 
      }, 
    ], 
    environment_name: "my-env", 
    instances: [
      {
        id: "i-0c91c786", 
      }, 
    ], 
    launch_configurations: [
      {
        name: "awseb-e-qu3fyyjyjs-stack-AWSEBAutoScalingLaunchConfiguration-1UUVQIBC96TQ2", 
      }, 
    ], 
    load_balancers: [
      {
        name: "awseb-e-q-AWSEBLoa-1EEPZ0K98BIF0", 
      }, 
    ], 
    queues: [
    ], 
    triggers: [
    ], 
  }, 
}

Request syntax with placeholder values


resp = client.describe_environment_resources({
  environment_id: "EnvironmentId",
  environment_name: "EnvironmentName",
})

Response structure


resp.environment_resources.environment_name #=> String
resp.environment_resources.auto_scaling_groups #=> Array
resp.environment_resources.auto_scaling_groups[0].name #=> String
resp.environment_resources.instances #=> Array
resp.environment_resources.instances[0].id #=> String
resp.environment_resources.launch_configurations #=> Array
resp.environment_resources.launch_configurations[0].name #=> String
resp.environment_resources.launch_templates #=> Array
resp.environment_resources.launch_templates[0].id #=> String
resp.environment_resources.load_balancers #=> Array
resp.environment_resources.load_balancers[0].name #=> String
resp.environment_resources.triggers #=> Array
resp.environment_resources.triggers[0].name #=> String
resp.environment_resources.queues #=> Array
resp.environment_resources.queues[0].name #=> String
resp.environment_resources.queues[0].url #=> String

Parameters:

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

    ({})

Options Hash (params):

  • :environment_id (String)

    The ID of the environment to retrieve AWS resource usage data.

    Condition: You must specify either this or an EnvironmentName, or both. If you do not specify either, AWS Elastic Beanstalk returns MissingRequiredParameter error.

  • :environment_name (String)

    The name of the environment to retrieve AWS resource usage data.

    Condition: You must specify either this or an EnvironmentId, or both. If you do not specify either, AWS Elastic Beanstalk returns MissingRequiredParameter error.

Returns:

See Also:



2534
2535
2536
2537
# File 'gems/aws-sdk-elasticbeanstalk/lib/aws-sdk-elasticbeanstalk/client.rb', line 2534

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

#describe_environments(params = {}) ⇒ Types::EnvironmentDescriptionsMessage

Returns descriptions for existing environments.

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

  • environment_exists
  • environment_terminated
  • environment_updated

Examples:

Example: To view information about an environment


# The following operation retrieves information about an environment named my-env:

resp = client.describe_environments({
  environment_names: [
    "my-env", 
  ], 
})

resp.to_h outputs the following:
{
  environments: [
    {
      abortable_operation_in_progress: false, 
      application_name: "my-app", 
      cname: "my-env.elasticbeanstalk.com", 
      date_created: Time.parse("2015-08-07T20:48:49.599Z"), 
      date_updated: Time.parse("2015-08-12T18:16:55.019Z"), 
      endpoint_url: "awseb-e-w-AWSEBLoa-1483140XB0Q4L-109QXY8121.us-west-2.elb.amazonaws.com", 
      environment_id: "e-rpqsewtp2j", 
      environment_name: "my-env", 
      health: "Green", 
      solution_stack_name: "64bit Amazon Linux 2015.03 v2.0.0 running Tomcat 8 Java 8", 
      status: "Ready", 
      tier: {
        name: "WebServer", 
        type: "Standard", 
        version: " ", 
      }, 
      version_label: "7f58-stage-150812_025409", 
    }, 
  ], 
}

Request syntax with placeholder values


resp = client.describe_environments({
  application_name: "ApplicationName",
  version_label: "VersionLabel",
  environment_ids: ["EnvironmentId"],
  environment_names: ["EnvironmentName"],
  include_deleted: false,
  included_deleted_back_to: Time.now,
  max_records: 1,
  next_token: "Token",
})

Response structure


resp.environments #=> Array
resp.environments[0].environment_name #=> String
resp.environments[0].environment_id #=> String
resp.environments[0].application_name #=> String
resp.environments[0].version_label #=> String
resp.environments[0].solution_stack_name #=> String
resp.environments[0].platform_arn #=> String
resp.environments[0].template_name #=> String
resp.environments[0].description #=> String
resp.environments[0].endpoint_url #=> String
resp.environments[0].cname #=> String
resp.environments[0].date_created #=> Time
resp.environments[0].date_updated #=> Time
resp.environments[0].status #=> String, one of "Aborting", "Launching", "Updating", "LinkingFrom", "LinkingTo", "Ready", "Terminating", "Terminated"
resp.environments[0].abortable_operation_in_progress #=> Boolean
resp.environments[0].health #=> String, one of "Green", "Yellow", "Red", "Grey"
resp.environments[0].health_status #=> String, one of "NoData", "Unknown", "Pending", "Ok", "Info", "Warning", "Degraded", "Severe", "Suspended"
resp.environments[0].resources.load_balancer.load_balancer_name #=> String
resp.environments[0].resources.load_balancer.domain #=> String
resp.environments[0].resources.load_balancer.listeners #=> Array
resp.environments[0].resources.load_balancer.listeners[0].protocol #=> String
resp.environments[0].resources.load_balancer.listeners[0].port #=> Integer
resp.environments[0].tier.name #=> String
resp.environments[0].tier.type #=> String
resp.environments[0].tier.version #=> String
resp.environments[0].environment_links #=> Array
resp.environments[0].environment_links[0].link_name #=> String
resp.environments[0].environment_links[0].environment_name #=> String
resp.environments[0].environment_arn #=> String
resp.environments[0].operations_role #=> String
resp.next_token #=> String

Parameters:

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

    ({})

Options Hash (params):

  • :application_name (String)

    If specified, AWS Elastic Beanstalk restricts the returned descriptions to include only those that are associated with this application.

  • :version_label (String)

    If specified, AWS Elastic Beanstalk restricts the returned descriptions to include only those that are associated with this application version.

  • :environment_ids (Array<String>)

    If specified, AWS Elastic Beanstalk restricts the returned descriptions to include only those that have the specified IDs.

  • :environment_names (Array<String>)

    If specified, AWS Elastic Beanstalk restricts the returned descriptions to include only those that have the specified names.

  • :include_deleted (Boolean)

    Indicates whether to include deleted environments:

    true: Environments that have been deleted after IncludedDeletedBackTo are displayed.

    false: Do not include deleted environments.

  • :included_deleted_back_to (Time, DateTime, Date, Integer, String)

    If specified when IncludeDeleted is set to true, then environments deleted after this date are displayed.

  • :max_records (Integer)

    For a paginated request. Specify a maximum number of environments to include in each response.

    If no MaxRecords is specified, all available environments are retrieved in a single response.

  • :next_token (String)

    For a paginated request. Specify a token from a previous response page to retrieve the next response page. All other parameter values must be identical to the ones specified in the initial request.

    If no NextToken is specified, the first page is retrieved.

Returns:

See Also:



2684
2685
2686
2687
# File 'gems/aws-sdk-elasticbeanstalk/lib/aws-sdk-elasticbeanstalk/client.rb', line 2684

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

#describe_events(params = {}) ⇒ Types::EventDescriptionsMessage

Returns list of event descriptions matching criteria up to the last 6 weeks.

This action returns the most recent 1,000 events from the specified NextToken.

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

Examples:

Example: To view events for an environment


# The following operation retrieves events for an environment named my-env:

resp = client.describe_events({
  environment_name: "my-env", 
})

resp.to_h outputs the following:
{
  events: [
    {
      application_name: "my-app", 
      environment_name: "my-env", 
      event_date: Time.parse("2015-08-20T07:06:53.535Z"), 
      message: "Environment health has transitioned from Info to Ok.", 
      severity: "INFO", 
    }, 
    {
      application_name: "my-app", 
      environment_name: "my-env", 
      event_date: Time.parse("2015-08-20T07:06:02.049Z"), 
      message: "Environment update completed successfully.", 
      request_id: "b7f3960b-4709-11e5-ba1e-07e16200da41", 
      severity: "INFO", 
    }, 
    {
      application_name: "my-app", 
      environment_name: "my-env", 
      event_date: Time.parse("2015-08-13T19:16:27.561Z"), 
      message: "Using elasticbeanstalk-us-west-2-012445113685 as Amazon S3 storage bucket for environment data.", 
      request_id: "ca8dfbf6-41ef-11e5-988b-651aa638f46b", 
      severity: "INFO", 
    }, 
    {
      application_name: "my-app", 
      environment_name: "my-env", 
      event_date: Time.parse("2015-08-13T19:16:26.581Z"), 
      message: "createEnvironment is starting.", 
      request_id: "cdfba8f6-41ef-11e5-988b-65638f41aa6b", 
      severity: "INFO", 
    }, 
  ], 
}

Request syntax with placeholder values


resp = client.describe_events({
  application_name: "ApplicationName",
  version_label: "VersionLabel",
  template_name: "ConfigurationTemplateName",
  environment_id: "EnvironmentId",
  environment_name: "EnvironmentName",
  platform_arn: "PlatformArn",
  request_id: "RequestId",
  severity: "TRACE", # accepts TRACE, DEBUG, INFO, WARN, ERROR, FATAL
  start_time: Time.now,
  end_time: Time.now,
  max_records: 1,
  next_token: "Token",
})

Response structure


resp.events #=> Array
resp.events[0].event_date #=> Time
resp.events[0].message #=> String
resp.events[0].application_name #=> String
resp.events[0].version_label #=> String
resp.events[0].template_name #=> String
resp.events[0].environment_name #=> String
resp.events[0].platform_arn #=> String
resp.events[0].request_id #=> String
resp.events[0].severity #=> String, one of "TRACE", "DEBUG", "INFO", "WARN", "ERROR", "FATAL"
resp.next_token #=> String

Parameters:

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

    ({})

Options Hash (params):

  • :application_name (String)

    If specified, AWS Elastic Beanstalk restricts the returned descriptions to include only those associated with this application.

  • :version_label (String)

    If specified, AWS Elastic Beanstalk restricts the returned descriptions to those associated with this application version.

  • :template_name (String)

    If specified, AWS Elastic Beanstalk restricts the returned descriptions to those that are associated with this environment configuration.

  • :environment_id (String)

    If specified, AWS Elastic Beanstalk restricts the returned descriptions to those associated with this environment.

  • :environment_name (String)

    If specified, AWS Elastic Beanstalk restricts the returned descriptions to those associated with this environment.

  • :platform_arn (String)

    The ARN of a custom platform version. If specified, AWS Elastic Beanstalk restricts the returned descriptions to those associated with this custom platform version.

  • :request_id (String)

    If specified, AWS Elastic Beanstalk restricts the described events to include only those associated with this request ID.

  • :severity (String)

    If specified, limits the events returned from this call to include only those with the specified severity or higher.

  • :start_time (Time, DateTime, Date, Integer, String)

    If specified, AWS Elastic Beanstalk restricts the returned descriptions to those that occur on or after this time.

  • :end_time (Time, DateTime, Date, Integer, String)

    If specified, AWS Elastic Beanstalk restricts the returned descriptions to those that occur up to, but not including, the EndTime.

  • :max_records (Integer)

    Specifies the maximum number of events that can be returned, beginning with the most recent event.

  • :next_token (String)

    Pagination token. If specified, the events return the next batch of results.

Returns:

See Also:



2836
2837
2838
2839
# File 'gems/aws-sdk-elasticbeanstalk/lib/aws-sdk-elasticbeanstalk/client.rb', line 2836

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

#describe_instances_health(params = {}) ⇒ Types::DescribeInstancesHealthResult

Retrieves detailed information about the health of instances in your AWS Elastic Beanstalk. This operation requires enhanced health reporting.

Examples:

Example: To view environment health


# The following operation retrieves health information for instances in an environment named my-env:

resp = client.describe_instances_health({
  attribute_names: [
    "All", 
  ], 
  environment_name: "my-env", 
})

resp.to_h outputs the following:
{
  instance_health_list: [
    {
      application_metrics: {
        duration: 10, 
        latency: {
          p10: 0, 
          p50: 0.001, 
          p75: 0.002, 
          p85: 0.003, 
          p90: 0.004, 
          p95: 0.005, 
          p99: 0.006, 
          p999: 0.006, 
        }, 
        request_count: 48, 
        status_codes: {
          status_2xx: 47, 
          status_3xx: 0, 
          status_4xx: 1, 
          status_5xx: 0, 
        }, 
      }, 
      causes: [
      ], 
      color: "Green", 
      health_status: "Ok", 
      instance_id: "i-08691cc7", 
      launched_at: Time.parse("2015-08-13T19:17:09Z"), 
      system: {
        cpu_utilization: {
          io_wait: 0.2, 
          irq: 0, 
          idle: 97.8, 
          nice: 0.1, 
          soft_irq: 0.1, 
          system: 0.3, 
          user: 1.5, 
        }, 
        load_average: [
          0, 
          0.02, 
          0.05, 
        ], 
      }, 
    }, 
  ], 
  refreshed_at: Time.parse("2015-08-20T21:09:08Z"), 
}

Request syntax with placeholder values


resp = client.describe_instances_health({
  environment_name: "EnvironmentName",
  environment_id: "EnvironmentId",
  attribute_names: ["HealthStatus"], # accepts HealthStatus, Color, Causes, ApplicationMetrics, RefreshedAt, LaunchedAt, System, Deployment, AvailabilityZone, InstanceType, All
  next_token: "NextToken",
})

Response structure


resp.instance_health_list #=> Array
resp.instance_health_list[0].instance_id #=> String
resp.instance_health_list[0].health_status #=> String
resp.instance_health_list[0].color #=> String
resp.instance_health_list[0].causes #=> Array
resp.instance_health_list[0].causes[0] #=> String
resp.instance_health_list[0].launched_at #=> Time
resp.instance_health_list[0].application_metrics.duration #=> Integer
resp.instance_health_list[0].application_metrics.request_count #=> Integer
resp.instance_health_list[0].application_metrics.status_codes.status_2xx #=> Integer
resp.instance_health_list[0].application_metrics.status_codes.status_3xx #=> Integer
resp.instance_health_list[0].application_metrics.status_codes.status_4xx #=> Integer
resp.instance_health_list[0].application_metrics.status_codes.status_5xx #=> Integer
resp.instance_health_list[0].application_metrics.latency.p999 #=> Float
resp.instance_health_list[0].application_metrics.latency.p99 #=> Float
resp.instance_health_list[0].application_metrics.latency.p95 #=> Float
resp.instance_health_list[0].application_metrics.latency.p90 #=> Float
resp.instance_health_list[0].application_metrics.latency.p85 #=> Float
resp.instance_health_list[0].application_metrics.latency.p75 #=> Float
resp.instance_health_list[0].application_metrics.latency.p50 #=> Float
resp.instance_health_list[0].application_metrics.latency.p10 #=> Float
resp.instance_health_list[0].system.cpu_utilization.user #=> Float
resp.instance_health_list[0].system.cpu_utilization.nice #=> Float
resp.instance_health_list[0].system.cpu_utilization.system #=> Float
resp.instance_health_list[0].system.cpu_utilization.idle #=> Float
resp.instance_health_list[0].system.cpu_utilization.io_wait #=> Float
resp.instance_health_list[0].system.cpu_utilization.irq #=> Float
resp.instance_health_list[0].system.cpu_utilization.soft_irq #=> Float
resp.instance_health_list[0].system.cpu_utilization.privileged #=> Float
resp.instance_health_list[0].system.load_average #=> Array
resp.instance_health_list[0].system.load_average[0] #=> Float
resp.instance_health_list[0].deployment.version_label #=> String
resp.instance_health_list[0].deployment.deployment_id #=> Integer
resp.instance_health_list[0].deployment.status #=> String
resp.instance_health_list[0].deployment.deployment_time #=> Time
resp.instance_health_list[0].availability_zone #=> String
resp.instance_health_list[0].instance_type #=> String
resp.refreshed_at #=> Time
resp.next_token #=> String

Parameters:

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

    ({})

Options Hash (params):

  • :environment_name (String)

    Specify the AWS Elastic Beanstalk environment by name.

  • :environment_id (String)

    Specify the AWS Elastic Beanstalk environment by ID.

  • :attribute_names (Array<String>)

    Specifies the response elements you wish to receive. To retrieve all attributes, set to All. If no attribute names are specified, returns a list of instances.

  • :next_token (String)

    Specify the pagination token returned by a previous call.

Returns:

See Also:



2987
2988
2989
2990
# File 'gems/aws-sdk-elasticbeanstalk/lib/aws-sdk-elasticbeanstalk/client.rb', line 2987

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

#describe_platform_version(params = {}) ⇒ Types::DescribePlatformVersionResult

Describes a platform version. Provides full details. Compare to ListPlatformVersions, which provides summary information about a list of platform versions.

For definitions of platform version and other platform-related terms, see AWS Elastic Beanstalk Platforms Glossary.

Examples:

Request syntax with placeholder values


resp = client.describe_platform_version({
  platform_arn: "PlatformArn",
})

Response structure


resp.platform_description.platform_arn #=> String
resp.platform_description.platform_owner #=> String
resp.platform_description.platform_name #=> String
resp.platform_description.platform_version #=> String
resp.platform_description.solution_stack_name #=> String
resp.platform_description.platform_status #=> String, one of "Creating", "Failed", "Ready", "Deleting", "Deleted"
resp.platform_description.date_created #=> Time
resp.platform_description.date_updated #=> Time
resp.platform_description.platform_category #=> String
resp.platform_description.description #=> String
resp.platform_description.maintainer #=> String
resp.platform_description.operating_system_name #=> String
resp.platform_description.operating_system_version #=> String
resp.platform_description.programming_languages #=> Array
resp.platform_description.programming_languages[0].name #=> String
resp.platform_description.programming_languages[0].version #=> String
resp.platform_description.frameworks #=> Array
resp.platform_description.frameworks[0].name #=> String
resp.platform_description.frameworks[0].version #=> String
resp.platform_description.custom_ami_list #=> Array
resp.platform_description.custom_ami_list[0].virtualization_type #=> String
resp.platform_description.custom_ami_list[0].image_id #=> String
resp.platform_description.supported_tier_list #=> Array
resp.platform_description.supported_tier_list[0] #=> String
resp.platform_description.supported_addon_list #=> Array
resp.platform_description.supported_addon_list[0] #=> String
resp.platform_description.platform_lifecycle_state #=> String
resp.platform_description.platform_branch_name #=> String
resp.platform_description.platform_branch_lifecycle_state #=> String

Parameters:

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

    ({})

Options Hash (params):

  • :platform_arn (String)

    The ARN of the platform version.

Returns:

See Also:



3052
3053
3054
3055
# File 'gems/aws-sdk-elasticbeanstalk/lib/aws-sdk-elasticbeanstalk/client.rb', line 3052

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

#disassociate_environment_operations_role(params = {}) ⇒ Struct

Disassociate the operations role from an environment. After this call is made, Elastic Beanstalk uses the caller's permissions for permissions to downstream services during subsequent calls acting on this environment. For more information, see Operations roles in the AWS Elastic Beanstalk Developer Guide.

Examples:

Request syntax with placeholder values


resp = client.disassociate_environment_operations_role({
  environment_name: "EnvironmentName", # required
})

Parameters:

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

    ({})

Options Hash (params):

  • :environment_name (required, String)

    The name of the environment from which to disassociate the operations role.

Returns:

  • (Struct)

    Returns an empty response.

See Also:



3083
3084
3085
3086
# File 'gems/aws-sdk-elasticbeanstalk/lib/aws-sdk-elasticbeanstalk/client.rb', line 3083

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

#list_available_solution_stacks(params = {}) ⇒ Types::ListAvailableSolutionStacksResultMessage

Returns a list of the available solution stack names, with the public version first and then in reverse chronological order.

Examples:

Example: To view solution stacks


# The following operation lists solution stacks for all currently available platform configurations and any that you have
# used in the past:

resp = client.list_available_solution_stacks({
})

resp.to_h outputs the following:
{
  solution_stack_details: [
    {
      permitted_file_types: [
        "zip", 
      ], 
      solution_stack_name: "64bit Amazon Linux 2015.03 v2.0.0 running Node.js", 
    }, 
  ], 
  solution_stacks: [
    "64bit Amazon Linux 2015.03 v2.0.0 running Node.js", 
    "64bit Amazon Linux 2015.03 v2.0.0 running PHP 5.6", 
    "64bit Amazon Linux 2015.03 v2.0.0 running PHP 5.5", 
    "64bit Amazon Linux 2015.03 v2.0.0 running PHP 5.4", 
    "64bit Amazon Linux 2015.03 v2.0.0 running Python 3.4", 
    "64bit Amazon Linux 2015.03 v2.0.0 running Python 2.7", 
    "64bit Amazon Linux 2015.03 v2.0.0 running Python", 
    "64bit Amazon Linux 2015.03 v2.0.0 running Ruby 2.2 (Puma)", 
    "64bit Amazon Linux 2015.03 v2.0.0 running Ruby 2.2 (Passenger Standalone)", 
    "64bit Amazon Linux 2015.03 v2.0.0 running Ruby 2.1 (Puma)", 
    "64bit Amazon Linux 2015.03 v2.0.0 running Ruby 2.1 (Passenger Standalone)", 
    "64bit Amazon Linux 2015.03 v2.0.0 running Ruby 2.0 (Puma)", 
    "64bit Amazon Linux 2015.03 v2.0.0 running Ruby 2.0 (Passenger Standalone)", 
    "64bit Amazon Linux 2015.03 v2.0.0 running Ruby 1.9.3", 
    "64bit Amazon Linux 2015.03 v2.0.0 running Tomcat 8 Java 8", 
    "64bit Amazon Linux 2015.03 v2.0.0 running Tomcat 7 Java 7", 
    "64bit Amazon Linux 2015.03 v2.0.0 running Tomcat 7 Java 6", 
    "64bit Windows Server Core 2012 R2 running IIS 8.5", 
    "64bit Windows Server 2012 R2 running IIS 8.5", 
    "64bit Windows Server 2012 running IIS 8", 
    "64bit Windows Server 2008 R2 running IIS 7.5", 
    "64bit Amazon Linux 2015.03 v2.0.0 running Docker 1.6.2", 
    "64bit Amazon Linux 2015.03 v2.0.0 running Multi-container Docker 1.6.2 (Generic)", 
    "64bit Debian jessie v2.0.0 running GlassFish 4.1 Java 8 (Preconfigured - Docker)", 
    "64bit Debian jessie v2.0.0 running GlassFish 4.0 Java 7 (Preconfigured - Docker)", 
    "64bit Debian jessie v2.0.0 running Go 1.4 (Preconfigured - Docker)", 
    "64bit Debian jessie v2.0.0 running Go 1.3 (Preconfigured - Docker)", 
    "64bit Debian jessie v2.0.0 running Python 3.4 (Preconfigured - Docker)", 
  ], 
}

Response structure


resp.solution_stacks #=> Array
resp.solution_stacks[0] #=> String
resp.solution_stack_details #=> Array
resp.solution_stack_details[0].solution_stack_name #=> String
resp.solution_stack_details[0].permitted_file_types #=> Array
resp.solution_stack_details[0].permitted_file_types[0] #=> String

Parameters:

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

    ({})

Returns:

See Also:



3160
3161
3162
3163
# File 'gems/aws-sdk-elasticbeanstalk/lib/aws-sdk-elasticbeanstalk/client.rb', line 3160

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

#list_platform_branches(params = {}) ⇒ Types::ListPlatformBranchesResult

Lists the platform branches available for your account in an AWS Region. Provides summary information about each platform branch.

For definitions of platform branch and other platform-related terms, see AWS Elastic Beanstalk Platforms Glossary.

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_platform_branches({
  filters: [
    {
      attribute: "SearchFilterAttribute",
      operator: "SearchFilterOperator",
      values: ["SearchFilterValue"],
    },
  ],
  max_records: 1,
  next_token: "Token",
})

Response structure


resp.platform_branch_summary_list #=> Array
resp.platform_branch_summary_list[0].platform_name #=> String
resp.platform_branch_summary_list[0].branch_name #=> String
resp.platform_branch_summary_list[0].lifecycle_state #=> String
resp.platform_branch_summary_list[0].branch_order #=> Integer
resp.platform_branch_summary_list[0].supported_tier_list #=> Array
resp.platform_branch_summary_list[0].supported_tier_list[0] #=> String
resp.next_token #=> String

Parameters:

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

    ({})

Options Hash (params):

  • :filters (Array<Types::SearchFilter>)

    Criteria for restricting the resulting list of platform branches. The filter is evaluated as a logical conjunction (AND) of the separate SearchFilter terms.

    The following list shows valid attribute values for each of the SearchFilter terms. Most operators take a single value. The in and not_in operators can take multiple values.

    • Attribute = BranchName:

      • Operator: = | != | begins_with | ends_with | contains | in | not_in

      ^

    • Attribute = LifecycleState:

      • Operator: = | != | in | not_in

      • Values: beta | supported | deprecated | retired

    • Attribute = PlatformName:

      • Operator: = | != | begins_with | ends_with | contains | in | not_in

      ^

    • Attribute = TierType:

      • Operator: = | !=

      • Values: WebServer/Standard | Worker/SQS/HTTP

    Array size: limited to 10 SearchFilter objects.

    Within each SearchFilter item, the Values array is limited to 10 items.

  • :max_records (Integer)

    The maximum number of platform branch values returned in one call.

  • :next_token (String)

    For a paginated request. Specify a token from a previous response page to retrieve the next response page. All other parameter values must be identical to the ones specified in the initial request.

    If no NextToken is specified, the first page is retrieved.

Returns:

See Also:



3261
3262
3263
3264
# File 'gems/aws-sdk-elasticbeanstalk/lib/aws-sdk-elasticbeanstalk/client.rb', line 3261

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

#list_platform_versions(params = {}) ⇒ Types::ListPlatformVersionsResult

Lists the platform versions available for your account in an AWS Region. Provides summary information about each platform version. Compare to DescribePlatformVersion, which provides full details about a single platform version.

For definitions of platform version and other platform-related terms, see AWS Elastic Beanstalk Platforms Glossary.

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_platform_versions({
  filters: [
    {
      type: "PlatformFilterType",
      operator: "PlatformFilterOperator",
      values: ["PlatformFilterValue"],
    },
  ],
  max_records: 1,
  next_token: "Token",
})

Response structure


resp.platform_summary_list #=> Array
resp.platform_summary_list[0].platform_arn #=> String
resp.platform_summary_list[0].platform_owner #=> String
resp.platform_summary_list[0].platform_status #=> String, one of "Creating", "Failed", "Ready", "Deleting", "Deleted"
resp.platform_summary_list[0].platform_category #=> String
resp.platform_summary_list[0].operating_system_name #=> String
resp.platform_summary_list[0].operating_system_version #=> String
resp.platform_summary_list[0].supported_tier_list #=> Array
resp.platform_summary_list[0].supported_tier_list[0] #=> String
resp.platform_summary_list[0].supported_addon_list #=> Array
resp.platform_summary_list[0].supported_addon_list[0] #=> String
resp.platform_summary_list[0].platform_lifecycle_state #=> String
resp.platform_summary_list[0].platform_version #=> String
resp.platform_summary_list[0].platform_branch_name #=> String
resp.platform_summary_list[0].platform_branch_lifecycle_state #=> String
resp.next_token #=> String

Parameters:

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

    ({})

Options Hash (params):

  • :filters (Array<Types::PlatformFilter>)

    Criteria for restricting the resulting list of platform versions. The filter is interpreted as a logical conjunction (AND) of the separate PlatformFilter terms.

  • :max_records (Integer)

    The maximum number of platform version values returned in one call.

  • :next_token (String)

    For a paginated request. Specify a token from a previous response page to retrieve the next response page. All other parameter values must be identical to the ones specified in the initial request.

    If no NextToken is specified, the first page is retrieved.

Returns:

See Also:



3337
3338
3339
3340
# File 'gems/aws-sdk-elasticbeanstalk/lib/aws-sdk-elasticbeanstalk/client.rb', line 3337

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

#list_tags_for_resource(params = {}) ⇒ Types::ResourceTagsDescriptionMessage

Return the tags applied to an AWS Elastic Beanstalk resource. The response contains a list of tag key-value pairs.

Elastic Beanstalk supports tagging of all of its resources. For details about resource tagging, see Tagging Application Resources.

Examples:

Request syntax with placeholder values


resp = client.list_tags_for_resource({
  resource_arn: "ResourceArn", # required
})

Response structure


resp.resource_arn #=> String
resp.resource_tags #=> Array
resp.resource_tags[0].key #=> String
resp.resource_tags[0].value #=> String

Parameters:

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

    ({})

Options Hash (params):

  • :resource_arn (required, String)

    The Amazon Resource Name (ARN) of the resouce for which a tag list is requested.

    Must be the ARN of an Elastic Beanstalk resource.

Returns:

See Also:



3381
3382
3383
3384
# File 'gems/aws-sdk-elasticbeanstalk/lib/aws-sdk-elasticbeanstalk/client.rb', line 3381

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

#rebuild_environment(params = {}) ⇒ Struct

Deletes and recreates all of the AWS resources (for example: the Auto Scaling group, load balancer, etc.) for a specified environment and forces a restart.

Examples:

Example: To rebuild an environment


# The following operation terminates and recreates the resources in an environment named my-env:

resp = client.rebuild_environment({
  environment_name: "my-env", 
})

Request syntax with placeholder values


resp = client.rebuild_environment({
  environment_id: "EnvironmentId",
  environment_name: "EnvironmentName",
})

Parameters:

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

    ({})

Options Hash (params):

  • :environment_id (String)

    The ID of the environment to rebuild.

    Condition: You must specify either this or an EnvironmentName, or both. If you do not specify either, AWS Elastic Beanstalk returns MissingRequiredParameter error.

  • :environment_name (String)

    The name of the environment to rebuild.

    Condition: You must specify either this or an EnvironmentId, or both. If you do not specify either, AWS Elastic Beanstalk returns MissingRequiredParameter error.

Returns:

  • (Struct)

    Returns an empty response.

See Also:



3426
3427
3428
3429
# File 'gems/aws-sdk-elasticbeanstalk/lib/aws-sdk-elasticbeanstalk/client.rb', line 3426

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

#request_environment_info(params = {}) ⇒ Struct

Initiates a request to compile the specified type of information of the deployed environment.

Setting the InfoType to tail compiles the last lines from the application server log files of every Amazon EC2 instance in your environment.

Setting the InfoType to bundle compresses the application server log files for every Amazon EC2 instance into a .zip file. Legacy and .NET containers do not support bundle logs.

Use RetrieveEnvironmentInfo to obtain the set of logs.

Related Topics

  • RetrieveEnvironmentInfo

^

Examples:

Example: To request tailed logs


# The following operation requests logs from an environment named my-env:

resp = client.request_environment_info({
  environment_name: "my-env", 
  info_type: "tail", 
})

Request syntax with placeholder values


resp = client.request_environment_info({
  environment_id: "EnvironmentId",
  environment_name: "EnvironmentName",
  info_type: "tail", # required, accepts tail, bundle
})

Parameters:

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

    ({})

Options Hash (params):

  • :environment_id (String)

    The ID of the environment of the requested data.

    If no such environment is found, RequestEnvironmentInfo returns an InvalidParameterValue error.

    Condition: You must specify either this or an EnvironmentName, or both. If you do not specify either, AWS Elastic Beanstalk returns MissingRequiredParameter error.

  • :environment_name (String)

    The name of the environment of the requested data.

    If no such environment is found, RequestEnvironmentInfo returns an InvalidParameterValue error.

    Condition: You must specify either this or an EnvironmentId, or both. If you do not specify either, AWS Elastic Beanstalk returns MissingRequiredParameter error.

  • :info_type (required, String)

    The type of information to request.

Returns:

  • (Struct)

    Returns an empty response.

See Also:



3497
3498
3499
3500
# File 'gems/aws-sdk-elasticbeanstalk/lib/aws-sdk-elasticbeanstalk/client.rb', line 3497

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

#restart_app_server(params = {}) ⇒ Struct

Causes the environment to restart the application container server running on each Amazon EC2 instance.

Examples:

Example: To restart application servers


# The following operation restarts application servers on all instances in an environment named my-env:

resp = client.restart_app_server({
  environment_name: "my-env", 
})

Request syntax with placeholder values


resp = client.restart_app_server({
  environment_id: "EnvironmentId",
  environment_name: "EnvironmentName",
})

Parameters:

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

    ({})

Options Hash (params):

  • :environment_id (String)

    The ID of the environment to restart the server for.

    Condition: You must specify either this or an EnvironmentName, or both. If you do not specify either, AWS Elastic Beanstalk returns MissingRequiredParameter error.

  • :environment_name (String)

    The name of the environment to restart the server for.

    Condition: You must specify either this or an EnvironmentId, or both. If you do not specify either, AWS Elastic Beanstalk returns MissingRequiredParameter error.

Returns:

  • (Struct)

    Returns an empty response.

See Also:



3541
3542
3543
3544
# File 'gems/aws-sdk-elasticbeanstalk/lib/aws-sdk-elasticbeanstalk/client.rb', line 3541

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

#retrieve_environment_info(params = {}) ⇒ Types::RetrieveEnvironmentInfoResultMessage

Retrieves the compiled information from a RequestEnvironmentInfo request.

Related Topics

  • RequestEnvironmentInfo

^

Examples:

Example: To retrieve tailed logs


# The following operation retrieves a link to logs from an environment named my-env:

resp = client.retrieve_environment_info({
  environment_name: "my-env", 
  info_type: "tail", 
})

resp.to_h outputs the following:
{
  environment_info: [
    {
      ec2_instance_id: "i-09c1c867", 
      info_type: "tail", 
      message: "https://elasticbeanstalk-us-west-2-0123456789012.s3.amazonaws.com/resources/environments/logs/tail/e-fyqyju3yjs/i-09c1c867/TailLogs-1440109397703.out?AWSAccessKeyId=AKGPT4J56IAJ2EUBL5CQ&Expires=1440195891&Signature=n%2BEalOV6A2HIOx4Rcfb7LT16bBM%3D", 
      sample_timestamp: Time.parse("2015-08-20T22:23:17.703Z"), 
    }, 
  ], 
}

Request syntax with placeholder values


resp = client.retrieve_environment_info({
  environment_id: "EnvironmentId",
  environment_name: "EnvironmentName",
  info_type: "tail", # required, accepts tail, bundle
})

Response structure


resp.environment_info #=> Array
resp.environment_info[0].info_type #=> String, one of "tail", "bundle"
resp.environment_info[0].ec2_instance_id #=> String
resp.environment_info[0].sample_timestamp #=> Time
resp.environment_info[0].message #=> String

Parameters:

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

    ({})

Options Hash (params):

  • :environment_id (String)

    The ID of the data's environment.

    If no such environment is found, returns an InvalidParameterValue error.

    Condition: You must specify either this or an EnvironmentName, or both. If you do not specify either, AWS Elastic Beanstalk returns MissingRequiredParameter error.

  • :environment_name (String)

    The name of the data's environment.

    If no such environment is found, returns an InvalidParameterValue error.

    Condition: You must specify either this or an EnvironmentId, or both. If you do not specify either, AWS Elastic Beanstalk returns MissingRequiredParameter error.

  • :info_type (required, String)

    The type of information to retrieve.

Returns:

See Also:



3624
3625
3626
3627
# File 'gems/aws-sdk-elasticbeanstalk/lib/aws-sdk-elasticbeanstalk/client.rb', line 3624

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

#swap_environment_cnames(params = {}) ⇒ Struct

Swaps the CNAMEs of two environments.

Examples:

Example: To swap environment CNAMES


# The following operation swaps the assigned subdomains of two environments:

resp = client.swap_environment_cnames({
  destination_environment_name: "my-env-green", 
  source_environment_name: "my-env-blue", 
})

Request syntax with placeholder values


resp = client.swap_environment_cnames({
  source_environment_id: "EnvironmentId",
  source_environment_name: "EnvironmentName",
  destination_environment_id: "EnvironmentId",
  destination_environment_name: "EnvironmentName",
})

Parameters:

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

    ({})

Options Hash (params):

  • :source_environment_id (String)

    The ID of the source environment.

    Condition: You must specify at least the SourceEnvironmentID or the SourceEnvironmentName. You may also specify both. If you specify the SourceEnvironmentId, you must specify the DestinationEnvironmentId.

  • :source_environment_name (String)

    The name of the source environment.

    Condition: You must specify at least the SourceEnvironmentID or the SourceEnvironmentName. You may also specify both. If you specify the SourceEnvironmentName, you must specify the DestinationEnvironmentName.

  • :destination_environment_id (String)

    The ID of the destination environment.

    Condition: You must specify at least the DestinationEnvironmentID or the DestinationEnvironmentName. You may also specify both. You must specify the SourceEnvironmentId with the DestinationEnvironmentId.

  • :destination_environment_name (String)

    The name of the destination environment.

    Condition: You must specify at least the DestinationEnvironmentID or the DestinationEnvironmentName. You may also specify both. You must specify the SourceEnvironmentName with the DestinationEnvironmentName.

Returns:

  • (Struct)

    Returns an empty response.

See Also:



3687
3688
3689
3690
# File 'gems/aws-sdk-elasticbeanstalk/lib/aws-sdk-elasticbeanstalk/client.rb', line 3687

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

#terminate_environment(params = {}) ⇒ Types::EnvironmentDescription

Terminates the specified environment.

Examples:

Example: To terminate an environment


# The following operation terminates an Elastic Beanstalk environment named my-env:

resp = client.terminate_environment({
  environment_name: "my-env", 
})

resp.to_h outputs the following:
{
  abortable_operation_in_progress: false, 
  application_name: "my-app", 
  cname: "my-env.elasticbeanstalk.com", 
  date_created: Time.parse("2015-08-12T18:52:53.622Z"), 
  date_updated: Time.parse("2015-08-12T19:05:54.744Z"), 
  endpoint_url: "awseb-e-f-AWSEBLoa-1I9XUMP4-8492WNUP202574.us-west-2.elb.amazonaws.com", 
  environment_id: "e-fh2eravpns", 
  environment_name: "my-env", 
  health: "Grey", 
  solution_stack_name: "64bit Amazon Linux 2015.03 v2.0.0 running Tomcat 8 Java 8", 
  status: "Terminating", 
  tier: {
    name: "WebServer", 
    type: "Standard", 
    version: " ", 
  }, 
}

Request syntax with placeholder values


resp = client.terminate_environment({
  environment_id: "EnvironmentId",
  environment_name: "EnvironmentName",
  terminate_resources: false,
  force_terminate: false,
})

Response structure


resp.environment_name #=> String
resp.environment_id #=> String
resp.application_name #=> String
resp.version_label #=> String
resp.solution_stack_name #=> String
resp.platform_arn #=> String
resp.template_name #=> String
resp.description #=> String
resp.endpoint_url #=> String
resp.cname #=> String
resp.date_created #=> Time
resp.date_updated #=> Time
resp.status #=> String, one of "Aborting", "Launching", "Updating", "LinkingFrom", "LinkingTo", "Ready", "Terminating", "Terminated"
resp.abortable_operation_in_progress #=> Boolean
resp.health #=> String, one of "Green", "Yellow", "Red", "Grey"
resp.health_status #=> String, one of "NoData", "Unknown", "Pending", "Ok", "Info", "Warning", "Degraded", "Severe", "Suspended"
resp.resources.load_balancer.load_balancer_name #=> String
resp.resources.load_balancer.domain #=> String
resp.resources.load_balancer.listeners #=> Array
resp.resources.load_balancer.listeners[0].protocol #=> String
resp.resources.load_balancer.listeners[0].port #=> Integer
resp.tier.name #=> String
resp.tier.type #=> String
resp.tier.version #=> String
resp.environment_links #=> Array
resp.environment_links[0].link_name #=> String
resp.environment_links[0].environment_name #=> String
resp.environment_arn #=> String
resp.operations_role #=> String

Parameters:

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

    ({})

Options Hash (params):

  • :environment_id (String)

    The ID of the environment to terminate.

    Condition: You must specify either this or an EnvironmentName, or both. If you do not specify either, AWS Elastic Beanstalk returns MissingRequiredParameter error.

  • :environment_name (String)

    The name of the environment to terminate.

    Condition: You must specify either this or an EnvironmentId, or both. If you do not specify either, AWS Elastic Beanstalk returns MissingRequiredParameter error.

  • :terminate_resources (Boolean)

    Indicates whether the associated AWS resources should shut down when the environment is terminated:

    • true: The specified environment as well as the associated AWS resources, such as Auto Scaling group and LoadBalancer, are terminated.

    • false: AWS Elastic Beanstalk resource management is removed from the environment, but the AWS resources continue to operate.

    For more information, see the AWS Elastic Beanstalk User Guide.

    Default: true

    Valid Values: true | false

  • :force_terminate (Boolean)

    Terminates the target environment even if another environment in the same group is dependent on it.

Returns:

See Also:



3831
3832
3833
3834
# File 'gems/aws-sdk-elasticbeanstalk/lib/aws-sdk-elasticbeanstalk/client.rb', line 3831

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

#update_application(params = {}) ⇒ Types::ApplicationDescriptionMessage

Updates the specified application to have the specified properties.

If a property (for example, description) is not provided, the value remains unchanged. To clear these properties, specify an empty string.

Examples:

Example: To change an application's description


# The following operation updates the description of an application named my-app:

resp = client.update_application({
  application_name: "my-app", 
  description: "my Elastic Beanstalk application", 
})

resp.to_h outputs the following:
{
  application: {
    application_name: "my-app", 
    configuration_templates: [
    ], 
    date_created: Time.parse("2015-08-13T19:15:50.449Z"), 
    date_updated: Time.parse("2015-08-20T22:34:56.195Z"), 
    description: "my Elastic Beanstalk application", 
    versions: [
      "2fba-stage-150819_234450", 
      "bf07-stage-150820_214945", 
      "93f8", 
      "fd7c-stage-150820_000431", 
      "22a0-stage-150819_185942", 
    ], 
  }, 
}

Request syntax with placeholder values


resp = client.update_application({
  application_name: "ApplicationName", # required
  description: "Description",
})

Response structure


resp.application.application_arn #=> String
resp.application.application_name #=> String
resp.application.description #=> String
resp.application.date_created #=> Time
resp.application.date_updated #=> Time
resp.application.versions #=> Array
resp.application.versions[0] #=> String
resp.application.configuration_templates #=> Array
resp.application.configuration_templates[0] #=> String
resp.application.resource_lifecycle_config.service_role #=> String
resp.application.resource_lifecycle_config.version_lifecycle_config.max_count_rule.enabled #=> Boolean
resp.application.resource_lifecycle_config.version_lifecycle_config.max_count_rule.max_count #=> Integer
resp.application.resource_lifecycle_config.version_lifecycle_config.max_count_rule.delete_source_from_s3 #=> Boolean
resp.application.resource_lifecycle_config.version_lifecycle_config.max_age_rule.enabled #=> Boolean
resp.application.resource_lifecycle_config.version_lifecycle_config.max_age_rule.max_age_in_days #=> Integer
resp.application.resource_lifecycle_config.version_lifecycle_config.max_age_rule.delete_source_from_s3 #=> Boolean

Parameters:

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

    ({})

Options Hash (params):

  • :application_name (required, String)

    The name of the application to update. If no such application is found, UpdateApplication returns an InvalidParameterValue error.

  • :description (String)

    A new description for the application.

    Default: If not specified, AWS Elastic Beanstalk does not update the description.

Returns:

See Also:



3916
3917
3918
3919
# File 'gems/aws-sdk-elasticbeanstalk/lib/aws-sdk-elasticbeanstalk/client.rb', line 3916

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

#update_application_resource_lifecycle(params = {}) ⇒ Types::ApplicationResourceLifecycleDescriptionMessage

Modifies lifecycle settings for an application.

Examples:

Request syntax with placeholder values


resp = client.update_application_resource_lifecycle({
  application_name: "ApplicationName", # required
  resource_lifecycle_config: { # required
    service_role: "String",
    version_lifecycle_config: {
      max_count_rule: {
        enabled: false, # required
        max_count: 1,
        delete_source_from_s3: false,
      },
      max_age_rule: {
        enabled: false, # required
        max_age_in_days: 1,
        delete_source_from_s3: false,
      },
    },
  },
})

Response structure


resp.application_name #=> String
resp.resource_lifecycle_config.service_role #=> String
resp.resource_lifecycle_config.version_lifecycle_config.max_count_rule.enabled #=> Boolean
resp.resource_lifecycle_config.version_lifecycle_config.max_count_rule.max_count #=> Integer
resp.resource_lifecycle_config.version_lifecycle_config.max_count_rule.delete_source_from_s3 #=> Boolean
resp.resource_lifecycle_config.version_lifecycle_config.max_age_rule.enabled #=> Boolean
resp.resource_lifecycle_config.version_lifecycle_config.max_age_rule.max_age_in_days #=> Integer
resp.resource_lifecycle_config.version_lifecycle_config.max_age_rule.delete_source_from_s3 #=> Boolean

Parameters:

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

    ({})

Options Hash (params):

Returns:

See Also:



3970
3971
3972
3973
# File 'gems/aws-sdk-elasticbeanstalk/lib/aws-sdk-elasticbeanstalk/client.rb', line 3970

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

#update_application_version(params = {}) ⇒ Types::ApplicationVersionDescriptionMessage

Updates the specified application version to have the specified properties.

If a property (for example, description) is not provided, the value remains unchanged. To clear properties, specify an empty string.

Examples:

Example: To change an application version's description


# The following operation updates the description of an application version named 22a0-stage-150819_185942:

resp = client.update_application_version({
  application_name: "my-app", 
  description: "new description", 
  version_label: "22a0-stage-150819_185942", 
})

resp.to_h outputs the following:
{
  application_version: {
    application_name: "my-app", 
    date_created: Time.parse("2015-08-19T18:59:17.646Z"), 
    date_updated: Time.parse("2015-08-20T22:53:28.871Z"), 
    description: "new description", 
    source_bundle: {
      s3_bucket: "elasticbeanstalk-us-west-2-0123456789012", 
      s3_key: "my-app/22a0-stage-150819_185942.war", 
    }, 
    version_label: "22a0-stage-150819_185942", 
  }, 
}

Request syntax with placeholder values


resp = client.update_application_version({
  application_name: "ApplicationName", # required
  version_label: "VersionLabel", # required
  description: "Description",
})

Response structure


resp.application_version.application_version_arn #=> String
resp.application_version.application_name #=> String
resp.application_version.description #=> String
resp.application_version.version_label #=> String
resp.application_version.source_build_information.source_type #=> String, one of "Git", "Zip"
resp.application_version.source_build_information.source_repository #=> String, one of "CodeCommit", "S3"
resp.application_version.source_build_information.source_location #=> String
resp.application_version.build_arn #=> String
resp.application_version.source_bundle.s3_bucket #=> String
resp.application_version.source_bundle.s3_key #=> String
resp.application_version.date_created #=> Time
resp.application_version.date_updated #=> Time
resp.application_version.status #=> String, one of "Processed", "Unprocessed", "Failed", "Processing", "Building"

Parameters:

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

    ({})

Options Hash (params):

  • :application_name (required, String)

    The name of the application associated with this version.

    If no application is found with this name, UpdateApplication returns an InvalidParameterValue error.

  • :version_label (required, String)

    The name of the version to update.

    If no application version is found with this label, UpdateApplication returns an InvalidParameterValue error.

  • :description (String)

    A new description for this version.

Returns:

See Also:



4056
4057
4058
4059
# File 'gems/aws-sdk-elasticbeanstalk/lib/aws-sdk-elasticbeanstalk/client.rb', line 4056

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

#update_configuration_template(params = {}) ⇒ Types::ConfigurationSettingsDescription

Updates the specified configuration template to have the specified properties or configuration option values.

If a property (for example, ApplicationName) is not provided, its value remains unchanged. To clear such properties, specify an empty string.

Related Topics

  • DescribeConfigurationOptions

^

Examples:

Example: To update a configuration template


# The following operation removes the configured CloudWatch custom health metrics configuration ConfigDocument from a
# saved configuration template named my-template:

resp = client.update_configuration_template({
  application_name: "my-app", 
  options_to_remove: [
    {
      namespace: "aws:elasticbeanstalk:healthreporting:system", 
      option_name: "ConfigDocument", 
    }, 
  ], 
  template_name: "my-template", 
})

resp.to_h outputs the following:
{
  application_name: "my-app", 
  date_created: Time.parse("2015-08-20T22:39:31Z"), 
  date_updated: Time.parse("2015-08-20T22:43:11Z"), 
  solution_stack_name: "64bit Amazon Linux 2015.03 v2.0.0 running Tomcat 8 Java 8", 
  template_name: "my-template", 
}

Request syntax with placeholder values


resp = client.update_configuration_template({
  application_name: "ApplicationName", # required
  template_name: "ConfigurationTemplateName", # required
  description: "Description",
  option_settings: [
    {
      resource_name: "ResourceName",
      namespace: "OptionNamespace",
      option_name: "ConfigurationOptionName",
      value: "ConfigurationOptionValue",
    },
  ],
  options_to_remove: [
    {
      resource_name: "ResourceName",
      namespace: "OptionNamespace",
      option_name: "ConfigurationOptionName",
    },
  ],
})

Response structure


resp.solution_stack_name #=> String
resp.platform_arn #=> String
resp.application_name #=> String
resp.template_name #=> String
resp.description #=> String
resp.environment_name #=> String
resp.deployment_status #=> String, one of "deployed", "pending", "failed"
resp.date_created #=> Time
resp.date_updated #=> Time
resp.option_settings #=> Array
resp.option_settings[0].resource_name #=> String
resp.option_settings[0].namespace #=> String
resp.option_settings[0].option_name #=> String
resp.option_settings[0].value #=> String

Parameters:

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

    ({})

Options Hash (params):

  • :application_name (required, String)

    The name of the application associated with the configuration template to update.

    If no application is found with this name, UpdateConfigurationTemplate returns an InvalidParameterValue error.

  • :template_name (required, String)

    The name of the configuration template to update.

    If no configuration template is found with this name, UpdateConfigurationTemplate returns an InvalidParameterValue error.

  • :description (String)

    A new description for the configuration.

  • :option_settings (Array<Types::ConfigurationOptionSetting>)

    A list of configuration option settings to update with the new specified option value.

  • :options_to_remove (Array<Types::OptionSpecification>)

    A list of configuration options to remove from the configuration set.

    Constraint: You can remove only UserDefined configuration options.

Returns:

See Also:



4186
4187
4188
4189
# File 'gems/aws-sdk-elasticbeanstalk/lib/aws-sdk-elasticbeanstalk/client.rb', line 4186

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

#update_environment(params = {}) ⇒ Types::EnvironmentDescription

Updates the environment description, deploys a new application version, updates the configuration settings to an entirely new configuration template, or updates select configuration option values in the running environment.

Attempting to update both the release and configuration is not allowed and AWS Elastic Beanstalk returns an InvalidParameterCombination error.

When updating the configuration settings to a new template or individual settings, a draft configuration is created and DescribeConfigurationSettings for this environment returns two setting descriptions with different DeploymentStatus values.

Examples:

Example: To update an environment to a new version


# The following operation updates an environment named "my-env" to version "v2" of the application to which it belongs:

resp = client.update_environment({
  environment_name: "my-env", 
  version_label: "v2", 
})

resp.to_h outputs the following:
{
  application_name: "my-app", 
  cname: "my-env.elasticbeanstalk.com", 
  date_created: Time.parse("2015-02-03T23:04:54.453Z"), 
  date_updated: Time.parse("2015-02-03T23:12:29.119Z"), 
  endpoint_url: "awseb-e-i-AWSEBLoa-1RDLX6TC9VUAO-0123456789.us-west-2.elb.amazonaws.com", 
  environment_id: "e-szqipays4h", 
  environment_name: "my-env", 
  health: "Grey", 
  solution_stack_name: "64bit Amazon Linux running Tomcat 7", 
  status: "Updating", 
  tier: {
    name: "WebServer", 
    type: "Standard", 
    version: " ", 
  }, 
  version_label: "v2", 
}

Example: To configure option settings


# The following operation configures several options in the aws:elb:loadbalancer namespace:

resp = client.update_environment({
  environment_name: "my-env", 
  option_settings: [
    {
      namespace: "aws:elb:healthcheck", 
      option_name: "Interval", 
      value: "15", 
    }, 
    {
      namespace: "aws:elb:healthcheck", 
      option_name: "Timeout", 
      value: "8", 
    }, 
    {
      namespace: "aws:elb:healthcheck", 
      option_name: "HealthyThreshold", 
      value: "2", 
    }, 
    {
      namespace: "aws:elb:healthcheck", 
      option_name: "UnhealthyThreshold", 
      value: "3", 
    }, 
  ], 
})

resp.to_h outputs the following:
{
  abortable_operation_in_progress: true, 
  application_name: "my-app", 
  cname: "my-env.elasticbeanstalk.com", 
  date_created: Time.parse("2015-08-07T20:48:49.599Z"), 
  date_updated: Time.parse("2015-08-12T18:15:23.804Z"), 
  endpoint_url: "awseb-e-w-AWSEBLoa-14XB83101Q4L-104QXY80921.sa-east-1.elb.amazonaws.com", 
  environment_id: "e-wtp2rpqsej", 
  environment_name: "my-env", 
  health: "Grey", 
  solution_stack_name: "64bit Amazon Linux 2015.03 v2.0.0 running Tomcat 8 Java 8", 
  status: "Updating", 
  tier: {
    name: "WebServer", 
    type: "Standard", 
    version: " ", 
  }, 
  version_label: "7f58-stage-150812_025409", 
}

Request syntax with placeholder values


resp = client.update_environment({
  application_name: "ApplicationName",
  environment_id: "EnvironmentId",
  environment_name: "EnvironmentName",
  group_name: "GroupName",
  description: "Description",
  tier: {
    name: "String",
    type: "String",
    version: "String",
  },
  version_label: "VersionLabel",
  template_name: "ConfigurationTemplateName",
  solution_stack_name: "SolutionStackName",
  platform_arn: "PlatformArn",
  option_settings: [
    {
      resource_name: "ResourceName",
      namespace: "OptionNamespace",
      option_name: "ConfigurationOptionName",
      value: "ConfigurationOptionValue",
    },
  ],
  options_to_remove: [
    {
      resource_name: "ResourceName",
      namespace: "OptionNamespace",
      option_name: "ConfigurationOptionName",
    },
  ],
})

Response structure


resp.environment_name #=> String
resp.environment_id #=> String
resp.application_name #=> String
resp.version_label #=> String
resp.solution_stack_name #=> String
resp.platform_arn #=> String
resp.template_name #=> String
resp.description #=> String
resp.endpoint_url #=> String
resp.cname #=> String
resp.date_created #=> Time
resp.date_updated #=> Time
resp.status #=> String, one of "Aborting", "Launching", "Updating", "LinkingFrom", "LinkingTo", "Ready", "Terminating", "Terminated"
resp.abortable_operation_in_progress #=> Boolean
resp.health #=> String, one of "Green", "Yellow", "Red", "Grey"
resp.health_status #=> String, one of "NoData", "Unknown", "Pending", "Ok", "Info", "Warning", "Degraded", "Severe", "Suspended"
resp.resources.load_balancer.load_balancer_name #=> String
resp.resources.load_balancer.domain #=> String
resp.resources.load_balancer.listeners #=> Array
resp.resources.load_balancer.listeners[0].protocol #=> String
resp.resources.load_balancer.listeners[0].port #=> Integer
resp.tier.name #=> String
resp.tier.type #=> String
resp.tier.version #=> String
resp.environment_links #=> Array
resp.environment_links[0].link_name #=> String
resp.environment_links[0].environment_name #=> String
resp.environment_arn #=> String
resp.operations_role #=> String

Parameters:

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

    ({})

Options Hash (params):

  • :application_name (String)

    The name of the application with which the environment is associated.

  • :environment_id (String)

    The ID of the environment to update.

    If no environment with this ID exists, AWS Elastic Beanstalk returns an InvalidParameterValue error.

    Condition: You must specify either this or an EnvironmentName, or both. If you do not specify either, AWS Elastic Beanstalk returns MissingRequiredParameter error.

  • :environment_name (String)

    The name of the environment to update. If no environment with this name exists, AWS Elastic Beanstalk returns an InvalidParameterValue error.

    Condition: You must specify either this or an EnvironmentId, or both. If you do not specify either, AWS Elastic Beanstalk returns MissingRequiredParameter error.

  • :group_name (String)

    The name of the group to which the target environment belongs. Specify a group name only if the environment's name is specified in an environment manifest and not with the environment name or environment ID parameters. See Environment Manifest (env.yaml) for details.

  • :description (String)

    If this parameter is specified, AWS Elastic Beanstalk updates the description of this environment.

  • :tier (Types::EnvironmentTier)

    This specifies the tier to use to update the environment.

    Condition: At this time, if you change the tier version, name, or type, AWS Elastic Beanstalk returns InvalidParameterValue error.

  • :version_label (String)

    If this parameter is specified, AWS Elastic Beanstalk deploys the named application version to the environment. If no such application version is found, returns an InvalidParameterValue error.

  • :template_name (String)

    If this parameter is specified, AWS Elastic Beanstalk deploys this configuration template to the environment. If no such configuration template is found, AWS Elastic Beanstalk returns an InvalidParameterValue error.

  • :solution_stack_name (String)

    This specifies the platform version that the environment will run after the environment is updated.

  • :platform_arn (String)

    The ARN of the platform, if used.

  • :option_settings (Array<Types::ConfigurationOptionSetting>)

    If specified, AWS Elastic Beanstalk updates the configuration set associated with the running environment and sets the specified configuration options to the requested value.

  • :options_to_remove (Array<Types::OptionSpecification>)

    A list of custom user-defined configuration options to remove from the configuration set for this environment.

Returns:

See Also:



4449
4450
4451
4452
# File 'gems/aws-sdk-elasticbeanstalk/lib/aws-sdk-elasticbeanstalk/client.rb', line 4449

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

#update_tags_for_resource(params = {}) ⇒ Struct

Update the list of tags applied to an AWS Elastic Beanstalk resource. Two lists can be passed: TagsToAdd for tags to add or update, and TagsToRemove.

Elastic Beanstalk supports tagging of all of its resources. For details about resource tagging, see Tagging Application Resources.

If you create a custom IAM user policy to control permission to this operation, specify one of the following two virtual actions (or both) instead of the API operation name:

elasticbeanstalk:AddTags

Controls permission to call UpdateTagsForResource and pass a list of tags to add in the TagsToAdd parameter.

elasticbeanstalk:RemoveTags

Controls permission to call UpdateTagsForResource and pass a list of tag keys to remove in the TagsToRemove parameter.

For details about creating a custom user policy, see Creating a Custom User Policy.

Examples:

Request syntax with placeholder values


resp = client.update_tags_for_resource({
  resource_arn: "ResourceArn", # required
  tags_to_add: [
    {
      key: "TagKey",
      value: "TagValue",
    },
  ],
  tags_to_remove: ["TagKey"],
})

Parameters:

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

    ({})

Options Hash (params):

  • :resource_arn (required, String)

    The Amazon Resource Name (ARN) of the resouce to be updated.

    Must be the ARN of an Elastic Beanstalk resource.

  • :tags_to_add (Array<Types::Tag>)

    A list of tags to add or update. If a key of an existing tag is added, the tag's value is updated.

    Specify at least one of these parameters: TagsToAdd, TagsToRemove.

  • :tags_to_remove (Array<String>)

    A list of tag keys to remove. If a tag key doesn't exist, it is silently ignored.

    Specify at least one of these parameters: TagsToAdd, TagsToRemove.

Returns:

  • (Struct)

    Returns an empty response.

See Also:



4520
4521
4522
4523
# File 'gems/aws-sdk-elasticbeanstalk/lib/aws-sdk-elasticbeanstalk/client.rb', line 4520

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

#validate_configuration_settings(params = {}) ⇒ Types::ConfigurationSettingsValidationMessages

Takes a set of configuration settings and either a configuration template or environment, and determines whether those values are valid.

This action returns a list of messages indicating any errors or warnings associated with the selection of option values.

Examples:

Example: To validate configuration settings


# The following operation validates a CloudWatch custom metrics config document:

resp = client.validate_configuration_settings({
  application_name: "my-app", 
  environment_name: "my-env", 
  option_settings: [
    {
      namespace: "aws:elasticbeanstalk:healthreporting:system", 
      option_name: "ConfigDocument", 
      value: "{\"CloudWatchMetrics\": {\"Environment\": {\"ApplicationLatencyP99.9\": null,\"InstancesSevere\": 60,\"ApplicationLatencyP90\": 60,\"ApplicationLatencyP99\": null,\"ApplicationLatencyP95\": 60,\"InstancesUnknown\": 60,\"ApplicationLatencyP85\": 60,\"InstancesInfo\": null,\"ApplicationRequests2xx\": null,\"InstancesDegraded\": null,\"InstancesWarning\": 60,\"ApplicationLatencyP50\": 60,\"ApplicationRequestsTotal\": null,\"InstancesNoData\": null,\"InstancesPending\": 60,\"ApplicationLatencyP10\": null,\"ApplicationRequests5xx\": null,\"ApplicationLatencyP75\": null,\"InstancesOk\": 60,\"ApplicationRequests3xx\": null,\"ApplicationRequests4xx\": null},\"Instance\": {\"ApplicationLatencyP99.9\": null,\"ApplicationLatencyP90\": 60,\"ApplicationLatencyP99\": null,\"ApplicationLatencyP95\": null,\"ApplicationLatencyP85\": null,\"CPUUser\": 60,\"ApplicationRequests2xx\": null,\"CPUIdle\": null,\"ApplicationLatencyP50\": null,\"ApplicationRequestsTotal\": 60,\"RootFilesystemUtil\": null,\"LoadAverage1min\": null,\"CPUIrq\": null,\"CPUNice\": 60,\"CPUIowait\": 60,\"ApplicationLatencyP10\": null,\"LoadAverage5min\": null,\"ApplicationRequests5xx\": null,\"ApplicationLatencyP75\": 60,\"CPUSystem\": 60,\"ApplicationRequests3xx\": 60,\"ApplicationRequests4xx\": null,\"InstanceHealth\": null,\"CPUSoftirq\": 60}},\"Version\": 1}", 
    }, 
  ], 
})

resp.to_h outputs the following:
{
  messages: [
  ], 
}

Request syntax with placeholder values


resp = client.validate_configuration_settings({
  application_name: "ApplicationName", # required
  template_name: "ConfigurationTemplateName",
  environment_name: "EnvironmentName",
  option_settings: [ # required
    {
      resource_name: "ResourceName",
      namespace: "OptionNamespace",
      option_name: "ConfigurationOptionName",
      value: "ConfigurationOptionValue",
    },
  ],
})

Response structure


resp.messages #=> Array
resp.messages[0].message #=> String
resp.messages[0].severity #=> String, one of "error", "warning"
resp.messages[0].namespace #=> String
resp.messages[0].option_name #=> String

Parameters:

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

    ({})

Options Hash (params):

  • :application_name (required, String)

    The name of the application that the configuration template or environment belongs to.

  • :template_name (String)

    The name of the configuration template to validate the settings against.

    Condition: You cannot specify both this and an environment name.

  • :environment_name (String)

    The name of the environment to validate the settings against.

    Condition: You cannot specify both this and a configuration template name.

  • :option_settings (required, Array<Types::ConfigurationOptionSetting>)

    A list of the options and desired values to evaluate.

Returns:

See Also:



4606
4607
4608
4609
# File 'gems/aws-sdk-elasticbeanstalk/lib/aws-sdk-elasticbeanstalk/client.rb', line 4606

def validate_configuration_settings(params = {}, options = {})
  req = build_request(:validate_configuration_settings, 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
environment_exists #describe_environments 20 20
environment_terminated #describe_environments 20 20
environment_updated #describe_environments 20 20

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.



4723
4724
4725
4726
4727
# File 'gems/aws-sdk-elasticbeanstalk/lib/aws-sdk-elasticbeanstalk/client.rb', line 4723

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