Class: AWSCDK::Lambda::AssetCode

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

Overview

Lambda code from a local directory.

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(path, options = nil) ⇒ AssetCode

Returns a new instance of AssetCode.

Parameters:



10
11
12
13
14
15
# File 'lambda/asset_code.rb', line 10

def initialize(path, options = nil)
  options = options.is_a?(Hash) ? ::AWSCDK::S3Assets::AssetOptions.new(**options.transform_keys(&:to_sym)) : options
  Jsii::Type.check_type(path, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "path")
  Jsii::Type.check_type(options, JSON.parse(Base64.strict_decode64("eyJmcW4iOiJhd3MtY2RrLWxpYi5hd3NfczNfYXNzZXRzLkFzc2V0T3B0aW9ucyJ9")), "options") unless options.nil?
  Jsii::Object.instance_method(:initialize).bind(self).call(path, options)
end

Class Method Details

.jsii_overridable_methodsObject



17
18
19
20
21
22
23
24
# File 'lambda/asset_code.rb', line 17

def self.jsii_overridable_methods
  {
    :is_inline => { kind: :property, name: "isInline", is_optional: false },
    :path => { kind: :property, name: "path", 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:



44
45
46
47
# File 'lambda/asset_code.rb', line 44

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:



57
58
59
60
61
62
# File 'lambda/asset_code.rb', line 57

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)


29
30
31
# File 'lambda/asset_code.rb', line 29

def is_inline()
  jsii_get_property("isInline")
end

#pathString

The path to the asset file or directory.

Returns:

  • (String)


36
37
38
# File 'lambda/asset_code.rb', line 36

def path()
  jsii_get_property("path")
end