Class: AWSCDK::Lambda::FunctionBase
- Inherits:
-
Resource
- Object
- Resource
- AWSCDK::Lambda::FunctionBase
- Includes:
- EC2::IClientVpnConnectionHandler, IFunction
- Defined in:
- lambda/function_base.rb
Direct Known Subclasses
Class Method Summary collapse
Instance Method Summary collapse
-
#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_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.
-
#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. -
#env ⇒ AWSCDK::Interfaces::ResourceEnvironment
The environment this resource belongs to.
-
#function_arn ⇒ String
The ARN fo the function.
-
#function_name ⇒ String
The name of the 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 = nil) ⇒ FunctionBase
constructor
A new instance of FunctionBase.
-
#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. -
#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?
The IAM role associated with this function.
-
#stack ⇒ AWSCDK::Stack
The stack in which this resource is defined.
-
#tenancy_config ⇒ AWSCDK::Lambda::TenancyConfig?
The tenancy configuration for this function.
-
#to_string ⇒ String
Returns a string representation of this construct.
- #warn_invoke_function_permissions(scope) ⇒ void
-
#with(*mixins) ⇒ Constructs::IConstruct
Applies one or more mixins to this construct.
Constructor Details
#initialize(scope, id, props = nil) ⇒ FunctionBase
Returns a new instance of FunctionBase.
12 13 14 15 16 17 18 |
# File 'lambda/function_base.rb', line 12 def initialize(scope, id, props = nil) props = props.is_a?(Hash) ? ::AWSCDK::ResourceProps.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("eyJmcW4iOiJhd3MtY2RrLWxpYi5SZXNvdXJjZVByb3BzIn0=")), "props") unless props.nil? 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 |
# File 'lambda/function_base.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 }, :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 }, } end |
Instance Method Details
#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));
320 321 322 323 |
# File 'lambda/function_base.rb', line 320 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.
330 331 332 333 334 335 |
# File 'lambda/function_base.rb', line 330 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.
341 342 343 344 345 |
# File 'lambda/function_base.rb', line 341 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_permission(id, permission) ⇒ void
This method returns an undefined value.
Adds a permission to the Lambda resource policy.
353 354 355 356 357 358 |
# File 'lambda/function_base.rb', line 353 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.
364 365 366 367 |
# File 'lambda/function_base.rb', line 364 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.
250 251 252 253 |
# File 'lambda/function_base.rb', line 250 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).
267 268 269 270 |
# File 'lambda/function_base.rb', line 267 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.
113 114 115 |
# File 'lambda/function_base.rb', line 113 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.
123 124 125 |
# File 'lambda/function_base.rb', line 123 def () jsii_get_property("canCreatePermissions") end |
#configure_async_invoke(options) ⇒ void
This method returns an undefined value.
Configures options for asynchronous invocation.
373 374 375 376 377 |
# File 'lambda/function_base.rb', line 373 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
132 133 134 |
# File 'lambda/function_base.rb', line 132 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.
389 390 391 392 393 |
# File 'lambda/function_base.rb', line 389 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 |
#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.
85 86 87 |
# File 'lambda/function_base.rb', line 85 def env() jsii_get_property("env") end |
#function_arn ⇒ String
The ARN fo the function.
139 140 141 |
# File 'lambda/function_base.rb', line 139 def function_arn() jsii_get_property("functionArn") end |
#function_name ⇒ String
The name of the function.
146 147 148 |
# File 'lambda/function_base.rb', line 146 def function_name() jsii_get_property("functionName") end |
#function_ref ⇒ AWSCDK::Interfaces::AWSLambda::FunctionReference
A reference to a Function resource.
153 154 155 |
# File 'lambda/function_base.rb', line 153 def function_ref() jsii_get_property("functionRef") end |
#generate_physical_name ⇒ String
273 274 275 |
# File 'lambda/function_base.rb', line 273 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.
287 288 289 290 291 292 |
# File 'lambda/function_base.rb', line 287 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.
302 303 304 305 |
# File 'lambda/function_base.rb', line 302 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]
401 402 403 404 |
# File 'lambda/function_base.rb', line 401 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]
412 413 414 415 |
# File 'lambda/function_base.rb', line 412 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]
423 424 425 426 |
# File 'lambda/function_base.rb', line 423 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]
434 435 436 437 |
# File 'lambda/function_base.rb', line 434 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]
446 447 448 449 450 |
# File 'lambda/function_base.rb', line 446 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.
160 161 162 |
# File 'lambda/function_base.rb', line 160 def grant_principal() jsii_get_property("grantPrincipal") 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.
169 170 171 |
# File 'lambda/function_base.rb', line 169 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.
183 184 185 |
# File 'lambda/function_base.rb', line 183 def latest_version() jsii_get_property("latestVersion") end |
#metric(metric_name, props = nil) ⇒ AWSCDK::CloudWatch::Metric
Return the given named metric for this Function.
457 458 459 460 461 462 |
# File 'lambda/function_base.rb', line 457 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
470 471 472 473 474 |
# File 'lambda/function_base.rb', line 470 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
482 483 484 485 486 |
# File 'lambda/function_base.rb', line 482 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
494 495 496 497 498 |
# File 'lambda/function_base.rb', line 494 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
506 507 508 509 510 |
# File 'lambda/function_base.rb', line 506 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.
70 71 72 |
# File 'lambda/function_base.rb', line 70 def node() jsii_get_property("node") end |
#permissions_node ⇒ Constructs::Node
The construct node where permissions are attached.
190 191 192 |
# File 'lambda/function_base.rb', line 190 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.
99 100 101 |
# File 'lambda/function_base.rb', line 99 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().
197 198 199 |
# File 'lambda/function_base.rb', line 197 def resource_arns_for_grant_invoke() jsii_get_property("resourceArnsForGrantInvoke") end |
#role ⇒ AWSCDK::IAM::IRole?
The IAM role associated with this function.
Undefined if the function was imported without a role.
206 207 208 |
# File 'lambda/function_base.rb', line 206 def role() jsii_get_property("role") end |
#stack ⇒ AWSCDK::Stack
The stack in which this resource is defined.
106 107 108 |
# File 'lambda/function_base.rb', line 106 def stack() jsii_get_property("stack") end |
#tenancy_config ⇒ AWSCDK::Lambda::TenancyConfig?
The tenancy configuration for this function.
213 214 215 |
# File 'lambda/function_base.rb', line 213 def tenancy_config() jsii_get_property("tenancyConfig") end |
#to_string ⇒ String
Returns a string representation of this construct.
220 221 222 |
# File 'lambda/function_base.rb', line 220 def to_string() jsii_call_method("toString", []) end |
#warn_invoke_function_permissions(scope) ⇒ void
This method returns an undefined value.
514 515 516 517 |
# File 'lambda/function_base.rb', line 514 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.
233 234 235 236 237 238 |
# File 'lambda/function_base.rb', line 233 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 |