MCPcopy Create free account
hub / github.com/cargo-lambda/cargo-lambda-cdk / RustExtension

Interface RustExtension

cargolambdacdk/RustExtension.go:14–76  ·  view source on GitHub ↗

A Lambda extension written in Rust.

Source from the content-addressed store, hash-verified

12
13// A Lambda extension written in Rust.
14type RustExtension interface {
15 awslambda.LayerVersion
16 // The runtimes compatible with this Layer.
17 CompatibleRuntimes() *[]awslambda.Runtime
18 // The environment this resource belongs to.
19 //
20 // For resources that are created and managed by the CDK
21 // (generally, those created by creating new class instances like Role, Bucket, etc.),
22 // this is always the same as the environment of the stack they belong to;
23 // however, for imported resources
24 // (those obtained from static methods like fromRoleArn, fromBucketName, etc.),
25 // that might be different than the stack they were imported into.
26 Env() *awscdk.ResourceEnvironment
27 // The ARN of the Lambda Layer version that this Layer defines.
28 LayerVersionArn() *string
29 // The tree node.
30 Node() constructs.Node
31 // Returns a string-encoded token that resolves to the physical name that should be passed to the CloudFormation resource.
32 //
33 // This value will resolve to one of the following:
34 // - a concrete value (e.g. `"my-awesome-bucket"`)
35 // - `undefined`, when a name should be generated by CloudFormation
36 // - a concrete name generated automatically during synthesis, in
37 // cross-environment scenarios.
38 PhysicalName() *string
39 // The stack in which this resource is defined.
40 Stack() awscdk.Stack
41 // Add permission for this layer version to specific entities.
42 //
43 // Usage within
44 // the same account where the layer is defined is always allowed and does not
45 // require calling this method. Note that the principal that creates the
46 // Lambda function using the layer (for example, a CloudFormation changeset
47 // execution role) also needs to have the ``lambda:GetLayerVersion``
48 // permission on the layer version.
49 AddPermission(id *string, permission *awslambda.LayerVersionPermission)
50 // Apply the given removal policy to this resource.
51 //
52 // The Removal Policy controls what happens to this resource when it stops
53 // being managed by CloudFormation, either because you've removed it from the
54 // CDK application or because you've made a change that requires the resource
55 // to be replaced.
56 //
57 // The resource can be deleted (`RemovalPolicy.DESTROY`), or left in your AWS
58 // account for data recovery and cleanup later (`RemovalPolicy.RETAIN`).
59 ApplyRemovalPolicy(policy awscdk.RemovalPolicy)
60 GeneratePhysicalName() *string
61 // Returns an environment-sensitive token that should be used for the resource's "ARN" attribute (e.g. `bucket.bucketArn`).
62 //
63 // Normally, this token will resolve to `arnAttr`, but if the resource is
64 // referenced across environments, `arnComponents` will be used to synthesize
65 // a concrete ARN with the resource's physical name. Make sure to reference
66 // `this.physicalName` in `arnComponents`.
67 GetResourceArnAttribute(arnAttr *string, arnComponents *awscdk.ArnComponents) *string
68 // Returns an environment-sensitive token that should be used for the resource's "name" attribute (e.g. `bucket.bucketName`).
69 //
70 // Normally, this token will resolve to `nameAttr`, but if the resource is
71 // referenced across environments, it will be resolved to `this.physicalName`,

Callers 1

Implementers 1

jsiiProxy_RustExtensioncargolambdacdk/RustExtension.go

Calls

no outgoing calls

Tested by

no test coverage detected