Class: AWSCDK::EC2::InitFile

Inherits:
InitElement
  • Object
show all
Defined in:
ec2/init_file.rb

Overview

Create files on the EC2 instance.

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(file_name, options) ⇒ InitFile

Returns a new instance of InitFile.

Parameters:



10
11
12
13
14
15
# File 'ec2/init_file.rb', line 10

def initialize(file_name, options)
  options = options.is_a?(Hash) ? ::AWSCDK::EC2::InitFileOptions.new(**options.transform_keys(&:to_sym)) : options
  Jsii::Type.check_type(file_name, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "fileName")
  Jsii::Type.check_type(options, JSON.parse(Base64.strict_decode64("eyJmcW4iOiJhd3MtY2RrLWxpYi5hd3NfZWMyLkluaXRGaWxlT3B0aW9ucyJ9")), "options")
  Jsii::Object.instance_method(:initialize).bind(self).call(file_name, options)
end

Class Method Details

.from_asset(target_file_name, path, options = nil) ⇒ AWSCDK::EC2::InitFile

Create an asset from the given file.

This is appropriate for files that are too large to embed into the template.

Parameters:

Returns:

  • (AWSCDK::EC2::InitFile)


31
32
33
34
35
36
37
# File 'ec2/init_file.rb', line 31

def self.from_asset(target_file_name, path, options = nil)
  Jsii::Type.check_type(target_file_name, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "targetFileName")
  Jsii::Type.check_type(path, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "path")
  options = options.is_a?(Hash) ? ::AWSCDK::EC2::InitFileAssetOptions.new(**options.transform_keys(&:to_sym)) : options
  Jsii::Type.check_type(options, JSON.parse(Base64.strict_decode64("eyJmcW4iOiJhd3MtY2RrLWxpYi5hd3NfZWMyLkluaXRGaWxlQXNzZXRPcHRpb25zIn0=")), "options") unless options.nil?
  Jsii::Kernel.instance.call_static("aws-cdk-lib.aws_ec2.InitFile", "fromAsset", [target_file_name, path, options])
end

.from_existing_asset(target_file_name, asset, options = nil) ⇒ AWSCDK::EC2::InitFile

Use a file from an asset at instance startup time.

Parameters:

Returns:

  • (AWSCDK::EC2::InitFile)


45
46
47
48
49
50
51
# File 'ec2/init_file.rb', line 45

def self.from_existing_asset(target_file_name, asset, options = nil)
  Jsii::Type.check_type(target_file_name, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "targetFileName")
  Jsii::Type.check_type(asset, JSON.parse(Base64.strict_decode64("eyJmcW4iOiJhd3MtY2RrLWxpYi5hd3NfczNfYXNzZXRzLkFzc2V0In0=")), "asset")
  options = options.is_a?(Hash) ? ::AWSCDK::EC2::InitFileOptions.new(**options.transform_keys(&:to_sym)) : options
  Jsii::Type.check_type(options, JSON.parse(Base64.strict_decode64("eyJmcW4iOiJhd3MtY2RrLWxpYi5hd3NfZWMyLkluaXRGaWxlT3B0aW9ucyJ9")), "options") unless options.nil?
  Jsii::Kernel.instance.call_static("aws-cdk-lib.aws_ec2.InitFile", "fromExistingAsset", [target_file_name, asset, options])
end

.from_file_inline(target_file_name, source_file_name, options = nil) ⇒ AWSCDK::EC2::InitFile

Read a file from disk and use its contents.

The file will be embedded in the template, so care should be taken to not exceed the template size.

If options.base64encoded is set to true, this will base64-encode the file's contents.

Parameters:

Returns:

  • (AWSCDK::EC2::InitFile)


64
65
66
67
68
69
70
# File 'ec2/init_file.rb', line 64

def self.from_file_inline(target_file_name, source_file_name, options = nil)
  Jsii::Type.check_type(target_file_name, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "targetFileName")
  Jsii::Type.check_type(source_file_name, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "sourceFileName")
  options = options.is_a?(Hash) ? ::AWSCDK::EC2::InitFileOptions.new(**options.transform_keys(&:to_sym)) : options
  Jsii::Type.check_type(options, JSON.parse(Base64.strict_decode64("eyJmcW4iOiJhd3MtY2RrLWxpYi5hd3NfZWMyLkluaXRGaWxlT3B0aW9ucyJ9")), "options") unless options.nil?
  Jsii::Kernel.instance.call_static("aws-cdk-lib.aws_ec2.InitFile", "fromFileInline", [target_file_name, source_file_name, options])
end

.from_object(file_name, obj, options = nil) ⇒ AWSCDK::EC2::InitFile

Use a JSON-compatible object as the file content, write it to a JSON file.

May contain tokens.

Parameters:

Returns:

  • (AWSCDK::EC2::InitFile)


80
81
82
83
84
85
86
# File 'ec2/init_file.rb', line 80

def self.from_object(file_name, obj, options = nil)
  Jsii::Type.check_type(file_name, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "fileName")
  Jsii::Type.check_type(obj, JSON.parse(Base64.strict_decode64("eyJjb2xsZWN0aW9uIjp7ImVsZW1lbnR0eXBlIjp7InByaW1pdGl2ZSI6ImFueSJ9LCJraW5kIjoibWFwIn19")), "obj")
  options = options.is_a?(Hash) ? ::AWSCDK::EC2::InitFileOptions.new(**options.transform_keys(&:to_sym)) : options
  Jsii::Type.check_type(options, JSON.parse(Base64.strict_decode64("eyJmcW4iOiJhd3MtY2RrLWxpYi5hd3NfZWMyLkluaXRGaWxlT3B0aW9ucyJ9")), "options") unless options.nil?
  Jsii::Kernel.instance.call_static("aws-cdk-lib.aws_ec2.InitFile", "fromObject", [file_name, obj, options])
end

.from_s3_object(file_name, bucket, key, options = nil) ⇒ AWSCDK::EC2::InitFile

Download a file from an S3 bucket at instance startup time.

Parameters:

Returns:

  • (AWSCDK::EC2::InitFile)


95
96
97
98
99
100
101
102
# File 'ec2/init_file.rb', line 95

def self.from_s3_object(file_name, bucket, key, options = nil)
  Jsii::Type.check_type(file_name, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "fileName")
  Jsii::Type.check_type(bucket, JSON.parse(Base64.strict_decode64("eyJmcW4iOiJhd3MtY2RrLWxpYi5hd3NfczMuSUJ1Y2tldCJ9")), "bucket")
  Jsii::Type.check_type(key, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "key")
  options = options.is_a?(Hash) ? ::AWSCDK::EC2::InitFileOptions.new(**options.transform_keys(&:to_sym)) : options
  Jsii::Type.check_type(options, JSON.parse(Base64.strict_decode64("eyJmcW4iOiJhd3MtY2RrLWxpYi5hd3NfZWMyLkluaXRGaWxlT3B0aW9ucyJ9")), "options") unless options.nil?
  Jsii::Kernel.instance.call_static("aws-cdk-lib.aws_ec2.InitFile", "fromS3Object", [file_name, bucket, key, options])
end

.from_string(file_name, content, options = nil) ⇒ AWSCDK::EC2::InitFile

Use a literal string as the file content.

Parameters:

Returns:

  • (AWSCDK::EC2::InitFile)


110
111
112
113
114
115
116
# File 'ec2/init_file.rb', line 110

def self.from_string(file_name, content, options = nil)
  Jsii::Type.check_type(file_name, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "fileName")
  Jsii::Type.check_type(content, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "content")
  options = options.is_a?(Hash) ? ::AWSCDK::EC2::InitFileOptions.new(**options.transform_keys(&:to_sym)) : options
  Jsii::Type.check_type(options, JSON.parse(Base64.strict_decode64("eyJmcW4iOiJhd3MtY2RrLWxpYi5hd3NfZWMyLkluaXRGaWxlT3B0aW9ucyJ9")), "options") unless options.nil?
  Jsii::Kernel.instance.call_static("aws-cdk-lib.aws_ec2.InitFile", "fromString", [file_name, content, options])
end

.from_url(file_name, url, options = nil) ⇒ AWSCDK::EC2::InitFile

Download from a URL at instance startup time.

Parameters:

Returns:

  • (AWSCDK::EC2::InitFile)


124
125
126
127
128
129
130
# File 'ec2/init_file.rb', line 124

def self.from_url(file_name, url, options = nil)
  Jsii::Type.check_type(file_name, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "fileName")
  Jsii::Type.check_type(url, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "url")
  options = options.is_a?(Hash) ? ::AWSCDK::EC2::InitFileOptions.new(**options.transform_keys(&:to_sym)) : options
  Jsii::Type.check_type(options, JSON.parse(Base64.strict_decode64("eyJmcW4iOiJhd3MtY2RrLWxpYi5hd3NfZWMyLkluaXRGaWxlT3B0aW9ucyJ9")), "options") unless options.nil?
  Jsii::Kernel.instance.call_static("aws-cdk-lib.aws_ec2.InitFile", "fromUrl", [file_name, url, options])
end

.jsii_overridable_methodsObject



17
18
19
20
21
# File 'ec2/init_file.rb', line 17

def self.jsii_overridable_methods
  {
    :element_type => { kind: :property, name: "elementType", is_optional: false },
  }
end

Write a symlink with the given symlink target.

Parameters:

Returns:

  • (AWSCDK::EC2::InitFile)


138
139
140
141
142
143
144
# File 'ec2/init_file.rb', line 138

def self.symlink(file_name, target, options = nil)
  Jsii::Type.check_type(file_name, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "fileName")
  Jsii::Type.check_type(target, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "target")
  options = options.is_a?(Hash) ? ::AWSCDK::EC2::InitFileOptions.new(**options.transform_keys(&:to_sym)) : options
  Jsii::Type.check_type(options, JSON.parse(Base64.strict_decode64("eyJmcW4iOiJhd3MtY2RrLWxpYi5hd3NfZWMyLkluaXRGaWxlT3B0aW9ucyJ9")), "options") unless options.nil?
  Jsii::Kernel.instance.call_static("aws-cdk-lib.aws_ec2.InitFile", "symlink", [file_name, target, options])
end

Instance Method Details

#element_typeString

Returns the init element type for this element.

Returns:

  • (String)


149
150
151
# File 'ec2/init_file.rb', line 149

def element_type()
  jsii_get_property("elementType")
end