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

  • :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, and :session_token options.
    • ENV['AWS_ACCESS_KEY_ID'], ENV['AWS_SECRET_ACCESS_KEY']
    • ~/.aws/credentials
    • ~/.aws/config
    • EC2/ECS IMDS instance profile - When used by default, the timeouts are very aggressive. Construct and pass an instance of Aws::InstanceProfileCredentails or Aws::ECSCredentials to enable retries and extended timeouts. 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)
  • :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)

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

  • :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/. It should have a maximum length of 50.

  • :secret_access_key (String)
  • :session_token (String)
  • :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.

  • :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_proxy (URI::HTTP, String)

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

  • :http_open_timeout (Float) — default: 15

    The number of seconds to wait when opening a HTTP session before raising a Timeout::Error.

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

  • :ssl_timeout (Float) — default: nil

    Sets the SSL timeout in seconds.

  • :http_wire_trace (Boolean) — default: false

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

  • :ssl_verify_peer (Boolean) — default: true

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

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



385
386
387
# File 'gems/aws-sdk-elasticbeanstalk/lib/aws-sdk-elasticbeanstalk/client.rb', line 385

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:



424
425
426
427
# File 'gems/aws-sdk-elasticbeanstalk/lib/aws-sdk-elasticbeanstalk/client.rb', line 424

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:



468
469
470
471
# File 'gems/aws-sdk-elasticbeanstalk/lib/aws-sdk-elasticbeanstalk/client.rb', line 468

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:



503
504
505
506
# File 'gems/aws-sdk-elasticbeanstalk/lib/aws-sdk-elasticbeanstalk/client.rb', line 503

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:



548
549
550
551
# File 'gems/aws-sdk-elasticbeanstalk/lib/aws-sdk-elasticbeanstalk/client.rb', line 548

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:



636
637
638
639
# File 'gems/aws-sdk-elasticbeanstalk/lib/aws-sdk-elasticbeanstalk/client.rb', line 636

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:



738
739
740
741
# File 'gems/aws-sdk-elasticbeanstalk/lib/aws-sdk-elasticbeanstalk/client.rb', line 738

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:



915
916
917
918
# File 'gems/aws-sdk-elasticbeanstalk/lib/aws-sdk-elasticbeanstalk/client.rb', line 915

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:



1100
1101
1102
1103
# File 'gems/aws-sdk-elasticbeanstalk/lib/aws-sdk-elasticbeanstalk/client.rb', line 1100

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:



1354
1355
1356
1357
# File 'gems/aws-sdk-elasticbeanstalk/lib/aws-sdk-elasticbeanstalk/client.rb', line 1354

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:



1436
1437
1438
1439
# File 'gems/aws-sdk-elasticbeanstalk/lib/aws-sdk-elasticbeanstalk/client.rb', line 1436

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:



1473
1474
1475
1476
# File 'gems/aws-sdk-elasticbeanstalk/lib/aws-sdk-elasticbeanstalk/client.rb', line 1473

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:



1515
1516
1517
1518
# File 'gems/aws-sdk-elasticbeanstalk/lib/aws-sdk-elasticbeanstalk/client.rb', line 1515

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:



1563
1564
1565
1566
# File 'gems/aws-sdk-elasticbeanstalk/lib/aws-sdk-elasticbeanstalk/client.rb', line 1563

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:



1606
1607
1608
1609
# File 'gems/aws-sdk-elasticbeanstalk/lib/aws-sdk-elasticbeanstalk/client.rb', line 1606

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:



1651
1652
1653
1654
# File 'gems/aws-sdk-elasticbeanstalk/lib/aws-sdk-elasticbeanstalk/client.rb', line 1651

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:



1692
1693
1694
1695
# File 'gems/aws-sdk-elasticbeanstalk/lib/aws-sdk-elasticbeanstalk/client.rb', line 1692

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:



1718
1719
1720
1721
# File 'gems/aws-sdk-elasticbeanstalk/lib/aws-sdk-elasticbeanstalk/client.rb', line 1718

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:



1822
1823
1824
1825
# File 'gems/aws-sdk-elasticbeanstalk/lib/aws-sdk-elasticbeanstalk/client.rb', line 1822

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:



1913
1914
1915
1916
# File 'gems/aws-sdk-elasticbeanstalk/lib/aws-sdk-elasticbeanstalk/client.rb', line 1913

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:



2030
2031
2032
2033
# File 'gems/aws-sdk-elasticbeanstalk/lib/aws-sdk-elasticbeanstalk/client.rb', line 2030

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:



2156
2157
2158
2159
# File 'gems/aws-sdk-elasticbeanstalk/lib/aws-sdk-elasticbeanstalk/client.rb', line 2156

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:



2287
2288
2289
2290
# File 'gems/aws-sdk-elasticbeanstalk/lib/aws-sdk-elasticbeanstalk/client.rb', line 2287

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:



2339
2340
2341
2342
# File 'gems/aws-sdk-elasticbeanstalk/lib/aws-sdk-elasticbeanstalk/client.rb', line 2339

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:



2380
2381
2382
2383
# File 'gems/aws-sdk-elasticbeanstalk/lib/aws-sdk-elasticbeanstalk/client.rb', line 2380

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:



2475
2476
2477
2478
# File 'gems/aws-sdk-elasticbeanstalk/lib/aws-sdk-elasticbeanstalk/client.rb', line 2475

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:



2625
2626
2627
2628
# File 'gems/aws-sdk-elasticbeanstalk/lib/aws-sdk-elasticbeanstalk/client.rb', line 2625

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:



2777
2778
2779
2780
# File 'gems/aws-sdk-elasticbeanstalk/lib/aws-sdk-elasticbeanstalk/client.rb', line 2777

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:



2928
2929
2930
2931
# File 'gems/aws-sdk-elasticbeanstalk/lib/aws-sdk-elasticbeanstalk/client.rb', line 2928

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:



2993
2994
2995
2996
# File 'gems/aws-sdk-elasticbeanstalk/lib/aws-sdk-elasticbeanstalk/client.rb', line 2993

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:



3024
3025
3026
3027
# File 'gems/aws-sdk-elasticbeanstalk/lib/aws-sdk-elasticbeanstalk/client.rb', line 3024

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:



3101
3102
3103
3104
# File 'gems/aws-sdk-elasticbeanstalk/lib/aws-sdk-elasticbeanstalk/client.rb', line 3101

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:



3202
3203
3204
3205
# File 'gems/aws-sdk-elasticbeanstalk/lib/aws-sdk-elasticbeanstalk/client.rb', line 3202

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:



3278
3279
3280
3281
# File 'gems/aws-sdk-elasticbeanstalk/lib/aws-sdk-elasticbeanstalk/client.rb', line 3278

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:



3322
3323
3324
3325
# File 'gems/aws-sdk-elasticbeanstalk/lib/aws-sdk-elasticbeanstalk/client.rb', line 3322

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:



3367
3368
3369
3370
# File 'gems/aws-sdk-elasticbeanstalk/lib/aws-sdk-elasticbeanstalk/client.rb', line 3367

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:



3438
3439
3440
3441
# File 'gems/aws-sdk-elasticbeanstalk/lib/aws-sdk-elasticbeanstalk/client.rb', line 3438

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:



3482
3483
3484
3485
# File 'gems/aws-sdk-elasticbeanstalk/lib/aws-sdk-elasticbeanstalk/client.rb', line 3482

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:



3565
3566
3567
3568
# File 'gems/aws-sdk-elasticbeanstalk/lib/aws-sdk-elasticbeanstalk/client.rb', line 3565

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:



3628
3629
3630
3631
# File 'gems/aws-sdk-elasticbeanstalk/lib/aws-sdk-elasticbeanstalk/client.rb', line 3628

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:



3772
3773
3774
3775
# File 'gems/aws-sdk-elasticbeanstalk/lib/aws-sdk-elasticbeanstalk/client.rb', line 3772

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:



3857
3858
3859
3860
# File 'gems/aws-sdk-elasticbeanstalk/lib/aws-sdk-elasticbeanstalk/client.rb', line 3857

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:



3911
3912
3913
3914
# File 'gems/aws-sdk-elasticbeanstalk/lib/aws-sdk-elasticbeanstalk/client.rb', line 3911

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:



3997
3998
3999
4000
# File 'gems/aws-sdk-elasticbeanstalk/lib/aws-sdk-elasticbeanstalk/client.rb', line 3997

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:



4127
4128
4129
4130
# File 'gems/aws-sdk-elasticbeanstalk/lib/aws-sdk-elasticbeanstalk/client.rb', line 4127

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:



4390
4391
4392
4393
# File 'gems/aws-sdk-elasticbeanstalk/lib/aws-sdk-elasticbeanstalk/client.rb', line 4390

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:



4461
4462
4463
4464
# File 'gems/aws-sdk-elasticbeanstalk/lib/aws-sdk-elasticbeanstalk/client.rb', line 4461

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:



4547
4548
4549
4550
# File 'gems/aws-sdk-elasticbeanstalk/lib/aws-sdk-elasticbeanstalk/client.rb', line 4547

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.



4659
4660
4661
4662
4663
# File 'gems/aws-sdk-elasticbeanstalk/lib/aws-sdk-elasticbeanstalk/client.rb', line 4659

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