Documentation ¶
Index ¶
- type Alias
- func (r *Alias) Arn() *pulumi.StringOutput
- func (r *Alias) Description() *pulumi.StringOutput
- func (r *Alias) FunctionName() *pulumi.StringOutput
- func (r *Alias) FunctionVersion() *pulumi.StringOutput
- func (r *Alias) ID() *pulumi.IDOutput
- func (r *Alias) InvokeArn() *pulumi.StringOutput
- func (r *Alias) Name() *pulumi.StringOutput
- func (r *Alias) RoutingConfig() *pulumi.Output
- func (r *Alias) URN() *pulumi.URNOutput
- type AliasArgs
- type AliasState
- type EventSourceMapping
- func (r *EventSourceMapping) BatchSize() *pulumi.IntOutput
- func (r *EventSourceMapping) Enabled() *pulumi.BoolOutput
- func (r *EventSourceMapping) EventSourceArn() *pulumi.StringOutput
- func (r *EventSourceMapping) FunctionArn() *pulumi.StringOutput
- func (r *EventSourceMapping) FunctionName() *pulumi.StringOutput
- func (r *EventSourceMapping) ID() *pulumi.IDOutput
- func (r *EventSourceMapping) LastModified() *pulumi.StringOutput
- func (r *EventSourceMapping) LastProcessingResult() *pulumi.StringOutput
- func (r *EventSourceMapping) StartingPosition() *pulumi.StringOutput
- func (r *EventSourceMapping) StartingPositionTimestamp() *pulumi.StringOutput
- func (r *EventSourceMapping) State() *pulumi.StringOutput
- func (r *EventSourceMapping) StateTransitionReason() *pulumi.StringOutput
- func (r *EventSourceMapping) URN() *pulumi.URNOutput
- func (r *EventSourceMapping) Uuid() *pulumi.StringOutput
- type EventSourceMappingArgs
- type EventSourceMappingState
- type Function
- func (r *Function) Arn() *pulumi.StringOutput
- func (r *Function) Code() *pulumi.StringOutput
- func (r *Function) DeadLetterConfig() *pulumi.Output
- func (r *Function) Description() *pulumi.StringOutput
- func (r *Function) Environment() *pulumi.Output
- func (r *Function) Handler() *pulumi.StringOutput
- func (r *Function) ID() *pulumi.IDOutput
- func (r *Function) InvokeArn() *pulumi.StringOutput
- func (r *Function) KmsKeyArn() *pulumi.StringOutput
- func (r *Function) LastModified() *pulumi.StringOutput
- func (r *Function) Layers() *pulumi.ArrayOutput
- func (r *Function) MemorySize() *pulumi.IntOutput
- func (r *Function) Name() *pulumi.StringOutput
- func (r *Function) Publish() *pulumi.BoolOutput
- func (r *Function) QualifiedArn() *pulumi.StringOutput
- func (r *Function) ReservedConcurrentExecutions() *pulumi.IntOutput
- func (r *Function) Role() *pulumi.StringOutput
- func (r *Function) Runtime() *pulumi.StringOutput
- func (r *Function) S3Bucket() *pulumi.StringOutput
- func (r *Function) S3Key() *pulumi.StringOutput
- func (r *Function) S3ObjectVersion() *pulumi.StringOutput
- func (r *Function) SourceCodeHash() *pulumi.StringOutput
- func (r *Function) SourceCodeSize() *pulumi.IntOutput
- func (r *Function) Tags() *pulumi.MapOutput
- func (r *Function) Timeout() *pulumi.IntOutput
- func (r *Function) TracingConfig() *pulumi.Output
- func (r *Function) URN() *pulumi.URNOutput
- func (r *Function) Version() *pulumi.StringOutput
- func (r *Function) VpcConfig() *pulumi.Output
- type FunctionArgs
- type FunctionState
- type GetFunctionArgs
- type GetFunctionResult
- type GetInvocationArgs
- type GetInvocationResult
- type LayerVersion
- func (r *LayerVersion) Arn() *pulumi.StringOutput
- func (r *LayerVersion) CompatibleRuntimes() *pulumi.ArrayOutput
- func (r *LayerVersion) CreatedDate() *pulumi.StringOutput
- func (r *LayerVersion) Description() *pulumi.StringOutput
- func (r *LayerVersion) Filename() *pulumi.StringOutput
- func (r *LayerVersion) ID() *pulumi.IDOutput
- func (r *LayerVersion) LayerArn() *pulumi.StringOutput
- func (r *LayerVersion) LayerName() *pulumi.StringOutput
- func (r *LayerVersion) LicenseInfo() *pulumi.StringOutput
- func (r *LayerVersion) S3Bucket() *pulumi.StringOutput
- func (r *LayerVersion) S3Key() *pulumi.StringOutput
- func (r *LayerVersion) S3ObjectVersion() *pulumi.StringOutput
- func (r *LayerVersion) SourceCodeHash() *pulumi.StringOutput
- func (r *LayerVersion) SourceCodeSize() *pulumi.IntOutput
- func (r *LayerVersion) URN() *pulumi.URNOutput
- func (r *LayerVersion) Version() *pulumi.StringOutput
- type LayerVersionArgs
- type LayerVersionState
- type Permission
- func (r *Permission) Action() *pulumi.StringOutput
- func (r *Permission) EventSourceToken() *pulumi.StringOutput
- func (r *Permission) Function() *pulumi.StringOutput
- func (r *Permission) ID() *pulumi.IDOutput
- func (r *Permission) Principal() *pulumi.StringOutput
- func (r *Permission) Qualifier() *pulumi.StringOutput
- func (r *Permission) SourceAccount() *pulumi.StringOutput
- func (r *Permission) SourceArn() *pulumi.StringOutput
- func (r *Permission) StatementId() *pulumi.StringOutput
- func (r *Permission) StatementIdPrefix() *pulumi.StringOutput
- func (r *Permission) URN() *pulumi.URNOutput
- type PermissionArgs
- type PermissionState
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type Alias ¶
type Alias struct {
// contains filtered or unexported fields
}
Creates a Lambda function alias. Creates an alias that points to the specified Lambda function version.
For information about Lambda and how to use it, see [What is AWS Lambda?][1] For information about function aliases, see [CreateAlias][2] and [AliasRoutingConfiguration][3] in the API docs.
func GetAlias ¶
func GetAlias(ctx *pulumi.Context, name string, id pulumi.ID, state *AliasState, opts ...pulumi.ResourceOpt) (*Alias, error)
GetAlias gets an existing Alias resource's state with the given name, ID, and optional state properties that are used to uniquely qualify the lookup (nil if not required).
func NewAlias ¶
func NewAlias(ctx *pulumi.Context, name string, args *AliasArgs, opts ...pulumi.ResourceOpt) (*Alias, error)
NewAlias registers a new resource with the given unique name, arguments, and options.
func (*Alias) Arn ¶
func (r *Alias) Arn() *pulumi.StringOutput
The Amazon Resource Name (ARN) identifying your Lambda function alias.
func (*Alias) Description ¶
func (r *Alias) Description() *pulumi.StringOutput
Description of the alias.
func (*Alias) FunctionName ¶
func (r *Alias) FunctionName() *pulumi.StringOutput
The function ARN of the Lambda function for which you want to create an alias.
func (*Alias) FunctionVersion ¶
func (r *Alias) FunctionVersion() *pulumi.StringOutput
Lambda function version for which you are creating the alias. Pattern: `(\$LATEST|[0-9]+)`.
func (*Alias) InvokeArn ¶ added in v0.16.4
func (r *Alias) InvokeArn() *pulumi.StringOutput
The ARN to be used for invoking Lambda Function from API Gateway - to be used in [`aws_api_gateway_integration`](https://www.terraform.io/docs/providers/aws/r/api_gateway_integration.html)'s `uri`
func (*Alias) Name ¶
func (r *Alias) Name() *pulumi.StringOutput
Name for the alias you are creating. Pattern: `(?!^[0-9]+$)([a-zA-Z0-9-_]+)`
func (*Alias) RoutingConfig ¶ added in v0.14.2
The Lambda alias' route configuration settings. Fields documented below
type AliasArgs ¶
type AliasArgs struct { // Description of the alias. Description interface{} // The function ARN of the Lambda function for which you want to create an alias. FunctionName interface{} // Lambda function version for which you are creating the alias. Pattern: `(\$LATEST|[0-9]+)`. FunctionVersion interface{} // Name for the alias you are creating. Pattern: `(?!^[0-9]+$)([a-zA-Z0-9-_]+)` Name interface{} // The Lambda alias' route configuration settings. Fields documented below RoutingConfig interface{} }
The set of arguments for constructing a Alias resource.
type AliasState ¶
type AliasState struct { // The Amazon Resource Name (ARN) identifying your Lambda function alias. Arn interface{} // Description of the alias. Description interface{} // The function ARN of the Lambda function for which you want to create an alias. FunctionName interface{} // Lambda function version for which you are creating the alias. Pattern: `(\$LATEST|[0-9]+)`. FunctionVersion interface{} // The ARN to be used for invoking Lambda Function from API Gateway - to be used in [`aws_api_gateway_integration`](https://www.terraform.io/docs/providers/aws/r/api_gateway_integration.html)'s `uri` InvokeArn interface{} // Name for the alias you are creating. Pattern: `(?!^[0-9]+$)([a-zA-Z0-9-_]+)` Name interface{} // The Lambda alias' route configuration settings. Fields documented below RoutingConfig interface{} }
Input properties used for looking up and filtering Alias resources.
type EventSourceMapping ¶
type EventSourceMapping struct {
// contains filtered or unexported fields
}
Provides a Lambda event source mapping. This allows Lambda functions to get events from Kinesis, DynamoDB and SQS
For information about Lambda and how to use it, see [What is AWS Lambda?][1] For information about event source mappings, see [CreateEventSourceMapping][2] in the API docs.
func GetEventSourceMapping ¶
func GetEventSourceMapping(ctx *pulumi.Context, name string, id pulumi.ID, state *EventSourceMappingState, opts ...pulumi.ResourceOpt) (*EventSourceMapping, error)
GetEventSourceMapping gets an existing EventSourceMapping resource's state with the given name, ID, and optional state properties that are used to uniquely qualify the lookup (nil if not required).
func NewEventSourceMapping ¶
func NewEventSourceMapping(ctx *pulumi.Context, name string, args *EventSourceMappingArgs, opts ...pulumi.ResourceOpt) (*EventSourceMapping, error)
NewEventSourceMapping registers a new resource with the given unique name, arguments, and options.
func (*EventSourceMapping) BatchSize ¶
func (r *EventSourceMapping) BatchSize() *pulumi.IntOutput
The largest number of records that Lambda will retrieve from your event source at the time of invocation. Defaults to `100` for DynamoDB and Kinesis, `10` for SQS.
func (*EventSourceMapping) Enabled ¶
func (r *EventSourceMapping) Enabled() *pulumi.BoolOutput
Determines if the mapping will be enabled on creation. Defaults to `true`.
func (*EventSourceMapping) EventSourceArn ¶
func (r *EventSourceMapping) EventSourceArn() *pulumi.StringOutput
The event source ARN - can either be a Kinesis or DynamoDB stream.
func (*EventSourceMapping) FunctionArn ¶
func (r *EventSourceMapping) FunctionArn() *pulumi.StringOutput
The the ARN of the Lambda function the event source mapping is sending events to. (Note: this is a computed value that differs from `function_name` above.)
func (*EventSourceMapping) FunctionName ¶
func (r *EventSourceMapping) FunctionName() *pulumi.StringOutput
The name or the ARN of the Lambda function that will be subscribing to events.
func (*EventSourceMapping) ID ¶
func (r *EventSourceMapping) ID() *pulumi.IDOutput
ID is this resource's unique identifier assigned by its provider.
func (*EventSourceMapping) LastModified ¶
func (r *EventSourceMapping) LastModified() *pulumi.StringOutput
The date this resource was last modified.
func (*EventSourceMapping) LastProcessingResult ¶
func (r *EventSourceMapping) LastProcessingResult() *pulumi.StringOutput
The result of the last AWS Lambda invocation of your Lambda function.
func (*EventSourceMapping) StartingPosition ¶
func (r *EventSourceMapping) StartingPosition() *pulumi.StringOutput
The position in the stream where AWS Lambda should start reading. Must be one of `AT_TIMESTAMP` (Kinesis only), `LATEST` or `TRIM_HORIZON` if getting events from Kinesis or DynamoDB. Must not be provided if getting events from SQS. More information about these positions can be found in the [AWS DynamoDB Streams API Reference](https://docs.aws.amazon.com/amazondynamodb/latest/APIReference/API_streams_GetShardIterator.html) and [AWS Kinesis API Reference](https://docs.aws.amazon.com/kinesis/latest/APIReference/API_GetShardIterator.html#Kinesis-GetShardIterator-request-ShardIteratorType).
func (*EventSourceMapping) StartingPositionTimestamp ¶ added in v0.16.3
func (r *EventSourceMapping) StartingPositionTimestamp() *pulumi.StringOutput
A timestamp in [RFC3339 format](https://tools.ietf.org/html/rfc3339#section-5.8) of the data record which to start reading when using `starting_position` set to `AT_TIMESTAMP`. If a record with this exact timestamp does not exist, the next later record is chosen. If the timestamp is older than the current trim horizon, the oldest available record is chosen.
func (*EventSourceMapping) State ¶
func (r *EventSourceMapping) State() *pulumi.StringOutput
The state of the event source mapping.
func (*EventSourceMapping) StateTransitionReason ¶
func (r *EventSourceMapping) StateTransitionReason() *pulumi.StringOutput
The reason the event source mapping is in its current state.
func (*EventSourceMapping) URN ¶
func (r *EventSourceMapping) URN() *pulumi.URNOutput
URN is this resource's unique name assigned by Pulumi.
func (*EventSourceMapping) Uuid ¶
func (r *EventSourceMapping) Uuid() *pulumi.StringOutput
The UUID of the created event source mapping.
type EventSourceMappingArgs ¶
type EventSourceMappingArgs struct { // The largest number of records that Lambda will retrieve from your event source at the time of invocation. Defaults to `100` for DynamoDB and Kinesis, `10` for SQS. BatchSize interface{} // Determines if the mapping will be enabled on creation. Defaults to `true`. Enabled interface{} // The event source ARN - can either be a Kinesis or DynamoDB stream. EventSourceArn interface{} // The name or the ARN of the Lambda function that will be subscribing to events. FunctionName interface{} // The position in the stream where AWS Lambda should start reading. Must be one of `AT_TIMESTAMP` (Kinesis only), `LATEST` or `TRIM_HORIZON` if getting events from Kinesis or DynamoDB. Must not be provided if getting events from SQS. More information about these positions can be found in the [AWS DynamoDB Streams API Reference](https://docs.aws.amazon.com/amazondynamodb/latest/APIReference/API_streams_GetShardIterator.html) and [AWS Kinesis API Reference](https://docs.aws.amazon.com/kinesis/latest/APIReference/API_GetShardIterator.html#Kinesis-GetShardIterator-request-ShardIteratorType). StartingPosition interface{} // A timestamp in [RFC3339 format](https://tools.ietf.org/html/rfc3339#section-5.8) of the data record which to start reading when using `starting_position` set to `AT_TIMESTAMP`. If a record with this exact timestamp does not exist, the next later record is chosen. If the timestamp is older than the current trim horizon, the oldest available record is chosen. StartingPositionTimestamp interface{} }
The set of arguments for constructing a EventSourceMapping resource.
type EventSourceMappingState ¶
type EventSourceMappingState struct { // The largest number of records that Lambda will retrieve from your event source at the time of invocation. Defaults to `100` for DynamoDB and Kinesis, `10` for SQS. BatchSize interface{} // Determines if the mapping will be enabled on creation. Defaults to `true`. Enabled interface{} // The event source ARN - can either be a Kinesis or DynamoDB stream. EventSourceArn interface{} // The the ARN of the Lambda function the event source mapping is sending events to. (Note: this is a computed value that differs from `function_name` above.) FunctionArn interface{} // The name or the ARN of the Lambda function that will be subscribing to events. FunctionName interface{} // The date this resource was last modified. LastModified interface{} // The result of the last AWS Lambda invocation of your Lambda function. LastProcessingResult interface{} // The position in the stream where AWS Lambda should start reading. Must be one of `AT_TIMESTAMP` (Kinesis only), `LATEST` or `TRIM_HORIZON` if getting events from Kinesis or DynamoDB. Must not be provided if getting events from SQS. More information about these positions can be found in the [AWS DynamoDB Streams API Reference](https://docs.aws.amazon.com/amazondynamodb/latest/APIReference/API_streams_GetShardIterator.html) and [AWS Kinesis API Reference](https://docs.aws.amazon.com/kinesis/latest/APIReference/API_GetShardIterator.html#Kinesis-GetShardIterator-request-ShardIteratorType). StartingPosition interface{} // A timestamp in [RFC3339 format](https://tools.ietf.org/html/rfc3339#section-5.8) of the data record which to start reading when using `starting_position` set to `AT_TIMESTAMP`. If a record with this exact timestamp does not exist, the next later record is chosen. If the timestamp is older than the current trim horizon, the oldest available record is chosen. StartingPositionTimestamp interface{} // The state of the event source mapping. State interface{} // The reason the event source mapping is in its current state. StateTransitionReason interface{} // The UUID of the created event source mapping. Uuid interface{} }
Input properties used for looking up and filtering EventSourceMapping resources.
type Function ¶
type Function struct {
// contains filtered or unexported fields
}
Provides a Lambda Function resource. Lambda allows you to trigger execution of code in response to events in AWS. The Lambda Function itself includes source code and runtime configuration.
For information about Lambda and how to use it, see [What is AWS Lambda?][1]
## Specifying the Deployment Package
AWS Lambda expects source code to be provided as a deployment package whose structure varies depending on which `runtime` is in use. See [Runtimes][6] for the valid values of `runtime`. The expected structure of the deployment package can be found in [the AWS Lambda documentation for each runtime][8].
Once you have created your deployment package you can specify it either directly as a local file (using the `filename` argument) or indirectly via Amazon S3 (using the `s3_bucket`, `s3_key` and `s3_object_version` arguments). When providing the deployment package via S3 it may be useful to use the `aws_s3_bucket_object` resource to upload it.
For larger deployment packages it is recommended by Amazon to upload via S3, since the S3 API has better support for uploading large files efficiently.
func GetFunction ¶
func GetFunction(ctx *pulumi.Context, name string, id pulumi.ID, state *FunctionState, opts ...pulumi.ResourceOpt) (*Function, error)
GetFunction gets an existing Function resource's state with the given name, ID, and optional state properties that are used to uniquely qualify the lookup (nil if not required).
func NewFunction ¶
func NewFunction(ctx *pulumi.Context, name string, args *FunctionArgs, opts ...pulumi.ResourceOpt) (*Function, error)
NewFunction registers a new resource with the given unique name, arguments, and options.
func (*Function) Arn ¶
func (r *Function) Arn() *pulumi.StringOutput
The Amazon Resource Name (ARN) identifying your Lambda Function.
func (*Function) Code ¶
func (r *Function) Code() *pulumi.StringOutput
The path to the function's deployment package within the local filesystem. If defined, The `s3_`-prefixed options cannot be used.
func (*Function) DeadLetterConfig ¶
Nested block to configure the function's *dead letter queue*. See details below.
func (*Function) Description ¶
func (r *Function) Description() *pulumi.StringOutput
Description of what your Lambda Function does.
func (*Function) Environment ¶
The Lambda environment's configuration settings. Fields documented below.
func (*Function) Handler ¶
func (r *Function) Handler() *pulumi.StringOutput
The function [entrypoint][3] in your code.
func (*Function) InvokeArn ¶
func (r *Function) InvokeArn() *pulumi.StringOutput
The ARN to be used for invoking Lambda Function from API Gateway - to be used in [`aws_api_gateway_integration`](https://www.terraform.io/docs/providers/aws/r/api_gateway_integration.html)'s `uri`
func (*Function) KmsKeyArn ¶
func (r *Function) KmsKeyArn() *pulumi.StringOutput
The ARN for the KMS encryption key.
func (*Function) LastModified ¶
func (r *Function) LastModified() *pulumi.StringOutput
The date this resource was last modified.
func (*Function) Layers ¶ added in v0.16.7
func (r *Function) Layers() *pulumi.ArrayOutput
List of Lambda Layer Version ARNs (maximum of 5) to attach to your Lambda Function. See [Lambda Layers][10]
func (*Function) MemorySize ¶
Amount of memory in MB your Lambda Function can use at runtime. Defaults to `128`. See [Limits][5]
func (*Function) Name ¶
func (r *Function) Name() *pulumi.StringOutput
A unique name for your Lambda Function.
func (*Function) Publish ¶
func (r *Function) Publish() *pulumi.BoolOutput
Whether to publish creation/change as new Lambda Function Version. Defaults to `false`.
func (*Function) QualifiedArn ¶
func (r *Function) QualifiedArn() *pulumi.StringOutput
The Amazon Resource Name (ARN) identifying your Lambda Function Version (if versioning is enabled via `publish = true`).
func (*Function) ReservedConcurrentExecutions ¶
The amount of reserved concurrent executions for this lambda function. A value of `0` disables lambda from being triggered and `-1` removes any concurrency limitations. Defaults to Unreserved Concurrency Limits `-1`. See [Managing Concurrency][9]
func (*Function) Role ¶
func (r *Function) Role() *pulumi.StringOutput
IAM role attached to the Lambda Function. This governs both who / what can invoke your Lambda Function, as well as what resources our Lambda Function has access to. See [Lambda Permission Model][4] for more details.
func (*Function) Runtime ¶
func (r *Function) Runtime() *pulumi.StringOutput
See [Runtimes][6] for valid values.
func (*Function) S3Bucket ¶
func (r *Function) S3Bucket() *pulumi.StringOutput
The S3 bucket location containing the function's deployment package. Conflicts with `filename`. This bucket must reside in the same AWS region where you are creating the Lambda function.
func (*Function) S3Key ¶
func (r *Function) S3Key() *pulumi.StringOutput
The S3 key of an object containing the function's deployment package. Conflicts with `filename`.
func (*Function) S3ObjectVersion ¶
func (r *Function) S3ObjectVersion() *pulumi.StringOutput
The object version containing the function's deployment package. Conflicts with `filename`.
func (*Function) SourceCodeHash ¶
func (r *Function) SourceCodeHash() *pulumi.StringOutput
Used to trigger updates. Must be set to a base64-encoded SHA256 hash of the package file specified with either `filename` or `s3_key`. The usual way to set this is `${base64sha256(file("file.zip"))}`, where "file.zip" is the local filename of the lambda function source archive.
func (*Function) SourceCodeSize ¶
The size in bytes of the function .zip file.
func (*Function) Timeout ¶
The amount of time your Lambda Function has to run in seconds. Defaults to `3`. See [Limits][5]
func (*Function) TracingConfig ¶
func (*Function) Version ¶
func (r *Function) Version() *pulumi.StringOutput
Latest published version of your Lambda Function.
type FunctionArgs ¶
type FunctionArgs struct { // Nested block to configure the function's *dead letter queue*. See details below. DeadLetterConfig interface{} // Description of what your Lambda Function does. Description interface{} // The Lambda environment's configuration settings. Fields documented below. Environment interface{} // The path to the function's deployment package within the local filesystem. If defined, The `s3_`-prefixed options cannot be used. Code interface{} // A unique name for your Lambda Function. Name interface{} // The function [entrypoint][3] in your code. Handler interface{} // The ARN for the KMS encryption key. KmsKeyArn interface{} // List of Lambda Layer Version ARNs (maximum of 5) to attach to your Lambda Function. See [Lambda Layers][10] Layers interface{} // Amount of memory in MB your Lambda Function can use at runtime. Defaults to `128`. See [Limits][5] MemorySize interface{} // Whether to publish creation/change as new Lambda Function Version. Defaults to `false`. Publish interface{} // The amount of reserved concurrent executions for this lambda function. A value of `0` disables lambda from being triggered and `-1` removes any concurrency limitations. Defaults to Unreserved Concurrency Limits `-1`. See [Managing Concurrency][9] ReservedConcurrentExecutions interface{} // IAM role attached to the Lambda Function. This governs both who / what can invoke your Lambda Function, as well as what resources our Lambda Function has access to. See [Lambda Permission Model][4] for more details. Role interface{} // See [Runtimes][6] for valid values. Runtime interface{} // The S3 bucket location containing the function's deployment package. Conflicts with `filename`. This bucket must reside in the same AWS region where you are creating the Lambda function. S3Bucket interface{} // The S3 key of an object containing the function's deployment package. Conflicts with `filename`. S3Key interface{} // The object version containing the function's deployment package. Conflicts with `filename`. S3ObjectVersion interface{} // Used to trigger updates. Must be set to a base64-encoded SHA256 hash of the package file specified with either `filename` or `s3_key`. The usual way to set this is `${base64sha256(file("file.zip"))}`, where "file.zip" is the local filename of the lambda function source archive. SourceCodeHash interface{} // A mapping of tags to assign to the object. Tags interface{} // The amount of time your Lambda Function has to run in seconds. Defaults to `3`. See [Limits][5] Timeout interface{} TracingConfig interface{} // Provide this to allow your function to access your VPC. Fields documented below. See [Lambda in VPC][7] VpcConfig interface{} }
The set of arguments for constructing a Function resource.
type FunctionState ¶
type FunctionState struct { // The Amazon Resource Name (ARN) identifying your Lambda Function. Arn interface{} // Nested block to configure the function's *dead letter queue*. See details below. DeadLetterConfig interface{} // Description of what your Lambda Function does. Description interface{} // The Lambda environment's configuration settings. Fields documented below. Environment interface{} // The path to the function's deployment package within the local filesystem. If defined, The `s3_`-prefixed options cannot be used. Code interface{} // A unique name for your Lambda Function. Name interface{} // The function [entrypoint][3] in your code. Handler interface{} // The ARN to be used for invoking Lambda Function from API Gateway - to be used in [`aws_api_gateway_integration`](https://www.terraform.io/docs/providers/aws/r/api_gateway_integration.html)'s `uri` InvokeArn interface{} // The ARN for the KMS encryption key. KmsKeyArn interface{} // The date this resource was last modified. LastModified interface{} // List of Lambda Layer Version ARNs (maximum of 5) to attach to your Lambda Function. See [Lambda Layers][10] Layers interface{} // Amount of memory in MB your Lambda Function can use at runtime. Defaults to `128`. See [Limits][5] MemorySize interface{} // Whether to publish creation/change as new Lambda Function Version. Defaults to `false`. Publish interface{} // The Amazon Resource Name (ARN) identifying your Lambda Function Version // (if versioning is enabled via `publish = true`). QualifiedArn interface{} // The amount of reserved concurrent executions for this lambda function. A value of `0` disables lambda from being triggered and `-1` removes any concurrency limitations. Defaults to Unreserved Concurrency Limits `-1`. See [Managing Concurrency][9] ReservedConcurrentExecutions interface{} // IAM role attached to the Lambda Function. This governs both who / what can invoke your Lambda Function, as well as what resources our Lambda Function has access to. See [Lambda Permission Model][4] for more details. Role interface{} // See [Runtimes][6] for valid values. Runtime interface{} // The S3 bucket location containing the function's deployment package. Conflicts with `filename`. This bucket must reside in the same AWS region where you are creating the Lambda function. S3Bucket interface{} // The S3 key of an object containing the function's deployment package. Conflicts with `filename`. S3Key interface{} // The object version containing the function's deployment package. Conflicts with `filename`. S3ObjectVersion interface{} // Used to trigger updates. Must be set to a base64-encoded SHA256 hash of the package file specified with either `filename` or `s3_key`. The usual way to set this is `${base64sha256(file("file.zip"))}`, where "file.zip" is the local filename of the lambda function source archive. SourceCodeHash interface{} // The size in bytes of the function .zip file. SourceCodeSize interface{} // A mapping of tags to assign to the object. Tags interface{} // The amount of time your Lambda Function has to run in seconds. Defaults to `3`. See [Limits][5] Timeout interface{} TracingConfig interface{} // Latest published version of your Lambda Function. Version interface{} // Provide this to allow your function to access your VPC. Fields documented below. See [Lambda in VPC][7] VpcConfig interface{} }
Input properties used for looking up and filtering Function resources.
type GetFunctionArgs ¶
type GetFunctionArgs struct { // Name of the lambda function. FunctionName interface{} // Alias name or version number of the lambda function. e.g. `$LATEST`, `my-alias`, or `1` Qualifier interface{} Tags interface{} }
A collection of arguments for invoking getFunction.
type GetFunctionResult ¶
type GetFunctionResult struct { // Unqualified (no `:QUALIFIER` or `:VERSION` suffix) Amazon Resource Name (ARN) identifying your Lambda Function. See also `qualified_arn`. Arn interface{} // Configure the function's *dead letter queue*. DeadLetterConfig interface{} // Description of what your Lambda Function does. Description interface{} // The Lambda environment's configuration settings. Environment interface{} // The function entrypoint in your code. Handler interface{} // The ARN to be used for invoking Lambda Function from API Gateway. InvokeArn interface{} // The ARN for the KMS encryption key. KmsKeyArn interface{} // The date this resource was last modified. LastModified interface{} // A list of Lambda Layer ARNs attached to your Lambda Function. Layers interface{} // Amount of memory in MB your Lambda Function can use at runtime. MemorySize interface{} // Qualified (`:QUALIFIER` or `:VERSION` suffix) Amazon Resource Name (ARN) identifying your Lambda Function. See also `arn`. QualifiedArn interface{} // The amount of reserved concurrent executions for this lambda function or `-1` if unreserved. ReservedConcurrentExecutions interface{} // IAM role attached to the Lambda Function. Role interface{} // The runtime environment for the Lambda function.. Runtime interface{} // Base64-encoded representation of raw SHA-256 sum of the zip file. SourceCodeHash interface{} // The size in bytes of the function .zip file. SourceCodeSize interface{} Tags interface{} // The function execution time at which Lambda should terminate the function. Timeout interface{} // Tracing settings of the function. TracingConfig interface{} // The version of the Lambda function. Version interface{} // VPC configuration associated with your Lambda function. VpcConfig interface{} // id is the provider-assigned unique ID for this managed resource. Id interface{} }
A collection of values returned by getFunction.
func LookupFunction ¶
func LookupFunction(ctx *pulumi.Context, args *GetFunctionArgs) (*GetFunctionResult, error)
Provides information about a Lambda Function.
type GetInvocationArgs ¶
type GetInvocationArgs struct { // The name of the lambda function. FunctionName interface{} // A string in JSON format that is passed as payload to the lambda function. Input interface{} // The qualifier (a.k.a version) of the lambda function. Defaults // to `$LATEST`. Qualifier interface{} }
A collection of arguments for invoking getInvocation.
type GetInvocationResult ¶
type GetInvocationResult struct { // A result of the lambda function invocation. Result interface{} // This field is set only if result is a map of primitive types. ResultMap interface{} // id is the provider-assigned unique ID for this managed resource. Id interface{} }
A collection of values returned by getInvocation.
func LookupInvocation ¶
func LookupInvocation(ctx *pulumi.Context, args *GetInvocationArgs) (*GetInvocationResult, error)
Use this data source to invoke custom lambda functions as data source. The lambda function is invoked with [RequestResponse](https://docs.aws.amazon.com/lambda/latest/dg/API_Invoke.html#API_Invoke_RequestSyntax) invocation type.
type LayerVersion ¶ added in v0.16.7
type LayerVersion struct {
// contains filtered or unexported fields
}
Provides a Lambda Layer Version resource. Lambda Layers allow you to reuse shared bits of code across multiple lambda functions.
For information about Lambda Layers and how to use them, see [AWS Lambda Layers][1]
## Specifying the Deployment Package
AWS Lambda Layers expect source code to be provided as a deployment package whose structure varies depending on which `compatible_runtimes` this layer specifies. See [Runtimes][2] for the valid values of `compatible_runtimes`.
Once you have created your deployment package you can specify it either directly as a local file (using the `filename` argument) or indirectly via Amazon S3 (using the `s3_bucket`, `s3_key` and `s3_object_version` arguments). When providing the deployment package via S3 it may be useful to use the `aws_s3_bucket_object` resource to upload it.
For larger deployment packages it is recommended by Amazon to upload via S3, since the S3 API has better support for uploading large files efficiently.
func GetLayerVersion ¶ added in v0.16.7
func GetLayerVersion(ctx *pulumi.Context, name string, id pulumi.ID, state *LayerVersionState, opts ...pulumi.ResourceOpt) (*LayerVersion, error)
GetLayerVersion gets an existing LayerVersion resource's state with the given name, ID, and optional state properties that are used to uniquely qualify the lookup (nil if not required).
func NewLayerVersion ¶ added in v0.16.7
func NewLayerVersion(ctx *pulumi.Context, name string, args *LayerVersionArgs, opts ...pulumi.ResourceOpt) (*LayerVersion, error)
NewLayerVersion registers a new resource with the given unique name, arguments, and options.
func (*LayerVersion) Arn ¶ added in v0.16.7
func (r *LayerVersion) Arn() *pulumi.StringOutput
The Amazon Resource Name (ARN) of the Lambda Layer with version.
func (*LayerVersion) CompatibleRuntimes ¶ added in v0.16.7
func (r *LayerVersion) CompatibleRuntimes() *pulumi.ArrayOutput
A list of [Runtimes][2] this layer is compatible with. Up to 5 runtimes can be specified.
func (*LayerVersion) CreatedDate ¶ added in v0.16.7
func (r *LayerVersion) CreatedDate() *pulumi.StringOutput
The date this resource was created.
func (*LayerVersion) Description ¶ added in v0.16.7
func (r *LayerVersion) Description() *pulumi.StringOutput
Description of what your Lambda Layer does.
func (*LayerVersion) Filename ¶ added in v0.16.7
func (r *LayerVersion) Filename() *pulumi.StringOutput
The path to the function's deployment package within the local filesystem. If defined, The `s3_`-prefixed options cannot be used.
func (*LayerVersion) ID ¶ added in v0.16.7
func (r *LayerVersion) ID() *pulumi.IDOutput
ID is this resource's unique identifier assigned by its provider.
func (*LayerVersion) LayerArn ¶ added in v0.16.7
func (r *LayerVersion) LayerArn() *pulumi.StringOutput
The Amazon Resource Name (ARN) of the Lambda Layer without version.
func (*LayerVersion) LayerName ¶ added in v0.16.7
func (r *LayerVersion) LayerName() *pulumi.StringOutput
A unique name for your Lambda Layer
func (*LayerVersion) LicenseInfo ¶ added in v0.16.7
func (r *LayerVersion) LicenseInfo() *pulumi.StringOutput
License info for your Lambda Layer. See [License Info][3].
func (*LayerVersion) S3Bucket ¶ added in v0.16.7
func (r *LayerVersion) S3Bucket() *pulumi.StringOutput
The S3 bucket location containing the function's deployment package. Conflicts with `filename`. This bucket must reside in the same AWS region where you are creating the Lambda function.
func (*LayerVersion) S3Key ¶ added in v0.16.7
func (r *LayerVersion) S3Key() *pulumi.StringOutput
The S3 key of an object containing the function's deployment package. Conflicts with `filename`.
func (*LayerVersion) S3ObjectVersion ¶ added in v0.16.7
func (r *LayerVersion) S3ObjectVersion() *pulumi.StringOutput
The object version containing the function's deployment package. Conflicts with `filename`.
func (*LayerVersion) SourceCodeHash ¶ added in v0.16.7
func (r *LayerVersion) SourceCodeHash() *pulumi.StringOutput
Used to trigger updates. Must be set to a base64-encoded SHA256 hash of the package file specified with either `filename` or `s3_key`. The usual way to set this is `${filebase64sha256("file.zip")}` (Terraform 0.11.12 or later) or `${base64sha256(file("file.zip"))}` (Terraform 0.11.11 and earlier), where "file.zip" is the local filename of the lambda layer source archive.
func (*LayerVersion) SourceCodeSize ¶ added in v0.16.7
func (r *LayerVersion) SourceCodeSize() *pulumi.IntOutput
The size in bytes of the function .zip file.
func (*LayerVersion) URN ¶ added in v0.16.7
func (r *LayerVersion) URN() *pulumi.URNOutput
URN is this resource's unique name assigned by Pulumi.
func (*LayerVersion) Version ¶ added in v0.16.7
func (r *LayerVersion) Version() *pulumi.StringOutput
This Lamba Layer version.
type LayerVersionArgs ¶ added in v0.16.7
type LayerVersionArgs struct { // A list of [Runtimes][2] this layer is compatible with. Up to 5 runtimes can be specified. CompatibleRuntimes interface{} // Description of what your Lambda Layer does. Description interface{} // The path to the function's deployment package within the local filesystem. If defined, The `s3_`-prefixed options cannot be used. Filename interface{} // A unique name for your Lambda Layer LayerName interface{} // License info for your Lambda Layer. See [License Info][3]. LicenseInfo interface{} // The S3 bucket location containing the function's deployment package. Conflicts with `filename`. This bucket must reside in the same AWS region where you are creating the Lambda function. S3Bucket interface{} // The S3 key of an object containing the function's deployment package. Conflicts with `filename`. S3Key interface{} // The object version containing the function's deployment package. Conflicts with `filename`. S3ObjectVersion interface{} // Used to trigger updates. Must be set to a base64-encoded SHA256 hash of the package file specified with either `filename` or `s3_key`. The usual way to set this is `${filebase64sha256("file.zip")}` (Terraform 0.11.12 or later) or `${base64sha256(file("file.zip"))}` (Terraform 0.11.11 and earlier), where "file.zip" is the local filename of the lambda layer source archive. SourceCodeHash interface{} }
The set of arguments for constructing a LayerVersion resource.
type LayerVersionState ¶ added in v0.16.7
type LayerVersionState struct { // The Amazon Resource Name (ARN) of the Lambda Layer with version. Arn interface{} // A list of [Runtimes][2] this layer is compatible with. Up to 5 runtimes can be specified. CompatibleRuntimes interface{} // The date this resource was created. CreatedDate interface{} // Description of what your Lambda Layer does. Description interface{} // The path to the function's deployment package within the local filesystem. If defined, The `s3_`-prefixed options cannot be used. Filename interface{} // The Amazon Resource Name (ARN) of the Lambda Layer without version. LayerArn interface{} // A unique name for your Lambda Layer LayerName interface{} // License info for your Lambda Layer. See [License Info][3]. LicenseInfo interface{} // The S3 bucket location containing the function's deployment package. Conflicts with `filename`. This bucket must reside in the same AWS region where you are creating the Lambda function. S3Bucket interface{} // The S3 key of an object containing the function's deployment package. Conflicts with `filename`. S3Key interface{} // The object version containing the function's deployment package. Conflicts with `filename`. S3ObjectVersion interface{} // Used to trigger updates. Must be set to a base64-encoded SHA256 hash of the package file specified with either `filename` or `s3_key`. The usual way to set this is `${filebase64sha256("file.zip")}` (Terraform 0.11.12 or later) or `${base64sha256(file("file.zip"))}` (Terraform 0.11.11 and earlier), where "file.zip" is the local filename of the lambda layer source archive. SourceCodeHash interface{} // The size in bytes of the function .zip file. SourceCodeSize interface{} // This Lamba Layer version. Version interface{} }
Input properties used for looking up and filtering LayerVersion resources.
type Permission ¶
type Permission struct {
// contains filtered or unexported fields
}
Creates a Lambda permission to allow external sources invoking the Lambda function (e.g. CloudWatch Event Rule, SNS or S3).
func GetPermission ¶
func GetPermission(ctx *pulumi.Context, name string, id pulumi.ID, state *PermissionState, opts ...pulumi.ResourceOpt) (*Permission, error)
GetPermission gets an existing Permission resource's state with the given name, ID, and optional state properties that are used to uniquely qualify the lookup (nil if not required).
func NewPermission ¶
func NewPermission(ctx *pulumi.Context, name string, args *PermissionArgs, opts ...pulumi.ResourceOpt) (*Permission, error)
NewPermission registers a new resource with the given unique name, arguments, and options.
func (*Permission) Action ¶
func (r *Permission) Action() *pulumi.StringOutput
The AWS Lambda action you want to allow in this statement. (e.g. `lambda:InvokeFunction`)
func (*Permission) EventSourceToken ¶ added in v0.15.1
func (r *Permission) EventSourceToken() *pulumi.StringOutput
The Event Source Token to validate. Used with [Alexa Skills][1].
func (*Permission) Function ¶
func (r *Permission) Function() *pulumi.StringOutput
Name of the Lambda function whose resource policy you are updating
func (*Permission) ID ¶
func (r *Permission) ID() *pulumi.IDOutput
ID is this resource's unique identifier assigned by its provider.
func (*Permission) Principal ¶
func (r *Permission) Principal() *pulumi.StringOutput
The principal who is getting this permission. e.g. `s3.amazonaws.com`, an AWS account ID, or any valid AWS service principal such as `events.amazonaws.com` or `sns.amazonaws.com`.
func (*Permission) Qualifier ¶
func (r *Permission) Qualifier() *pulumi.StringOutput
Query parameter to specify function version or alias name. The permission will then apply to the specific qualified ARN. e.g. `arn:aws:lambda:aws-region:acct-id:function:function-name:2`
func (*Permission) SourceAccount ¶
func (r *Permission) SourceAccount() *pulumi.StringOutput
This parameter is used for S3 and SES. The AWS account ID (without a hyphen) of the source owner.
func (*Permission) SourceArn ¶
func (r *Permission) SourceArn() *pulumi.StringOutput
When granting Amazon S3 or CloudWatch Events permission to invoke your function, you should specify this field with the Amazon Resource Name (ARN) for the S3 Bucket or CloudWatch Events Rule as its value. This ensures that only events generated from the specified bucket or rule can invoke the function. API Gateway ARNs have a unique structure described [here](http://docs.aws.amazon.com/apigateway/latest/developerguide/api-gateway-control-access-using-iam-policies-to-invoke-api.html).
func (*Permission) StatementId ¶
func (r *Permission) StatementId() *pulumi.StringOutput
A unique statement identifier. By default generated by Terraform.
func (*Permission) StatementIdPrefix ¶
func (r *Permission) StatementIdPrefix() *pulumi.StringOutput
A statement identifier prefix. Terraform will generate a unique suffix. Conflicts with `statement_id`.
func (*Permission) URN ¶
func (r *Permission) URN() *pulumi.URNOutput
URN is this resource's unique name assigned by Pulumi.
type PermissionArgs ¶
type PermissionArgs struct { // The AWS Lambda action you want to allow in this statement. (e.g. `lambda:InvokeFunction`) Action interface{} // The Event Source Token to validate. Used with [Alexa Skills][1]. EventSourceToken interface{} // Name of the Lambda function whose resource policy you are updating Function interface{} // The principal who is getting this permission. // e.g. `s3.amazonaws.com`, an AWS account ID, or any valid AWS service principal // such as `events.amazonaws.com` or `sns.amazonaws.com`. Principal interface{} // Query parameter to specify function version or alias name. // The permission will then apply to the specific qualified ARN. // e.g. `arn:aws:lambda:aws-region:acct-id:function:function-name:2` Qualifier interface{} // This parameter is used for S3 and SES. The AWS account ID (without a hyphen) of the source owner. SourceAccount interface{} // When granting Amazon S3 or CloudWatch Events permission to // invoke your function, you should specify this field with the Amazon Resource Name (ARN) // for the S3 Bucket or CloudWatch Events Rule as its value. This ensures that only events // generated from the specified bucket or rule can invoke the function. // API Gateway ARNs have a unique structure described // [here](http://docs.aws.amazon.com/apigateway/latest/developerguide/api-gateway-control-access-using-iam-policies-to-invoke-api.html). SourceArn interface{} // A unique statement identifier. By default generated by Terraform. StatementId interface{} // A statement identifier prefix. Terraform will generate a unique suffix. Conflicts with `statement_id`. StatementIdPrefix interface{} }
The set of arguments for constructing a Permission resource.
type PermissionState ¶
type PermissionState struct { // The AWS Lambda action you want to allow in this statement. (e.g. `lambda:InvokeFunction`) Action interface{} // The Event Source Token to validate. Used with [Alexa Skills][1]. EventSourceToken interface{} // Name of the Lambda function whose resource policy you are updating Function interface{} // The principal who is getting this permission. // e.g. `s3.amazonaws.com`, an AWS account ID, or any valid AWS service principal // such as `events.amazonaws.com` or `sns.amazonaws.com`. Principal interface{} // Query parameter to specify function version or alias name. // The permission will then apply to the specific qualified ARN. // e.g. `arn:aws:lambda:aws-region:acct-id:function:function-name:2` Qualifier interface{} // This parameter is used for S3 and SES. The AWS account ID (without a hyphen) of the source owner. SourceAccount interface{} // When granting Amazon S3 or CloudWatch Events permission to // invoke your function, you should specify this field with the Amazon Resource Name (ARN) // for the S3 Bucket or CloudWatch Events Rule as its value. This ensures that only events // generated from the specified bucket or rule can invoke the function. // API Gateway ARNs have a unique structure described // [here](http://docs.aws.amazon.com/apigateway/latest/developerguide/api-gateway-control-access-using-iam-policies-to-invoke-api.html). SourceArn interface{} // A unique statement identifier. By default generated by Terraform. StatementId interface{} // A statement identifier prefix. Terraform will generate a unique suffix. Conflicts with `statement_id`. StatementIdPrefix interface{} }
Input properties used for looking up and filtering Permission resources.