lambda

package
v0.18.1 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Apr 5, 2019 License: Apache-2.0 Imports: 2 Imported by: 0

Documentation

Index

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) ID

func (r *Alias) ID() *pulumi.IDOutput

ID is this resource's unique identifier assigned by its provider.

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

func (r *Alias) RoutingConfig() *pulumi.Output

The Lambda alias' route configuration settings. Fields documented below

func (*Alias) URN

func (r *Alias) URN() *pulumi.URNOutput

URN is this resource's unique name assigned by Pulumi.

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

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

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

URN is this resource's unique name assigned by Pulumi.

func (*EventSourceMapping) Uuid

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

func (r *Function) DeadLetterConfig() *pulumi.Output

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

func (r *Function) Environment() *pulumi.Output

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) ID

func (r *Function) ID() *pulumi.IDOutput

ID is this resource's unique identifier assigned by its provider.

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

func (r *Function) MemorySize() *pulumi.IntOutput

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

func (r *Function) ReservedConcurrentExecutions() *pulumi.IntOutput

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

func (r *Function) SourceCodeSize() *pulumi.IntOutput

The size in bytes of the function .zip file.

func (*Function) Tags

func (r *Function) Tags() *pulumi.MapOutput

A mapping of tags to assign to the object.

func (*Function) Timeout

func (r *Function) Timeout() *pulumi.IntOutput

The amount of time your Lambda Function has to run in seconds. Defaults to `3`. See [Limits][5]

func (*Function) TracingConfig

func (r *Function) TracingConfig() *pulumi.Output

func (*Function) URN

func (r *Function) URN() *pulumi.URNOutput

URN is this resource's unique name assigned by Pulumi.

func (*Function) Version

func (r *Function) Version() *pulumi.StringOutput

Latest published version of your Lambda Function.

func (*Function) VpcConfig

func (r *Function) VpcConfig() *pulumi.Output

Provide this to allow your function to access your VPC. Fields documented below. See [Lambda in VPC][7]

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.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL