Class: AWSCDK::ImageBuilder::CfnDistributionConfiguration::AmiDistributionConfigurationProperty
- Inherits:
-
Jsii::Struct
- Object
- Jsii::Struct
- AWSCDK::ImageBuilder::CfnDistributionConfiguration::AmiDistributionConfigurationProperty
- Defined in:
- image_builder/cfn_distribution_configuration.rb
Overview
Define and configure the output AMIs of the pipeline.
Instance Attribute Summary collapse
-
#ami_tags ⇒ AWSCDK::IResolvable, ...
readonly
The tags to apply to AMIs distributed to this Region.
-
#description ⇒ String?
readonly
The description of the AMI distribution configuration.
-
#kms_key_id ⇒ String?
readonly
The Amazon Resource Name (ARN) that uniquely identifies the KMS key used to encrypt the distributed image.
-
#launch_permission_configuration ⇒ AWSCDK::IResolvable, ...
readonly
Launch permissions can be used to configure which AWS account s can use the AMI to launch instances.
-
#name ⇒ String?
readonly
The name of the output AMI.
-
#target_account_ids ⇒ Array<String>?
readonly
The ID of an account to which you want to distribute an image.
Class Method Summary collapse
Instance Method Summary collapse
-
#initialize(ami_tags: nil, description: nil, kms_key_id: nil, launch_permission_configuration: nil, name: nil, target_account_ids: nil) ⇒ AmiDistributionConfigurationProperty
constructor
A new instance of AmiDistributionConfigurationProperty.
- #to_jsii ⇒ Object
Constructor Details
#initialize(ami_tags: nil, description: nil, kms_key_id: nil, launch_permission_configuration: nil, name: nil, target_account_ids: nil) ⇒ AmiDistributionConfigurationProperty
Returns a new instance of AmiDistributionConfigurationProperty.
572 573 574 575 576 577 578 579 580 581 582 583 584 585 |
# File 'image_builder/cfn_distribution_configuration.rb', line 572 def initialize(ami_tags: nil, description: nil, kms_key_id: nil, launch_permission_configuration: nil, name: nil, target_account_ids: nil) @ami_tags = Jsii::Type.check_type(@ami_tags, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3siZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifSx7ImNvbGxlY3Rpb24iOnsiZWxlbWVudHR5cGUiOnsicHJpbWl0aXZlIjoic3RyaW5nIn0sImtpbmQiOiJtYXAifX1dfX0=")), "amiTags") unless @ami_tags.nil? @description = description Jsii::Type.check_type(@description, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "description") unless @description.nil? @kms_key_id = kms_key_id Jsii::Type.check_type(@kms_key_id, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "kmsKeyId") unless @kms_key_id.nil? @launch_permission_configuration = .is_a?(Hash) ? ::AWSCDK::ImageBuilder::CfnDistributionConfiguration::LaunchPermissionConfigurationProperty.new(**.transform_keys(&:to_sym)) : Jsii::Type.check_type(@launch_permission_configuration, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3siZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifSx7ImZxbiI6ImF3cy1jZGstbGliLmF3c19pbWFnZWJ1aWxkZXIuQ2ZuRGlzdHJpYnV0aW9uQ29uZmlndXJhdGlvbi5MYXVuY2hQZXJtaXNzaW9uQ29uZmlndXJhdGlvblByb3BlcnR5In1dfX0=")), "launchPermissionConfiguration") unless @launch_permission_configuration.nil? @name = name Jsii::Type.check_type(@name, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "name") unless @name.nil? @target_account_ids = target_account_ids Jsii::Type.check_type(@target_account_ids, JSON.parse(Base64.strict_decode64("eyJjb2xsZWN0aW9uIjp7ImVsZW1lbnR0eXBlIjp7InByaW1pdGl2ZSI6InN0cmluZyJ9LCJraW5kIjoiYXJyYXkifX0=")), "targetAccountIds") unless @target_account_ids.nil? end |
Instance Attribute Details
#ami_tags ⇒ AWSCDK::IResolvable, ... (readonly)
The tags to apply to AMIs distributed to this Region.
591 592 593 |
# File 'image_builder/cfn_distribution_configuration.rb', line 591 def @ami_tags end |
#description ⇒ String? (readonly)
The description of the AMI distribution configuration.
Minimum and maximum length are in characters.
598 599 600 |
# File 'image_builder/cfn_distribution_configuration.rb', line 598 def description @description end |
#kms_key_id ⇒ String? (readonly)
The Amazon Resource Name (ARN) that uniquely identifies the KMS key used to encrypt the distributed image.
This can be either the Key ARN or the Alias ARN. For more information, see Key identifiers (KeyId) in the AWS Key Management Service Developer Guide .
605 606 607 |
# File 'image_builder/cfn_distribution_configuration.rb', line 605 def kms_key_id @kms_key_id end |
#launch_permission_configuration ⇒ AWSCDK::IResolvable, ... (readonly)
Launch permissions can be used to configure which AWS account s can use the AMI to launch instances.
610 611 612 |
# File 'image_builder/cfn_distribution_configuration.rb', line 610 def @launch_permission_configuration end |
#name ⇒ String? (readonly)
The name of the output AMI.
615 616 617 |
# File 'image_builder/cfn_distribution_configuration.rb', line 615 def name @name end |
#target_account_ids ⇒ Array<String>? (readonly)
The ID of an account to which you want to distribute an image.
620 621 622 |
# File 'image_builder/cfn_distribution_configuration.rb', line 620 def target_account_ids @target_account_ids end |
Class Method Details
.jsii_properties ⇒ Object
622 623 624 625 626 627 628 629 630 631 |
# File 'image_builder/cfn_distribution_configuration.rb', line 622 def self.jsii_properties { :ami_tags => "amiTags", :description => "description", :kms_key_id => "kmsKeyId", :launch_permission_configuration => "launchPermissionConfiguration", :name => "name", :target_account_ids => "targetAccountIds", } end |
Instance Method Details
#to_jsii ⇒ Object
633 634 635 636 637 638 639 640 641 642 643 644 |
# File 'image_builder/cfn_distribution_configuration.rb', line 633 def to_jsii result = {} result.merge!({ "amiTags" => @ami_tags, "description" => @description, "kmsKeyId" => @kms_key_id, "launchPermissionConfiguration" => @launch_permission_configuration, "name" => @name, "targetAccountIds" => @target_account_ids, }) result.compact end |