Class: AWSCDK::AppStream::CfnImageBuilderProps
- Inherits:
-
Jsii::Struct
- Object
- Jsii::Struct
- AWSCDK::AppStream::CfnImageBuilderProps
- Defined in:
- app_stream/cfn_image_builder_props.rb
Overview
Properties for defining a CfnImageBuilder.
Instance Attribute Summary collapse
-
#access_endpoints ⇒ AWSCDK::IResolvable, ...
readonly
The list of virtual private cloud (VPC) interface endpoint objects.
-
#appstream_agent_version ⇒ String?
readonly
The version of the WorkSpaces Applications agent to use for this image builder.
-
#description ⇒ String?
readonly
The description to display.
-
#display_name ⇒ String?
readonly
The image builder name to display.
-
#domain_join_info ⇒ AWSCDK::IResolvable, ...
readonly
The name of the directory and organizational unit (OU) to use to join the image builder to a Microsoft Active Directory domain.
-
#enable_default_internet_access ⇒ Boolean, ...
readonly
Enables or disables default internet access for the image builder.
-
#iam_role_arn ⇒ String?
readonly
The ARN of the IAM role that is applied to the image builder.
-
#image_arn ⇒ String?
readonly
The ARN of the public, private, or shared image to use.
-
#image_name ⇒ String?
readonly
The name of the image used to create the image builder.
-
#instance_type ⇒ String
readonly
The instance type to use when launching the image builder.
-
#name ⇒ String
readonly
A unique name for the image builder.
- #root_volume_config ⇒ AWSCDK::IResolvable, ... readonly
- #softwares_to_install ⇒ Array<String>? readonly
- #softwares_to_uninstall ⇒ Array<String>? readonly
-
#tags ⇒ Array<AWSCDK::CfnTag>?
readonly
An array of key-value pairs.
-
#vpc_config ⇒ AWSCDK::IResolvable, ...
readonly
The VPC configuration for the image builder.
Class Method Summary collapse
Instance Method Summary collapse
-
#initialize(instance_type:, name:, access_endpoints: nil, appstream_agent_version: nil, description: nil, display_name: nil, domain_join_info: nil, enable_default_internet_access: nil, iam_role_arn: nil, image_arn: nil, image_name: nil, root_volume_config: nil, softwares_to_install: nil, softwares_to_uninstall: nil, tags: nil, vpc_config: nil) ⇒ CfnImageBuilderProps
constructor
A new instance of CfnImageBuilderProps.
- #to_jsii ⇒ Object
Constructor Details
#initialize(instance_type:, name:, access_endpoints: nil, appstream_agent_version: nil, description: nil, display_name: nil, domain_join_info: nil, enable_default_internet_access: nil, iam_role_arn: nil, image_arn: nil, image_name: nil, root_volume_config: nil, softwares_to_install: nil, softwares_to_uninstall: nil, tags: nil, vpc_config: nil) ⇒ CfnImageBuilderProps
Returns a new instance of CfnImageBuilderProps.
25 26 27 28 29 30 31 32 33 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 |
# File 'app_stream/cfn_image_builder_props.rb', line 25 def initialize(instance_type:, name:, access_endpoints: nil, appstream_agent_version: nil, description: nil, display_name: nil, domain_join_info: nil, enable_default_internet_access: nil, iam_role_arn: nil, image_arn: nil, image_name: nil, root_volume_config: nil, softwares_to_install: nil, softwares_to_uninstall: nil, tags: nil, vpc_config: nil) @instance_type = instance_type Jsii::Type.check_type(@instance_type, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "instanceType") @name = name Jsii::Type.check_type(@name, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "name") @access_endpoints = access_endpoints Jsii::Type.check_type(@access_endpoints, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3siZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifSx7ImNvbGxlY3Rpb24iOnsiZWxlbWVudHR5cGUiOnsidW5pb24iOnsidHlwZXMiOlt7ImZxbiI6ImF3cy1jZGstbGliLklSZXNvbHZhYmxlIn0seyJmcW4iOiJhd3MtY2RrLWxpYi5hd3NfYXBwc3RyZWFtLkNmbkltYWdlQnVpbGRlci5BY2Nlc3NFbmRwb2ludFByb3BlcnR5In1dfX0sImtpbmQiOiJhcnJheSJ9fV19fQ==")), "accessEndpoints") unless @access_endpoints.nil? @appstream_agent_version = appstream_agent_version Jsii::Type.check_type(@appstream_agent_version, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "appstreamAgentVersion") unless @appstream_agent_version.nil? @description = description Jsii::Type.check_type(@description, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "description") unless @description.nil? @display_name = display_name Jsii::Type.check_type(@display_name, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "displayName") unless @display_name.nil? @domain_join_info = domain_join_info.is_a?(Hash) ? ::AWSCDK::AppStream::CfnImageBuilder::DomainJoinInfoProperty.new(**domain_join_info.transform_keys(&:to_sym)) : domain_join_info Jsii::Type.check_type(@domain_join_info, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3siZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifSx7ImZxbiI6ImF3cy1jZGstbGliLmF3c19hcHBzdHJlYW0uQ2ZuSW1hZ2VCdWlsZGVyLkRvbWFpbkpvaW5JbmZvUHJvcGVydHkifV19fQ==")), "domainJoinInfo") unless @domain_join_info.nil? @enable_default_internet_access = enable_default_internet_access Jsii::Type.check_type(@enable_default_internet_access, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3sicHJpbWl0aXZlIjoiYm9vbGVhbiJ9LHsiZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifV19fQ==")), "enableDefaultInternetAccess") unless @enable_default_internet_access.nil? @iam_role_arn = iam_role_arn Jsii::Type.check_type(@iam_role_arn, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "iamRoleArn") unless @iam_role_arn.nil? @image_arn = image_arn Jsii::Type.check_type(@image_arn, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "imageArn") unless @image_arn.nil? @image_name = image_name Jsii::Type.check_type(@image_name, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "imageName") unless @image_name.nil? @root_volume_config = root_volume_config.is_a?(Hash) ? ::AWSCDK::AppStream::CfnImageBuilder::VolumeConfigProperty.new(**root_volume_config.transform_keys(&:to_sym)) : root_volume_config Jsii::Type.check_type(@root_volume_config, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3siZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifSx7ImZxbiI6ImF3cy1jZGstbGliLmF3c19hcHBzdHJlYW0uQ2ZuSW1hZ2VCdWlsZGVyLlZvbHVtZUNvbmZpZ1Byb3BlcnR5In1dfX0=")), "rootVolumeConfig") unless @root_volume_config.nil? @softwares_to_install = softwares_to_install Jsii::Type.check_type(@softwares_to_install, JSON.parse(Base64.strict_decode64("eyJjb2xsZWN0aW9uIjp7ImVsZW1lbnR0eXBlIjp7InByaW1pdGl2ZSI6InN0cmluZyJ9LCJraW5kIjoiYXJyYXkifX0=")), "softwaresToInstall") unless @softwares_to_install.nil? @softwares_to_uninstall = softwares_to_uninstall Jsii::Type.check_type(@softwares_to_uninstall, JSON.parse(Base64.strict_decode64("eyJjb2xsZWN0aW9uIjp7ImVsZW1lbnR0eXBlIjp7InByaW1pdGl2ZSI6InN0cmluZyJ9LCJraW5kIjoiYXJyYXkifX0=")), "softwaresToUninstall") unless @softwares_to_uninstall.nil? @tags = .is_a?(Array) ? .map { |jsii_v0| jsii_v0.is_a?(Hash) ? ::AWSCDK::CfnTag.new(**jsii_v0.transform_keys(&:to_sym)) : jsii_v0 } : Jsii::Type.check_type(@tags, JSON.parse(Base64.strict_decode64("eyJjb2xsZWN0aW9uIjp7ImVsZW1lbnR0eXBlIjp7ImZxbiI6ImF3cy1jZGstbGliLkNmblRhZyJ9LCJraW5kIjoiYXJyYXkifX0=")), "tags") unless @tags.nil? @vpc_config = vpc_config.is_a?(Hash) ? ::AWSCDK::AppStream::CfnImageBuilder::VPCConfigProperty.new(**vpc_config.transform_keys(&:to_sym)) : vpc_config Jsii::Type.check_type(@vpc_config, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3siZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifSx7ImZxbiI6ImF3cy1jZGstbGliLmF3c19hcHBzdHJlYW0uQ2ZuSW1hZ2VCdWlsZGVyLlZwY0NvbmZpZ1Byb3BlcnR5In1dfX0=")), "vpcConfig") unless @vpc_config.nil? end |
Instance Attribute Details
#access_endpoints ⇒ AWSCDK::IResolvable, ... (readonly)
The list of virtual private cloud (VPC) interface endpoint objects.
Administrators can connect to the image builder only through the specified endpoints.
127 128 129 |
# File 'app_stream/cfn_image_builder_props.rb', line 127 def access_endpoints @access_endpoints end |
#appstream_agent_version ⇒ String? (readonly)
The version of the WorkSpaces Applications agent to use for this image builder.
To use the latest version of the WorkSpaces Applications agent, specify [LATEST].
134 135 136 |
# File 'app_stream/cfn_image_builder_props.rb', line 134 def appstream_agent_version @appstream_agent_version end |
#description ⇒ String? (readonly)
The description to display.
139 140 141 |
# File 'app_stream/cfn_image_builder_props.rb', line 139 def description @description end |
#display_name ⇒ String? (readonly)
The image builder name to display.
144 145 146 |
# File 'app_stream/cfn_image_builder_props.rb', line 144 def display_name @display_name end |
#domain_join_info ⇒ AWSCDK::IResolvable, ... (readonly)
The name of the directory and organizational unit (OU) to use to join the image builder to a Microsoft Active Directory domain.
149 150 151 |
# File 'app_stream/cfn_image_builder_props.rb', line 149 def domain_join_info @domain_join_info end |
#enable_default_internet_access ⇒ Boolean, ... (readonly)
Enables or disables default internet access for the image builder.
154 155 156 |
# File 'app_stream/cfn_image_builder_props.rb', line 154 def enable_default_internet_access @enable_default_internet_access end |
#iam_role_arn ⇒ String? (readonly)
The ARN of the IAM role that is applied to the image builder.
To assume a role, the image builder calls the Security Token Service AssumeRole API operation and passes the ARN of the role to use. The operation creates a new session with temporary credentials. AppStream 2.0 retrieves the temporary credentials and creates the appstream_machine_role credential profile on the instance.
For more information, see Using an IAM Role to Grant Permissions to Applications and Scripts Running on AppStream 2.0 Streaming Instances in the Amazon AppStream 2.0 Administration Guide .
163 164 165 |
# File 'app_stream/cfn_image_builder_props.rb', line 163 def iam_role_arn @iam_role_arn end |
#image_arn ⇒ String? (readonly)
The ARN of the public, private, or shared image to use.
168 169 170 |
# File 'app_stream/cfn_image_builder_props.rb', line 168 def image_arn @image_arn end |
#image_name ⇒ String? (readonly)
The name of the image used to create the image builder.
173 174 175 |
# File 'app_stream/cfn_image_builder_props.rb', line 173 def image_name @image_name end |
#instance_type ⇒ String (readonly)
The instance type to use when launching the image builder. The following instance types are available:.
- stream.standard.small
- stream.standard.medium
- stream.standard.large
- stream.compute.large
- stream.compute.xlarge
- stream.compute.2xlarge
- stream.compute.4xlarge
- stream.compute.8xlarge
- stream.memory.large
- stream.memory.xlarge
- stream.memory.2xlarge
- stream.memory.4xlarge
- stream.memory.8xlarge
- stream.memory.z1d.large
- stream.memory.z1d.xlarge
- stream.memory.z1d.2xlarge
- stream.memory.z1d.3xlarge
- stream.memory.z1d.6xlarge
- stream.memory.z1d.12xlarge
- stream.graphics-design.large
- stream.graphics-design.xlarge
- stream.graphics-design.2xlarge
- stream.graphics-design.4xlarge
- stream.graphics.g4dn.xlarge
- stream.graphics.g4dn.2xlarge
- stream.graphics.g4dn.4xlarge
- stream.graphics.g4dn.8xlarge
- stream.graphics.g4dn.12xlarge
- stream.graphics.g4dn.16xlarge
- stream.graphics.g5.xlarge
- stream.graphics.g5.2xlarge
- stream.graphics.g5.4xlarge
- stream.graphics.g5.8xlarge
- stream.graphics.g5.16xlarge
- stream.graphics.g5.12xlarge
- stream.graphics.g5.24xlarge
- stream.graphics.g6.xlarge
- stream.graphics.g6.2xlarge
- stream.graphics.g6.4xlarge
- stream.graphics.g6.8xlarge
- stream.graphics.g6.16xlarge
- stream.graphics.g6.12xlarge
- stream.graphics.g6.24xlarge
- stream.graphics.gr6.4xlarge
- stream.graphics.gr6.8xlarge
- stream.graphics.g6f.large
- stream.graphics.g6f.xlarge
- stream.graphics.g6f.2xlarge
- stream.graphics.g6f.4xlarge
- stream.graphics.gr6f.4xlarge
115 116 117 |
# File 'app_stream/cfn_image_builder_props.rb', line 115 def instance_type @instance_type end |
#name ⇒ String (readonly)
A unique name for the image builder.
120 121 122 |
# File 'app_stream/cfn_image_builder_props.rb', line 120 def name @name end |
#root_volume_config ⇒ AWSCDK::IResolvable, ... (readonly)
176 177 178 |
# File 'app_stream/cfn_image_builder_props.rb', line 176 def root_volume_config @root_volume_config end |
#softwares_to_install ⇒ Array<String>? (readonly)
179 180 181 |
# File 'app_stream/cfn_image_builder_props.rb', line 179 def softwares_to_install @softwares_to_install end |
#softwares_to_uninstall ⇒ Array<String>? (readonly)
182 183 184 |
# File 'app_stream/cfn_image_builder_props.rb', line 182 def softwares_to_uninstall @softwares_to_uninstall end |
#tags ⇒ Array<AWSCDK::CfnTag>? (readonly)
An array of key-value pairs.
187 188 189 |
# File 'app_stream/cfn_image_builder_props.rb', line 187 def @tags end |
#vpc_config ⇒ AWSCDK::IResolvable, ... (readonly)
The VPC configuration for the image builder.
You can specify only one subnet.
194 195 196 |
# File 'app_stream/cfn_image_builder_props.rb', line 194 def vpc_config @vpc_config end |
Class Method Details
.jsii_properties ⇒ Object
196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 |
# File 'app_stream/cfn_image_builder_props.rb', line 196 def self.jsii_properties { :instance_type => "instanceType", :name => "name", :access_endpoints => "accessEndpoints", :appstream_agent_version => "appstreamAgentVersion", :description => "description", :display_name => "displayName", :domain_join_info => "domainJoinInfo", :enable_default_internet_access => "enableDefaultInternetAccess", :iam_role_arn => "iamRoleArn", :image_arn => "imageArn", :image_name => "imageName", :root_volume_config => "rootVolumeConfig", :softwares_to_install => "softwaresToInstall", :softwares_to_uninstall => "softwaresToUninstall", :tags => "tags", :vpc_config => "vpcConfig", } end |
Instance Method Details
#to_jsii ⇒ Object
217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 |
# File 'app_stream/cfn_image_builder_props.rb', line 217 def to_jsii result = {} result.merge!({ "instanceType" => @instance_type, "name" => @name, "accessEndpoints" => @access_endpoints, "appstreamAgentVersion" => @appstream_agent_version, "description" => @description, "displayName" => @display_name, "domainJoinInfo" => @domain_join_info, "enableDefaultInternetAccess" => @enable_default_internet_access, "iamRoleArn" => @iam_role_arn, "imageArn" => @image_arn, "imageName" => @image_name, "rootVolumeConfig" => @root_volume_config, "softwaresToInstall" => @softwares_to_install, "softwaresToUninstall" => @softwares_to_uninstall, "tags" => @tags, "vpcConfig" => @vpc_config, }) result.compact end |