All Downloads are FREE. Search and download functionalities are using the official Maven repository.

software.amazon.awscdk.services.lambda.SingletonFunctionProps Maven / Gradle / Ivy

There is a newer version: 1.204.0
Show newest version
package software.amazon.awscdk.services.lambda;

/**
 * Properties for a newly created singleton Lambda.
 * 

* Example: *

*

 * // The code below shows an example of how to instantiate this type.
 * // The values are placeholders you should change.
 * import software.amazon.awscdk.services.codeguruprofiler.*;
 * import software.amazon.awscdk.services.ec2.*;
 * import software.amazon.awscdk.services.iam.*;
 * import software.amazon.awscdk.services.kms.*;
 * import software.amazon.awscdk.services.lambda.*;
 * import software.amazon.awscdk.services.logs.*;
 * import software.amazon.awscdk.services.sns.*;
 * import software.amazon.awscdk.services.sqs.*;
 * import software.amazon.awscdk.core.*;
 * Architecture architecture;
 * Code code;
 * CodeSigningConfig codeSigningConfig;
 * IDestination destination;
 * IEventSource eventSource;
 * FileSystem fileSystem;
 * Key key;
 * LambdaInsightsVersion lambdaInsightsVersion;
 * LayerVersion layerVersion;
 * PolicyStatement policyStatement;
 * ProfilingGroup profilingGroup;
 * Queue queue;
 * Role role;
 * Runtime runtime;
 * SecurityGroup securityGroup;
 * Size size;
 * Subnet subnet;
 * SubnetFilter subnetFilter;
 * Topic topic;
 * Vpc vpc;
 * SingletonFunctionProps singletonFunctionProps = SingletonFunctionProps.builder()
 *         .code(code)
 *         .handler("handler")
 *         .runtime(runtime)
 *         .uuid("uuid")
 *         // the properties below are optional
 *         .allowAllOutbound(false)
 *         .allowPublicSubnet(false)
 *         .architecture(architecture)
 *         .architectures(List.of(architecture))
 *         .codeSigningConfig(codeSigningConfig)
 *         .currentVersionOptions(VersionOptions.builder()
 *                 .codeSha256("codeSha256")
 *                 .description("description")
 *                 .maxEventAge(Duration.minutes(30))
 *                 .onFailure(destination)
 *                 .onSuccess(destination)
 *                 .provisionedConcurrentExecutions(123)
 *                 .removalPolicy(RemovalPolicy.DESTROY)
 *                 .retryAttempts(123)
 *                 .build())
 *         .deadLetterQueue(queue)
 *         .deadLetterQueueEnabled(false)
 *         .deadLetterTopic(topic)
 *         .description("description")
 *         .environment(Map.of(
 *                 "environmentKey", "environment"))
 *         .environmentEncryption(key)
 *         .ephemeralStorageSize(size)
 *         .events(List.of(eventSource))
 *         .filesystem(fileSystem)
 *         .functionName("functionName")
 *         .initialPolicy(List.of(policyStatement))
 *         .insightsVersion(lambdaInsightsVersion)
 *         .lambdaPurpose("lambdaPurpose")
 *         .layers(List.of(layerVersion))
 *         .logRetention(RetentionDays.ONE_DAY)
 *         .logRetentionRetryOptions(LogRetentionRetryOptions.builder()
 *                 .base(Duration.minutes(30))
 *                 .maxRetries(123)
 *                 .build())
 *         .logRetentionRole(role)
 *         .maxEventAge(Duration.minutes(30))
 *         .memorySize(123)
 *         .onFailure(destination)
 *         .onSuccess(destination)
 *         .profiling(false)
 *         .profilingGroup(profilingGroup)
 *         .reservedConcurrentExecutions(123)
 *         .retryAttempts(123)
 *         .role(role)
 *         .securityGroup(securityGroup)
 *         .securityGroups(List.of(securityGroup))
 *         .timeout(Duration.minutes(30))
 *         .tracing(Tracing.ACTIVE)
 *         .vpc(vpc)
 *         .vpcSubnets(SubnetSelection.builder()
 *                 .availabilityZones(List.of("availabilityZones"))
 *                 .onePerAz(false)
 *                 .subnetFilters(List.of(subnetFilter))
 *                 .subnetGroupName("subnetGroupName")
 *                 .subnetName("subnetName")
 *                 .subnets(List.of(subnet))
 *                 .subnetType(SubnetType.ISOLATED)
 *                 .build())
 *         .build();
 * 
*/ @javax.annotation.Generated(value = "jsii-pacmak/1.74.0 (build 6d08790)", date = "2023-03-22T19:35:44.233Z") @software.amazon.jsii.Jsii(module = software.amazon.awscdk.services.lambda.$Module.class, fqn = "@aws-cdk/aws-lambda.SingletonFunctionProps") @software.amazon.jsii.Jsii.Proxy(SingletonFunctionProps.Jsii$Proxy.class) @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) public interface SingletonFunctionProps extends software.amazon.jsii.JsiiSerializable, software.amazon.awscdk.services.lambda.FunctionProps { /** * A unique identifier to identify this lambda. *

* The identifier should be unique across all custom resource providers. * We recommend generating a UUID per provider. */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) @org.jetbrains.annotations.NotNull java.lang.String getUuid(); /** * A descriptive name for the purpose of this Lambda. *

* If the Lambda does not have a physical name, this string will be * reflected its generated name. The combination of lambdaPurpose * and uuid must be unique. *

* Default: SingletonLambda */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) default @org.jetbrains.annotations.Nullable java.lang.String getLambdaPurpose() { return null; } /** * @return a {@link Builder} of {@link SingletonFunctionProps} */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) static Builder builder() { return new Builder(); } /** * A builder for {@link SingletonFunctionProps} */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) public static final class Builder implements software.amazon.jsii.Builder { java.lang.String uuid; java.lang.String lambdaPurpose; software.amazon.awscdk.services.lambda.Code code; java.lang.String handler; software.amazon.awscdk.services.lambda.Runtime runtime; java.lang.Boolean allowAllOutbound; java.lang.Boolean allowPublicSubnet; software.amazon.awscdk.services.lambda.Architecture architecture; java.util.List architectures; software.amazon.awscdk.services.lambda.ICodeSigningConfig codeSigningConfig; software.amazon.awscdk.services.lambda.VersionOptions currentVersionOptions; software.amazon.awscdk.services.sqs.IQueue deadLetterQueue; java.lang.Boolean deadLetterQueueEnabled; software.amazon.awscdk.services.sns.ITopic deadLetterTopic; java.lang.String description; java.util.Map environment; software.amazon.awscdk.services.kms.IKey environmentEncryption; software.amazon.awscdk.core.Size ephemeralStorageSize; java.util.List events; software.amazon.awscdk.services.lambda.FileSystem filesystem; java.lang.String functionName; java.util.List initialPolicy; software.amazon.awscdk.services.lambda.LambdaInsightsVersion insightsVersion; java.util.List layers; software.amazon.awscdk.services.logs.RetentionDays logRetention; software.amazon.awscdk.services.lambda.LogRetentionRetryOptions logRetentionRetryOptions; software.amazon.awscdk.services.iam.IRole logRetentionRole; java.lang.Number memorySize; java.lang.Boolean profiling; software.amazon.awscdk.services.codeguruprofiler.IProfilingGroup profilingGroup; java.lang.Number reservedConcurrentExecutions; software.amazon.awscdk.services.iam.IRole role; software.amazon.awscdk.services.ec2.ISecurityGroup securityGroup; java.util.List securityGroups; software.amazon.awscdk.core.Duration timeout; software.amazon.awscdk.services.lambda.Tracing tracing; software.amazon.awscdk.services.ec2.IVpc vpc; software.amazon.awscdk.services.ec2.SubnetSelection vpcSubnets; software.amazon.awscdk.core.Duration maxEventAge; software.amazon.awscdk.services.lambda.IDestination onFailure; software.amazon.awscdk.services.lambda.IDestination onSuccess; java.lang.Number retryAttempts; /** * Sets the value of {@link SingletonFunctionProps#getUuid} * @param uuid A unique identifier to identify this lambda. This parameter is required. * The identifier should be unique across all custom resource providers. * We recommend generating a UUID per provider. * @return {@code this} */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) public Builder uuid(java.lang.String uuid) { this.uuid = uuid; return this; } /** * Sets the value of {@link SingletonFunctionProps#getLambdaPurpose} * @param lambdaPurpose A descriptive name for the purpose of this Lambda. * If the Lambda does not have a physical name, this string will be * reflected its generated name. The combination of lambdaPurpose * and uuid must be unique. * @return {@code this} */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) public Builder lambdaPurpose(java.lang.String lambdaPurpose) { this.lambdaPurpose = lambdaPurpose; return this; } /** * Sets the value of {@link SingletonFunctionProps#getCode} * @param code The source code of your Lambda function. This parameter is required. * You can point to a file in an * Amazon Simple Storage Service (Amazon S3) bucket or specify your source * code as inline text. * @return {@code this} */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) public Builder code(software.amazon.awscdk.services.lambda.Code code) { this.code = code; return this; } /** * Sets the value of {@link SingletonFunctionProps#getHandler} * @param handler The name of the method within your code that Lambda calls to execute your function. This parameter is required. * The format includes the file name. It can also include * namespaces and other qualifiers, depending on the runtime. * For more information, see https://docs.aws.amazon.com/lambda/latest/dg/gettingstarted-features.html#gettingstarted-features-programmingmodel. *

* Use Handler.FROM_IMAGE when defining a function from a Docker image. *

* NOTE: If you specify your source code as inline text by specifying the * ZipFile property within the Code property, specify index.function_name as * the handler. * @return {@code this} */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) public Builder handler(java.lang.String handler) { this.handler = handler; return this; } /** * Sets the value of {@link SingletonFunctionProps#getRuntime} * @param runtime The runtime environment for the Lambda function that you are uploading. This parameter is required. * For valid values, see the Runtime property in the AWS Lambda Developer * Guide. *

* Use Runtime.FROM_IMAGE when when defining a function from a Docker image. * @return {@code this} */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) public Builder runtime(software.amazon.awscdk.services.lambda.Runtime runtime) { this.runtime = runtime; return this; } /** * Sets the value of {@link SingletonFunctionProps#getAllowAllOutbound} * @param allowAllOutbound Whether to allow the Lambda to send all network traffic. * If set to false, you must individually add traffic rules to allow the * Lambda to connect to network targets. * @return {@code this} */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) public Builder allowAllOutbound(java.lang.Boolean allowAllOutbound) { this.allowAllOutbound = allowAllOutbound; return this; } /** * Sets the value of {@link SingletonFunctionProps#getAllowPublicSubnet} * @param allowPublicSubnet Lambda Functions in a public subnet can NOT access the internet. * Use this property to acknowledge this limitation and still place the function in a public subnet. * @return {@code this} */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) public Builder allowPublicSubnet(java.lang.Boolean allowPublicSubnet) { this.allowPublicSubnet = allowPublicSubnet; return this; } /** * Sets the value of {@link SingletonFunctionProps#getArchitecture} * @param architecture The system architectures compatible with this lambda function. * @return {@code this} */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) public Builder architecture(software.amazon.awscdk.services.lambda.Architecture architecture) { this.architecture = architecture; return this; } /** * Sets the value of {@link SingletonFunctionProps#getArchitectures} * @param architectures DEPRECATED. * @return {@code this} * @deprecated use `architecture` */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Deprecated) @Deprecated @SuppressWarnings("unchecked") public Builder architectures(java.util.List architectures) { this.architectures = (java.util.List)architectures; return this; } /** * Sets the value of {@link SingletonFunctionProps#getCodeSigningConfig} * @param codeSigningConfig Code signing config associated with this function. * @return {@code this} */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) public Builder codeSigningConfig(software.amazon.awscdk.services.lambda.ICodeSigningConfig codeSigningConfig) { this.codeSigningConfig = codeSigningConfig; return this; } /** * Sets the value of {@link SingletonFunctionProps#getCurrentVersionOptions} * @param currentVersionOptions Options for the `lambda.Version` resource automatically created by the `fn.currentVersion` method. * @return {@code this} */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) public Builder currentVersionOptions(software.amazon.awscdk.services.lambda.VersionOptions currentVersionOptions) { this.currentVersionOptions = currentVersionOptions; return this; } /** * Sets the value of {@link SingletonFunctionProps#getDeadLetterQueue} * @param deadLetterQueue The SQS queue to use if DLQ is enabled. * If SNS topic is desired, specify deadLetterTopic property instead. * @return {@code this} */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) public Builder deadLetterQueue(software.amazon.awscdk.services.sqs.IQueue deadLetterQueue) { this.deadLetterQueue = deadLetterQueue; return this; } /** * Sets the value of {@link SingletonFunctionProps#getDeadLetterQueueEnabled} * @param deadLetterQueueEnabled Enabled DLQ. * If deadLetterQueue is undefined, * an SQS queue with default options will be defined for your Function. * @return {@code this} */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) public Builder deadLetterQueueEnabled(java.lang.Boolean deadLetterQueueEnabled) { this.deadLetterQueueEnabled = deadLetterQueueEnabled; return this; } /** * Sets the value of {@link SingletonFunctionProps#getDeadLetterTopic} * @param deadLetterTopic The SNS topic to use as a DLQ. * Note that if deadLetterQueueEnabled is set to true, an SQS queue will be created * rather than an SNS topic. Using an SNS topic as a DLQ requires this property to be set explicitly. * @return {@code this} */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) public Builder deadLetterTopic(software.amazon.awscdk.services.sns.ITopic deadLetterTopic) { this.deadLetterTopic = deadLetterTopic; return this; } /** * Sets the value of {@link SingletonFunctionProps#getDescription} * @param description A description of the function. * @return {@code this} */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) public Builder description(java.lang.String description) { this.description = description; return this; } /** * Sets the value of {@link SingletonFunctionProps#getEnvironment} * @param environment Key-value pairs that Lambda caches and makes available for your Lambda functions. * Use environment variables to apply configuration changes, such * as test and production environment configurations, without changing your * Lambda function source code. * @return {@code this} */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) public Builder environment(java.util.Map environment) { this.environment = environment; return this; } /** * Sets the value of {@link SingletonFunctionProps#getEnvironmentEncryption} * @param environmentEncryption The AWS KMS key that's used to encrypt your function's environment variables. * @return {@code this} */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) public Builder environmentEncryption(software.amazon.awscdk.services.kms.IKey environmentEncryption) { this.environmentEncryption = environmentEncryption; return this; } /** * Sets the value of {@link SingletonFunctionProps#getEphemeralStorageSize} * @param ephemeralStorageSize The size of the function’s /tmp directory in MiB. * @return {@code this} */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) public Builder ephemeralStorageSize(software.amazon.awscdk.core.Size ephemeralStorageSize) { this.ephemeralStorageSize = ephemeralStorageSize; return this; } /** * Sets the value of {@link SingletonFunctionProps#getEvents} * @param events Event sources for this function. * You can also add event sources using addEventSource. * @return {@code this} */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) @SuppressWarnings("unchecked") public Builder events(java.util.List events) { this.events = (java.util.List)events; return this; } /** * Sets the value of {@link SingletonFunctionProps#getFilesystem} * @param filesystem The filesystem configuration for the lambda function. * @return {@code this} */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) public Builder filesystem(software.amazon.awscdk.services.lambda.FileSystem filesystem) { this.filesystem = filesystem; return this; } /** * Sets the value of {@link SingletonFunctionProps#getFunctionName} * @param functionName A name for the function. * @return {@code this} */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) public Builder functionName(java.lang.String functionName) { this.functionName = functionName; return this; } /** * Sets the value of {@link SingletonFunctionProps#getInitialPolicy} * @param initialPolicy Initial policy statements to add to the created Lambda Role. * You can call addToRolePolicy to the created lambda to add statements post creation. * @return {@code this} */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) @SuppressWarnings("unchecked") public Builder initialPolicy(java.util.List initialPolicy) { this.initialPolicy = (java.util.List)initialPolicy; return this; } /** * Sets the value of {@link SingletonFunctionProps#getInsightsVersion} * @param insightsVersion Specify the version of CloudWatch Lambda insights to use for monitoring. * @return {@code this} */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) public Builder insightsVersion(software.amazon.awscdk.services.lambda.LambdaInsightsVersion insightsVersion) { this.insightsVersion = insightsVersion; return this; } /** * Sets the value of {@link SingletonFunctionProps#getLayers} * @param layers A list of layers to add to the function's execution environment. * You can configure your Lambda function to pull in * additional code during initialization in the form of layers. Layers are packages of libraries or other dependencies * that can be used by multiple functions. * @return {@code this} */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) @SuppressWarnings("unchecked") public Builder layers(java.util.List layers) { this.layers = (java.util.List)layers; return this; } /** * Sets the value of {@link SingletonFunctionProps#getLogRetention} * @param logRetention The number of days log events are kept in CloudWatch Logs. * When updating * this property, unsetting it doesn't remove the log retention policy. To * remove the retention policy, set the value to INFINITE. * @return {@code this} */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) public Builder logRetention(software.amazon.awscdk.services.logs.RetentionDays logRetention) { this.logRetention = logRetention; return this; } /** * Sets the value of {@link SingletonFunctionProps#getLogRetentionRetryOptions} * @param logRetentionRetryOptions When log retention is specified, a custom resource attempts to create the CloudWatch log group. * These options control the retry policy when interacting with CloudWatch APIs. * @return {@code this} */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) public Builder logRetentionRetryOptions(software.amazon.awscdk.services.lambda.LogRetentionRetryOptions logRetentionRetryOptions) { this.logRetentionRetryOptions = logRetentionRetryOptions; return this; } /** * Sets the value of {@link SingletonFunctionProps#getLogRetentionRole} * @param logRetentionRole The IAM role for the Lambda function associated with the custom resource that sets the retention policy. * @return {@code this} */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) public Builder logRetentionRole(software.amazon.awscdk.services.iam.IRole logRetentionRole) { this.logRetentionRole = logRetentionRole; return this; } /** * Sets the value of {@link SingletonFunctionProps#getMemorySize} * @param memorySize The amount of memory, in MB, that is allocated to your Lambda function. * Lambda uses this value to proportionally allocate the amount of CPU * power. For more information, see Resource Model in the AWS Lambda * Developer Guide. * @return {@code this} */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) public Builder memorySize(java.lang.Number memorySize) { this.memorySize = memorySize; return this; } /** * Sets the value of {@link SingletonFunctionProps#getProfiling} * @param profiling Enable profiling. * @return {@code this} */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) public Builder profiling(java.lang.Boolean profiling) { this.profiling = profiling; return this; } /** * Sets the value of {@link SingletonFunctionProps#getProfilingGroup} * @param profilingGroup Profiling Group. * @return {@code this} */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) public Builder profilingGroup(software.amazon.awscdk.services.codeguruprofiler.IProfilingGroup profilingGroup) { this.profilingGroup = profilingGroup; return this; } /** * Sets the value of {@link SingletonFunctionProps#getReservedConcurrentExecutions} * @param reservedConcurrentExecutions The maximum of concurrent executions you want to reserve for the function. * @return {@code this} */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) public Builder reservedConcurrentExecutions(java.lang.Number reservedConcurrentExecutions) { this.reservedConcurrentExecutions = reservedConcurrentExecutions; return this; } /** * Sets the value of {@link SingletonFunctionProps#getRole} * @param role Lambda execution role. * This is the role that will be assumed by the function upon execution. * It controls the permissions that the function will have. The Role must * be assumable by the 'lambda.amazonaws.com' service principal. *

* The default Role automatically has permissions granted for Lambda execution. If you * provide a Role, you must add the relevant AWS managed policies yourself. *

* The relevant managed policies are "service-role/AWSLambdaBasicExecutionRole" and * "service-role/AWSLambdaVPCAccessExecutionRole". * @return {@code this} */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) public Builder role(software.amazon.awscdk.services.iam.IRole role) { this.role = role; return this; } /** * Sets the value of {@link SingletonFunctionProps#getSecurityGroup} * @param securityGroup What security group to associate with the Lambda's network interfaces. This property is being deprecated, consider using securityGroups instead. * Only used if 'vpc' is supplied. *

* Use securityGroups property instead. * Function constructor will throw an error if both are specified. * @return {@code this} * @deprecated - This property is deprecated, use securityGroups instead */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Deprecated) @Deprecated public Builder securityGroup(software.amazon.awscdk.services.ec2.ISecurityGroup securityGroup) { this.securityGroup = securityGroup; return this; } /** * Sets the value of {@link SingletonFunctionProps#getSecurityGroups} * @param securityGroups The list of security groups to associate with the Lambda's network interfaces. * Only used if 'vpc' is supplied. * @return {@code this} */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) @SuppressWarnings("unchecked") public Builder securityGroups(java.util.List securityGroups) { this.securityGroups = (java.util.List)securityGroups; return this; } /** * Sets the value of {@link SingletonFunctionProps#getTimeout} * @param timeout The function execution time (in seconds) after which Lambda terminates the function. * Because the execution time affects cost, set this value * based on the function's expected execution time. * @return {@code this} */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) public Builder timeout(software.amazon.awscdk.core.Duration timeout) { this.timeout = timeout; return this; } /** * Sets the value of {@link SingletonFunctionProps#getTracing} * @param tracing Enable AWS X-Ray Tracing for Lambda Function. * @return {@code this} */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) public Builder tracing(software.amazon.awscdk.services.lambda.Tracing tracing) { this.tracing = tracing; return this; } /** * Sets the value of {@link SingletonFunctionProps#getVpc} * @param vpc VPC network to place Lambda network interfaces. * Specify this if the Lambda function needs to access resources in a VPC. * @return {@code this} */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) public Builder vpc(software.amazon.awscdk.services.ec2.IVpc vpc) { this.vpc = vpc; return this; } /** * Sets the value of {@link SingletonFunctionProps#getVpcSubnets} * @param vpcSubnets Where to place the network interfaces within the VPC. * Only used if 'vpc' is supplied. Note: internet access for Lambdas * requires a NAT gateway, so picking Public subnets is not allowed. * @return {@code this} */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) public Builder vpcSubnets(software.amazon.awscdk.services.ec2.SubnetSelection vpcSubnets) { this.vpcSubnets = vpcSubnets; return this; } /** * Sets the value of {@link SingletonFunctionProps#getMaxEventAge} * @param maxEventAge The maximum age of a request that Lambda sends to a function for processing. * Minimum: 60 seconds * Maximum: 6 hours * @return {@code this} */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) public Builder maxEventAge(software.amazon.awscdk.core.Duration maxEventAge) { this.maxEventAge = maxEventAge; return this; } /** * Sets the value of {@link SingletonFunctionProps#getOnFailure} * @param onFailure The destination for failed invocations. * @return {@code this} */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) public Builder onFailure(software.amazon.awscdk.services.lambda.IDestination onFailure) { this.onFailure = onFailure; return this; } /** * Sets the value of {@link SingletonFunctionProps#getOnSuccess} * @param onSuccess The destination for successful invocations. * @return {@code this} */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) public Builder onSuccess(software.amazon.awscdk.services.lambda.IDestination onSuccess) { this.onSuccess = onSuccess; return this; } /** * Sets the value of {@link SingletonFunctionProps#getRetryAttempts} * @param retryAttempts The maximum number of times to retry when the function returns an error. * Minimum: 0 * Maximum: 2 * @return {@code this} */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) public Builder retryAttempts(java.lang.Number retryAttempts) { this.retryAttempts = retryAttempts; return this; } /** * Builds the configured instance. * @return a new instance of {@link SingletonFunctionProps} * @throws NullPointerException if any required attribute was not provided */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) @Override public SingletonFunctionProps build() { return new Jsii$Proxy(this); } } /** * An implementation for {@link SingletonFunctionProps} */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) @software.amazon.jsii.Internal final class Jsii$Proxy extends software.amazon.jsii.JsiiObject implements SingletonFunctionProps { private final java.lang.String uuid; private final java.lang.String lambdaPurpose; private final software.amazon.awscdk.services.lambda.Code code; private final java.lang.String handler; private final software.amazon.awscdk.services.lambda.Runtime runtime; private final java.lang.Boolean allowAllOutbound; private final java.lang.Boolean allowPublicSubnet; private final software.amazon.awscdk.services.lambda.Architecture architecture; private final java.util.List architectures; private final software.amazon.awscdk.services.lambda.ICodeSigningConfig codeSigningConfig; private final software.amazon.awscdk.services.lambda.VersionOptions currentVersionOptions; private final software.amazon.awscdk.services.sqs.IQueue deadLetterQueue; private final java.lang.Boolean deadLetterQueueEnabled; private final software.amazon.awscdk.services.sns.ITopic deadLetterTopic; private final java.lang.String description; private final java.util.Map environment; private final software.amazon.awscdk.services.kms.IKey environmentEncryption; private final software.amazon.awscdk.core.Size ephemeralStorageSize; private final java.util.List events; private final software.amazon.awscdk.services.lambda.FileSystem filesystem; private final java.lang.String functionName; private final java.util.List initialPolicy; private final software.amazon.awscdk.services.lambda.LambdaInsightsVersion insightsVersion; private final java.util.List layers; private final software.amazon.awscdk.services.logs.RetentionDays logRetention; private final software.amazon.awscdk.services.lambda.LogRetentionRetryOptions logRetentionRetryOptions; private final software.amazon.awscdk.services.iam.IRole logRetentionRole; private final java.lang.Number memorySize; private final java.lang.Boolean profiling; private final software.amazon.awscdk.services.codeguruprofiler.IProfilingGroup profilingGroup; private final java.lang.Number reservedConcurrentExecutions; private final software.amazon.awscdk.services.iam.IRole role; private final software.amazon.awscdk.services.ec2.ISecurityGroup securityGroup; private final java.util.List securityGroups; private final software.amazon.awscdk.core.Duration timeout; private final software.amazon.awscdk.services.lambda.Tracing tracing; private final software.amazon.awscdk.services.ec2.IVpc vpc; private final software.amazon.awscdk.services.ec2.SubnetSelection vpcSubnets; private final software.amazon.awscdk.core.Duration maxEventAge; private final software.amazon.awscdk.services.lambda.IDestination onFailure; private final software.amazon.awscdk.services.lambda.IDestination onSuccess; private final java.lang.Number retryAttempts; /** * Constructor that initializes the object based on values retrieved from the JsiiObject. * @param objRef Reference to the JSII managed object. */ protected Jsii$Proxy(final software.amazon.jsii.JsiiObjectRef objRef) { super(objRef); this.uuid = software.amazon.jsii.Kernel.get(this, "uuid", software.amazon.jsii.NativeType.forClass(java.lang.String.class)); this.lambdaPurpose = software.amazon.jsii.Kernel.get(this, "lambdaPurpose", software.amazon.jsii.NativeType.forClass(java.lang.String.class)); this.code = software.amazon.jsii.Kernel.get(this, "code", software.amazon.jsii.NativeType.forClass(software.amazon.awscdk.services.lambda.Code.class)); this.handler = software.amazon.jsii.Kernel.get(this, "handler", software.amazon.jsii.NativeType.forClass(java.lang.String.class)); this.runtime = software.amazon.jsii.Kernel.get(this, "runtime", software.amazon.jsii.NativeType.forClass(software.amazon.awscdk.services.lambda.Runtime.class)); this.allowAllOutbound = software.amazon.jsii.Kernel.get(this, "allowAllOutbound", software.amazon.jsii.NativeType.forClass(java.lang.Boolean.class)); this.allowPublicSubnet = software.amazon.jsii.Kernel.get(this, "allowPublicSubnet", software.amazon.jsii.NativeType.forClass(java.lang.Boolean.class)); this.architecture = software.amazon.jsii.Kernel.get(this, "architecture", software.amazon.jsii.NativeType.forClass(software.amazon.awscdk.services.lambda.Architecture.class)); this.architectures = software.amazon.jsii.Kernel.get(this, "architectures", software.amazon.jsii.NativeType.listOf(software.amazon.jsii.NativeType.forClass(software.amazon.awscdk.services.lambda.Architecture.class))); this.codeSigningConfig = software.amazon.jsii.Kernel.get(this, "codeSigningConfig", software.amazon.jsii.NativeType.forClass(software.amazon.awscdk.services.lambda.ICodeSigningConfig.class)); this.currentVersionOptions = software.amazon.jsii.Kernel.get(this, "currentVersionOptions", software.amazon.jsii.NativeType.forClass(software.amazon.awscdk.services.lambda.VersionOptions.class)); this.deadLetterQueue = software.amazon.jsii.Kernel.get(this, "deadLetterQueue", software.amazon.jsii.NativeType.forClass(software.amazon.awscdk.services.sqs.IQueue.class)); this.deadLetterQueueEnabled = software.amazon.jsii.Kernel.get(this, "deadLetterQueueEnabled", software.amazon.jsii.NativeType.forClass(java.lang.Boolean.class)); this.deadLetterTopic = software.amazon.jsii.Kernel.get(this, "deadLetterTopic", software.amazon.jsii.NativeType.forClass(software.amazon.awscdk.services.sns.ITopic.class)); this.description = software.amazon.jsii.Kernel.get(this, "description", software.amazon.jsii.NativeType.forClass(java.lang.String.class)); this.environment = software.amazon.jsii.Kernel.get(this, "environment", software.amazon.jsii.NativeType.mapOf(software.amazon.jsii.NativeType.forClass(java.lang.String.class))); this.environmentEncryption = software.amazon.jsii.Kernel.get(this, "environmentEncryption", software.amazon.jsii.NativeType.forClass(software.amazon.awscdk.services.kms.IKey.class)); this.ephemeralStorageSize = software.amazon.jsii.Kernel.get(this, "ephemeralStorageSize", software.amazon.jsii.NativeType.forClass(software.amazon.awscdk.core.Size.class)); this.events = software.amazon.jsii.Kernel.get(this, "events", software.amazon.jsii.NativeType.listOf(software.amazon.jsii.NativeType.forClass(software.amazon.awscdk.services.lambda.IEventSource.class))); this.filesystem = software.amazon.jsii.Kernel.get(this, "filesystem", software.amazon.jsii.NativeType.forClass(software.amazon.awscdk.services.lambda.FileSystem.class)); this.functionName = software.amazon.jsii.Kernel.get(this, "functionName", software.amazon.jsii.NativeType.forClass(java.lang.String.class)); this.initialPolicy = software.amazon.jsii.Kernel.get(this, "initialPolicy", software.amazon.jsii.NativeType.listOf(software.amazon.jsii.NativeType.forClass(software.amazon.awscdk.services.iam.PolicyStatement.class))); this.insightsVersion = software.amazon.jsii.Kernel.get(this, "insightsVersion", software.amazon.jsii.NativeType.forClass(software.amazon.awscdk.services.lambda.LambdaInsightsVersion.class)); this.layers = software.amazon.jsii.Kernel.get(this, "layers", software.amazon.jsii.NativeType.listOf(software.amazon.jsii.NativeType.forClass(software.amazon.awscdk.services.lambda.ILayerVersion.class))); this.logRetention = software.amazon.jsii.Kernel.get(this, "logRetention", software.amazon.jsii.NativeType.forClass(software.amazon.awscdk.services.logs.RetentionDays.class)); this.logRetentionRetryOptions = software.amazon.jsii.Kernel.get(this, "logRetentionRetryOptions", software.amazon.jsii.NativeType.forClass(software.amazon.awscdk.services.lambda.LogRetentionRetryOptions.class)); this.logRetentionRole = software.amazon.jsii.Kernel.get(this, "logRetentionRole", software.amazon.jsii.NativeType.forClass(software.amazon.awscdk.services.iam.IRole.class)); this.memorySize = software.amazon.jsii.Kernel.get(this, "memorySize", software.amazon.jsii.NativeType.forClass(java.lang.Number.class)); this.profiling = software.amazon.jsii.Kernel.get(this, "profiling", software.amazon.jsii.NativeType.forClass(java.lang.Boolean.class)); this.profilingGroup = software.amazon.jsii.Kernel.get(this, "profilingGroup", software.amazon.jsii.NativeType.forClass(software.amazon.awscdk.services.codeguruprofiler.IProfilingGroup.class)); this.reservedConcurrentExecutions = software.amazon.jsii.Kernel.get(this, "reservedConcurrentExecutions", software.amazon.jsii.NativeType.forClass(java.lang.Number.class)); this.role = software.amazon.jsii.Kernel.get(this, "role", software.amazon.jsii.NativeType.forClass(software.amazon.awscdk.services.iam.IRole.class)); this.securityGroup = software.amazon.jsii.Kernel.get(this, "securityGroup", software.amazon.jsii.NativeType.forClass(software.amazon.awscdk.services.ec2.ISecurityGroup.class)); this.securityGroups = software.amazon.jsii.Kernel.get(this, "securityGroups", software.amazon.jsii.NativeType.listOf(software.amazon.jsii.NativeType.forClass(software.amazon.awscdk.services.ec2.ISecurityGroup.class))); this.timeout = software.amazon.jsii.Kernel.get(this, "timeout", software.amazon.jsii.NativeType.forClass(software.amazon.awscdk.core.Duration.class)); this.tracing = software.amazon.jsii.Kernel.get(this, "tracing", software.amazon.jsii.NativeType.forClass(software.amazon.awscdk.services.lambda.Tracing.class)); this.vpc = software.amazon.jsii.Kernel.get(this, "vpc", software.amazon.jsii.NativeType.forClass(software.amazon.awscdk.services.ec2.IVpc.class)); this.vpcSubnets = software.amazon.jsii.Kernel.get(this, "vpcSubnets", software.amazon.jsii.NativeType.forClass(software.amazon.awscdk.services.ec2.SubnetSelection.class)); this.maxEventAge = software.amazon.jsii.Kernel.get(this, "maxEventAge", software.amazon.jsii.NativeType.forClass(software.amazon.awscdk.core.Duration.class)); this.onFailure = software.amazon.jsii.Kernel.get(this, "onFailure", software.amazon.jsii.NativeType.forClass(software.amazon.awscdk.services.lambda.IDestination.class)); this.onSuccess = software.amazon.jsii.Kernel.get(this, "onSuccess", software.amazon.jsii.NativeType.forClass(software.amazon.awscdk.services.lambda.IDestination.class)); this.retryAttempts = software.amazon.jsii.Kernel.get(this, "retryAttempts", software.amazon.jsii.NativeType.forClass(java.lang.Number.class)); } /** * Constructor that initializes the object based on literal property values passed by the {@link Builder}. */ @SuppressWarnings("unchecked") protected Jsii$Proxy(final Builder builder) { super(software.amazon.jsii.JsiiObject.InitializationMode.JSII); this.uuid = java.util.Objects.requireNonNull(builder.uuid, "uuid is required"); this.lambdaPurpose = builder.lambdaPurpose; this.code = java.util.Objects.requireNonNull(builder.code, "code is required"); this.handler = java.util.Objects.requireNonNull(builder.handler, "handler is required"); this.runtime = java.util.Objects.requireNonNull(builder.runtime, "runtime is required"); this.allowAllOutbound = builder.allowAllOutbound; this.allowPublicSubnet = builder.allowPublicSubnet; this.architecture = builder.architecture; this.architectures = (java.util.List)builder.architectures; this.codeSigningConfig = builder.codeSigningConfig; this.currentVersionOptions = builder.currentVersionOptions; this.deadLetterQueue = builder.deadLetterQueue; this.deadLetterQueueEnabled = builder.deadLetterQueueEnabled; this.deadLetterTopic = builder.deadLetterTopic; this.description = builder.description; this.environment = builder.environment; this.environmentEncryption = builder.environmentEncryption; this.ephemeralStorageSize = builder.ephemeralStorageSize; this.events = (java.util.List)builder.events; this.filesystem = builder.filesystem; this.functionName = builder.functionName; this.initialPolicy = (java.util.List)builder.initialPolicy; this.insightsVersion = builder.insightsVersion; this.layers = (java.util.List)builder.layers; this.logRetention = builder.logRetention; this.logRetentionRetryOptions = builder.logRetentionRetryOptions; this.logRetentionRole = builder.logRetentionRole; this.memorySize = builder.memorySize; this.profiling = builder.profiling; this.profilingGroup = builder.profilingGroup; this.reservedConcurrentExecutions = builder.reservedConcurrentExecutions; this.role = builder.role; this.securityGroup = builder.securityGroup; this.securityGroups = (java.util.List)builder.securityGroups; this.timeout = builder.timeout; this.tracing = builder.tracing; this.vpc = builder.vpc; this.vpcSubnets = builder.vpcSubnets; this.maxEventAge = builder.maxEventAge; this.onFailure = builder.onFailure; this.onSuccess = builder.onSuccess; this.retryAttempts = builder.retryAttempts; } @Override public final java.lang.String getUuid() { return this.uuid; } @Override public final java.lang.String getLambdaPurpose() { return this.lambdaPurpose; } @Override public final software.amazon.awscdk.services.lambda.Code getCode() { return this.code; } @Override public final java.lang.String getHandler() { return this.handler; } @Override public final software.amazon.awscdk.services.lambda.Runtime getRuntime() { return this.runtime; } @Override public final java.lang.Boolean getAllowAllOutbound() { return this.allowAllOutbound; } @Override public final java.lang.Boolean getAllowPublicSubnet() { return this.allowPublicSubnet; } @Override public final software.amazon.awscdk.services.lambda.Architecture getArchitecture() { return this.architecture; } @Override public final java.util.List getArchitectures() { return this.architectures; } @Override public final software.amazon.awscdk.services.lambda.ICodeSigningConfig getCodeSigningConfig() { return this.codeSigningConfig; } @Override public final software.amazon.awscdk.services.lambda.VersionOptions getCurrentVersionOptions() { return this.currentVersionOptions; } @Override public final software.amazon.awscdk.services.sqs.IQueue getDeadLetterQueue() { return this.deadLetterQueue; } @Override public final java.lang.Boolean getDeadLetterQueueEnabled() { return this.deadLetterQueueEnabled; } @Override public final software.amazon.awscdk.services.sns.ITopic getDeadLetterTopic() { return this.deadLetterTopic; } @Override public final java.lang.String getDescription() { return this.description; } @Override public final java.util.Map getEnvironment() { return this.environment; } @Override public final software.amazon.awscdk.services.kms.IKey getEnvironmentEncryption() { return this.environmentEncryption; } @Override public final software.amazon.awscdk.core.Size getEphemeralStorageSize() { return this.ephemeralStorageSize; } @Override public final java.util.List getEvents() { return this.events; } @Override public final software.amazon.awscdk.services.lambda.FileSystem getFilesystem() { return this.filesystem; } @Override public final java.lang.String getFunctionName() { return this.functionName; } @Override public final java.util.List getInitialPolicy() { return this.initialPolicy; } @Override public final software.amazon.awscdk.services.lambda.LambdaInsightsVersion getInsightsVersion() { return this.insightsVersion; } @Override public final java.util.List getLayers() { return this.layers; } @Override public final software.amazon.awscdk.services.logs.RetentionDays getLogRetention() { return this.logRetention; } @Override public final software.amazon.awscdk.services.lambda.LogRetentionRetryOptions getLogRetentionRetryOptions() { return this.logRetentionRetryOptions; } @Override public final software.amazon.awscdk.services.iam.IRole getLogRetentionRole() { return this.logRetentionRole; } @Override public final java.lang.Number getMemorySize() { return this.memorySize; } @Override public final java.lang.Boolean getProfiling() { return this.profiling; } @Override public final software.amazon.awscdk.services.codeguruprofiler.IProfilingGroup getProfilingGroup() { return this.profilingGroup; } @Override public final java.lang.Number getReservedConcurrentExecutions() { return this.reservedConcurrentExecutions; } @Override public final software.amazon.awscdk.services.iam.IRole getRole() { return this.role; } @Override public final software.amazon.awscdk.services.ec2.ISecurityGroup getSecurityGroup() { return this.securityGroup; } @Override public final java.util.List getSecurityGroups() { return this.securityGroups; } @Override public final software.amazon.awscdk.core.Duration getTimeout() { return this.timeout; } @Override public final software.amazon.awscdk.services.lambda.Tracing getTracing() { return this.tracing; } @Override public final software.amazon.awscdk.services.ec2.IVpc getVpc() { return this.vpc; } @Override public final software.amazon.awscdk.services.ec2.SubnetSelection getVpcSubnets() { return this.vpcSubnets; } @Override public final software.amazon.awscdk.core.Duration getMaxEventAge() { return this.maxEventAge; } @Override public final software.amazon.awscdk.services.lambda.IDestination getOnFailure() { return this.onFailure; } @Override public final software.amazon.awscdk.services.lambda.IDestination getOnSuccess() { return this.onSuccess; } @Override public final java.lang.Number getRetryAttempts() { return this.retryAttempts; } @Override @software.amazon.jsii.Internal public com.fasterxml.jackson.databind.JsonNode $jsii$toJson() { final com.fasterxml.jackson.databind.ObjectMapper om = software.amazon.jsii.JsiiObjectMapper.INSTANCE; final com.fasterxml.jackson.databind.node.ObjectNode data = com.fasterxml.jackson.databind.node.JsonNodeFactory.instance.objectNode(); data.set("uuid", om.valueToTree(this.getUuid())); if (this.getLambdaPurpose() != null) { data.set("lambdaPurpose", om.valueToTree(this.getLambdaPurpose())); } data.set("code", om.valueToTree(this.getCode())); data.set("handler", om.valueToTree(this.getHandler())); data.set("runtime", om.valueToTree(this.getRuntime())); if (this.getAllowAllOutbound() != null) { data.set("allowAllOutbound", om.valueToTree(this.getAllowAllOutbound())); } if (this.getAllowPublicSubnet() != null) { data.set("allowPublicSubnet", om.valueToTree(this.getAllowPublicSubnet())); } if (this.getArchitecture() != null) { data.set("architecture", om.valueToTree(this.getArchitecture())); } if (this.getArchitectures() != null) { data.set("architectures", om.valueToTree(this.getArchitectures())); } if (this.getCodeSigningConfig() != null) { data.set("codeSigningConfig", om.valueToTree(this.getCodeSigningConfig())); } if (this.getCurrentVersionOptions() != null) { data.set("currentVersionOptions", om.valueToTree(this.getCurrentVersionOptions())); } if (this.getDeadLetterQueue() != null) { data.set("deadLetterQueue", om.valueToTree(this.getDeadLetterQueue())); } if (this.getDeadLetterQueueEnabled() != null) { data.set("deadLetterQueueEnabled", om.valueToTree(this.getDeadLetterQueueEnabled())); } if (this.getDeadLetterTopic() != null) { data.set("deadLetterTopic", om.valueToTree(this.getDeadLetterTopic())); } if (this.getDescription() != null) { data.set("description", om.valueToTree(this.getDescription())); } if (this.getEnvironment() != null) { data.set("environment", om.valueToTree(this.getEnvironment())); } if (this.getEnvironmentEncryption() != null) { data.set("environmentEncryption", om.valueToTree(this.getEnvironmentEncryption())); } if (this.getEphemeralStorageSize() != null) { data.set("ephemeralStorageSize", om.valueToTree(this.getEphemeralStorageSize())); } if (this.getEvents() != null) { data.set("events", om.valueToTree(this.getEvents())); } if (this.getFilesystem() != null) { data.set("filesystem", om.valueToTree(this.getFilesystem())); } if (this.getFunctionName() != null) { data.set("functionName", om.valueToTree(this.getFunctionName())); } if (this.getInitialPolicy() != null) { data.set("initialPolicy", om.valueToTree(this.getInitialPolicy())); } if (this.getInsightsVersion() != null) { data.set("insightsVersion", om.valueToTree(this.getInsightsVersion())); } if (this.getLayers() != null) { data.set("layers", om.valueToTree(this.getLayers())); } if (this.getLogRetention() != null) { data.set("logRetention", om.valueToTree(this.getLogRetention())); } if (this.getLogRetentionRetryOptions() != null) { data.set("logRetentionRetryOptions", om.valueToTree(this.getLogRetentionRetryOptions())); } if (this.getLogRetentionRole() != null) { data.set("logRetentionRole", om.valueToTree(this.getLogRetentionRole())); } if (this.getMemorySize() != null) { data.set("memorySize", om.valueToTree(this.getMemorySize())); } if (this.getProfiling() != null) { data.set("profiling", om.valueToTree(this.getProfiling())); } if (this.getProfilingGroup() != null) { data.set("profilingGroup", om.valueToTree(this.getProfilingGroup())); } if (this.getReservedConcurrentExecutions() != null) { data.set("reservedConcurrentExecutions", om.valueToTree(this.getReservedConcurrentExecutions())); } if (this.getRole() != null) { data.set("role", om.valueToTree(this.getRole())); } if (this.getSecurityGroup() != null) { data.set("securityGroup", om.valueToTree(this.getSecurityGroup())); } if (this.getSecurityGroups() != null) { data.set("securityGroups", om.valueToTree(this.getSecurityGroups())); } if (this.getTimeout() != null) { data.set("timeout", om.valueToTree(this.getTimeout())); } if (this.getTracing() != null) { data.set("tracing", om.valueToTree(this.getTracing())); } if (this.getVpc() != null) { data.set("vpc", om.valueToTree(this.getVpc())); } if (this.getVpcSubnets() != null) { data.set("vpcSubnets", om.valueToTree(this.getVpcSubnets())); } if (this.getMaxEventAge() != null) { data.set("maxEventAge", om.valueToTree(this.getMaxEventAge())); } if (this.getOnFailure() != null) { data.set("onFailure", om.valueToTree(this.getOnFailure())); } if (this.getOnSuccess() != null) { data.set("onSuccess", om.valueToTree(this.getOnSuccess())); } if (this.getRetryAttempts() != null) { data.set("retryAttempts", om.valueToTree(this.getRetryAttempts())); } final com.fasterxml.jackson.databind.node.ObjectNode struct = com.fasterxml.jackson.databind.node.JsonNodeFactory.instance.objectNode(); struct.set("fqn", om.valueToTree("@aws-cdk/aws-lambda.SingletonFunctionProps")); struct.set("data", data); final com.fasterxml.jackson.databind.node.ObjectNode obj = com.fasterxml.jackson.databind.node.JsonNodeFactory.instance.objectNode(); obj.set("$jsii.struct", struct); return obj; } @Override public final boolean equals(final Object o) { if (this == o) return true; if (o == null || getClass() != o.getClass()) return false; SingletonFunctionProps.Jsii$Proxy that = (SingletonFunctionProps.Jsii$Proxy) o; if (!uuid.equals(that.uuid)) return false; if (this.lambdaPurpose != null ? !this.lambdaPurpose.equals(that.lambdaPurpose) : that.lambdaPurpose != null) return false; if (!code.equals(that.code)) return false; if (!handler.equals(that.handler)) return false; if (!runtime.equals(that.runtime)) return false; if (this.allowAllOutbound != null ? !this.allowAllOutbound.equals(that.allowAllOutbound) : that.allowAllOutbound != null) return false; if (this.allowPublicSubnet != null ? !this.allowPublicSubnet.equals(that.allowPublicSubnet) : that.allowPublicSubnet != null) return false; if (this.architecture != null ? !this.architecture.equals(that.architecture) : that.architecture != null) return false; if (this.architectures != null ? !this.architectures.equals(that.architectures) : that.architectures != null) return false; if (this.codeSigningConfig != null ? !this.codeSigningConfig.equals(that.codeSigningConfig) : that.codeSigningConfig != null) return false; if (this.currentVersionOptions != null ? !this.currentVersionOptions.equals(that.currentVersionOptions) : that.currentVersionOptions != null) return false; if (this.deadLetterQueue != null ? !this.deadLetterQueue.equals(that.deadLetterQueue) : that.deadLetterQueue != null) return false; if (this.deadLetterQueueEnabled != null ? !this.deadLetterQueueEnabled.equals(that.deadLetterQueueEnabled) : that.deadLetterQueueEnabled != null) return false; if (this.deadLetterTopic != null ? !this.deadLetterTopic.equals(that.deadLetterTopic) : that.deadLetterTopic != null) return false; if (this.description != null ? !this.description.equals(that.description) : that.description != null) return false; if (this.environment != null ? !this.environment.equals(that.environment) : that.environment != null) return false; if (this.environmentEncryption != null ? !this.environmentEncryption.equals(that.environmentEncryption) : that.environmentEncryption != null) return false; if (this.ephemeralStorageSize != null ? !this.ephemeralStorageSize.equals(that.ephemeralStorageSize) : that.ephemeralStorageSize != null) return false; if (this.events != null ? !this.events.equals(that.events) : that.events != null) return false; if (this.filesystem != null ? !this.filesystem.equals(that.filesystem) : that.filesystem != null) return false; if (this.functionName != null ? !this.functionName.equals(that.functionName) : that.functionName != null) return false; if (this.initialPolicy != null ? !this.initialPolicy.equals(that.initialPolicy) : that.initialPolicy != null) return false; if (this.insightsVersion != null ? !this.insightsVersion.equals(that.insightsVersion) : that.insightsVersion != null) return false; if (this.layers != null ? !this.layers.equals(that.layers) : that.layers != null) return false; if (this.logRetention != null ? !this.logRetention.equals(that.logRetention) : that.logRetention != null) return false; if (this.logRetentionRetryOptions != null ? !this.logRetentionRetryOptions.equals(that.logRetentionRetryOptions) : that.logRetentionRetryOptions != null) return false; if (this.logRetentionRole != null ? !this.logRetentionRole.equals(that.logRetentionRole) : that.logRetentionRole != null) return false; if (this.memorySize != null ? !this.memorySize.equals(that.memorySize) : that.memorySize != null) return false; if (this.profiling != null ? !this.profiling.equals(that.profiling) : that.profiling != null) return false; if (this.profilingGroup != null ? !this.profilingGroup.equals(that.profilingGroup) : that.profilingGroup != null) return false; if (this.reservedConcurrentExecutions != null ? !this.reservedConcurrentExecutions.equals(that.reservedConcurrentExecutions) : that.reservedConcurrentExecutions != null) return false; if (this.role != null ? !this.role.equals(that.role) : that.role != null) return false; if (this.securityGroup != null ? !this.securityGroup.equals(that.securityGroup) : that.securityGroup != null) return false; if (this.securityGroups != null ? !this.securityGroups.equals(that.securityGroups) : that.securityGroups != null) return false; if (this.timeout != null ? !this.timeout.equals(that.timeout) : that.timeout != null) return false; if (this.tracing != null ? !this.tracing.equals(that.tracing) : that.tracing != null) return false; if (this.vpc != null ? !this.vpc.equals(that.vpc) : that.vpc != null) return false; if (this.vpcSubnets != null ? !this.vpcSubnets.equals(that.vpcSubnets) : that.vpcSubnets != null) return false; if (this.maxEventAge != null ? !this.maxEventAge.equals(that.maxEventAge) : that.maxEventAge != null) return false; if (this.onFailure != null ? !this.onFailure.equals(that.onFailure) : that.onFailure != null) return false; if (this.onSuccess != null ? !this.onSuccess.equals(that.onSuccess) : that.onSuccess != null) return false; return this.retryAttempts != null ? this.retryAttempts.equals(that.retryAttempts) : that.retryAttempts == null; } @Override public final int hashCode() { int result = this.uuid.hashCode(); result = 31 * result + (this.lambdaPurpose != null ? this.lambdaPurpose.hashCode() : 0); result = 31 * result + (this.code.hashCode()); result = 31 * result + (this.handler.hashCode()); result = 31 * result + (this.runtime.hashCode()); result = 31 * result + (this.allowAllOutbound != null ? this.allowAllOutbound.hashCode() : 0); result = 31 * result + (this.allowPublicSubnet != null ? this.allowPublicSubnet.hashCode() : 0); result = 31 * result + (this.architecture != null ? this.architecture.hashCode() : 0); result = 31 * result + (this.architectures != null ? this.architectures.hashCode() : 0); result = 31 * result + (this.codeSigningConfig != null ? this.codeSigningConfig.hashCode() : 0); result = 31 * result + (this.currentVersionOptions != null ? this.currentVersionOptions.hashCode() : 0); result = 31 * result + (this.deadLetterQueue != null ? this.deadLetterQueue.hashCode() : 0); result = 31 * result + (this.deadLetterQueueEnabled != null ? this.deadLetterQueueEnabled.hashCode() : 0); result = 31 * result + (this.deadLetterTopic != null ? this.deadLetterTopic.hashCode() : 0); result = 31 * result + (this.description != null ? this.description.hashCode() : 0); result = 31 * result + (this.environment != null ? this.environment.hashCode() : 0); result = 31 * result + (this.environmentEncryption != null ? this.environmentEncryption.hashCode() : 0); result = 31 * result + (this.ephemeralStorageSize != null ? this.ephemeralStorageSize.hashCode() : 0); result = 31 * result + (this.events != null ? this.events.hashCode() : 0); result = 31 * result + (this.filesystem != null ? this.filesystem.hashCode() : 0); result = 31 * result + (this.functionName != null ? this.functionName.hashCode() : 0); result = 31 * result + (this.initialPolicy != null ? this.initialPolicy.hashCode() : 0); result = 31 * result + (this.insightsVersion != null ? this.insightsVersion.hashCode() : 0); result = 31 * result + (this.layers != null ? this.layers.hashCode() : 0); result = 31 * result + (this.logRetention != null ? this.logRetention.hashCode() : 0); result = 31 * result + (this.logRetentionRetryOptions != null ? this.logRetentionRetryOptions.hashCode() : 0); result = 31 * result + (this.logRetentionRole != null ? this.logRetentionRole.hashCode() : 0); result = 31 * result + (this.memorySize != null ? this.memorySize.hashCode() : 0); result = 31 * result + (this.profiling != null ? this.profiling.hashCode() : 0); result = 31 * result + (this.profilingGroup != null ? this.profilingGroup.hashCode() : 0); result = 31 * result + (this.reservedConcurrentExecutions != null ? this.reservedConcurrentExecutions.hashCode() : 0); result = 31 * result + (this.role != null ? this.role.hashCode() : 0); result = 31 * result + (this.securityGroup != null ? this.securityGroup.hashCode() : 0); result = 31 * result + (this.securityGroups != null ? this.securityGroups.hashCode() : 0); result = 31 * result + (this.timeout != null ? this.timeout.hashCode() : 0); result = 31 * result + (this.tracing != null ? this.tracing.hashCode() : 0); result = 31 * result + (this.vpc != null ? this.vpc.hashCode() : 0); result = 31 * result + (this.vpcSubnets != null ? this.vpcSubnets.hashCode() : 0); result = 31 * result + (this.maxEventAge != null ? this.maxEventAge.hashCode() : 0); result = 31 * result + (this.onFailure != null ? this.onFailure.hashCode() : 0); result = 31 * result + (this.onSuccess != null ? this.onSuccess.hashCode() : 0); result = 31 * result + (this.retryAttempts != null ? this.retryAttempts.hashCode() : 0); return result; } } }





© 2015 - 2025 Weber Informatics LLC | Privacy Policy