Class: AWSCDK::ImageBuilder::CfnDistributionConfiguration::DistributionProperty

Inherits:
Jsii::Struct
  • Object
show all
Defined in:
image_builder/cfn_distribution_configuration.rb

Overview

The distribution configuration distribution defines the settings for a specific Region in the Distribution Configuration.

You must specify whether the distribution is for an AMI or a container image. To do so, include exactly one of the following data types for your distribution:

  • amiDistributionConfiguration
  • containerDistributionConfiguration

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(region:, ami_distribution_configuration: nil, container_distribution_configuration: nil, fast_launch_configurations: nil, launch_template_configurations: nil, license_configuration_arns: nil, ssm_parameter_configurations: nil) ⇒ DistributionProperty

Returns a new instance of DistributionProperty.

Parameters:



718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
# File 'image_builder/cfn_distribution_configuration.rb', line 718

def initialize(region:, ami_distribution_configuration: nil, container_distribution_configuration: nil, fast_launch_configurations: nil, launch_template_configurations: nil, license_configuration_arns: nil, ssm_parameter_configurations: nil)
  @region = region
  Jsii::Type.check_type(@region, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "region")
  @ami_distribution_configuration = ami_distribution_configuration
  Jsii::Type.check_type(@ami_distribution_configuration, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJhbnkifQ==")), "amiDistributionConfiguration") unless @ami_distribution_configuration.nil?
  @container_distribution_configuration = container_distribution_configuration
  Jsii::Type.check_type(@container_distribution_configuration, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJhbnkifQ==")), "containerDistributionConfiguration") unless @container_distribution_configuration.nil?
  @fast_launch_configurations = fast_launch_configurations
  Jsii::Type.check_type(@fast_launch_configurations, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3siZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifSx7ImNvbGxlY3Rpb24iOnsiZWxlbWVudHR5cGUiOnsidW5pb24iOnsidHlwZXMiOlt7ImZxbiI6ImF3cy1jZGstbGliLklSZXNvbHZhYmxlIn0seyJmcW4iOiJhd3MtY2RrLWxpYi5hd3NfaW1hZ2VidWlsZGVyLkNmbkRpc3RyaWJ1dGlvbkNvbmZpZ3VyYXRpb24uRmFzdExhdW5jaENvbmZpZ3VyYXRpb25Qcm9wZXJ0eSJ9XX19LCJraW5kIjoiYXJyYXkifX1dfX0=")), "fastLaunchConfigurations") unless @fast_launch_configurations.nil?
  @launch_template_configurations = launch_template_configurations
  Jsii::Type.check_type(@launch_template_configurations, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3siZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifSx7ImNvbGxlY3Rpb24iOnsiZWxlbWVudHR5cGUiOnsidW5pb24iOnsidHlwZXMiOlt7ImZxbiI6ImF3cy1jZGstbGliLklSZXNvbHZhYmxlIn0seyJmcW4iOiJhd3MtY2RrLWxpYi5hd3NfaW1hZ2VidWlsZGVyLkNmbkRpc3RyaWJ1dGlvbkNvbmZpZ3VyYXRpb24uTGF1bmNoVGVtcGxhdGVDb25maWd1cmF0aW9uUHJvcGVydHkifV19fSwia2luZCI6ImFycmF5In19XX19")), "launchTemplateConfigurations") unless @launch_template_configurations.nil?
  @license_configuration_arns = license_configuration_arns
  Jsii::Type.check_type(@license_configuration_arns, JSON.parse(Base64.strict_decode64("eyJjb2xsZWN0aW9uIjp7ImVsZW1lbnR0eXBlIjp7InByaW1pdGl2ZSI6InN0cmluZyJ9LCJraW5kIjoiYXJyYXkifX0=")), "licenseConfigurationArns") unless @license_configuration_arns.nil?
  @ssm_parameter_configurations = ssm_parameter_configurations
  Jsii::Type.check_type(@ssm_parameter_configurations, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3siZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifSx7ImNvbGxlY3Rpb24iOnsiZWxlbWVudHR5cGUiOnsidW5pb24iOnsidHlwZXMiOlt7ImZxbiI6ImF3cy1jZGstbGliLklSZXNvbHZhYmxlIn0seyJmcW4iOiJhd3MtY2RrLWxpYi5hd3NfaW1hZ2VidWlsZGVyLkNmbkRpc3RyaWJ1dGlvbkNvbmZpZ3VyYXRpb24uU3NtUGFyYW1ldGVyQ29uZmlndXJhdGlvblByb3BlcnR5In1dfX0sImtpbmQiOiJhcnJheSJ9fV19fQ==")), "ssmParameterConfigurations") unless @ssm_parameter_configurations.nil?
end

Instance Attribute Details

#ami_distribution_configurationObject? (readonly)

The specific AMI settings, such as launch permissions and AMI tags.

For details, see example schema below.



748
749
750
# File 'image_builder/cfn_distribution_configuration.rb', line 748

def ami_distribution_configuration
  @ami_distribution_configuration
end

#container_distribution_configurationObject? (readonly)

Container distribution settings for encryption, licensing, and sharing in a specific Region.

For details, see example schema below.



755
756
757
# File 'image_builder/cfn_distribution_configuration.rb', line 755

def container_distribution_configuration
  @container_distribution_configuration
end

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

The Windows faster-launching configurations to use for AMI distribution.



760
761
762
# File 'image_builder/cfn_distribution_configuration.rb', line 760

def fast_launch_configurations
  @fast_launch_configurations
end

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

A group of launchTemplateConfiguration settings that apply to image distribution for specified accounts.



765
766
767
# File 'image_builder/cfn_distribution_configuration.rb', line 765

def launch_template_configurations
  @launch_template_configurations
end

#license_configuration_arnsArray<String>? (readonly)

The License Manager Configuration to associate with the AMI in the specified Region.

For more information, see the LicenseConfiguration API .



772
773
774
# File 'image_builder/cfn_distribution_configuration.rb', line 772

def license_configuration_arns
  @license_configuration_arns
end

#regionString (readonly)

The target Region for the Distribution Configuration.

For example, eu-west-1 .



741
742
743
# File 'image_builder/cfn_distribution_configuration.rb', line 741

def region
  @region
end

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

Contains settings to update AWS Systems Manager (SSM) Parameter Store Parameters with output AMI IDs from the build by target Region.



777
778
779
# File 'image_builder/cfn_distribution_configuration.rb', line 777

def ssm_parameter_configurations
  @ssm_parameter_configurations
end

Class Method Details

.jsii_propertiesObject



779
780
781
782
783
784
785
786
787
788
789
# File 'image_builder/cfn_distribution_configuration.rb', line 779

def self.jsii_properties
  {
    :region => "region",
    :ami_distribution_configuration => "amiDistributionConfiguration",
    :container_distribution_configuration => "containerDistributionConfiguration",
    :fast_launch_configurations => "fastLaunchConfigurations",
    :launch_template_configurations => "launchTemplateConfigurations",
    :license_configuration_arns => "licenseConfigurationArns",
    :ssm_parameter_configurations => "ssmParameterConfigurations",
  }
end

Instance Method Details

#to_jsiiObject



791
792
793
794
795
796
797
798
799
800
801
802
803
# File 'image_builder/cfn_distribution_configuration.rb', line 791

def to_jsii
  result = {}
  result.merge!({
    "region" => @region,
    "amiDistributionConfiguration" => @ami_distribution_configuration,
    "containerDistributionConfiguration" => @container_distribution_configuration,
    "fastLaunchConfigurations" => @fast_launch_configurations,
    "launchTemplateConfigurations" => @launch_template_configurations,
    "licenseConfigurationArns" => @license_configuration_arns,
    "ssmParameterConfigurations" => @ssm_parameter_configurations,
  })
  result.compact
end