Many resources are needed to download a project. Please understand that we have to compensate our server costs. Thank you in advance. Project price only 1 $
You can buy this project and download/modify it how often you want.
@file:Suppress("NAME_SHADOWING", "DEPRECATION")
package com.pulumi.awsnative.lambda.kotlin
import com.pulumi.awsnative.kotlin.inputs.TagArgs
import com.pulumi.awsnative.kotlin.inputs.TagArgsBuilder
import com.pulumi.awsnative.lambda.FunctionArgs.builder
import com.pulumi.awsnative.lambda.kotlin.enums.FunctionArchitecturesItem
import com.pulumi.awsnative.lambda.kotlin.enums.FunctionPackageType
import com.pulumi.awsnative.lambda.kotlin.inputs.FunctionCodeArgs
import com.pulumi.awsnative.lambda.kotlin.inputs.FunctionCodeArgsBuilder
import com.pulumi.awsnative.lambda.kotlin.inputs.FunctionDeadLetterConfigArgs
import com.pulumi.awsnative.lambda.kotlin.inputs.FunctionDeadLetterConfigArgsBuilder
import com.pulumi.awsnative.lambda.kotlin.inputs.FunctionEnvironmentArgs
import com.pulumi.awsnative.lambda.kotlin.inputs.FunctionEnvironmentArgsBuilder
import com.pulumi.awsnative.lambda.kotlin.inputs.FunctionEphemeralStorageArgs
import com.pulumi.awsnative.lambda.kotlin.inputs.FunctionEphemeralStorageArgsBuilder
import com.pulumi.awsnative.lambda.kotlin.inputs.FunctionFileSystemConfigArgs
import com.pulumi.awsnative.lambda.kotlin.inputs.FunctionFileSystemConfigArgsBuilder
import com.pulumi.awsnative.lambda.kotlin.inputs.FunctionImageConfigArgs
import com.pulumi.awsnative.lambda.kotlin.inputs.FunctionImageConfigArgsBuilder
import com.pulumi.awsnative.lambda.kotlin.inputs.FunctionLoggingConfigArgs
import com.pulumi.awsnative.lambda.kotlin.inputs.FunctionLoggingConfigArgsBuilder
import com.pulumi.awsnative.lambda.kotlin.inputs.FunctionRuntimeManagementConfigArgs
import com.pulumi.awsnative.lambda.kotlin.inputs.FunctionRuntimeManagementConfigArgsBuilder
import com.pulumi.awsnative.lambda.kotlin.inputs.FunctionSnapStartArgs
import com.pulumi.awsnative.lambda.kotlin.inputs.FunctionSnapStartArgsBuilder
import com.pulumi.awsnative.lambda.kotlin.inputs.FunctionTracingConfigArgs
import com.pulumi.awsnative.lambda.kotlin.inputs.FunctionTracingConfigArgsBuilder
import com.pulumi.awsnative.lambda.kotlin.inputs.FunctionVpcConfigArgs
import com.pulumi.awsnative.lambda.kotlin.inputs.FunctionVpcConfigArgsBuilder
import com.pulumi.core.Output
import com.pulumi.core.Output.of
import com.pulumi.kotlin.ConvertibleToJava
import com.pulumi.kotlin.PulumiTagMarker
import com.pulumi.kotlin.applySuspend
import kotlin.Int
import kotlin.String
import kotlin.Suppress
import kotlin.Unit
import kotlin.collections.List
import kotlin.jvm.JvmName
/**
* The ``AWS::Lambda::Function`` resource creates a Lambda function. To create a function, you need a [deployment package](https://docs.aws.amazon.com/lambda/latest/dg/gettingstarted-package.html) and an [execution role](https://docs.aws.amazon.com/lambda/latest/dg/lambda-intro-execution-role.html). The deployment package is a .zip file archive or container image that contains your function code. The execution role grants the function permission to use AWS services, such as Amazon CloudWatch Logs for log streaming and AWS X-Ray for request tracing.
* You set the package type to ``Image`` if the deployment package is a [container image](https://docs.aws.amazon.com/lambda/latest/dg/lambda-images.html). For a container image, the code property must include the URI of a container image in the Amazon ECR registry. You do not need to specify the handler and runtime properties.
* You set the package type to ``Zip`` if the deployment package is a [.zip file archive](https://docs.aws.amazon.com/lambda/latest/dg/gettingstarted-package.html#gettingstarted-package-zip). For a .zip file archive, the code property specifies the location of the .zip file. You must also specify the handler and runtime properties. For a Python example, see [Deploy Python Lambda functions with .zip file archives](https://docs.aws.amazon.com/lambda/latest/dg/python-package.html).
* You can use [code signing](https://docs.aws.amazon.com/lambda/latest/dg/configuration-codesigning.html) if your deployment package is a .zip file archive. To enable code signing for this function, specify the ARN of a code-signing configuration. When a user attempts to deploy a code package with ``UpdateFunctionCode``, Lambda checks that the code package has a valid signature from a trusted publisher. The code-signing configuration includes a set of signing profiles, which define the trusted publishers for this function.
* Note that you configure [provisioned concurrency](https://docs.aws.amazon.com/lambda/latest/dg/provisioned-concurrency.html) on a ``AWS::Lambda::Version`` or a ``AWS::Lambda::Alias``.
* For a complete introduction to Lambda functions, see [What is Lambda?](https://docs.aws.amazon.com/lambda/latest/dg/lambda-welcome.html) in the *Lambda developer guide.*
* ## Example Usage
* ### Example
* No Java example available.
* ### Example
* No Java example available.
* ### Example
* No Java example available.
* ### Example
* No Java example available.
* ### Example
* No Java example available.
* ### Example
* No Java example available.
* @property architectures The instruction set architecture that the function supports. Enter a string array with one of the valid values (arm64 or x86_64). The default value is ``x86_64``.
* @property code The code for the function.
* @property codeSigningConfigArn 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 publishers for this function.
* @property deadLetterConfig A dead-letter queue configuration that specifies the queue or topic where Lambda sends asynchronous events when they fail processing. For more information, see [Dead-letter queues](https://docs.aws.amazon.com/lambda/latest/dg/invocation-async.html#invocation-dlq).
* @property description A description of the function.
* @property environment Environment variables that are accessible from function code during execution.
* @property ephemeralStorage The size of the function's ``/tmp`` directory in MB. The default value is 512, but it can be any whole number between 512 and 10,240 MB.
* @property fileSystemConfigs Connection settings for an Amazon EFS file system. To connect a function to a file system, a mount target must be available in every Availability Zone that your function connects to. If your template contains an [AWS::EFS::MountTarget](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-efs-mounttarget.html) resource, you must also specify a ``DependsOn`` attribute to ensure that the mount target is created or updated before the function.
* For more information about using the ``DependsOn`` attribute, see [DependsOn Attribute](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-attribute-dependson.html).
* @property functionName The name of the Lambda function, up to 64 characters in length. If you don't specify a name, CFN generates one.
* If you specify a name, you cannot perform updates that require replacement of this resource. You can perform updates that require no or some interruption. If you must replace the resource, specify a new name.
* @property handler The name of the method within your code that Lambda calls to run your function. Handler is required if the deployment package is a .zip file archive. The format includes the file name. It can also include namespaces and other qualifiers, depending on the runtime. For more information, see [Lambda programming model](https://docs.aws.amazon.com/lambda/latest/dg/foundation-progmodel.html).
* @property imageConfig Configuration values that override the container image Dockerfile settings. For more information, see [Container image settings](https://docs.aws.amazon.com/lambda/latest/dg/images-create.html#images-parms).
* @property kmsKeyArn The ARN of the KMSlong (KMS) customer managed key that's used to encrypt your function's [environment variables](https://docs.aws.amazon.com/lambda/latest/dg/configuration-envvars.html#configuration-envvars-encryption). When [Lambda SnapStart](https://docs.aws.amazon.com/lambda/latest/dg/snapstart-security.html) is activated, Lambda also uses this key is to encrypt your function's snapshot. If you deploy your function using a container image, Lambda also uses this key to encrypt your function when it's deployed. Note that this is not the same key that's used to protect your container image in the Amazon Elastic Container Registry (Amazon ECR). If you don't provide a customer managed key, Lambda uses a default service key.
* @property layers A list of [function layers](https://docs.aws.amazon.com/lambda/latest/dg/configuration-layers.html) to add to the function's execution environment. Specify each layer by its ARN, including the version.
* @property loggingConfig The function's Amazon CloudWatch Logs configuration settings.
* @property memorySize The amount of [memory available to the function](https://docs.aws.amazon.com/lambda/latest/dg/configuration-function-common.html#configuration-memory-console) at runtime. Increasing the function memory also increases its CPU allocation. The default value is 128 MB. The value can be any multiple of 1 MB. Note that new AWS accounts have reduced concurrency and memory quotas. AWS raises these quotas automatically based on your usage. You can also request a quota increase.
* @property packageType The type of deployment package. Set to ``Image`` for container image and set ``Zip`` for .zip file archive.
* @property reservedConcurrentExecutions The number of simultaneous executions to reserve for the function.
* @property role The Amazon Resource Name (ARN) of the function's execution role.
* @property runtime The identifier of the function's [runtime](https://docs.aws.amazon.com/lambda/latest/dg/lambda-runtimes.html). Runtime is required if the deployment package is a .zip file archive. Specifying a runtime results in an error if you're deploying a function using a container image.
* The following list includes deprecated runtimes. Lambda blocks creating new functions and updating existing functions shortly after each runtime is deprecated. For more information, see [Runtime use after deprecation](https://docs.aws.amazon.com/lambda/latest/dg/lambda-runtimes.html#runtime-deprecation-levels).
* For a list of all currently supported runtimes, see [Supported runtimes](https://docs.aws.amazon.com/lambda/latest/dg/lambda-runtimes.html#runtimes-supported).
* @property runtimeManagementConfig Sets the runtime management configuration for a function's version. For more information, see [Runtime updates](https://docs.aws.amazon.com/lambda/latest/dg/runtimes-update.html).
* @property snapStart The function's [SnapStart](https://docs.aws.amazon.com/lambda/latest/dg/snapstart.html) setting.
* @property tags A list of [tags](https://docs.aws.amazon.com/lambda/latest/dg/tagging.html) to apply to the function.
* @property timeout The amount of time (in seconds) that Lambda allows a function to run before stopping it. The default is 3 seconds. The maximum allowed value is 900 seconds. For more information, see [Lambda execution environment](https://docs.aws.amazon.com/lambda/latest/dg/runtimes-context.html).
* @property tracingConfig Set ``Mode`` to ``Active`` to sample and trace a subset of incoming requests with [X-Ray](https://docs.aws.amazon.com/lambda/latest/dg/services-xray.html).
* @property vpcConfig For network connectivity to AWS resources in a VPC, specify a list of security groups and subnets in the VPC. When you connect a function to a VPC, it can access resources and the internet only through that VPC. For more information, see [Configuring a Lambda function to access resources in a VPC](https://docs.aws.amazon.com/lambda/latest/dg/configuration-vpc.html).
*/
public data class FunctionArgs(
public val architectures: Output>? = null,
public val code: Output? = null,
public val codeSigningConfigArn: Output? = null,
public val deadLetterConfig: Output? = null,
public val description: Output? = null,
public val environment: Output? = null,
public val ephemeralStorage: Output? = null,
public val fileSystemConfigs: Output>? = null,
public val functionName: Output? = null,
public val handler: Output? = null,
public val imageConfig: Output? = null,
public val kmsKeyArn: Output? = null,
public val layers: Output>? = null,
public val loggingConfig: Output? = null,
public val memorySize: Output? = null,
public val packageType: Output? = null,
public val reservedConcurrentExecutions: Output? = null,
public val role: Output? = null,
public val runtime: Output? = null,
public val runtimeManagementConfig: Output? = null,
public val snapStart: Output? = null,
public val tags: Output>? = null,
public val timeout: Output? = null,
public val tracingConfig: Output? = null,
public val vpcConfig: Output? = null,
) : ConvertibleToJava {
override fun toJava(): com.pulumi.awsnative.lambda.FunctionArgs =
com.pulumi.awsnative.lambda.FunctionArgs.builder()
.architectures(
architectures?.applyValue({ args0 ->
args0.map({ args0 ->
args0.let({ args0 ->
args0.toJava()
})
})
}),
)
.code(code?.applyValue({ args0 -> args0.let({ args0 -> args0.toJava() }) }))
.codeSigningConfigArn(codeSigningConfigArn?.applyValue({ args0 -> args0 }))
.deadLetterConfig(deadLetterConfig?.applyValue({ args0 -> args0.let({ args0 -> args0.toJava() }) }))
.description(description?.applyValue({ args0 -> args0 }))
.environment(environment?.applyValue({ args0 -> args0.let({ args0 -> args0.toJava() }) }))
.ephemeralStorage(ephemeralStorage?.applyValue({ args0 -> args0.let({ args0 -> args0.toJava() }) }))
.fileSystemConfigs(
fileSystemConfigs?.applyValue({ args0 ->
args0.map({ args0 ->
args0.let({ args0 ->
args0.toJava()
})
})
}),
)
.functionName(functionName?.applyValue({ args0 -> args0 }))
.handler(handler?.applyValue({ args0 -> args0 }))
.imageConfig(imageConfig?.applyValue({ args0 -> args0.let({ args0 -> args0.toJava() }) }))
.kmsKeyArn(kmsKeyArn?.applyValue({ args0 -> args0 }))
.layers(layers?.applyValue({ args0 -> args0.map({ args0 -> args0 }) }))
.loggingConfig(loggingConfig?.applyValue({ args0 -> args0.let({ args0 -> args0.toJava() }) }))
.memorySize(memorySize?.applyValue({ args0 -> args0 }))
.packageType(packageType?.applyValue({ args0 -> args0.let({ args0 -> args0.toJava() }) }))
.reservedConcurrentExecutions(reservedConcurrentExecutions?.applyValue({ args0 -> args0 }))
.role(role?.applyValue({ args0 -> args0 }))
.runtime(runtime?.applyValue({ args0 -> args0 }))
.runtimeManagementConfig(
runtimeManagementConfig?.applyValue({ args0 ->
args0.let({ args0 ->
args0.toJava()
})
}),
)
.snapStart(snapStart?.applyValue({ args0 -> args0.let({ args0 -> args0.toJava() }) }))
.tags(tags?.applyValue({ args0 -> args0.map({ args0 -> args0.let({ args0 -> args0.toJava() }) }) }))
.timeout(timeout?.applyValue({ args0 -> args0 }))
.tracingConfig(tracingConfig?.applyValue({ args0 -> args0.let({ args0 -> args0.toJava() }) }))
.vpcConfig(vpcConfig?.applyValue({ args0 -> args0.let({ args0 -> args0.toJava() }) })).build()
}
/**
* Builder for [FunctionArgs].
*/
@PulumiTagMarker
public class FunctionArgsBuilder internal constructor() {
private var architectures: Output>? = null
private var code: Output? = null
private var codeSigningConfigArn: Output? = null
private var deadLetterConfig: Output? = null
private var description: Output? = null
private var environment: Output? = null
private var ephemeralStorage: Output? = null
private var fileSystemConfigs: Output>? = null
private var functionName: Output? = null
private var handler: Output? = null
private var imageConfig: Output? = null
private var kmsKeyArn: Output? = null
private var layers: Output>? = null
private var loggingConfig: Output? = null
private var memorySize: Output? = null
private var packageType: Output? = null
private var reservedConcurrentExecutions: Output? = null
private var role: Output? = null
private var runtime: Output? = null
private var runtimeManagementConfig: Output? = null
private var snapStart: Output? = null
private var tags: Output>? = null
private var timeout: Output? = null
private var tracingConfig: Output? = null
private var vpcConfig: Output? = null
/**
* @param value The instruction set architecture that the function supports. Enter a string array with one of the valid values (arm64 or x86_64). The default value is ``x86_64``.
*/
@JvmName("pbxdoujybunathhc")
public suspend fun architectures(`value`: Output>) {
this.architectures = value
}
@JvmName("rnsyoliwishjspnf")
public suspend fun architectures(vararg values: Output) {
this.architectures = Output.all(values.asList())
}
/**
* @param values The instruction set architecture that the function supports. Enter a string array with one of the valid values (arm64 or x86_64). The default value is ``x86_64``.
*/
@JvmName("ywibqbkkrusvjmsn")
public suspend fun architectures(values: List