Class: AWSCDK::Triggers::TriggerFunction
- Inherits:
-
Lambda::Function
- Object
- Lambda::Function
- AWSCDK::Triggers::TriggerFunction
- Includes:
- ITrigger
- Defined in:
- triggers/trigger_function.rb
Overview
Invokes an AWS Lambda function during deployment.
Class Method Summary collapse
- .jsii_overridable_methods ⇒ Object
-
.PROPERTY_INJECTION_ID ⇒ String
Uniquely identifies this class.
Instance Method Summary collapse
-
#add_alias(alias_name, options = nil) ⇒ AWSCDK::Lambda::Alias
Defines an alias for this function.
-
#add_environment(key, value, options = nil) ⇒ AWSCDK::Lambda::Function
Adds an environment variable to this Lambda function.
-
#add_event_source(source) ⇒ void
Adds an event source to this function.
-
#add_event_source_mapping(id, options) ⇒ AWSCDK::Lambda::EventSourceMapping
Adds an event source that maps to this AWS Lambda function.
-
#add_function_url(options = nil) ⇒ AWSCDK::Lambda::FunctionURL
Adds a url to this lambda function.
-
#add_layers(*layers) ⇒ void
Adds one or more Lambda Layers to this Lambda function.
-
#add_permission(id, permission) ⇒ void
Adds a permission to the Lambda resource policy.
-
#add_to_role_policy(statement) ⇒ void
Adds a statement to the IAM role assumed by the instance.
-
#apply_cross_stack_reference_strength(strength) ⇒ void
Override the cross-stack reference strength for this resource.
-
#apply_removal_policy(policy) ⇒ void
Apply the given removal policy to this resource.
-
#architecture ⇒ AWSCDK::Lambda::Architecture
The architecture of this Lambda Function (this is an optional attribute and defaults to X86_64).
-
#can_create_permissions ⇒ Boolean
Whether the addPermission() call adds any permissions.
-
#configure_async_invoke(options) ⇒ void
Configures options for asynchronous invocation.
-
#connections ⇒ AWSCDK::EC2::Connections
Access the Connections object.
-
#consider_warning_on_invoke_function_permissions(scope, action) ⇒ void
A warning will be added to functions under the following conditions: - permissions that include
lambda:InvokeFunctionare added to the unqualified function. -
#current_version ⇒ AWSCDK::Lambda::Version
Returns a
lambda.Versionwhich represents the current version of this Lambda function. -
#dead_letter_queue ⇒ AWSCDK::SQS::IQueue?
The DLQ (as queue) associated with this Lambda Function (this is an optional attribute).
-
#dead_letter_topic ⇒ AWSCDK::SNS::ITopic?
The DLQ (as topic) associated with this Lambda Function (this is an optional attribute).
-
#env ⇒ AWSCDK::Interfaces::ResourceEnvironment
The environment this resource belongs to.
-
#execute_after(*scopes) ⇒ void
Adds trigger dependencies.
-
#execute_before(*scopes) ⇒ void
Adds this trigger as a dependency on other constructs.
-
#function_arn ⇒ String
ARN of this function.
-
#function_name ⇒ String
Name of this function.
-
#function_ref ⇒ AWSCDK::Interfaces::AWSLambda::FunctionReference
A reference to a Function resource.
- #generate_physical_name ⇒ String
-
#get_resource_arn_attribute(arn_attr, arn_components) ⇒ String
Returns an environment-sensitive token that should be used for the resource's "ARN" attribute (e.g.
bucket.bucketArn). -
#get_resource_name_attribute(name_attr) ⇒ String
Returns an environment-sensitive token that should be used for the resource's "name" attribute (e.g.
bucket.bucketName). -
#grant_invoke(grantee) ⇒ AWSCDK::IAM::Grant
Grant the given identity permissions to invoke this Lambda.
-
#grant_invoke_composite_principal(composite_principal) ⇒ Array<AWSCDK::IAM::Grant>
Grant multiple principals the ability to invoke this Lambda via CompositePrincipal.
-
#grant_invoke_latest_version(grantee) ⇒ AWSCDK::IAM::Grant
Grant the given identity permissions to invoke the $LATEST version or unqualified version of this Lambda.
-
#grant_invoke_url(grantee) ⇒ AWSCDK::IAM::Grant
Grant the given identity permissions to invoke this Lambda Function URL.
-
#grant_invoke_version(grantee, version) ⇒ AWSCDK::IAM::Grant
Grant the given identity permissions to invoke the given version of this Lambda.
-
#grant_principal ⇒ AWSCDK::IAM::IPrincipal
The principal this Lambda Function is running as.
-
#initialize(scope, id, props) ⇒ TriggerFunction
constructor
A new instance of TriggerFunction.
-
#invalidate_version_based_on(x) ⇒ void
Mix additional information into the hash of the Version object.
-
#is_bound_to_vpc ⇒ Boolean
Whether or not this Lambda function was bound to a VPC.
-
#latest_version ⇒ AWSCDK::Lambda::IVersion
The
$LATESTversion of this function. -
#log_group ⇒ AWSCDK::Logs::ILogGroup
The LogGroup where the Lambda function's logs are made available.
-
#metric(metric_name, props = nil) ⇒ AWSCDK::CloudWatch::Metric
Return the given named metric for this Function.
-
#metric_duration(props = nil) ⇒ AWSCDK::CloudWatch::Metric
How long execution of this Lambda takes.
-
#metric_errors(props = nil) ⇒ AWSCDK::CloudWatch::Metric
How many invocations of this Lambda fail.
-
#metric_invocations(props = nil) ⇒ AWSCDK::CloudWatch::Metric
How often this Lambda is invoked.
-
#metric_throttles(props = nil) ⇒ AWSCDK::CloudWatch::Metric
How often this Lambda is throttled.
-
#node ⇒ Constructs::Node
The tree node.
-
#permissions_node ⇒ Constructs::Node
The construct node where permissions are attached.
-
#physical_name ⇒ String
Returns a string-encoded token that resolves to the physical name that should be passed to the CloudFormation resource.
-
#resource_arns_for_grant_invoke ⇒ Array<String>
The ARN(s) to put into the resource field of the generated IAM policy for grantInvoke().
-
#role ⇒ AWSCDK::IAM::IRole?
Execution role associated with this function.
-
#runtime ⇒ AWSCDK::Lambda::Runtime
The runtime configured for this lambda.
-
#stack ⇒ AWSCDK::Stack
The stack in which this resource is defined.
-
#tenancy_config ⇒ AWSCDK::Lambda::TenancyConfig?
The tenancy configuration for this function.
-
#timeout ⇒ AWSCDK::Duration?
The timeout configured for this lambda.
-
#to_string ⇒ String
Returns a string representation of this construct.
-
#trigger ⇒ AWSCDK::Triggers::Trigger
The underlying trigger resource.
- #warn_invoke_function_permissions(scope) ⇒ void
-
#with(*mixins) ⇒ Constructs::IConstruct
Applies one or more mixins to this construct.
Constructor Details
#initialize(scope, id, props) ⇒ TriggerFunction
Returns a new instance of TriggerFunction.
12 13 14 15 16 17 18 |
# File 'triggers/trigger_function.rb', line 12 def initialize(scope, id, props) props = props.is_a?(Hash) ? ::AWSCDK::Triggers::TriggerFunctionProps.new(**props.transform_keys(&:to_sym)) : props Jsii::Type.check_type(scope, JSON.parse(Base64.strict_decode64("eyJmcW4iOiJjb25zdHJ1Y3RzLkNvbnN0cnVjdCJ9")), "scope") Jsii::Type.check_type(id, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "id") Jsii::Type.check_type(props, JSON.parse(Base64.strict_decode64("eyJmcW4iOiJhd3MtY2RrLWxpYi50cmlnZ2Vycy5UcmlnZ2VyRnVuY3Rpb25Qcm9wcyJ9")), "props") Jsii::Object.instance_method(:initialize).bind(self).call(scope, id, props) end |
Class Method Details
.jsii_overridable_methods ⇒ Object
20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 |
# File 'triggers/trigger_function.rb', line 20 def self.jsii_overridable_methods { :node => { kind: :property, name: "node", is_optional: false }, :env => { kind: :property, name: "env", is_optional: false }, :physical_name => { kind: :property, name: "physicalName", is_optional: false }, :stack => { kind: :property, name: "stack", is_optional: false }, :architecture => { kind: :property, name: "architecture", is_optional: false }, :can_create_permissions => { kind: :property, name: "canCreatePermissions", is_optional: false }, :connections => { kind: :property, name: "connections", is_optional: false }, :function_arn => { kind: :property, name: "functionArn", is_optional: false }, :function_name => { kind: :property, name: "functionName", is_optional: false }, :function_ref => { kind: :property, name: "functionRef", is_optional: false }, :grant_principal => { kind: :property, name: "grantPrincipal", is_optional: false }, :is_bound_to_vpc => { kind: :property, name: "isBoundToVpc", is_optional: false }, :latest_version => { kind: :property, name: "latestVersion", is_optional: false }, :permissions_node => { kind: :property, name: "permissionsNode", is_optional: false }, :resource_arns_for_grant_invoke => { kind: :property, name: "resourceArnsForGrantInvoke", is_optional: false }, :role => { kind: :property, name: "role", is_optional: true }, :tenancy_config => { kind: :property, name: "tenancyConfig", is_optional: true }, :current_version => { kind: :property, name: "currentVersion", is_optional: false }, :log_group => { kind: :property, name: "logGroup", is_optional: false }, :runtime => { kind: :property, name: "runtime", is_optional: false }, :dead_letter_queue => { kind: :property, name: "deadLetterQueue", is_optional: true }, :dead_letter_topic => { kind: :property, name: "deadLetterTopic", is_optional: true }, :timeout => { kind: :property, name: "timeout", is_optional: true }, :trigger => { kind: :property, name: "trigger", is_optional: false }, :to_string => { kind: :method, name: "toString", is_optional: false }, :with => { kind: :method, name: "with", is_optional: false }, :apply_cross_stack_reference_strength => { kind: :method, name: "applyCrossStackReferenceStrength", is_optional: false }, :apply_removal_policy => { kind: :method, name: "applyRemovalPolicy", is_optional: false }, :generate_physical_name => { kind: :method, name: "generatePhysicalName", is_optional: false }, :get_resource_arn_attribute => { kind: :method, name: "getResourceArnAttribute", is_optional: false }, :get_resource_name_attribute => { kind: :method, name: "getResourceNameAttribute", is_optional: false }, :add_event_source => { kind: :method, name: "addEventSource", is_optional: false }, :add_event_source_mapping => { kind: :method, name: "addEventSourceMapping", is_optional: false }, :add_function_url => { kind: :method, name: "addFunctionUrl", is_optional: false }, :add_permission => { kind: :method, name: "addPermission", is_optional: false }, :add_to_role_policy => { kind: :method, name: "addToRolePolicy", is_optional: false }, :configure_async_invoke => { kind: :method, name: "configureAsyncInvoke", is_optional: false }, :consider_warning_on_invoke_function_permissions => { kind: :method, name: "considerWarningOnInvokeFunctionPermissions", is_optional: false }, :grant_invoke => { kind: :method, name: "grantInvoke", is_optional: false }, :grant_invoke_composite_principal => { kind: :method, name: "grantInvokeCompositePrincipal", is_optional: false }, :grant_invoke_latest_version => { kind: :method, name: "grantInvokeLatestVersion", is_optional: false }, :grant_invoke_url => { kind: :method, name: "grantInvokeUrl", is_optional: false }, :grant_invoke_version => { kind: :method, name: "grantInvokeVersion", is_optional: false }, :metric => { kind: :method, name: "metric", is_optional: false }, :metric_duration => { kind: :method, name: "metricDuration", is_optional: false }, :metric_errors => { kind: :method, name: "metricErrors", is_optional: false }, :metric_invocations => { kind: :method, name: "metricInvocations", is_optional: false }, :metric_throttles => { kind: :method, name: "metricThrottles", is_optional: false }, :warn_invoke_function_permissions => { kind: :method, name: "warnInvokeFunctionPermissions", is_optional: false }, :add_alias => { kind: :method, name: "addAlias", is_optional: false }, :add_environment => { kind: :method, name: "addEnvironment", is_optional: false }, :add_layers => { kind: :method, name: "addLayers", is_optional: false }, :invalidate_version_based_on => { kind: :method, name: "invalidateVersionBasedOn", is_optional: false }, :execute_after => { kind: :method, name: "executeAfter", is_optional: false }, :execute_before => { kind: :method, name: "executeBefore", is_optional: false }, } end |
.PROPERTY_INJECTION_ID ⇒ String
Uniquely identifies this class.
231 232 233 |
# File 'triggers/trigger_function.rb', line 231 def self.PROPERTY_INJECTION_ID() Jsii::Kernel.instance.get_static("aws-cdk-lib.triggers.TriggerFunction", "PROPERTY_INJECTION_ID") end |
Instance Method Details
#add_alias(alias_name, options = nil) ⇒ AWSCDK::Lambda::Alias
Defines an alias for this function.
The alias will automatically be updated to point to the latest version of the function as it is being updated during a deployment.
# Example automatically generated from non-compiling source. May contain errors.
fn = nil
fn.add_alias("Live")
# Is equivalent to
Lambda::Alias.new(self, "AliasLive", {
alias_name: "Live",
version: fn.current_version,
})
618 619 620 621 622 623 |
# File 'triggers/trigger_function.rb', line 618 def add_alias(alias_name, = nil) Jsii::Type.check_type(alias_name, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "aliasName") = .is_a?(Hash) ? ::AWSCDK::Lambda::AliasOptions.new(**.transform_keys(&:to_sym)) : Jsii::Type.check_type(, JSON.parse(Base64.strict_decode64("eyJmcW4iOiJhd3MtY2RrLWxpYi5hd3NfbGFtYmRhLkFsaWFzT3B0aW9ucyJ9")), "options") unless .nil? jsii_call_method("addAlias", [alias_name, ]) end |
#add_environment(key, value, options = nil) ⇒ AWSCDK::Lambda::Function
Adds an environment variable to this Lambda function.
If this is a ref to a Lambda function, this operation results in a no-op.
633 634 635 636 637 638 639 |
# File 'triggers/trigger_function.rb', line 633 def add_environment(key, value, = nil) Jsii::Type.check_type(key, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "key") Jsii::Type.check_type(value, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "value") = .is_a?(Hash) ? ::AWSCDK::Lambda::EnvironmentOptions.new(**.transform_keys(&:to_sym)) : Jsii::Type.check_type(, JSON.parse(Base64.strict_decode64("eyJmcW4iOiJhd3MtY2RrLWxpYi5hd3NfbGFtYmRhLkVudmlyb25tZW50T3B0aW9ucyJ9")), "options") unless .nil? jsii_call_method("addEnvironment", [key, value, ]) end |
#add_event_source(source) ⇒ void
This method returns an undefined value.
Adds an event source to this function.
Event sources are implemented in the aws-cdk-lib/aws-lambda-event-sources module.
The following example adds an SQS Queue as an event source:
import { SqsEventSource } from 'aws-cdk-lib/aws-lambda-event-sources';
myFunction.addEventSource(new SqsEventSource(myQueue));
397 398 399 400 |
# File 'triggers/trigger_function.rb', line 397 def add_event_source(source) Jsii::Type.check_type(source, JSON.parse(Base64.strict_decode64("eyJmcW4iOiJhd3MtY2RrLWxpYi5hd3NfbGFtYmRhLklFdmVudFNvdXJjZSJ9")), "source") jsii_call_method("addEventSource", [source]) end |
#add_event_source_mapping(id, options) ⇒ AWSCDK::Lambda::EventSourceMapping
Adds an event source that maps to this AWS Lambda function.
407 408 409 410 411 412 |
# File 'triggers/trigger_function.rb', line 407 def add_event_source_mapping(id, ) Jsii::Type.check_type(id, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "id") = .is_a?(Hash) ? ::AWSCDK::Lambda::EventSourceMappingOptions.new(**.transform_keys(&:to_sym)) : Jsii::Type.check_type(, JSON.parse(Base64.strict_decode64("eyJmcW4iOiJhd3MtY2RrLWxpYi5hd3NfbGFtYmRhLkV2ZW50U291cmNlTWFwcGluZ09wdGlvbnMifQ==")), "options") jsii_call_method("addEventSourceMapping", [id, ]) end |
#add_function_url(options = nil) ⇒ AWSCDK::Lambda::FunctionURL
Adds a url to this lambda function.
418 419 420 421 422 |
# File 'triggers/trigger_function.rb', line 418 def add_function_url( = nil) = .is_a?(Hash) ? ::AWSCDK::Lambda::FunctionURLOptions.new(**.transform_keys(&:to_sym)) : Jsii::Type.check_type(, JSON.parse(Base64.strict_decode64("eyJmcW4iOiJhd3MtY2RrLWxpYi5hd3NfbGFtYmRhLkZ1bmN0aW9uVXJsT3B0aW9ucyJ9")), "options") unless .nil? jsii_call_method("addFunctionUrl", []) end |
#add_layers(*layers) ⇒ void
This method returns an undefined value.
Adds one or more Lambda Layers to this Lambda function.
645 646 647 648 649 650 |
# File 'triggers/trigger_function.rb', line 645 def add_layers(*layers) layers.each_with_index do |item, index| Jsii::Type.check_type(item, JSON.parse(Base64.strict_decode64("eyJmcW4iOiJhd3MtY2RrLWxpYi5hd3NfbGFtYmRhLklMYXllclZlcnNpb24ifQ==")), "layers[#{index}]") end jsii_call_method("addLayers", [*layers]) end |
#add_permission(id, permission) ⇒ void
This method returns an undefined value.
Adds a permission to the Lambda resource policy.
430 431 432 433 434 435 |
# File 'triggers/trigger_function.rb', line 430 def (id, ) Jsii::Type.check_type(id, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "id") = .is_a?(Hash) ? ::AWSCDK::Lambda::Permission.new(**.transform_keys(&:to_sym)) : Jsii::Type.check_type(, JSON.parse(Base64.strict_decode64("eyJmcW4iOiJhd3MtY2RrLWxpYi5hd3NfbGFtYmRhLlBlcm1pc3Npb24ifQ==")), "permission") jsii_call_method("addPermission", [id, ]) end |
#add_to_role_policy(statement) ⇒ void
This method returns an undefined value.
Adds a statement to the IAM role assumed by the instance.
441 442 443 444 |
# File 'triggers/trigger_function.rb', line 441 def add_to_role_policy(statement) Jsii::Type.check_type(statement, JSON.parse(Base64.strict_decode64("eyJmcW4iOiJhd3MtY2RrLWxpYi5hd3NfaWFtLlBvbGljeVN0YXRlbWVudCJ9")), "statement") jsii_call_method("addToRolePolicy", [statement]) end |
#apply_cross_stack_reference_strength(strength) ⇒ void
This method returns an undefined value.
Override the cross-stack reference strength for this resource.
When set, any cross-stack reference to this resource will use the specified
mechanism instead of the global default determined by the
@aws-cdk/core:defaultCrossStackReferences context key. This is useful for
selectively weakening specific references to avoid the "deadly embrace" problem
without changing the app-wide default.
327 328 329 330 |
# File 'triggers/trigger_function.rb', line 327 def apply_cross_stack_reference_strength(strength) Jsii::Type.check_type(strength, JSON.parse(Base64.strict_decode64("eyJmcW4iOiJhd3MtY2RrLWxpYi5SZWZlcmVuY2VTdHJlbmd0aCJ9")), "strength") jsii_call_method("applyCrossStackReferenceStrength", [strength]) end |
#apply_removal_policy(policy) ⇒ void
This method returns an undefined value.
Apply the given removal policy to this resource.
The Removal Policy controls what happens to this resource when it stops being managed by CloudFormation, either because you've removed it from the CDK application or because you've made a change that requires the resource to be replaced.
The resource can be deleted (RemovalPolicy.DESTROY), or left in your AWS
account for data recovery and cleanup later (RemovalPolicy.RETAIN).
344 345 346 347 |
# File 'triggers/trigger_function.rb', line 344 def apply_removal_policy(policy) Jsii::Type.check_type(policy, JSON.parse(Base64.strict_decode64("eyJmcW4iOiJhd3MtY2RrLWxpYi5SZW1vdmFsUG9saWN5In0=")), "policy") jsii_call_method("applyRemovalPolicy", [policy]) end |
#architecture ⇒ AWSCDK::Lambda::Architecture
The architecture of this Lambda Function (this is an optional attribute and defaults to X86_64).
126 127 128 |
# File 'triggers/trigger_function.rb', line 126 def architecture() jsii_get_property("architecture") end |
#can_create_permissions ⇒ Boolean
Whether the addPermission() call adds any permissions.
True for new Lambdas, false for version $LATEST and imported Lambdas from different accounts.
136 137 138 |
# File 'triggers/trigger_function.rb', line 136 def () jsii_get_property("canCreatePermissions") end |
#configure_async_invoke(options) ⇒ void
This method returns an undefined value.
Configures options for asynchronous invocation.
450 451 452 453 454 |
# File 'triggers/trigger_function.rb', line 450 def configure_async_invoke() = .is_a?(Hash) ? ::AWSCDK::Lambda::EventInvokeConfigOptions.new(**.transform_keys(&:to_sym)) : Jsii::Type.check_type(, JSON.parse(Base64.strict_decode64("eyJmcW4iOiJhd3MtY2RrLWxpYi5hd3NfbGFtYmRhLkV2ZW50SW52b2tlQ29uZmlnT3B0aW9ucyJ9")), "options") jsii_call_method("configureAsyncInvoke", []) end |
#connections ⇒ AWSCDK::EC2::Connections
Access the Connections object.
Will fail if not a VPC-enabled Lambda Function
145 146 147 |
# File 'triggers/trigger_function.rb', line 145 def connections() jsii_get_property("connections") end |
#consider_warning_on_invoke_function_permissions(scope, action) ⇒ void
This method returns an undefined value.
A warning will be added to functions under the following conditions: - permissions that include lambda:InvokeFunction are added to the unqualified function.
- function.currentVersion is invoked before or after the permission is created.
This applies only to permissions on Lambda functions, not versions or aliases. This function is overridden as a noOp for QualifiedFunctionBase.
466 467 468 469 470 |
# File 'triggers/trigger_function.rb', line 466 def (scope, action) Jsii::Type.check_type(scope, JSON.parse(Base64.strict_decode64("eyJmcW4iOiJjb25zdHJ1Y3RzLkNvbnN0cnVjdCJ9")), "scope") Jsii::Type.check_type(action, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "action") jsii_call_method("considerWarningOnInvokeFunctionPermissions", [scope, action]) end |
#current_version ⇒ AWSCDK::Lambda::Version
Returns a lambda.Version which represents the current version of this Lambda function. A new version will be created every time the function's configuration changes.
You can specify options for this version using the current_version_options
prop when initializing the lambda.Function.
241 242 243 |
# File 'triggers/trigger_function.rb', line 241 def current_version() jsii_get_property("currentVersion") end |
#dead_letter_queue ⇒ AWSCDK::SQS::IQueue?
The DLQ (as queue) associated with this Lambda Function (this is an optional attribute).
269 270 271 |
# File 'triggers/trigger_function.rb', line 269 def dead_letter_queue() jsii_get_property("deadLetterQueue") end |
#dead_letter_topic ⇒ AWSCDK::SNS::ITopic?
The DLQ (as topic) associated with this Lambda Function (this is an optional attribute).
276 277 278 |
# File 'triggers/trigger_function.rb', line 276 def dead_letter_topic() jsii_get_property("deadLetterTopic") end |
#env ⇒ AWSCDK::Interfaces::ResourceEnvironment
The environment this resource belongs to.
For resources that are created and managed in a Stack (those created by
creating new class instances like new Role(), new Bucket(), etc.), this
is always the same as the environment of the stack they belong to.
For referenced resources (those obtained from referencing methods like
Role.fromRoleArn(), Bucket.fromBucketName(), etc.), they might be
different than the stack they were imported into.
98 99 100 |
# File 'triggers/trigger_function.rb', line 98 def env() jsii_get_property("env") end |
#execute_after(*scopes) ⇒ void
This method returns an undefined value.
Adds trigger dependencies.
Execute this trigger only after these construct scopes have been provisioned.
683 684 685 686 687 688 |
# File 'triggers/trigger_function.rb', line 683 def execute_after(*scopes) scopes.each_with_index do |item, index| Jsii::Type.check_type(item, JSON.parse(Base64.strict_decode64("eyJmcW4iOiJjb25zdHJ1Y3RzLkNvbnN0cnVjdCJ9")), "scopes[#{index}]") end jsii_call_method("executeAfter", [*scopes]) end |
#execute_before(*scopes) ⇒ void
This method returns an undefined value.
Adds this trigger as a dependency on other constructs.
This means that this trigger will get executed before the given construct(s).
697 698 699 700 701 702 |
# File 'triggers/trigger_function.rb', line 697 def execute_before(*scopes) scopes.each_with_index do |item, index| Jsii::Type.check_type(item, JSON.parse(Base64.strict_decode64("eyJmcW4iOiJjb25zdHJ1Y3RzLkNvbnN0cnVjdCJ9")), "scopes[#{index}]") end jsii_call_method("executeBefore", [*scopes]) end |
#function_arn ⇒ String
ARN of this function.
152 153 154 |
# File 'triggers/trigger_function.rb', line 152 def function_arn() jsii_get_property("functionArn") end |
#function_name ⇒ String
Name of this function.
159 160 161 |
# File 'triggers/trigger_function.rb', line 159 def function_name() jsii_get_property("functionName") end |
#function_ref ⇒ AWSCDK::Interfaces::AWSLambda::FunctionReference
A reference to a Function resource.
166 167 168 |
# File 'triggers/trigger_function.rb', line 166 def function_ref() jsii_get_property("functionRef") end |
#generate_physical_name ⇒ String
350 351 352 |
# File 'triggers/trigger_function.rb', line 350 def generate_physical_name() jsii_call_method("generatePhysicalName", []) end |
#get_resource_arn_attribute(arn_attr, arn_components) ⇒ String
Returns an environment-sensitive token that should be used for the resource's "ARN" attribute (e.g. bucket.bucketArn).
Normally, this token will resolve to arn_attr, but if the resource is
referenced across environments, arn_components will be used to synthesize
a concrete ARN with the resource's physical name. Make sure to reference
this.physicalName in arn_components.
364 365 366 367 368 369 |
# File 'triggers/trigger_function.rb', line 364 def get_resource_arn_attribute(arn_attr, arn_components) Jsii::Type.check_type(arn_attr, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "arnAttr") arn_components = arn_components.is_a?(Hash) ? ::AWSCDK::ARNComponents.new(**arn_components.transform_keys(&:to_sym)) : arn_components Jsii::Type.check_type(arn_components, JSON.parse(Base64.strict_decode64("eyJmcW4iOiJhd3MtY2RrLWxpYi5Bcm5Db21wb25lbnRzIn0=")), "arnComponents") jsii_call_method("getResourceArnAttribute", [arn_attr, arn_components]) end |
#get_resource_name_attribute(name_attr) ⇒ String
Returns an environment-sensitive token that should be used for the resource's "name" attribute (e.g. bucket.bucketName).
Normally, this token will resolve to name_attr, but if the resource is
referenced across environments, it will be resolved to this.physicalName,
which will be a concrete name.
379 380 381 382 |
# File 'triggers/trigger_function.rb', line 379 def get_resource_name_attribute(name_attr) Jsii::Type.check_type(name_attr, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "nameAttr") jsii_call_method("getResourceNameAttribute", [name_attr]) end |
#grant_invoke(grantee) ⇒ AWSCDK::IAM::Grant
Grant the given identity permissions to invoke this Lambda.
[disable-awslint:no-grants]
478 479 480 481 |
# File 'triggers/trigger_function.rb', line 478 def grant_invoke(grantee) Jsii::Type.check_type(grantee, JSON.parse(Base64.strict_decode64("eyJmcW4iOiJhd3MtY2RrLWxpYi5hd3NfaWFtLklHcmFudGFibGUifQ==")), "grantee") jsii_call_method("grantInvoke", [grantee]) end |
#grant_invoke_composite_principal(composite_principal) ⇒ Array<AWSCDK::IAM::Grant>
Grant multiple principals the ability to invoke this Lambda via CompositePrincipal.
[disable-awslint:no-grants]
489 490 491 492 |
# File 'triggers/trigger_function.rb', line 489 def grant_invoke_composite_principal(composite_principal) Jsii::Type.check_type(composite_principal, JSON.parse(Base64.strict_decode64("eyJmcW4iOiJhd3MtY2RrLWxpYi5hd3NfaWFtLkNvbXBvc2l0ZVByaW5jaXBhbCJ9")), "compositePrincipal") jsii_call_method("grantInvokeCompositePrincipal", [composite_principal]) end |
#grant_invoke_latest_version(grantee) ⇒ AWSCDK::IAM::Grant
Grant the given identity permissions to invoke the $LATEST version or unqualified version of this Lambda.
[disable-awslint:no-grants]
500 501 502 503 |
# File 'triggers/trigger_function.rb', line 500 def grant_invoke_latest_version(grantee) Jsii::Type.check_type(grantee, JSON.parse(Base64.strict_decode64("eyJmcW4iOiJhd3MtY2RrLWxpYi5hd3NfaWFtLklHcmFudGFibGUifQ==")), "grantee") jsii_call_method("grantInvokeLatestVersion", [grantee]) end |
#grant_invoke_url(grantee) ⇒ AWSCDK::IAM::Grant
Grant the given identity permissions to invoke this Lambda Function URL.
[disable-awslint:no-grants]
511 512 513 514 |
# File 'triggers/trigger_function.rb', line 511 def grant_invoke_url(grantee) Jsii::Type.check_type(grantee, JSON.parse(Base64.strict_decode64("eyJmcW4iOiJhd3MtY2RrLWxpYi5hd3NfaWFtLklHcmFudGFibGUifQ==")), "grantee") jsii_call_method("grantInvokeUrl", [grantee]) end |
#grant_invoke_version(grantee, version) ⇒ AWSCDK::IAM::Grant
Grant the given identity permissions to invoke the given version of this Lambda.
[disable-awslint:no-grants]
523 524 525 526 527 |
# File 'triggers/trigger_function.rb', line 523 def grant_invoke_version(grantee, version) Jsii::Type.check_type(grantee, JSON.parse(Base64.strict_decode64("eyJmcW4iOiJhd3MtY2RrLWxpYi5hd3NfaWFtLklHcmFudGFibGUifQ==")), "grantee") Jsii::Type.check_type(version, JSON.parse(Base64.strict_decode64("eyJmcW4iOiJhd3MtY2RrLWxpYi5hd3NfbGFtYmRhLklWZXJzaW9uIn0=")), "version") jsii_call_method("grantInvokeVersion", [grantee, version]) end |
#grant_principal ⇒ AWSCDK::IAM::IPrincipal
The principal this Lambda Function is running as.
173 174 175 |
# File 'triggers/trigger_function.rb', line 173 def grant_principal() jsii_get_property("grantPrincipal") end |
#invalidate_version_based_on(x) ⇒ void
This method returns an undefined value.
Mix additional information into the hash of the Version object.
The Lambda Function construct does its best to automatically create a new Version when anything about the Function changes (its code, its layers, any of the other properties).
However, you can sometimes source information from places that the CDK cannot look into, like the deploy-time values of SSM parameters. In those cases, the CDK would not force the creation of a new Version object when it actually should.
This method can be used to invalidate the current Version object. Pass in any string into this method, and make sure the string changes when you know a new Version needs to be created.
This method may be called more than once.
671 672 673 674 |
# File 'triggers/trigger_function.rb', line 671 def invalidate_version_based_on(x) Jsii::Type.check_type(x, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "x") jsii_call_method("invalidateVersionBasedOn", [x]) end |
#is_bound_to_vpc ⇒ Boolean
Whether or not this Lambda function was bound to a VPC.
If this is false, trying to access the connections object will fail.
182 183 184 |
# File 'triggers/trigger_function.rb', line 182 def is_bound_to_vpc() jsii_get_property("isBoundToVpc") end |
#latest_version ⇒ AWSCDK::Lambda::IVersion
The $LATEST version of this function.
Note that this is reference to a non-specific AWS Lambda version, which means the function this version refers to can return different results in different invocations.
To obtain a reference to an explicit version which references the current
function configuration, use lambdaFunction.currentVersion instead.
196 197 198 |
# File 'triggers/trigger_function.rb', line 196 def latest_version() jsii_get_property("latestVersion") end |
#log_group ⇒ AWSCDK::Logs::ILogGroup
The LogGroup where the Lambda function's logs are made available.
If either log_retention is set or this property is called, a CloudFormation custom resource is added to the stack that
pre-creates the log group as part of the stack deployment, if it already doesn't exist, and sets the correct log retention
period (never expire, by default).
Further, if the log group already exists and the log_retention is not set, the custom resource will reset the log retention
to never expire even if it was configured with a different value.
255 256 257 |
# File 'triggers/trigger_function.rb', line 255 def log_group() jsii_get_property("logGroup") end |
#metric(metric_name, props = nil) ⇒ AWSCDK::CloudWatch::Metric
Return the given named metric for this Function.
534 535 536 537 538 539 |
# File 'triggers/trigger_function.rb', line 534 def metric(metric_name, props = nil) Jsii::Type.check_type(metric_name, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "metricName") props = props.is_a?(Hash) ? ::AWSCDK::CloudWatch::MetricOptions.new(**props.transform_keys(&:to_sym)) : props Jsii::Type.check_type(props, JSON.parse(Base64.strict_decode64("eyJmcW4iOiJhd3MtY2RrLWxpYi5hd3NfY2xvdWR3YXRjaC5NZXRyaWNPcHRpb25zIn0=")), "props") unless props.nil? jsii_call_method("metric", [metric_name, props]) end |
#metric_duration(props = nil) ⇒ AWSCDK::CloudWatch::Metric
How long execution of this Lambda takes.
Average over 5 minutes
547 548 549 550 551 |
# File 'triggers/trigger_function.rb', line 547 def metric_duration(props = nil) props = props.is_a?(Hash) ? ::AWSCDK::CloudWatch::MetricOptions.new(**props.transform_keys(&:to_sym)) : props Jsii::Type.check_type(props, JSON.parse(Base64.strict_decode64("eyJmcW4iOiJhd3MtY2RrLWxpYi5hd3NfY2xvdWR3YXRjaC5NZXRyaWNPcHRpb25zIn0=")), "props") unless props.nil? jsii_call_method("metricDuration", [props]) end |
#metric_errors(props = nil) ⇒ AWSCDK::CloudWatch::Metric
How many invocations of this Lambda fail.
Sum over 5 minutes
559 560 561 562 563 |
# File 'triggers/trigger_function.rb', line 559 def metric_errors(props = nil) props = props.is_a?(Hash) ? ::AWSCDK::CloudWatch::MetricOptions.new(**props.transform_keys(&:to_sym)) : props Jsii::Type.check_type(props, JSON.parse(Base64.strict_decode64("eyJmcW4iOiJhd3MtY2RrLWxpYi5hd3NfY2xvdWR3YXRjaC5NZXRyaWNPcHRpb25zIn0=")), "props") unless props.nil? jsii_call_method("metricErrors", [props]) end |
#metric_invocations(props = nil) ⇒ AWSCDK::CloudWatch::Metric
How often this Lambda is invoked.
Sum over 5 minutes
571 572 573 574 575 |
# File 'triggers/trigger_function.rb', line 571 def metric_invocations(props = nil) props = props.is_a?(Hash) ? ::AWSCDK::CloudWatch::MetricOptions.new(**props.transform_keys(&:to_sym)) : props Jsii::Type.check_type(props, JSON.parse(Base64.strict_decode64("eyJmcW4iOiJhd3MtY2RrLWxpYi5hd3NfY2xvdWR3YXRjaC5NZXRyaWNPcHRpb25zIn0=")), "props") unless props.nil? jsii_call_method("metricInvocations", [props]) end |
#metric_throttles(props = nil) ⇒ AWSCDK::CloudWatch::Metric
How often this Lambda is throttled.
Sum over 5 minutes
583 584 585 586 587 |
# File 'triggers/trigger_function.rb', line 583 def metric_throttles(props = nil) props = props.is_a?(Hash) ? ::AWSCDK::CloudWatch::MetricOptions.new(**props.transform_keys(&:to_sym)) : props Jsii::Type.check_type(props, JSON.parse(Base64.strict_decode64("eyJmcW4iOiJhd3MtY2RrLWxpYi5hd3NfY2xvdWR3YXRjaC5NZXRyaWNPcHRpb25zIn0=")), "props") unless props.nil? jsii_call_method("metricThrottles", [props]) end |
#node ⇒ Constructs::Node
The tree node.
83 84 85 |
# File 'triggers/trigger_function.rb', line 83 def node() jsii_get_property("node") end |
#permissions_node ⇒ Constructs::Node
The construct node where permissions are attached.
203 204 205 |
# File 'triggers/trigger_function.rb', line 203 def () jsii_get_property("permissionsNode") end |
#physical_name ⇒ String
Returns a string-encoded token that resolves to the physical name that should be passed to the CloudFormation resource.
This value will resolve to one of the following:
- a concrete value (e.g.
"my-awesome-bucket") undefined, when a name should be generated by CloudFormation- a concrete name generated automatically during synthesis, in cross-environment scenarios.
112 113 114 |
# File 'triggers/trigger_function.rb', line 112 def physical_name() jsii_get_property("physicalName") end |
#resource_arns_for_grant_invoke ⇒ Array<String>
The ARN(s) to put into the resource field of the generated IAM policy for grantInvoke().
210 211 212 |
# File 'triggers/trigger_function.rb', line 210 def resource_arns_for_grant_invoke() jsii_get_property("resourceArnsForGrantInvoke") end |
#role ⇒ AWSCDK::IAM::IRole?
Execution role associated with this function.
217 218 219 |
# File 'triggers/trigger_function.rb', line 217 def role() jsii_get_property("role") end |
#runtime ⇒ AWSCDK::Lambda::Runtime
The runtime configured for this lambda.
262 263 264 |
# File 'triggers/trigger_function.rb', line 262 def runtime() jsii_get_property("runtime") end |
#stack ⇒ AWSCDK::Stack
The stack in which this resource is defined.
119 120 121 |
# File 'triggers/trigger_function.rb', line 119 def stack() jsii_get_property("stack") end |
#tenancy_config ⇒ AWSCDK::Lambda::TenancyConfig?
The tenancy configuration for this function.
224 225 226 |
# File 'triggers/trigger_function.rb', line 224 def tenancy_config() jsii_get_property("tenancyConfig") end |
#timeout ⇒ AWSCDK::Duration?
The timeout configured for this lambda.
283 284 285 |
# File 'triggers/trigger_function.rb', line 283 def timeout() jsii_get_property("timeout") end |
#to_string ⇒ String
Returns a string representation of this construct.
297 298 299 |
# File 'triggers/trigger_function.rb', line 297 def to_string() jsii_call_method("toString", []) end |
#trigger ⇒ AWSCDK::Triggers::Trigger
The underlying trigger resource.
290 291 292 |
# File 'triggers/trigger_function.rb', line 290 def trigger() jsii_get_property("trigger") end |
#warn_invoke_function_permissions(scope) ⇒ void
This method returns an undefined value.
591 592 593 594 |
# File 'triggers/trigger_function.rb', line 591 def (scope) Jsii::Type.check_type(scope, JSON.parse(Base64.strict_decode64("eyJmcW4iOiJjb25zdHJ1Y3RzLkNvbnN0cnVjdCJ9")), "scope") jsii_call_method("warnInvokeFunctionPermissions", [scope]) end |
#with(*mixins) ⇒ Constructs::IConstruct
Applies one or more mixins to this construct.
Mixins are applied in order. The list of constructs is captured at the
start of the call, so constructs added by a mixin will not be visited.
Use multiple with() calls if subsequent mixins should apply to added
constructs.
310 311 312 313 314 315 |
# File 'triggers/trigger_function.rb', line 310 def with(*mixins) mixins.each_with_index do |item, index| Jsii::Type.check_type(item, JSON.parse(Base64.strict_decode64("eyJmcW4iOiJjb25zdHJ1Y3RzLklNaXhpbiJ9")), "mixins[#{index}]") end jsii_call_method("with", [*mixins]) end |