Class: AWSCDK::ElasticBeanstalk::CfnEnvironmentProps

Inherits:
Jsii::Struct
  • Object
show all
Defined in:
elastic_beanstalk/cfn_environment_props.rb

Overview

Properties for defining a CfnEnvironment.

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(application_name:, cname_prefix: nil, description: nil, environment_name: nil, operations_role: nil, option_settings: nil, platform_arn: nil, solution_stack_name: nil, tags: nil, template_name: nil, tier: nil, version_label: nil) ⇒ CfnEnvironmentProps

Returns a new instance of CfnEnvironmentProps.

Parameters:

  • application_name (String, AWSCDK::Interfaces::AWSElasticbeanstalk::IApplicationRef)

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

  • cname_prefix (String, nil) (defaults to: nil)

    If specified, the environment attempts to use this value as the prefix for the CNAME in your Elastic Beanstalk environment URL.

  • description (String, nil) (defaults to: nil)

    Your description for this environment.

  • environment_name (String, nil) (defaults to: nil)

    A unique name for the environment.

  • operations_role (String, nil) (defaults to: nil)

    The operations role feature of AWS Elastic Beanstalk is in beta release and is subject to change.

  • option_settings (AWSCDK::IResolvable, Array<AWSCDK::IResolvable, AWSCDK::ElasticBeanstalk::CfnEnvironment::OptionSettingProperty>, nil) (defaults to: nil)

    Key-value pairs defining configuration options for this environment, such as the instance type.

  • platform_arn (String, nil) (defaults to: nil)

    The Amazon Resource Name (ARN) of the custom platform to use with the environment.

  • solution_stack_name (String, nil) (defaults to: nil)

    The name of an Elastic Beanstalk solution stack (platform version) to use with the environment.

  • tags (Array<AWSCDK::CfnTag>, nil) (defaults to: nil)

    Specifies the tags applied to resources in the environment.

  • template_name (String, AWSCDK::Interfaces::AWSElasticbeanstalk::IConfigurationTemplateRef, nil) (defaults to: nil)

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

  • tier (AWSCDK::IResolvable, AWSCDK::ElasticBeanstalk::CfnEnvironment::TierProperty, nil) (defaults to: nil)

    Specifies the tier to use in creating this environment.

  • version_label (String, nil) (defaults to: nil)

    The name of the application version to deploy.



21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
# File 'elastic_beanstalk/cfn_environment_props.rb', line 21

def initialize(application_name:, cname_prefix: nil, description: nil, environment_name: nil, operations_role: nil, option_settings: nil, platform_arn: nil, solution_stack_name: nil, tags: nil, template_name: nil, tier: nil, version_label: nil)
  @application_name = application_name
  Jsii::Type.check_type(@application_name, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3sicHJpbWl0aXZlIjoic3RyaW5nIn0seyJmcW4iOiJhd3MtY2RrLWxpYi5pbnRlcmZhY2VzLmF3c19lbGFzdGljYmVhbnN0YWxrLklBcHBsaWNhdGlvblJlZiJ9XX19")), "applicationName")
  @cname_prefix = cname_prefix
  Jsii::Type.check_type(@cname_prefix, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "cnamePrefix") unless @cname_prefix.nil?
  @description = description
  Jsii::Type.check_type(@description, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "description") unless @description.nil?
  @environment_name = environment_name
  Jsii::Type.check_type(@environment_name, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "environmentName") unless @environment_name.nil?
  @operations_role = operations_role
  Jsii::Type.check_type(@operations_role, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "operationsRole") unless @operations_role.nil?
  @option_settings = option_settings
  Jsii::Type.check_type(@option_settings, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3siZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifSx7ImNvbGxlY3Rpb24iOnsiZWxlbWVudHR5cGUiOnsidW5pb24iOnsidHlwZXMiOlt7ImZxbiI6ImF3cy1jZGstbGliLklSZXNvbHZhYmxlIn0seyJmcW4iOiJhd3MtY2RrLWxpYi5hd3NfZWxhc3RpY2JlYW5zdGFsay5DZm5FbnZpcm9ubWVudC5PcHRpb25TZXR0aW5nUHJvcGVydHkifV19fSwia2luZCI6ImFycmF5In19XX19")), "optionSettings") unless @option_settings.nil?
  @platform_arn = platform_arn
  Jsii::Type.check_type(@platform_arn, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "platformArn") unless @platform_arn.nil?
  @solution_stack_name = solution_stack_name
  Jsii::Type.check_type(@solution_stack_name, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "solutionStackName") unless @solution_stack_name.nil?
  @tags = tags.is_a?(Array) ? tags.map { |jsii_v0| jsii_v0.is_a?(Hash) ? ::AWSCDK::CfnTag.new(**jsii_v0.transform_keys(&:to_sym)) : jsii_v0 } : tags
  Jsii::Type.check_type(@tags, JSON.parse(Base64.strict_decode64("eyJjb2xsZWN0aW9uIjp7ImVsZW1lbnR0eXBlIjp7ImZxbiI6ImF3cy1jZGstbGliLkNmblRhZyJ9LCJraW5kIjoiYXJyYXkifX0=")), "tags") unless @tags.nil?
  @template_name = template_name
  Jsii::Type.check_type(@template_name, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3sicHJpbWl0aXZlIjoic3RyaW5nIn0seyJmcW4iOiJhd3MtY2RrLWxpYi5pbnRlcmZhY2VzLmF3c19lbGFzdGljYmVhbnN0YWxrLklDb25maWd1cmF0aW9uVGVtcGxhdGVSZWYifV19fQ==")), "templateName") unless @template_name.nil?
  @tier = tier.is_a?(Hash) ? ::AWSCDK::ElasticBeanstalk::CfnEnvironment::TierProperty.new(**tier.transform_keys(&:to_sym)) : tier
  Jsii::Type.check_type(@tier, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3siZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifSx7ImZxbiI6ImF3cy1jZGstbGliLmF3c19lbGFzdGljYmVhbnN0YWxrLkNmbkVudmlyb25tZW50LlRpZXJQcm9wZXJ0eSJ9XX19")), "tier") unless @tier.nil?
  @version_label = version_label
  Jsii::Type.check_type(@version_label, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "versionLabel") unless @version_label.nil?
end

Instance Attribute Details

#application_nameString, AWSCDK::Interfaces::AWSElasticbeanstalk::IApplicationRef (readonly)

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



52
53
54
# File 'elastic_beanstalk/cfn_environment_props.rb', line 52

def application_name
  @application_name
end

#cname_prefixString? (readonly)

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.



59
60
61
# File 'elastic_beanstalk/cfn_environment_props.rb', line 59

def cname_prefix
  @cname_prefix
end

#descriptionString? (readonly)

Your description for this environment.



64
65
66
# File 'elastic_beanstalk/cfn_environment_props.rb', line 64

def description
  @description
end

#environment_nameString? (readonly)

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

If you don't specify an environment name, AWS CloudFormation generates a unique physical ID and uses that ID for the environment name. For more information, see Name Type .

If you specify a name, you cannot perform updates that require replacement of this resource. You can perform updates that require no or some interruption. If you must replace the resource, specify a new name.



77
78
79
# File 'elastic_beanstalk/cfn_environment_props.rb', line 77

def environment_name
  @environment_name
end

#operations_roleString? (readonly)

The operations role feature of AWS Elastic Beanstalk is in beta release and is subject to change.

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.



84
85
86
# File 'elastic_beanstalk/cfn_environment_props.rb', line 84

def operations_role
  @operations_role
end

#option_settingsAWSCDK::IResolvable, ... (readonly)

Key-value pairs defining configuration options for this environment, such as the instance type.

These options override the values that are defined in the solution stack or the configuration template . If you remove any options during a stack update, the removed options retain their current values.



91
92
93
# File 'elastic_beanstalk/cfn_environment_props.rb', line 91

def option_settings
  @option_settings
end

#platform_arnString? (readonly)

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 .



100
101
102
# File 'elastic_beanstalk/cfn_environment_props.rb', line 100

def platform_arn
  @platform_arn
end

#solution_stack_nameString? (readonly)

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 .



109
110
111
# File 'elastic_beanstalk/cfn_environment_props.rb', line 109

def solution_stack_name
  @solution_stack_name
end

#tagsArray<AWSCDK::CfnTag>? (readonly)

Specifies the tags applied to resources in the environment.



114
115
116
# File 'elastic_beanstalk/cfn_environment_props.rb', line 114

def tags
  @tags
end

#template_nameString, ... (readonly)

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

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



121
122
123
# File 'elastic_beanstalk/cfn_environment_props.rb', line 121

def template_name
  @template_name
end

#tierAWSCDK::IResolvable, ... (readonly)

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.



128
129
130
# File 'elastic_beanstalk/cfn_environment_props.rb', line 128

def tier
  @tier
end

#version_labelString? (readonly)

The name of the application version to deploy.

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



135
136
137
# File 'elastic_beanstalk/cfn_environment_props.rb', line 135

def version_label
  @version_label
end

Class Method Details

.jsii_propertiesObject



137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
# File 'elastic_beanstalk/cfn_environment_props.rb', line 137

def self.jsii_properties
  {
    :application_name => "applicationName",
    :cname_prefix => "cnamePrefix",
    :description => "description",
    :environment_name => "environmentName",
    :operations_role => "operationsRole",
    :option_settings => "optionSettings",
    :platform_arn => "platformArn",
    :solution_stack_name => "solutionStackName",
    :tags => "tags",
    :template_name => "templateName",
    :tier => "tier",
    :version_label => "versionLabel",
  }
end

Instance Method Details

#to_jsiiObject



154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
# File 'elastic_beanstalk/cfn_environment_props.rb', line 154

def to_jsii
  result = {}
  result.merge!({
    "applicationName" => @application_name,
    "cnamePrefix" => @cname_prefix,
    "description" => @description,
    "environmentName" => @environment_name,
    "operationsRole" => @operations_role,
    "optionSettings" => @option_settings,
    "platformArn" => @platform_arn,
    "solutionStackName" => @solution_stack_name,
    "tags" => @tags,
    "templateName" => @template_name,
    "tier" => @tier,
    "versionLabel" => @version_label,
  })
  result.compact
end