Class: AWSCDK::OpsWorks::CfnStackProps

Inherits:
Jsii::Struct
  • Object
show all
Defined in:
ops_works/cfn_stack_props.rb

Overview

Properties for defining a CfnStack.

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(default_instance_profile_arn:, name:, service_role_arn:, agent_version: nil, attributes: nil, chef_configuration: nil, clone_app_ids: nil, clone_permissions: nil, configuration_manager: nil, custom_cookbooks_source: nil, custom_json: nil, default_availability_zone: nil, default_os: nil, default_root_device_type: nil, default_ssh_key_name: nil, default_subnet_id: nil, ecs_cluster_arn: nil, elastic_ips: nil, hostname_theme: nil, rds_db_instances: nil, source_stack_id: nil, tags: nil, use_custom_cookbooks: nil, use_opsworks_security_groups: nil, vpc_id: nil) ⇒ CfnStackProps

Returns a new instance of CfnStackProps.

Parameters:

  • default_instance_profile_arn (String)

    The Amazon Resource Name (ARN) of an IAM profile that is the default profile for all of the stack's EC2 instances.

  • name (String)

    The stack name.

  • service_role_arn (String)

    The stack's IAM role, which allows OpsWorks Stacks to work with AWS resources on your behalf.

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

    The default OpsWorks Stacks agent version. You have the following options:.

  • attributes (AWSCDK::IResolvable, Hash{String => String}, nil) (defaults to: nil)

    One or more user-defined key-value pairs to be added to the stack attributes.

  • chef_configuration (AWSCDK::IResolvable, AWSCDK::OpsWorks::CfnStack::ChefConfigurationProperty, nil) (defaults to: nil)

    A ChefConfiguration object that specifies whether to enable Berkshelf and the Berkshelf version on Chef 11.10 stacks. For more information, see Create a New Stack .

  • clone_app_ids (Array<String>, nil) (defaults to: nil)

    If you're cloning an OpsWorks stack, a list of OpsWorks application stack IDs from the source stack to include in the cloned stack.

  • clone_permissions (Boolean, AWSCDK::IResolvable, nil) (defaults to: nil)

    If you're cloning an OpsWorks stack, indicates whether to clone the source stack's permissions.

  • configuration_manager (AWSCDK::IResolvable, AWSCDK::OpsWorks::CfnStack::StackConfigurationManagerProperty, nil) (defaults to: nil)

    The configuration manager.

  • custom_cookbooks_source (AWSCDK::IResolvable, AWSCDK::OpsWorks::CfnStack::SourceProperty, nil) (defaults to: nil)

    Contains the information required to retrieve an app or cookbook from a repository.

  • custom_json (Object, nil) (defaults to: nil)

    A string that contains user-defined, custom JSON.

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

    The stack's default Availability Zone, which must be in the specified region.

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

    The stack's default operating system, which is installed on every instance unless you specify a different operating system when you create the instance.

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

    The default root device type.

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

    A default Amazon EC2 key pair name.

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

    The stack's default subnet ID.

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

    The Amazon Resource Name (ARN) of the ( Amazon ECS ) cluster to register with the OpsWorks stack.

  • elastic_ips (AWSCDK::IResolvable, Array<AWSCDK::IResolvable, AWSCDK::OpsWorks::CfnStack::ElasticIPProperty>, nil) (defaults to: nil)

    A list of Elastic IP addresses to register with the OpsWorks stack.

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

    The stack's host name theme, with spaces replaced by underscores.

  • rds_db_instances (AWSCDK::IResolvable, Array<AWSCDK::IResolvable, AWSCDK::OpsWorks::CfnStack::RDSDBInstanceProperty>, nil) (defaults to: nil)

    The Amazon Relational Database Service ( Amazon RDS ) database instance to register with the OpsWorks stack.

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

    If you're cloning an OpsWorks stack, the stack ID of the source OpsWorks stack to clone.

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

    A map that contains tag keys and tag values that are attached to a stack or layer.

  • use_custom_cookbooks (Boolean, AWSCDK::IResolvable, nil) (defaults to: nil)

    Whether the stack uses custom cookbooks.

  • use_opsworks_security_groups (Boolean, AWSCDK::IResolvable, nil) (defaults to: nil)

    Whether to associate the OpsWorks Stacks built-in security groups with the stack's layers.

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

    The ID of the VPC that the stack is to be launched into.



34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
# File 'ops_works/cfn_stack_props.rb', line 34

def initialize(default_instance_profile_arn:, name:, service_role_arn:, agent_version: nil, attributes: nil, chef_configuration: nil, clone_app_ids: nil, clone_permissions: nil, configuration_manager: nil, custom_cookbooks_source: nil, custom_json: nil, default_availability_zone: nil, default_os: nil, default_root_device_type: nil, default_ssh_key_name: nil, default_subnet_id: nil, ecs_cluster_arn: nil, elastic_ips: nil, hostname_theme: nil, rds_db_instances: nil, source_stack_id: nil, tags: nil, use_custom_cookbooks: nil, use_opsworks_security_groups: nil, vpc_id: nil)
  @default_instance_profile_arn = default_instance_profile_arn
  Jsii::Type.check_type(@default_instance_profile_arn, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "defaultInstanceProfileArn")
  @name = name
  Jsii::Type.check_type(@name, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "name")
  @service_role_arn = service_role_arn
  Jsii::Type.check_type(@service_role_arn, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "serviceRoleArn")
  @agent_version = agent_version
  Jsii::Type.check_type(@agent_version, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "agentVersion") unless @agent_version.nil?
  @attributes = attributes
  Jsii::Type.check_type(@attributes, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3siZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifSx7ImNvbGxlY3Rpb24iOnsiZWxlbWVudHR5cGUiOnsicHJpbWl0aXZlIjoic3RyaW5nIn0sImtpbmQiOiJtYXAifX1dfX0=")), "attributes") unless @attributes.nil?
  @chef_configuration = chef_configuration.is_a?(Hash) ? ::AWSCDK::OpsWorks::CfnStack::ChefConfigurationProperty.new(**chef_configuration.transform_keys(&:to_sym)) : chef_configuration
  Jsii::Type.check_type(@chef_configuration, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3siZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifSx7ImZxbiI6ImF3cy1jZGstbGliLmF3c19vcHN3b3Jrcy5DZm5TdGFjay5DaGVmQ29uZmlndXJhdGlvblByb3BlcnR5In1dfX0=")), "chefConfiguration") unless @chef_configuration.nil?
  @clone_app_ids = clone_app_ids
  Jsii::Type.check_type(@clone_app_ids, JSON.parse(Base64.strict_decode64("eyJjb2xsZWN0aW9uIjp7ImVsZW1lbnR0eXBlIjp7InByaW1pdGl2ZSI6InN0cmluZyJ9LCJraW5kIjoiYXJyYXkifX0=")), "cloneAppIds") unless @clone_app_ids.nil?
  @clone_permissions = clone_permissions
  Jsii::Type.check_type(@clone_permissions, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3sicHJpbWl0aXZlIjoiYm9vbGVhbiJ9LHsiZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifV19fQ==")), "clonePermissions") unless @clone_permissions.nil?
  @configuration_manager = configuration_manager.is_a?(Hash) ? ::AWSCDK::OpsWorks::CfnStack::StackConfigurationManagerProperty.new(**configuration_manager.transform_keys(&:to_sym)) : configuration_manager
  Jsii::Type.check_type(@configuration_manager, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3siZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifSx7ImZxbiI6ImF3cy1jZGstbGliLmF3c19vcHN3b3Jrcy5DZm5TdGFjay5TdGFja0NvbmZpZ3VyYXRpb25NYW5hZ2VyUHJvcGVydHkifV19fQ==")), "configurationManager") unless @configuration_manager.nil?
  @custom_cookbooks_source = custom_cookbooks_source.is_a?(Hash) ? ::AWSCDK::OpsWorks::CfnStack::SourceProperty.new(**custom_cookbooks_source.transform_keys(&:to_sym)) : custom_cookbooks_source
  Jsii::Type.check_type(@custom_cookbooks_source, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3siZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifSx7ImZxbiI6ImF3cy1jZGstbGliLmF3c19vcHN3b3Jrcy5DZm5TdGFjay5Tb3VyY2VQcm9wZXJ0eSJ9XX19")), "customCookbooksSource") unless @custom_cookbooks_source.nil?
  @custom_json = custom_json
  Jsii::Type.check_type(@custom_json, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJhbnkifQ==")), "customJson") unless @custom_json.nil?
  @default_availability_zone = default_availability_zone
  Jsii::Type.check_type(@default_availability_zone, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "defaultAvailabilityZone") unless @default_availability_zone.nil?
  @default_os = default_os
  Jsii::Type.check_type(@default_os, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "defaultOs") unless @default_os.nil?
  @default_root_device_type = default_root_device_type
  Jsii::Type.check_type(@default_root_device_type, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "defaultRootDeviceType") unless @default_root_device_type.nil?
  @default_ssh_key_name = default_ssh_key_name
  Jsii::Type.check_type(@default_ssh_key_name, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "defaultSshKeyName") unless @default_ssh_key_name.nil?
  @default_subnet_id = default_subnet_id
  Jsii::Type.check_type(@default_subnet_id, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "defaultSubnetId") unless @default_subnet_id.nil?
  @ecs_cluster_arn = ecs_cluster_arn
  Jsii::Type.check_type(@ecs_cluster_arn, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "ecsClusterArn") unless @ecs_cluster_arn.nil?
  @elastic_ips = elastic_ips
  Jsii::Type.check_type(@elastic_ips, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3siZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifSx7ImNvbGxlY3Rpb24iOnsiZWxlbWVudHR5cGUiOnsidW5pb24iOnsidHlwZXMiOlt7ImZxbiI6ImF3cy1jZGstbGliLklSZXNvbHZhYmxlIn0seyJmcW4iOiJhd3MtY2RrLWxpYi5hd3Nfb3Bzd29ya3MuQ2ZuU3RhY2suRWxhc3RpY0lwUHJvcGVydHkifV19fSwia2luZCI6ImFycmF5In19XX19")), "elasticIps") unless @elastic_ips.nil?
  @hostname_theme = hostname_theme
  Jsii::Type.check_type(@hostname_theme, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "hostnameTheme") unless @hostname_theme.nil?
  @rds_db_instances = rds_db_instances
  Jsii::Type.check_type(@rds_db_instances, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3siZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifSx7ImNvbGxlY3Rpb24iOnsiZWxlbWVudHR5cGUiOnsidW5pb24iOnsidHlwZXMiOlt7ImZxbiI6ImF3cy1jZGstbGliLklSZXNvbHZhYmxlIn0seyJmcW4iOiJhd3MtY2RrLWxpYi5hd3Nfb3Bzd29ya3MuQ2ZuU3RhY2suUmRzRGJJbnN0YW5jZVByb3BlcnR5In1dfX0sImtpbmQiOiJhcnJheSJ9fV19fQ==")), "rdsDbInstances") unless @rds_db_instances.nil?
  @source_stack_id = source_stack_id
  Jsii::Type.check_type(@source_stack_id, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "sourceStackId") unless @source_stack_id.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?
  @use_custom_cookbooks = use_custom_cookbooks
  Jsii::Type.check_type(@use_custom_cookbooks, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3sicHJpbWl0aXZlIjoiYm9vbGVhbiJ9LHsiZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifV19fQ==")), "useCustomCookbooks") unless @use_custom_cookbooks.nil?
  @use_opsworks_security_groups = use_opsworks_security_groups
  Jsii::Type.check_type(@use_opsworks_security_groups, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3sicHJpbWl0aXZlIjoiYm9vbGVhbiJ9LHsiZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifV19fQ==")), "useOpsworksSecurityGroups") unless @use_opsworks_security_groups.nil?
  @vpc_id = vpc_id
  Jsii::Type.check_type(@vpc_id, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "vpcId") unless @vpc_id.nil?
end

Instance Attribute Details

#agent_versionString? (readonly)

The default OpsWorks Stacks agent version. You have the following options:.

  • Auto-update - Set this parameter to LATEST . OpsWorks Stacks automatically installs new agent versions on the stack's instances as soon as they are available.
  • Fixed version - Set this parameter to your preferred agent version. To update the agent version, you must edit the stack configuration and specify a new version. OpsWorks Stacks installs that version on the stack's instances.

The default setting is the most recent release of the agent. To specify an agent version, you must use the complete version number, not the abbreviated number shown on the console. For a list of available agent version numbers, call DescribeAgentVersions . AgentVersion cannot be set to Chef 12.2.

You can also specify an agent version when you create or update an instance, which overrides the stack's default setting.



119
120
121
# File 'ops_works/cfn_stack_props.rb', line 119

def agent_version
  @agent_version
end

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

One or more user-defined key-value pairs to be added to the stack attributes.



124
125
126
# File 'ops_works/cfn_stack_props.rb', line 124

def attributes
  @attributes
end

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

A ChefConfiguration object that specifies whether to enable Berkshelf and the Berkshelf version on Chef 11.10 stacks. For more information, see Create a New Stack .



129
130
131
# File 'ops_works/cfn_stack_props.rb', line 129

def chef_configuration
  @chef_configuration
end

#clone_app_idsArray<String>? (readonly)

If you're cloning an OpsWorks stack, a list of OpsWorks application stack IDs from the source stack to include in the cloned stack.



134
135
136
# File 'ops_works/cfn_stack_props.rb', line 134

def clone_app_ids
  @clone_app_ids
end

#clone_permissionsBoolean, ... (readonly)

If you're cloning an OpsWorks stack, indicates whether to clone the source stack's permissions.



139
140
141
# File 'ops_works/cfn_stack_props.rb', line 139

def clone_permissions
  @clone_permissions
end

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

The configuration manager.

When you create a stack we recommend that you use the configuration manager to specify the Chef version: 12, 11.10, or 11.4 for Linux stacks, or 12.2 for Windows stacks. The default value for Linux stacks is currently 12.



146
147
148
# File 'ops_works/cfn_stack_props.rb', line 146

def configuration_manager
  @configuration_manager
end

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

Contains the information required to retrieve an app or cookbook from a repository.

For more information, see Adding Apps or Cookbooks and Recipes .



153
154
155
# File 'ops_works/cfn_stack_props.rb', line 153

def custom_cookbooks_source
  @custom_cookbooks_source
end

#custom_jsonObject? (readonly)

A string that contains user-defined, custom JSON.

It can be used to override the corresponding default stack configuration attribute values or to pass data to recipes. The string should be in the following format:

"{\"key1\": \"value1\", \"key2\": \"value2\",...}"

For more information about custom JSON, see Use Custom JSON to Modify the Stack Configuration Attributes .



164
165
166
# File 'ops_works/cfn_stack_props.rb', line 164

def custom_json
  @custom_json
end

#default_availability_zoneString? (readonly)

The stack's default Availability Zone, which must be in the specified region.

For more information, see Regions and Endpoints . If you also specify a value for DefaultSubnetId , the subnet must be in the same zone. For more information, see the VpcId parameter description.



171
172
173
# File 'ops_works/cfn_stack_props.rb', line 171

def default_availability_zone
  @default_availability_zone
end

#default_instance_profile_arnString (readonly)

The Amazon Resource Name (ARN) of an IAM profile that is the default profile for all of the stack's EC2 instances.

For more information about IAM ARNs, see Using Identifiers .



93
94
95
# File 'ops_works/cfn_stack_props.rb', line 93

def default_instance_profile_arn
  @default_instance_profile_arn
end

#default_osString? (readonly)

The stack's default operating system, which is installed on every instance unless you specify a different operating system when you create the instance.

You can specify one of the following.

  • A supported Linux operating system: An Amazon Linux version, such as Amazon Linux 2 , Amazon Linux 2018.03 , Amazon Linux 2017.09 , Amazon Linux 2017.03 , Amazon Linux 2016.09 , Amazon Linux 2016.03 , Amazon Linux 2015.09 , or Amazon Linux 2015.03 .
  • A supported Ubuntu operating system, such as Ubuntu 18.04 LTS , Ubuntu 16.04 LTS , Ubuntu 14.04 LTS , or Ubuntu 12.04 LTS .
  • CentOS Linux 7
  • Red Hat Enterprise Linux 7
  • A supported Windows operating system, such as Microsoft Windows Server 2012 R2 Base , Microsoft Windows Server 2012 R2 with SQL Server Express , Microsoft Windows Server 2012 R2 with SQL Server Standard , or Microsoft Windows Server 2012 R2 with SQL Server Web .
  • A custom AMI: Custom . You specify the custom AMI you want to use when you create instances. For more information, see Using Custom AMIs .

The default option is the current Amazon Linux version. Not all operating systems are supported with all versions of Chef. For more information about supported operating systems, see OpsWorks Stacks Operating Systems .



187
188
189
# File 'ops_works/cfn_stack_props.rb', line 187

def default_os
  @default_os
end

#default_root_device_typeString? (readonly)

The default root device type.

This value is the default for all instances in the stack, but you can override it when you create an instance. The default option is instance-store . For more information, see Storage for the Root Device .



194
195
196
# File 'ops_works/cfn_stack_props.rb', line 194

def default_root_device_type
  @default_root_device_type
end

#default_ssh_key_nameString? (readonly)

A default Amazon EC2 key pair name.

The default value is none. If you specify a key pair name, OpsWorks installs the public key on the instance and you can use the private key with an SSH client to log in to the instance. For more information, see Using SSH to Communicate with an Instance and Managing SSH Access . You can override this setting by specifying a different key pair, or no key pair, when you create an instance .



201
202
203
# File 'ops_works/cfn_stack_props.rb', line 201

def default_ssh_key_name
  @default_ssh_key_name
end

#default_subnet_idString? (readonly)

The stack's default subnet ID.

All instances are launched into this subnet unless you specify another subnet ID when you create the instance. This parameter is required if you specify a value for the VpcId parameter. If you also specify a value for DefaultAvailabilityZone , the subnet must be in that zone.



208
209
210
# File 'ops_works/cfn_stack_props.rb', line 208

def default_subnet_id
  @default_subnet_id
end

#ecs_cluster_arnString? (readonly)

The Amazon Resource Name (ARN) of the ( Amazon ECS ) cluster to register with the OpsWorks stack.

If you specify a cluster that's registered with another OpsWorks stack, CloudFormation deregisters the existing association before registering the cluster.



215
216
217
# File 'ops_works/cfn_stack_props.rb', line 215

def ecs_cluster_arn
  @ecs_cluster_arn
end

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

A list of Elastic IP addresses to register with the OpsWorks stack.

If you specify an IP address that's registered with another OpsWorks stack, CloudFormation deregisters the existing association before registering the IP address.



222
223
224
# File 'ops_works/cfn_stack_props.rb', line 222

def elastic_ips
  @elastic_ips
end

#hostname_themeString? (readonly)

The stack's host name theme, with spaces replaced by underscores.

The theme is used to generate host names for the stack's instances. By default, HostnameTheme is set to Layer_Dependent , which creates host names by appending integers to the layer's short name. The other themes are:

  • Baked_Goods
  • Clouds
  • Europe_Cities
  • Fruits
  • Greek_Deities_and_Titans
  • Legendary_creatures_from_Japan
  • Planets_and_Moons
  • Roman_Deities
  • Scottish_Islands
  • US_Cities
  • Wild_Cats

To obtain a generated host name, call GetHostNameSuggestion , which returns a host name based on the current theme.



243
244
245
# File 'ops_works/cfn_stack_props.rb', line 243

def hostname_theme
  @hostname_theme
end

#nameString (readonly)

The stack name.

Stack names can be a maximum of 64 characters.



100
101
102
# File 'ops_works/cfn_stack_props.rb', line 100

def name
  @name
end

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

The Amazon Relational Database Service ( Amazon RDS ) database instance to register with the OpsWorks stack.

If you specify a database instance that's registered with another OpsWorks stack, CloudFormation deregisters the existing association before registering the database instance.



250
251
252
# File 'ops_works/cfn_stack_props.rb', line 250

def rds_db_instances
  @rds_db_instances
end

#service_role_arnString (readonly)

The stack's IAM role, which allows OpsWorks Stacks to work with AWS resources on your behalf.

You must set this parameter to the Amazon Resource Name (ARN) for an existing IAM role. For more information about IAM ARNs, see Using Identifiers .



107
108
109
# File 'ops_works/cfn_stack_props.rb', line 107

def service_role_arn
  @service_role_arn
end

#source_stack_idString? (readonly)

If you're cloning an OpsWorks stack, the stack ID of the source OpsWorks stack to clone.



255
256
257
# File 'ops_works/cfn_stack_props.rb', line 255

def source_stack_id
  @source_stack_id
end

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

A map that contains tag keys and tag values that are attached to a stack or layer.

  • The key cannot be empty.
  • The key can be a maximum of 127 characters, and can contain only Unicode letters, numbers, or separators, or the following special characters: + - = . _ : /
  • The value can be a maximum 255 characters, and contain only Unicode letters, numbers, or separators, or the following special characters: + - = . _ : /
  • Leading and trailing white spaces are trimmed from both the key and value.
  • A maximum of 40 tags is allowed for any resource.


266
267
268
# File 'ops_works/cfn_stack_props.rb', line 266

def tags
  @tags
end

#use_custom_cookbooksBoolean, ... (readonly)

Whether the stack uses custom cookbooks.



271
272
273
# File 'ops_works/cfn_stack_props.rb', line 271

def use_custom_cookbooks
  @use_custom_cookbooks
end

#use_opsworks_security_groupsBoolean, ... (readonly)

Whether to associate the OpsWorks Stacks built-in security groups with the stack's layers.

OpsWorks Stacks provides a standard set of built-in security groups, one for each layer, which are associated with layers by default. With UseOpsworksSecurityGroups you can instead provide your own custom security groups. UseOpsworksSecurityGroups has the following settings:

  • True - OpsWorks Stacks automatically associates the appropriate built-in security group with each layer (default setting). You can associate additional security groups with a layer after you create it, but you cannot delete the built-in security group.
  • False - OpsWorks Stacks does not associate built-in security groups with layers. You must create appropriate EC2 security groups and associate a security group with each layer that you create. However, you can still manually associate a built-in security group with a layer on creation; custom security groups are required only for those layers that need custom settings.

For more information, see Create a New Stack .



283
284
285
# File 'ops_works/cfn_stack_props.rb', line 283

def use_opsworks_security_groups
  @use_opsworks_security_groups
end

#vpc_idString? (readonly)

The ID of the VPC that the stack is to be launched into.

The VPC must be in the stack's region. All instances are launched into this VPC. You cannot change the ID later.

  • If your account supports EC2-Classic, the default value is no VPC .
  • If your account does not support EC2-Classic, the default value is the default VPC for the specified region.

If the VPC ID corresponds to a default VPC and you have specified either the DefaultAvailabilityZone or the DefaultSubnetId parameter only, OpsWorks Stacks infers the value of the other parameter. If you specify neither parameter, OpsWorks Stacks sets these parameters to the first valid Availability Zone for the specified region and the corresponding default VPC subnet ID, respectively.

If you specify a nondefault VPC ID, note the following:

  • It must belong to a VPC in your account that is in the specified region.
  • You must specify a value for DefaultSubnetId .

For more information about how to use OpsWorks Stacks with a VPC, see Running a Stack in a VPC . For more information about default VPC and EC2-Classic, see Supported Platforms .



302
303
304
# File 'ops_works/cfn_stack_props.rb', line 302

def vpc_id
  @vpc_id
end

Class Method Details

.jsii_propertiesObject



304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
# File 'ops_works/cfn_stack_props.rb', line 304

def self.jsii_properties
  {
    :default_instance_profile_arn => "defaultInstanceProfileArn",
    :name => "name",
    :service_role_arn => "serviceRoleArn",
    :agent_version => "agentVersion",
    :attributes => "attributes",
    :chef_configuration => "chefConfiguration",
    :clone_app_ids => "cloneAppIds",
    :clone_permissions => "clonePermissions",
    :configuration_manager => "configurationManager",
    :custom_cookbooks_source => "customCookbooksSource",
    :custom_json => "customJson",
    :default_availability_zone => "defaultAvailabilityZone",
    :default_os => "defaultOs",
    :default_root_device_type => "defaultRootDeviceType",
    :default_ssh_key_name => "defaultSshKeyName",
    :default_subnet_id => "defaultSubnetId",
    :ecs_cluster_arn => "ecsClusterArn",
    :elastic_ips => "elasticIps",
    :hostname_theme => "hostnameTheme",
    :rds_db_instances => "rdsDbInstances",
    :source_stack_id => "sourceStackId",
    :tags => "tags",
    :use_custom_cookbooks => "useCustomCookbooks",
    :use_opsworks_security_groups => "useOpsworksSecurityGroups",
    :vpc_id => "vpcId",
  }
end

Instance Method Details

#to_jsiiObject



334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
# File 'ops_works/cfn_stack_props.rb', line 334

def to_jsii
  result = {}
  result.merge!({
    "defaultInstanceProfileArn" => @default_instance_profile_arn,
    "name" => @name,
    "serviceRoleArn" => @service_role_arn,
    "agentVersion" => @agent_version,
    "attributes" => @attributes,
    "chefConfiguration" => @chef_configuration,
    "cloneAppIds" => @clone_app_ids,
    "clonePermissions" => @clone_permissions,
    "configurationManager" => @configuration_manager,
    "customCookbooksSource" => @custom_cookbooks_source,
    "customJson" => @custom_json,
    "defaultAvailabilityZone" => @default_availability_zone,
    "defaultOs" => @default_os,
    "defaultRootDeviceType" => @default_root_device_type,
    "defaultSshKeyName" => @default_ssh_key_name,
    "defaultSubnetId" => @default_subnet_id,
    "ecsClusterArn" => @ecs_cluster_arn,
    "elasticIps" => @elastic_ips,
    "hostnameTheme" => @hostname_theme,
    "rdsDbInstances" => @rds_db_instances,
    "sourceStackId" => @source_stack_id,
    "tags" => @tags,
    "useCustomCookbooks" => @use_custom_cookbooks,
    "useOpsworksSecurityGroups" => @use_opsworks_security_groups,
    "vpcId" => @vpc_id,
  })
  result.compact
end