import * as core from "@terrascript/core"; export interface VpcConfigArgs extends core.SchemaArgs { securityGroupIds: core.Array | core.ArrayOut; subnetIds: core.Array | core.ArrayOut; vpcId: string | core.StringOut; } export class VpcConfig extends core.Schema { @core.attr(String, { computed: true, kind: "array" }) public securityGroupIds!: core.Array | core.ArrayOut; @core.attr(String, { computed: true, kind: "array" }) public subnetIds!: core.Array | core.ArrayOut; @core.attr(String, { computed: true }) public vpcId!: string | core.StringOut; } export interface FileSystemConfigArgs extends core.SchemaArgs { arn: string | core.StringOut; localMountPath: string | core.StringOut; } export class FileSystemConfig extends core.Schema { @core.attr(String, { computed: true }) public arn!: string | core.StringOut; @core.attr(String, { computed: true }) public localMountPath!: string | core.StringOut; } export interface EnvironmentArgs extends core.SchemaArgs { variables: core.Map | core.MapOut; } export class Environment extends core.Schema { @core.attr(String, { computed: true, kind: "map" }) public variables!: core.Map | core.MapOut; } export interface DeadLetterConfigArgs extends core.SchemaArgs { targetArn: string | core.StringOut; } export class DeadLetterConfig extends core.Schema { @core.attr(String, { computed: true }) public targetArn!: string | core.StringOut; } export interface TracingConfigArgs extends core.SchemaArgs { mode: string | core.StringOut; } export class TracingConfig extends core.Schema { @core.attr(String, { computed: true }) public mode!: string | core.StringOut; } export interface EphemeralStorageArgs extends core.SchemaArgs { size: number | core.NumberOut; } export class EphemeralStorage extends core.Schema { @core.attr(Number, { computed: true }) public size!: number | core.NumberOut; } export interface DsFunctionArgs { /** * (Required) Name of the lambda function. */ functionName: string | core.StringOut; /** * (Optional) Alias name or version number of the lambda functionE.g., `$LATEST`, `my-alias`, or `1` */ qualifier?: string | core.StringOut; tags?: core.Map | core.MapOut; } export class DsFunction extends core.Data { /** * The instruction set architecture for the Lambda function. */ @core.attr(String, { computed: true, kind: "array" }) public architectures!: core.Array | core.ArrayOut; /** * Unqualified (no `:QUALIFIER` or `:VERSION` suffix) Amazon Resource Name (ARN) identifying your Lambd * a Function. See also `qualified_arn`. */ @core.attr(String, { computed: true }) public arn!: string | core.StringOut; /** * Amazon Resource Name (ARN) for a Code Signing Configuration. */ @core.attr(String, { computed: true }) public codeSigningConfigArn!: string | core.StringOut; /** * Configure the function's *dead letter queue*. */ @core.attr(DeadLetterConfig, { computed: true, kind: "array" }) public deadLetterConfig!: | core.Array | core.ArrayOut; /** * Description of what your Lambda Function does. */ @core.attr(String, { computed: true }) public description!: string | core.StringOut; /** * The Lambda environment's configuration settings. */ @core.attr(Environment, { computed: true, kind: "array" }) public environment!: core.Array | core.ArrayOut; /** * The amount of Ephemeral storage(`/tmp`) allocated for the Lambda Function. */ @core.attr(EphemeralStorage, { computed: true, kind: "array" }) public ephemeralStorage!: | core.Array | core.ArrayOut; /** * The connection settings for an Amazon EFS file system. */ @core.attr(FileSystemConfig, { computed: true, kind: "array" }) public fileSystemConfig!: | core.Array | core.ArrayOut; /** * (Required) Name of the lambda function. */ @core.attr(String) public functionName!: string | core.StringOut; /** * The function entrypoint in your code. */ @core.attr(String, { computed: true }) public handler!: string | core.StringOut; @core.attr(String, { computed: true }) public id!: string | core.StringOut; /** * The URI of the container image. */ @core.attr(String, { computed: true }) public imageUri!: string | core.StringOut; /** * The ARN to be used for invoking Lambda Function from API Gateway. */ @core.attr(String, { computed: true }) public invokeArn!: string | core.StringOut; /** * The ARN for the KMS encryption key. */ @core.attr(String, { computed: true }) public kmsKeyArn!: string | core.StringOut; /** * The date this resource was last modified. */ @core.attr(String, { computed: true }) public lastModified!: string | core.StringOut; /** * A list of Lambda Layer ARNs attached to your Lambda Function. */ @core.attr(String, { computed: true, kind: "array" }) public layers!: core.Array | core.ArrayOut; /** * Amount of memory in MB your Lambda Function can use at runtime. */ @core.attr(Number, { computed: true }) public memorySize!: number | core.NumberOut; /** * Qualified (`:QUALIFIER` or `:VERSION` suffix) Amazon Resource Name (ARN) identifying your Lambda Fun * ction. See also `arn`. */ @core.attr(String, { computed: true }) public qualifiedArn!: string | core.StringOut; /** * (Optional) Alias name or version number of the lambda functionE.g., `$LATEST`, `my-alias`, or `1` */ @core.attr(String) public qualifier?: string | core.StringOut; /** * The amount of reserved concurrent executions for this lambda function or `-1` if unreserved. */ @core.attr(Number, { computed: true }) public reservedConcurrentExecutions!: number | core.NumberOut; /** * IAM role attached to the Lambda Function. */ @core.attr(String, { computed: true }) public role!: string | core.StringOut; /** * The runtime environment for the Lambda function. */ @core.attr(String, { computed: true }) public runtime!: string | core.StringOut; /** * The Amazon Resource Name (ARN) of a signing job. */ @core.attr(String, { computed: true }) public signingJobArn!: string | core.StringOut; /** * The Amazon Resource Name (ARN) for a signing profile version. */ @core.attr(String, { computed: true }) public signingProfileVersionArn!: string | core.StringOut; /** * Base64-encoded representation of raw SHA-256 sum of the zip file. */ @core.attr(String, { computed: true }) public sourceCodeHash!: string | core.StringOut; /** * The size in bytes of the function .zip file. */ @core.attr(Number, { computed: true }) public sourceCodeSize!: number | core.NumberOut; @core.attr(String, { computed: true, kind: "map" }) public tags?: core.Map | core.MapOut; /** * The function execution time at which Lambda should terminate the function. */ @core.attr(Number, { computed: true }) public timeout!: number | core.NumberOut; /** * Tracing settings of the function. */ @core.attr(TracingConfig, { computed: true, kind: "array" }) public tracingConfig!: | core.Array | core.ArrayOut; /** * The version of the Lambda function. */ @core.attr(String, { computed: true }) public version!: string | core.StringOut; /** * VPC configuration associated with your Lambda function. */ @core.attr(VpcConfig, { computed: true, kind: "array" }) public vpcConfig!: core.Array | core.ArrayOut; constructor(name: string, args?: DsFunctionArgs) { super(name, "aws_lambda_function", args); } public override getNamespace(): string { return "aws_lambda"; } }