You are viewing documentation for version 2 of the AWS SDK for Ruby. Version 3 documentation can be found here.

Class: Aws::ElasticBeanstalk::Client

Inherits:
Seahorse::Client::Base show all
Defined in:
(unknown)

Overview

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

elasticbeanstalk = Aws::ElasticBeanstalk::Client.new(
  region: region_name,
  credentials: credentials,
  # ...
)

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

Region

You can configure a default region in the following locations:

  • ENV['AWS_REGION']
  • Aws.config[:region]

Go here for a list of supported regions.

Credentials

Default credentials are loaded automatically from the following locations:

  • ENV['AWS_ACCESS_KEY_ID'] and ENV['AWS_SECRET_ACCESS_KEY']
  • Aws.config[:credentials]
  • The shared credentials ini file at ~/.aws/credentials (more information)
  • From an instance profile when running on EC2

You can also construct a credentials object from one of the following classes:

Alternatively, you configure credentials with :access_key_id and :secret_access_key:

# load credentials from disk
creds = YAML.load(File.read('/path/to/secrets'))

Aws::ElasticBeanstalk::Client.new(
  access_key_id: creds['access_key_id'],
  secret_access_key: creds['secret_access_key']
)

Always load your credentials from outside your application. Avoid configuring credentials statically and never commit them to source control.

Instance Attribute Summary

Attributes inherited from Seahorse::Client::Base

#config, #handlers

Constructor collapse

API Operations collapse

Instance Method Summary collapse

Methods inherited from Seahorse::Client::Base

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

Methods included from Seahorse::Client::HandlerBuilder

#handle, #handle_request, #handle_response

Constructor Details

#initialize(options = {}) ⇒ Aws::ElasticBeanstalk::Client

Constructs an API client.

Options Hash (options):

  • :access_key_id (String)

    Used to set credentials statically. See Plugins::RequestSigner for more details.

  • :active_endpoint_cache (Boolean)

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

  • :convert_params (Boolean) — default: true

    When true, an attempt is made to coerce request parameters into the required types. See Plugins::ParamConverter for more details.

  • :credentials (required, Credentials)

    Your AWS credentials. The following locations will be searched in order for credentials:

    • :access_key_id, :secret_access_key, and :session_token options
    • ENV['AWS_ACCESS_KEY_ID'], ENV['AWS_SECRET_ACCESS_KEY']
    • HOME/.aws/credentials shared credentials file
    • EC2 instance profile credentials See Plugins::RequestSigner for more details.
  • :disable_host_prefix_injection (Boolean)

    Set to true to disable SDK automatically adding host prefix to default service endpoint when available. See Plugins::EndpointPattern for more details.

  • :endpoint (String)

    A default endpoint is constructed from the :region. See Plugins::RegionalEndpoint for more details.

  • :endpoint_cache_max_entries (Integer)

    Used for the maximum size limit of the LRU cache storing endpoints data for endpoint discovery enabled operations. Defaults to 1000. See Plugins::EndpointDiscovery for more details.

  • :endpoint_cache_max_threads (Integer)

    Used for the maximum threads in use for polling endpoints to be cached, defaults to 10. See Plugins::EndpointDiscovery for more details.

  • :endpoint_cache_poll_interval (Integer)

    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. See Plugins::EndpointDiscovery for more details.

  • :endpoint_discovery (Boolean)

    When set to true, endpoint discovery will be enabled for operations when available. Defaults to false. See Plugins::EndpointDiscovery for more details.

  • :http_continue_timeout (Float) — default: 1

    See Seahorse::Client::Plugins::NetHttp for more details.

  • :http_idle_timeout (Integer) — default: 5

    See Seahorse::Client::Plugins::NetHttp for more details.

  • :http_open_timeout (Integer) — default: 15

    See Seahorse::Client::Plugins::NetHttp for more details.

  • :http_proxy (String)

    See Seahorse::Client::Plugins::NetHttp for more details.

  • :http_read_timeout (Integer) — default: 60

    See Seahorse::Client::Plugins::NetHttp for more details.

  • :http_wire_trace (Boolean) — default: false

    See Seahorse::Client::Plugins::NetHttp for more details.

  • :log_level (Symbol) — default: :info

    The log level to send messages to the logger at. See Plugins::Logging for more details.

  • :log_formatter (Logging::LogFormatter)

    The log formatter. Defaults to Seahorse::Client::Logging::Formatter.default. See Plugins::Logging for more details.

  • :logger (Logger) — default: nil

    The Logger instance to send log messages to. If this option is not set, logging will be disabled. See Plugins::Logging for more details.

  • :profile (String)

    Used when loading credentials from the shared credentials file at HOME/.aws/credentials. When not specified, 'default' is used. See Plugins::RequestSigner for more details.

  • :raise_response_errors (Boolean) — default: true

    When true, response errors are raised. See Seahorse::Client::Plugins::RaiseResponseErrors for more details.

  • :region (required, String)

    The AWS region to connect to. The region is used to construct the client endpoint. Defaults to ENV['AWS_REGION']. Also checks AMAZON_REGION and AWS_DEFAULT_REGION. See Plugins::RegionalEndpoint for more details.

  • :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 and auth errors from expired credentials. See Plugins::RetryErrors for more details.

  • :secret_access_key (String)

    Used to set credentials statically. See Plugins::RequestSigner for more details.

  • :session_token (String)

    Used to set credentials statically. See Plugins::RequestSigner for more details.

  • :ssl_ca_bundle (String)

    See Seahorse::Client::Plugins::NetHttp for more details.

  • :ssl_ca_directory (String)

    See Seahorse::Client::Plugins::NetHttp for more details.

  • :ssl_ca_store (String)

    See Seahorse::Client::Plugins::NetHttp for more details.

  • :ssl_verify_peer (Boolean) — default: true

    See Seahorse::Client::Plugins::NetHttp for more details.

  • :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. See Plugins::StubResponses for more details.

  • :validate_params (Boolean) — default: true

    When true, request parameters are validated before sending the request. See Plugins::ParamValidator for more details.

Instance Method Details

#abort_environment_update(options = {}) ⇒ 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",
})

Options Hash (options):

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

#apply_environment_managed_action(options = {}) ⇒ 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

Options Hash (options):

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

#associate_environment_operations_role(options = {}) ⇒ 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
})

Options Hash (options):

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

#check_dns_availability(options = {}) ⇒ 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 #=> true/false
resp.fully_qualified_cname #=> String

Options Hash (options):

  • :cname_prefix (required, String)

    The prefix used when this CNAME is reserved.

Returns:

See Also:

#compose_environments(options = {}) ⇒ 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 #=> true/false
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

Options Hash (options):

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

#create_application(options = {}) ⇒ 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 #=> true/false
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 #=> true/false
resp.application.resource_lifecycle_config.version_lifecycle_config.max_age_rule.enabled #=> true/false
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 #=> true/false

Options Hash (options):

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

#create_application_version(options = {}) ⇒ 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"

Options Hash (options):

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

#create_configuration_template(options = {}) ⇒ 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

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

Options Hash (options):

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

#create_environment(options = {}) ⇒ 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 #=> true/false
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

Options Hash (options):

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

#create_platform_version(options = {}) ⇒ 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

Options Hash (options):

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

#create_storage_location(options = {}) ⇒ 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", 
}

Request syntax with placeholder values


resp = client.create_storage_location()

Response structure


resp.s3_bucket #=> String

Returns:

See Also:

#delete_application(options = {}) ⇒ 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,
})

Options Hash (options):

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

#delete_application_version(options = {}) ⇒ 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,
})

Options Hash (options):

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

#delete_configuration_template(options = {}) ⇒ 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
})

Options Hash (options):

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

#delete_environment_configuration(options = {}) ⇒ 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
})

Options Hash (options):

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

#delete_platform_version(options = {}) ⇒ 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

Options Hash (options):

  • :platform_arn (String)

    The ARN of the version of the custom platform.

Returns:

See Also:

#describe_account_attributes(options = {}) ⇒ 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:

Request syntax with placeholder values


resp = client.()

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

Returns:

See Also:

#describe_application_versions(options = {}) ⇒ 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

Options Hash (options):

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

#describe_applications(options = {}) ⇒ 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 #=> true/false
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 #=> true/false
resp.applications[0].resource_lifecycle_config.version_lifecycle_config.max_age_rule.enabled #=> true/false
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 #=> true/false

Options Hash (options):

  • :application_names (Array<String>)

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

Returns:

See Also:

#describe_configuration_options(options = {}) ⇒ 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 #=> true/false
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

Options Hash (options):

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

#describe_configuration_settings(options = {}) ⇒ 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

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

Options Hash (options):

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

#describe_environment_health(options = {}) ⇒ 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

Options Hash (options):

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

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

Lists an environment's completed and failed managed actions.

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

Options Hash (options):

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

#describe_environment_managed_actions(options = {}) ⇒ 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

Options Hash (options):

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

#describe_environment_resources(options = {}) ⇒ 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

Options Hash (options):

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

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

Returns descriptions for existing environments.

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 #=> true/false
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

Options Hash (options):

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

    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:

#describe_events(options = {}) ⇒ 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.

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

Options Hash (options):

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

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

  • :end_time (Time)

    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:

#describe_instances_health(options = {}) ⇒ 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

Options Hash (options):

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

#describe_platform_version(options = {}) ⇒ 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

Options Hash (options):

  • :platform_arn (String)

    The ARN of the platform version.

Returns:

See Also:

#disassociate_environment_operations_role(options = {}) ⇒ 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
})

Options Hash (options):

  • :environment_name (required, String)

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

Returns:

  • (Struct)

    Returns an empty response.

See Also:

#list_available_solution_stacks(options = {}) ⇒ 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)", 
  ], 
}

Request syntax with placeholder values


resp = client.list_available_solution_stacks()

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

Returns:

See Also:

#list_platform_branches(options = {}) ⇒ 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.

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

Options Hash (options):

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

#list_platform_versions(options = {}) ⇒ 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.

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

Options Hash (options):

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

#list_tags_for_resource(options = {}) ⇒ 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

Options Hash (options):

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

#rebuild_environment(options = {}) ⇒ 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",
})

Options Hash (options):

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

#request_environment_info(options = {}) ⇒ 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

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

Options Hash (options):

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

#restart_app_server(options = {}) ⇒ 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",
})

Options Hash (options):

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

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

Retrieves the compiled information from a RequestEnvironmentInfo request.

Related Topics

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

Options Hash (options):

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

#swap_environment_cnames(options = {}) ⇒ 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",
})

Options Hash (options):

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

#terminate_environment(options = {}) ⇒ 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 #=> true/false
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

Options Hash (options):

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

#update_application(options = {}) ⇒ 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 #=> true/false
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 #=> true/false
resp.application.resource_lifecycle_config.version_lifecycle_config.max_age_rule.enabled #=> true/false
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 #=> true/false

Options Hash (options):

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

#update_application_resource_lifecycle(options = {}) ⇒ 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 #=> true/false
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 #=> true/false
resp.resource_lifecycle_config.version_lifecycle_config.max_age_rule.enabled #=> true/false
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 #=> true/false

Options Hash (options):

Returns:

See Also:

#update_application_version(options = {}) ⇒ 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"

Options Hash (options):

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

#update_configuration_template(options = {}) ⇒ 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

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

Options Hash (options):

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

#update_environment(options = {}) ⇒ 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 #=> true/false
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

Options Hash (options):

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

#update_tags_for_resource(options = {}) ⇒ 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"],
})

Options Hash (options):

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

#validate_configuration_settings(options = {}) ⇒ 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

Options Hash (options):

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

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

Waiters polls an API operation until a resource enters a desired state.

Basic Usage

Waiters will poll until they are succesful, they fail by entering a terminal state, or until a maximum number of attempts are made.

# polls in a loop, sleeping between attempts client.waiter_until(waiter_name, params)

Configuration

You can configure the maximum number of polling attempts, and the delay (in seconds) between each polling attempt. You configure waiters by passing a block to #wait_until:

# poll for ~25 seconds
client.wait_until(...) do |w|
  w.max_attempts = 5
  w.delay = 5
end

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(...) do |w|

  # disable max attempts
  w.max_attempts = nil

  # poll for 1 hour, instead of a number of attempts
  w.before_wait do |attempts, response|
    throw :failure if Time.now - started_at > 3600
  end

end

Handling Errors

When a waiter is successful, it returns true. When a waiter fails, it raises an error. All errors raised extend from Waiters::Errors::WaiterFailed.

begin
  client.wait_until(...)
rescue Aws::Waiters::Errors::WaiterFailed
  # resource did not enter the desired state in time
end

Parameters:

  • waiter_name (Symbol)

    The name of the waiter. See #waiter_names for a full list of supported waiters.

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

    Additional request parameters. See the #waiter_names for a list of supported waiters and what request they call. The called request determines the list of accepted parameters.

Yield Parameters:

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.

#waiter_namesArray<Symbol>

Returns the list of supported waiters. The following table lists the supported waiters and the client method they call:

Waiter NameClient MethodDefault Delay:Default Max Attempts:
:environment_exists#describe_environments2020
:environment_terminated#describe_environments2020
:environment_updated#describe_environments2020

Returns:

  • (Array<Symbol>)

    the list of supported waiters.