Class: AWSCDK::EC2::AmazonLinuxImageProps
- Inherits:
-
Jsii::Struct
- Object
- Jsii::Struct
- AWSCDK::EC2::AmazonLinuxImageProps
- Defined in:
- ec2/amazon_linux_image_props.rb
Overview
Amazon Linux image properties.
Instance Attribute Summary collapse
-
#additional_cache_key ⇒ String?
readonly
Adds an additional discriminator to the
cdk.context.jsoncache key. -
#cached_in_context ⇒ Boolean?
readonly
Whether the AMI ID is cached to be stable between deployments.
-
#cpu_type ⇒ AWSCDK::EC2::AmazonLinuxCpuType?
readonly
CPU Type.
-
#edition ⇒ AWSCDK::EC2::AmazonLinuxEdition?
readonly
What edition of Amazon Linux to use.
-
#generation ⇒ AWSCDK::EC2::AmazonLinuxGeneration?
readonly
What generation of Amazon Linux to use.
-
#kernel ⇒ AWSCDK::EC2::AmazonLinuxKernel?
readonly
What kernel version of Amazon Linux to use.
-
#storage ⇒ AWSCDK::EC2::AmazonLinuxStorage?
readonly
What storage backed image to use.
-
#user_data ⇒ AWSCDK::EC2::UserData?
readonly
Initial user data.
-
#virtualization ⇒ AWSCDK::EC2::AmazonLinuxVirt?
readonly
Virtualization type.
Class Method Summary collapse
Instance Method Summary collapse
-
#initialize(additional_cache_key: nil, cached_in_context: nil, cpu_type: nil, edition: nil, generation: nil, kernel: nil, storage: nil, user_data: nil, virtualization: nil) ⇒ AmazonLinuxImageProps
constructor
A new instance of AmazonLinuxImageProps.
- #to_jsii ⇒ Object
Constructor Details
#initialize(additional_cache_key: nil, cached_in_context: nil, cpu_type: nil, edition: nil, generation: nil, kernel: nil, storage: nil, user_data: nil, virtualization: nil) ⇒ AmazonLinuxImageProps
Returns a new instance of AmazonLinuxImageProps.
16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 |
# File 'ec2/amazon_linux_image_props.rb', line 16 def initialize(additional_cache_key: nil, cached_in_context: nil, cpu_type: nil, edition: nil, generation: nil, kernel: nil, storage: nil, user_data: nil, virtualization: nil) @additional_cache_key = additional_cache_key Jsii::Type.check_type(@additional_cache_key, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "additionalCacheKey") unless @additional_cache_key.nil? @cached_in_context = cached_in_context Jsii::Type.check_type(@cached_in_context, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJib29sZWFuIn0=")), "cachedInContext") unless @cached_in_context.nil? @cpu_type = cpu_type Jsii::Type.check_type(@cpu_type, JSON.parse(Base64.strict_decode64("eyJmcW4iOiJhd3MtY2RrLWxpYi5hd3NfZWMyLkFtYXpvbkxpbnV4Q3B1VHlwZSJ9")), "cpuType") unless @cpu_type.nil? @edition = edition Jsii::Type.check_type(@edition, JSON.parse(Base64.strict_decode64("eyJmcW4iOiJhd3MtY2RrLWxpYi5hd3NfZWMyLkFtYXpvbkxpbnV4RWRpdGlvbiJ9")), "edition") unless @edition.nil? @generation = generation Jsii::Type.check_type(@generation, JSON.parse(Base64.strict_decode64("eyJmcW4iOiJhd3MtY2RrLWxpYi5hd3NfZWMyLkFtYXpvbkxpbnV4R2VuZXJhdGlvbiJ9")), "generation") unless @generation.nil? @kernel = kernel Jsii::Type.check_type(@kernel, JSON.parse(Base64.strict_decode64("eyJmcW4iOiJhd3MtY2RrLWxpYi5hd3NfZWMyLkFtYXpvbkxpbnV4S2VybmVsIn0=")), "kernel") unless @kernel.nil? @storage = storage Jsii::Type.check_type(@storage, JSON.parse(Base64.strict_decode64("eyJmcW4iOiJhd3MtY2RrLWxpYi5hd3NfZWMyLkFtYXpvbkxpbnV4U3RvcmFnZSJ9")), "storage") unless @storage.nil? @user_data = user_data Jsii::Type.check_type(@user_data, JSON.parse(Base64.strict_decode64("eyJmcW4iOiJhd3MtY2RrLWxpYi5hd3NfZWMyLlVzZXJEYXRhIn0=")), "userData") unless @user_data.nil? @virtualization = virtualization Jsii::Type.check_type(@virtualization, JSON.parse(Base64.strict_decode64("eyJmcW4iOiJhd3MtY2RrLWxpYi5hd3NfZWMyLkFtYXpvbkxpbnV4VmlydCJ9")), "virtualization") unless @virtualization.nil? end |
Instance Attribute Details
#additional_cache_key ⇒ String? (readonly)
Default: - no additional cache key
Adds an additional discriminator to the cdk.context.json cache key.
41 42 43 |
# File 'ec2/amazon_linux_image_props.rb', line 41 def additional_cache_key @additional_cache_key end |
#cached_in_context ⇒ Boolean? (readonly)
Default: false
Whether the AMI ID is cached to be stable between deployments.
By default, the newest image is used on each deployment. This will cause instances to be replaced whenever a new version is released, and may cause downtime if there aren't enough running instances in the AutoScalingGroup to reschedule the tasks on.
If set to true, the AMI ID will be cached in cdk.context.json and the
same value will be used on future runs. Your instances will not be replaced
but your AMI version will grow old over time. To refresh the AMI lookup,
you will have to evict the value from the cache using the cdk context
command. See https://docs.aws.amazon.com/cdk/latest/guide/context.html for
more information.
Can not be set to true in environment-agnostic stacks.
60 61 62 |
# File 'ec2/amazon_linux_image_props.rb', line 60 def cached_in_context @cached_in_context end |
#cpu_type ⇒ AWSCDK::EC2::AmazonLinuxCpuType? (readonly)
Default: X86_64
CPU Type.
65 66 67 |
# File 'ec2/amazon_linux_image_props.rb', line 65 def cpu_type @cpu_type end |
#edition ⇒ AWSCDK::EC2::AmazonLinuxEdition? (readonly)
Default: Standard
What edition of Amazon Linux to use.
70 71 72 |
# File 'ec2/amazon_linux_image_props.rb', line 70 def edition @edition end |
#generation ⇒ AWSCDK::EC2::AmazonLinuxGeneration? (readonly)
Default: AmazonLinux
What generation of Amazon Linux to use.
75 76 77 |
# File 'ec2/amazon_linux_image_props.rb', line 75 def generation @generation end |
#kernel ⇒ AWSCDK::EC2::AmazonLinuxKernel? (readonly)
Default: -
What kernel version of Amazon Linux to use.
80 81 82 |
# File 'ec2/amazon_linux_image_props.rb', line 80 def kernel @kernel end |
#storage ⇒ AWSCDK::EC2::AmazonLinuxStorage? (readonly)
Default: GeneralPurpose
What storage backed image to use.
85 86 87 |
# File 'ec2/amazon_linux_image_props.rb', line 85 def storage @storage end |
#user_data ⇒ AWSCDK::EC2::UserData? (readonly)
Default: - Empty UserData for Linux machines
Initial user data.
90 91 92 |
# File 'ec2/amazon_linux_image_props.rb', line 90 def user_data @user_data end |
#virtualization ⇒ AWSCDK::EC2::AmazonLinuxVirt? (readonly)
Default: HVM
Virtualization type.
95 96 97 |
# File 'ec2/amazon_linux_image_props.rb', line 95 def virtualization @virtualization end |
Class Method Details
.jsii_properties ⇒ Object
97 98 99 100 101 102 103 104 105 106 107 108 109 |
# File 'ec2/amazon_linux_image_props.rb', line 97 def self.jsii_properties { :additional_cache_key => "additionalCacheKey", :cached_in_context => "cachedInContext", :cpu_type => "cpuType", :edition => "edition", :generation => "generation", :kernel => "kernel", :storage => "storage", :user_data => "userData", :virtualization => "virtualization", } end |
Instance Method Details
#to_jsii ⇒ Object
111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 |
# File 'ec2/amazon_linux_image_props.rb', line 111 def to_jsii result = {} result.merge!({ "additionalCacheKey" => @additional_cache_key, "cachedInContext" => @cached_in_context, "cpuType" => @cpu_type, "edition" => @edition, "generation" => @generation, "kernel" => @kernel, "storage" => @storage, "userData" => @user_data, "virtualization" => @virtualization, }) result.compact end |