import * as core from "@terrascript/core"; export interface ImageConfigArgs extends core.SchemaArgs { command?: core.Array | core.ArrayOut; entryPoint?: core.Array | core.ArrayOut; workingDirectory?: string | core.StringOut; } export declare class ImageConfig extends core.Schema { command?: core.Array | core.ArrayOut; entryPoint?: core.Array | core.ArrayOut; workingDirectory?: string | core.StringOut; } export interface TracingConfigArgs extends core.SchemaArgs { mode: string | core.StringOut; } export declare class TracingConfig extends core.Schema { mode: string | core.StringOut; } export interface FileSystemConfigArgs extends core.SchemaArgs { arn: string | core.StringOut; localMountPath: string | core.StringOut; } export declare class FileSystemConfig extends core.Schema { arn: string | core.StringOut; localMountPath: string | core.StringOut; } export interface EnvironmentArgs extends core.SchemaArgs { variables?: core.Map | core.MapOut; } export declare class Environment extends core.Schema { variables?: core.Map | core.MapOut; } export interface EphemeralStorageArgs extends core.SchemaArgs { size?: number | core.NumberOut; } export declare class EphemeralStorage extends core.Schema { size?: number | core.NumberOut; } export interface VpcConfigArgs extends core.SchemaArgs { securityGroupIds: core.Array | core.ArrayOut; subnetIds: core.Array | core.ArrayOut; vpcId: string | core.StringOut; } export declare class VpcConfig extends core.Schema { securityGroupIds: core.Array | core.ArrayOut; subnetIds: core.Array | core.ArrayOut; vpcId: string | core.StringOut; } export interface DeadLetterConfigArgs extends core.SchemaArgs { targetArn: string | core.StringOut; } export declare class DeadLetterConfig extends core.Schema { targetArn: string | core.StringOut; } export interface FunctionArgs extends core.ResourceArgs { /** * (Optional) Instruction set architecture for your Lambda function. Valid values are `["x86_64"]` and * ["arm64"]`. Default is `["x86_64"]`. Removing this attribute, function's architecture stay the same * . */ architectures?: core.Array | core.ArrayOut; /** * (Optional) To enable code signing for this function, specify the ARN of a code-signing configuration * . A code-signing configuration includes a set of signing profiles, which define the trusted publishe * rs for this function. */ codeSigningConfigArn?: string | core.StringOut; /** * (Optional) Configuration block. Detailed below. */ deadLetterConfig?: DeadLetterConfig; /** * (Optional) Description of what your Lambda Function does. */ description?: string | core.StringOut; /** * (Optional) Configuration block. Detailed below. */ environment?: Environment; /** * (Optional) The amount of Ephemeral storage(`/tmp`) to allocate for the Lambda Function in MB. This p * arameter is used to expand the total amount of Ephemeral storage available, beyond the default amoun * t of `512`MB. Detailed below. */ ephemeralStorage?: EphemeralStorage; /** * (Optional) Configuration block. Detailed below. */ fileSystemConfig?: FileSystemConfig; /** * (Optional) Path to the function's deployment package within the local filesystem. Conflicts with `im * age_uri`, `s3_bucket`, `s3_key`, and `s3_object_version`. */ filename?: string | core.StringOut; /** * (Required) Unique name for your Lambda Function. */ functionName: string | core.StringOut; /** * (Optional) Function [entrypoint][3] in your code. */ handler?: string | core.StringOut; /** * (Optional) Configuration block. Detailed below. */ imageConfig?: ImageConfig; /** * (Optional) ECR image URI containing the function's deployment package. Conflicts with `filename`, `s * 3_bucket`, `s3_key`, and `s3_object_version`. */ imageUri?: string | core.StringOut; /** * (Optional) Amazon Resource Name (ARN) of the AWS Key Management Service (KMS) key that is used to en * crypt environment variables. If this configuration is not provided when environment variables are in * use, AWS Lambda uses a default service key. If this configuration is provided when environment vari * ables are not in use, the AWS Lambda API does not save this configuration and Terraform will show a * perpetual difference of adding the key. To fix the perpetual difference, remove this configuration. */ kmsKeyArn?: string | core.StringOut; /** * (Optional) List of Lambda Layer Version ARNs (maximum of 5) to attach to your Lambda Function. See [ * Lambda Layers][10] */ layers?: core.Array | core.ArrayOut; /** * (Optional) Amount of memory in MB your Lambda Function can use at runtime. Defaults to `128`. See [L * imits][5] */ memorySize?: number | core.NumberOut; /** * (Optional) Lambda deployment package type. Valid values are `Zip` and `Image`. Defaults to `Zip`. */ packageType?: string | core.StringOut; /** * (Optional) Whether to publish creation/change as new Lambda Function Version. Defaults to `false`. */ publish?: boolean | core.BooleanOut; /** * (Optional) Amount of reserved concurrent executions for this lambda function. A value of `0` disable * s lambda from being triggered and `-1` removes any concurrency limitations. Defaults to Unreserved C * oncurrency Limits `-1`. See [Managing Concurrency][9] */ reservedConcurrentExecutions?: number | core.NumberOut; /** * (Required) Amazon Resource Name (ARN) of the function's execution role. The role provides the functi * on's identity and access to AWS services and resources. */ role: string | core.StringOut; /** * (Optional) Identifier of the function's runtime. See [Runtimes][6] for valid values. */ runtime?: string | core.StringOut; /** * (Optional) S3 bucket location containing the function's deployment package. Conflicts with `filename * and `image_uri`. This bucket must reside in the same AWS region where you are creating the Lambda * function. */ s3Bucket?: string | core.StringOut; /** * (Optional) S3 key of an object containing the function's deployment package. Conflicts with `filenam * e` and `image_uri`. */ s3Key?: string | core.StringOut; /** * (Optional) Object version containing the function's deployment package. Conflicts with `filename` an * d `image_uri`. */ s3ObjectVersion?: string | core.StringOut; /** * (Optional) 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.z * ip")` (Terraform 0.11.12 and later) or `base64sha256(file("file.zip"))` (Terraform 0.11.11 and earli * er), where "file.zip" is the local filename of the lambda function source archive. */ sourceCodeHash?: string | core.StringOut; /** * (Optional) Map of tags to assign to the object. If configured with a provider [`default_tags` config * uration block](https://registry.terraform.io/providers/hashicorp/aws/latest/docs#default_tags-config * uration-block) present, tags with matching keys will overwrite those defined at the provider-level. */ tags?: core.Map | core.MapOut; /** * A map of tags assigned to the resource, including those inherited from the provider [`default_tags` * configuration block](https://registry.terraform.io/providers/hashicorp/aws/latest/docs#default_tags- * configuration-block). */ tagsAll?: core.Map | core.MapOut; /** * (Optional) Amount of time your Lambda Function has to run in seconds. Defaults to `3`. See [Limits][ * 5]. */ timeout?: number | core.NumberOut; /** * (Optional) Configuration block. Detailed below. */ tracingConfig?: TracingConfig; /** * (Optional) Configuration block. Detailed below. */ vpcConfig?: VpcConfig; } export declare class Function extends core.Resource { /** * (Optional) Instruction set architecture for your Lambda function. Valid values are `["x86_64"]` and * ["arm64"]`. Default is `["x86_64"]`. Removing this attribute, function's architecture stay the same * . */ architectures?: core.Array | core.ArrayOut; /** * (Required) Amazon Resource Name (ARN) of the Amazon EFS Access Point that provides access to the fil * e system. */ arn: string | core.StringOut; /** * (Optional) To enable code signing for this function, specify the ARN of a code-signing configuration * . A code-signing configuration includes a set of signing profiles, which define the trusted publishe * rs for this function. */ codeSigningConfigArn?: string | core.StringOut; /** * (Optional) Configuration block. Detailed below. */ deadLetterConfig?: DeadLetterConfig; /** * (Optional) Description of what your Lambda Function does. */ description?: string | core.StringOut; /** * (Optional) Configuration block. Detailed below. */ environment?: Environment; /** * (Optional) The amount of Ephemeral storage(`/tmp`) to allocate for the Lambda Function in MB. This p * arameter is used to expand the total amount of Ephemeral storage available, beyond the default amoun * t of `512`MB. Detailed below. */ ephemeralStorage?: EphemeralStorage; /** * (Optional) Configuration block. Detailed below. */ fileSystemConfig?: FileSystemConfig; /** * (Optional) Path to the function's deployment package within the local filesystem. Conflicts with `im * age_uri`, `s3_bucket`, `s3_key`, and `s3_object_version`. */ filename?: string | core.StringOut; /** * (Required) Unique name for your Lambda Function. */ functionName: string | core.StringOut; /** * (Optional) Function [entrypoint][3] in your code. */ handler?: string | core.StringOut; id: string | core.StringOut; /** * (Optional) Configuration block. Detailed below. */ imageConfig?: ImageConfig; /** * (Optional) ECR image URI containing the function's deployment package. Conflicts with `filename`, `s * 3_bucket`, `s3_key`, and `s3_object_version`. */ imageUri?: string | core.StringOut; /** * ARN to be used for invoking Lambda Function from API Gateway - to be used in [`aws_api_gateway_integ * ration`](/docs/providers/aws/r/api_gateway_integration.html)'s `uri`. */ invokeArn: string | core.StringOut; /** * (Optional) Amazon Resource Name (ARN) of the AWS Key Management Service (KMS) key that is used to en * crypt environment variables. If this configuration is not provided when environment variables are in * use, AWS Lambda uses a default service key. If this configuration is provided when environment vari * ables are not in use, the AWS Lambda API does not save this configuration and Terraform will show a * perpetual difference of adding the key. To fix the perpetual difference, remove this configuration. */ kmsKeyArn?: string | core.StringOut; /** * Date this resource was last modified. */ lastModified: string | core.StringOut; /** * (Optional) List of Lambda Layer Version ARNs (maximum of 5) to attach to your Lambda Function. See [ * Lambda Layers][10] */ layers?: core.Array | core.ArrayOut; /** * (Optional) Amount of memory in MB your Lambda Function can use at runtime. Defaults to `128`. See [L * imits][5] */ memorySize?: number | core.NumberOut; /** * (Optional) Lambda deployment package type. Valid values are `Zip` and `Image`. Defaults to `Zip`. */ packageType?: string | core.StringOut; /** * (Optional) Whether to publish creation/change as new Lambda Function Version. Defaults to `false`. */ publish?: boolean | core.BooleanOut; /** * ARN identifying your Lambda Function Version (if versioning is enabled via `publish = true`). */ qualifiedArn: string | core.StringOut; /** * (Optional) Amount of reserved concurrent executions for this lambda function. A value of `0` disable * s lambda from being triggered and `-1` removes any concurrency limitations. Defaults to Unreserved C * oncurrency Limits `-1`. See [Managing Concurrency][9] */ reservedConcurrentExecutions?: number | core.NumberOut; /** * (Required) Amazon Resource Name (ARN) of the function's execution role. The role provides the functi * on's identity and access to AWS services and resources. */ role: string | core.StringOut; /** * (Optional) Identifier of the function's runtime. See [Runtimes][6] for valid values. */ runtime?: string | core.StringOut; /** * (Optional) S3 bucket location containing the function's deployment package. Conflicts with `filename * and `image_uri`. This bucket must reside in the same AWS region where you are creating the Lambda * function. */ s3Bucket?: string | core.StringOut; /** * (Optional) S3 key of an object containing the function's deployment package. Conflicts with `filenam * e` and `image_uri`. */ s3Key?: string | core.StringOut; /** * (Optional) Object version containing the function's deployment package. Conflicts with `filename` an * d `image_uri`. */ s3ObjectVersion?: string | core.StringOut; /** * ARN of the signing job. */ signingJobArn: string | core.StringOut; /** * ARN of the signing profile version. */ signingProfileVersionArn: string | core.StringOut; /** * (Optional) 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.z * ip")` (Terraform 0.11.12 and later) or `base64sha256(file("file.zip"))` (Terraform 0.11.11 and earli * er), where "file.zip" is the local filename of the lambda function source archive. */ sourceCodeHash?: string | core.StringOut; /** * Size in bytes of the function .zip file. */ sourceCodeSize: number | core.NumberOut; /** * (Optional) Map of tags to assign to the object. If configured with a provider [`default_tags` config * uration block](https://registry.terraform.io/providers/hashicorp/aws/latest/docs#default_tags-config * uration-block) present, tags with matching keys will overwrite those defined at the provider-level. */ tags?: core.Map | core.MapOut; /** * A map of tags assigned to the resource, including those inherited from the provider [`default_tags` * configuration block](https://registry.terraform.io/providers/hashicorp/aws/latest/docs#default_tags- * configuration-block). */ tagsAll?: core.Map | core.MapOut; /** * (Optional) Amount of time your Lambda Function has to run in seconds. Defaults to `3`. See [Limits][ * 5]. */ timeout?: number | core.NumberOut; /** * (Optional) Configuration block. Detailed below. */ tracingConfig?: TracingConfig; /** * Latest published version of your Lambda Function. */ version: string | core.StringOut; /** * (Optional) Configuration block. Detailed below. */ vpcConfig?: VpcConfig; constructor(name: string, args?: FunctionArgs); getNamespace(): string; } //# sourceMappingURL=function.d.ts.map