Class: AWSCDK::Lambda::S3CodeV2

Inherits:
Code
  • Object
show all
Defined in:
lambda/s3_code_v2.rb

Overview

Lambda code from an S3 archive.

With option to set KMSKey for encryption.

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(bucket, key, options = nil) ⇒ S3CodeV2

Returns a new instance of S3CodeV2.

Parameters:



13
14
15
16
17
18
19
# File 'lambda/s3_code_v2.rb', line 13

def initialize(bucket, key, options = nil)
  options = options.is_a?(Hash) ? ::AWSCDK::Lambda::BucketOptions.new(**options.transform_keys(&:to_sym)) : options
  Jsii::Type.check_type(bucket, JSON.parse(Base64.strict_decode64("eyJmcW4iOiJhd3MtY2RrLWxpYi5hd3NfczMuSUJ1Y2tldCJ9")), "bucket")
  Jsii::Type.check_type(key, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "key")
  Jsii::Type.check_type(options, JSON.parse(Base64.strict_decode64("eyJmcW4iOiJhd3MtY2RrLWxpYi5hd3NfbGFtYmRhLkJ1Y2tldE9wdGlvbnMifQ==")), "options") unless options.nil?
  Jsii::Object.instance_method(:initialize).bind(self).call(bucket, key, options)
end

Class Method Details

.jsii_overridable_methodsObject



21
22
23
24
25
26
27
# File 'lambda/s3_code_v2.rb', line 21

def self.jsii_overridable_methods
  {
    :is_inline => { kind: :property, name: "isInline", is_optional: false },
    :bind => { kind: :method, name: "bind", is_optional: false },
    :bind_to_resource => { kind: :method, name: "bindToResource", is_optional: false },
  }
end

Instance Method Details

#bind(_scope) ⇒ AWSCDK::Lambda::CodeConfig

Called when the lambda or layer is initialized to allow this object to bind to the stack, add resources and have fun.

Parameters:

  • _scope (Constructs::Construct)

Returns:



40
41
42
43
# File 'lambda/s3_code_v2.rb', line 40

def bind(_scope)
  Jsii::Type.check_type(_scope, JSON.parse(Base64.strict_decode64("eyJmcW4iOiJjb25zdHJ1Y3RzLkNvbnN0cnVjdCJ9")), "_scope")
  jsii_call_method("bind", [_scope])
end

#bind_to_resource(_resource, _options = nil) ⇒ void

This method returns an undefined value.

Called after the CFN function resource has been created to allow the code class to bind to it.

Specifically it's required to allow assets to add metadata for tooling like SAM CLI to be able to find their origins.

Parameters:



53
54
55
56
57
58
# File 'lambda/s3_code_v2.rb', line 53

def bind_to_resource(_resource, _options = nil)
  Jsii::Type.check_type(_resource, JSON.parse(Base64.strict_decode64("eyJmcW4iOiJhd3MtY2RrLWxpYi5DZm5SZXNvdXJjZSJ9")), "_resource")
  _options = _options.is_a?(Hash) ? ::AWSCDK::Lambda::ResourceBindOptions.new(**_options.transform_keys(&:to_sym)) : _options
  Jsii::Type.check_type(_options, JSON.parse(Base64.strict_decode64("eyJmcW4iOiJhd3MtY2RrLWxpYi5hd3NfbGFtYmRhLlJlc291cmNlQmluZE9wdGlvbnMifQ==")), "_options") unless _options.nil?
  jsii_call_method("bindToResource", [_resource, _options])
end

#is_inlineBoolean

Determines whether this Code is inline code or not.

Returns:

  • (Boolean)


32
33
34
# File 'lambda/s3_code_v2.rb', line 32

def is_inline()
  jsii_get_property("isInline")
end