Class: AWSCDK::EC2::AmazonLinuxImageProps

Inherits:
Jsii::Struct
  • Object
show all
Defined in:
ec2/amazon_linux_image_props.rb

Overview

Amazon Linux image properties.

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

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.

Parameters:



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_keyString? (readonly)

Note:

Default: - no additional cache key

Adds an additional discriminator to the cdk.context.json cache key.

Returns:

  • (String, nil)


41
42
43
# File 'ec2/amazon_linux_image_props.rb', line 41

def additional_cache_key
  @additional_cache_key
end

#cached_in_contextBoolean? (readonly)

Note:

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.

Returns:

  • (Boolean, nil)


60
61
62
# File 'ec2/amazon_linux_image_props.rb', line 60

def cached_in_context
  @cached_in_context
end

#cpu_typeAWSCDK::EC2::AmazonLinuxCpuType? (readonly)

Note:

Default: X86_64

CPU Type.



65
66
67
# File 'ec2/amazon_linux_image_props.rb', line 65

def cpu_type
  @cpu_type
end

#editionAWSCDK::EC2::AmazonLinuxEdition? (readonly)

Note:

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

#generationAWSCDK::EC2::AmazonLinuxGeneration? (readonly)

Note:

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

#kernelAWSCDK::EC2::AmazonLinuxKernel? (readonly)

Note:

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

#storageAWSCDK::EC2::AmazonLinuxStorage? (readonly)

Note:

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_dataAWSCDK::EC2::UserData? (readonly)

Note:

Default: - Empty UserData for Linux machines

Initial user data.

Returns:



90
91
92
# File 'ec2/amazon_linux_image_props.rb', line 90

def user_data
  @user_data
end

#virtualizationAWSCDK::EC2::AmazonLinuxVirt? (readonly)

Note:

Default: HVM

Virtualization type.



95
96
97
# File 'ec2/amazon_linux_image_props.rb', line 95

def virtualization
  @virtualization
end

Class Method Details

.jsii_propertiesObject



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_jsiiObject



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