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

io.github.cdklabs.generative_ai_cdk_constructs.DockerLambdaCustomProps Maven / Gradle / Ivy

package io.github.cdklabs.generative_ai_cdk_constructs;

/**
 * (experimental) DockerLambdaCustomProps.
 */
@javax.annotation.Generated(value = "jsii-pacmak/1.103.1 (build bef2dea)", date = "2024-10-07T16:14:00.535Z")
@software.amazon.jsii.Jsii(module = io.github.cdklabs.generative_ai_cdk_constructs.$Module.class, fqn = "@cdklabs/generative-ai-cdk-constructs.DockerLambdaCustomProps")
@software.amazon.jsii.Jsii.Proxy(DockerLambdaCustomProps.Jsii$Proxy.class)
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental)
public interface DockerLambdaCustomProps extends software.amazon.jsii.JsiiSerializable {

    /**
     * The source code of your Lambda function.
     * 

* You can point to a file in an * Amazon Simple Storage Service (Amazon S3) bucket or specify your source * code as inline text. */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) @org.jetbrains.annotations.NotNull software.amazon.awscdk.services.lambda.DockerImageCode getCode(); /** * Specify the configuration of AWS Distro for OpenTelemetry (ADOT) instrumentation. *

* Default: - No ADOT instrumentation */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) default @org.jetbrains.annotations.Nullable software.amazon.awscdk.services.lambda.AdotInstrumentationConfig getAdotInstrumentation() { return null; } /** * Sets the application log level for the function. *

* Default: ApplicationLogLevel.INFO */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) default @org.jetbrains.annotations.Nullable software.amazon.awscdk.services.lambda.ApplicationLogLevel getApplicationLogLevelV2() { return null; } /** * The system architectures compatible with this lambda function. *

* Default: Architecture.X86_64 */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) default @org.jetbrains.annotations.Nullable software.amazon.awscdk.services.lambda.Architecture getArchitecture() { return null; } /** * Code signing config associated with this function. *

* Default: - Not Sign the Code */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) default @org.jetbrains.annotations.Nullable software.amazon.awscdk.services.lambda.ICodeSigningConfig getCodeSigningConfig() { return null; } /** * Options for the lambda.Version resource automatically created by the fn.currentVersion method. *

* Default: - default options as described in `VersionOptions` */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) default @org.jetbrains.annotations.Nullable software.amazon.awscdk.services.lambda.VersionOptions getCurrentVersionOptions() { return null; } /** * The SQS queue to use if DLQ is enabled. *

* If SNS topic is desired, specify deadLetterTopic property instead. *

* Default: - SQS queue with 14 day retention period if `deadLetterQueueEnabled` is `true` */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) default @org.jetbrains.annotations.Nullable software.amazon.awscdk.services.sqs.IQueue getDeadLetterQueue() { return null; } /** * Enabled DLQ. *

* If deadLetterQueue is undefined, * an SQS queue with default options will be defined for your Function. *

* Default: - false unless `deadLetterQueue` is set, which implies DLQ is enabled. */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) default @org.jetbrains.annotations.Nullable java.lang.Boolean getDeadLetterQueueEnabled() { return null; } /** * 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. *

* Default: - no SNS topic */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) default @org.jetbrains.annotations.Nullable software.amazon.awscdk.services.sns.ITopic getDeadLetterTopic() { return null; } /** * 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. *

* Default: - No environment variables. */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) default @org.jetbrains.annotations.Nullable java.util.Map getEnvironment() { return null; } /** * The AWS KMS key that's used to encrypt your function's environment variables. *

* Default: - AWS Lambda creates and uses an AWS managed customer master key (CMK). */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) default @org.jetbrains.annotations.Nullable software.amazon.awscdk.services.kms.IKey getEnvironmentEncryption() { return null; } /** * The size of the function’s /tmp directory in MiB. *

* Default: 512 MiB */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) default @org.jetbrains.annotations.Nullable software.amazon.awscdk.Size getEphemeralStorageSize() { return null; } /** * Event sources for this function. *

* You can also add event sources using addEventSource. *

* Default: - No event sources. */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) default @org.jetbrains.annotations.Nullable java.util.List getEvents() { return null; } /** * The filesystem configuration for the lambda function. *

* Default: - will not mount any filesystem */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) default @org.jetbrains.annotations.Nullable software.amazon.awscdk.services.lambda.FileSystem getFilesystem() { return null; } /** * Initial policy statements to add to the created Lambda Role. *

* You can call addToRolePolicy to the created lambda to add statements post creation. *

* Default: - No policy statements are added to the created Lambda role. */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) default @org.jetbrains.annotations.Nullable java.util.List getInitialPolicy() { return null; } /** * Specify the version of CloudWatch Lambda insights to use for monitoring. *

* Default: - No Lambda Insights */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) default @org.jetbrains.annotations.Nullable software.amazon.awscdk.services.lambda.LambdaInsightsVersion getInsightsVersion() { return null; } /** * Allows outbound IPv6 traffic on VPC functions that are connected to dual-stack subnets. *

* Only used if 'vpc' is supplied. *

* Default: false */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) default @org.jetbrains.annotations.Nullable java.lang.Boolean getIpv6AllowedForDualStack() { return null; } /** * Sets the loggingFormat for the function. *

* Default: LoggingFormat.TEXT */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) default @org.jetbrains.annotations.Nullable software.amazon.awscdk.services.lambda.LoggingFormat getLoggingFormat() { return null; } /** * The log group the function sends logs to. *

* By default, Lambda functions send logs to an automatically created default log group named /aws/lambda/. * However you cannot change the properties of this auto-created log group using the AWS CDK, e.g. you cannot set a different log retention. *

* Use the logGroup property to create a fully customizable LogGroup ahead of time, and instruct the Lambda function to send logs to it. *

* Providing a user-controlled log group was rolled out to commercial regions on 2023-11-16. * If you are deploying to another type of region, please check regional availability first. *

* Default: `/aws/lambda/${this.functionName}` - default log group created by Lambda */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) default @org.jetbrains.annotations.Nullable software.amazon.awscdk.services.logs.ILogGroup getLogGroup() { return null; } /** * 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. *

* This is a legacy API and we strongly recommend you move away from it if you can. * Instead create a fully customizable log group with logs.LogGroup and use the logGroup property * to instruct the Lambda function to send logs to it. * Migrating from logRetention to logGroup will cause the name of the log group to change. * Users and code and referencing the name verbatim will have to adjust. *

* In AWS CDK code, you can access the log group name directly from the LogGroup construct: *

*

     * import * as logs from 'aws-cdk-lib/aws-logs';
     * declare const myLogGroup: logs.LogGroup;
     * myLogGroup.logGroupName;
     * 
*

* Default: logs.RetentionDays.INFINITE */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) default @org.jetbrains.annotations.Nullable software.amazon.awscdk.services.logs.RetentionDays getLogRetention() { return null; } /** * 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. *

* This is a legacy API and we strongly recommend you migrate to logGroup if you can. * logGroup allows you to create a fully customizable log group and instruct the Lambda function to send logs to it. *

* Default: - Default AWS SDK retry options. */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) default @org.jetbrains.annotations.Nullable software.amazon.awscdk.services.lambda.LogRetentionRetryOptions getLogRetentionRetryOptions() { return null; } /** * The IAM role for the Lambda function associated with the custom resource that sets the retention policy. *

* This is a legacy API and we strongly recommend you migrate to logGroup if you can. * logGroup allows you to create a fully customizable log group and instruct the Lambda function to send logs to it. *

* Default: - A new role is created. */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) default @org.jetbrains.annotations.Nullable software.amazon.awscdk.services.iam.IRole getLogRetentionRole() { return null; } /** * The maximum age of a request that Lambda sends to a function for processing. *

* Minimum: 60 seconds * Maximum: 6 hours *

* Default: Duration.hours(6) */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) default @org.jetbrains.annotations.Nullable software.amazon.awscdk.Duration getMaxEventAge() { return null; } /** * 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. *

* Default: 128 */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) default @org.jetbrains.annotations.Nullable java.lang.Number getMemorySize() { return null; } /** * The destination for failed invocations. *

* Default: - no destination */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) default @org.jetbrains.annotations.Nullable software.amazon.awscdk.services.lambda.IDestination getOnFailure() { return null; } /** * The destination for successful invocations. *

* Default: - no destination */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) default @org.jetbrains.annotations.Nullable software.amazon.awscdk.services.lambda.IDestination getOnSuccess() { return null; } /** * Specify the configuration of Parameters and Secrets Extension. *

* Default: - No Parameters and Secrets Extension */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) default @org.jetbrains.annotations.Nullable software.amazon.awscdk.services.lambda.ParamsAndSecretsLayerVersion getParamsAndSecrets() { return null; } /** * Enable profiling. *

* Default: - No profiling. */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) default @org.jetbrains.annotations.Nullable java.lang.Boolean getProfiling() { return null; } /** * Profiling Group. *

* Default: - A new profiling group will be created if `profiling` is set. */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) default @org.jetbrains.annotations.Nullable software.amazon.awscdk.services.codeguruprofiler.IProfilingGroup getProfilingGroup() { return null; } /** * Sets the Recursive Loop Protection for Lambda Function. *

* It lets Lambda detect and terminate unintended recusrive loops. *

* Default: RecursiveLoop.Terminate */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) default @org.jetbrains.annotations.Nullable software.amazon.awscdk.services.lambda.RecursiveLoop getRecursiveLoop() { return null; } /** * The maximum of concurrent executions you want to reserve for the function. *

* Default: - No specific limit - account limit. */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) default @org.jetbrains.annotations.Nullable java.lang.Number getReservedConcurrentExecutions() { return null; } /** * The maximum number of times to retry when the function returns an error. *

* Minimum: 0 * Maximum: 2 *

* Default: 2 */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) default @org.jetbrains.annotations.Nullable java.lang.Number getRetryAttempts() { return null; } /** * Sets the runtime management configuration for a function's version. *

* Default: Auto */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) default @org.jetbrains.annotations.Nullable software.amazon.awscdk.services.lambda.RuntimeManagementMode getRuntimeManagementMode() { return null; } /** * Enable SnapStart for Lambda Function. *

* SnapStart is currently supported only for Java 11, 17 runtime *

* Default: - No snapstart */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) default @org.jetbrains.annotations.Nullable software.amazon.awscdk.services.lambda.SnapStartConf getSnapStart() { return null; } /** * Sets the system log level for the function. *

* Default: SystemLogLevel.INFO */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) default @org.jetbrains.annotations.Nullable software.amazon.awscdk.services.lambda.SystemLogLevel getSystemLogLevelV2() { return null; } /** * 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. *

* Default: Duration.seconds(3) */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) default @org.jetbrains.annotations.Nullable software.amazon.awscdk.Duration getTimeout() { return null; } /** * @return a {@link Builder} of {@link DockerLambdaCustomProps} */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) static Builder builder() { return new Builder(); } /** * A builder for {@link DockerLambdaCustomProps} */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) public static final class Builder implements software.amazon.jsii.Builder { software.amazon.awscdk.services.lambda.DockerImageCode code; software.amazon.awscdk.services.lambda.AdotInstrumentationConfig adotInstrumentation; software.amazon.awscdk.services.lambda.ApplicationLogLevel applicationLogLevelV2; software.amazon.awscdk.services.lambda.Architecture architecture; 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.util.Map environment; software.amazon.awscdk.services.kms.IKey environmentEncryption; software.amazon.awscdk.Size ephemeralStorageSize; java.util.List events; software.amazon.awscdk.services.lambda.FileSystem filesystem; java.util.List initialPolicy; software.amazon.awscdk.services.lambda.LambdaInsightsVersion insightsVersion; java.lang.Boolean ipv6AllowedForDualStack; software.amazon.awscdk.services.lambda.LoggingFormat loggingFormat; software.amazon.awscdk.services.logs.ILogGroup logGroup; software.amazon.awscdk.services.logs.RetentionDays logRetention; software.amazon.awscdk.services.lambda.LogRetentionRetryOptions logRetentionRetryOptions; software.amazon.awscdk.services.iam.IRole logRetentionRole; software.amazon.awscdk.Duration maxEventAge; java.lang.Number memorySize; software.amazon.awscdk.services.lambda.IDestination onFailure; software.amazon.awscdk.services.lambda.IDestination onSuccess; software.amazon.awscdk.services.lambda.ParamsAndSecretsLayerVersion paramsAndSecrets; java.lang.Boolean profiling; software.amazon.awscdk.services.codeguruprofiler.IProfilingGroup profilingGroup; software.amazon.awscdk.services.lambda.RecursiveLoop recursiveLoop; java.lang.Number reservedConcurrentExecutions; java.lang.Number retryAttempts; software.amazon.awscdk.services.lambda.RuntimeManagementMode runtimeManagementMode; software.amazon.awscdk.services.lambda.SnapStartConf snapStart; software.amazon.awscdk.services.lambda.SystemLogLevel systemLogLevelV2; software.amazon.awscdk.Duration timeout; /** * Sets the value of {@link DockerLambdaCustomProps#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.DockerImageCode code) { this.code = code; return this; } /** * Sets the value of {@link DockerLambdaCustomProps#getAdotInstrumentation} * @param adotInstrumentation Specify the configuration of AWS Distro for OpenTelemetry (ADOT) instrumentation. * @return {@code this} */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) public Builder adotInstrumentation(software.amazon.awscdk.services.lambda.AdotInstrumentationConfig adotInstrumentation) { this.adotInstrumentation = adotInstrumentation; return this; } /** * Sets the value of {@link DockerLambdaCustomProps#getApplicationLogLevelV2} * @param applicationLogLevelV2 Sets the application log level for the function. * @return {@code this} */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) public Builder applicationLogLevelV2(software.amazon.awscdk.services.lambda.ApplicationLogLevel applicationLogLevelV2) { this.applicationLogLevelV2 = applicationLogLevelV2; return this; } /** * Sets the value of {@link DockerLambdaCustomProps#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 DockerLambdaCustomProps#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 DockerLambdaCustomProps#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 DockerLambdaCustomProps#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 DockerLambdaCustomProps#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 DockerLambdaCustomProps#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 DockerLambdaCustomProps#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 DockerLambdaCustomProps#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 DockerLambdaCustomProps#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.Size ephemeralStorageSize) { this.ephemeralStorageSize = ephemeralStorageSize; return this; } /** * Sets the value of {@link DockerLambdaCustomProps#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 DockerLambdaCustomProps#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 DockerLambdaCustomProps#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 DockerLambdaCustomProps#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 DockerLambdaCustomProps#getIpv6AllowedForDualStack} * @param ipv6AllowedForDualStack Allows outbound IPv6 traffic on VPC functions that are connected to dual-stack subnets. * Only used if 'vpc' is supplied. * @return {@code this} */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) public Builder ipv6AllowedForDualStack(java.lang.Boolean ipv6AllowedForDualStack) { this.ipv6AllowedForDualStack = ipv6AllowedForDualStack; return this; } /** * Sets the value of {@link DockerLambdaCustomProps#getLoggingFormat} * @param loggingFormat Sets the loggingFormat for the function. * @return {@code this} */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) public Builder loggingFormat(software.amazon.awscdk.services.lambda.LoggingFormat loggingFormat) { this.loggingFormat = loggingFormat; return this; } /** * Sets the value of {@link DockerLambdaCustomProps#getLogGroup} * @param logGroup The log group the function sends logs to. * By default, Lambda functions send logs to an automatically created default log group named /aws/lambda/. * However you cannot change the properties of this auto-created log group using the AWS CDK, e.g. you cannot set a different log retention. *

* Use the logGroup property to create a fully customizable LogGroup ahead of time, and instruct the Lambda function to send logs to it. *

* Providing a user-controlled log group was rolled out to commercial regions on 2023-11-16. * If you are deploying to another type of region, please check regional availability first. * @return {@code this} */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) public Builder logGroup(software.amazon.awscdk.services.logs.ILogGroup logGroup) { this.logGroup = logGroup; return this; } /** * Sets the value of {@link DockerLambdaCustomProps#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. *

* This is a legacy API and we strongly recommend you move away from it if you can. * Instead create a fully customizable log group with logs.LogGroup and use the logGroup property * to instruct the Lambda function to send logs to it. * Migrating from logRetention to logGroup will cause the name of the log group to change. * Users and code and referencing the name verbatim will have to adjust. *

* In AWS CDK code, you can access the log group name directly from the LogGroup construct: *

*

         *                     import * as logs from 'aws-cdk-lib/aws-logs';
         *                     
         *                     declare const myLogGroup: logs.LogGroup;
         *                     myLogGroup.logGroupName;
         *                     
* @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 DockerLambdaCustomProps#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. *

* This is a legacy API and we strongly recommend you migrate to logGroup if you can. * logGroup allows you to create a fully customizable log group and instruct the Lambda function to send logs to it. * @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 DockerLambdaCustomProps#getLogRetentionRole} * @param logRetentionRole The IAM role for the Lambda function associated with the custom resource that sets the retention policy. * This is a legacy API and we strongly recommend you migrate to logGroup if you can. * logGroup allows you to create a fully customizable log group and instruct the Lambda function to send logs to it. * @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 DockerLambdaCustomProps#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.Duration maxEventAge) { this.maxEventAge = maxEventAge; return this; } /** * Sets the value of {@link DockerLambdaCustomProps#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 DockerLambdaCustomProps#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 DockerLambdaCustomProps#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 DockerLambdaCustomProps#getParamsAndSecrets} * @param paramsAndSecrets Specify the configuration of Parameters and Secrets Extension. * @return {@code this} */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) public Builder paramsAndSecrets(software.amazon.awscdk.services.lambda.ParamsAndSecretsLayerVersion paramsAndSecrets) { this.paramsAndSecrets = paramsAndSecrets; return this; } /** * Sets the value of {@link DockerLambdaCustomProps#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 DockerLambdaCustomProps#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 DockerLambdaCustomProps#getRecursiveLoop} * @param recursiveLoop Sets the Recursive Loop Protection for Lambda Function. * It lets Lambda detect and terminate unintended recusrive loops. * @return {@code this} */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) public Builder recursiveLoop(software.amazon.awscdk.services.lambda.RecursiveLoop recursiveLoop) { this.recursiveLoop = recursiveLoop; return this; } /** * Sets the value of {@link DockerLambdaCustomProps#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 DockerLambdaCustomProps#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; } /** * Sets the value of {@link DockerLambdaCustomProps#getRuntimeManagementMode} * @param runtimeManagementMode Sets the runtime management configuration for a function's version. * @return {@code this} */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) public Builder runtimeManagementMode(software.amazon.awscdk.services.lambda.RuntimeManagementMode runtimeManagementMode) { this.runtimeManagementMode = runtimeManagementMode; return this; } /** * Sets the value of {@link DockerLambdaCustomProps#getSnapStart} * @param snapStart Enable SnapStart for Lambda Function. * SnapStart is currently supported only for Java 11, 17 runtime * @return {@code this} */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) public Builder snapStart(software.amazon.awscdk.services.lambda.SnapStartConf snapStart) { this.snapStart = snapStart; return this; } /** * Sets the value of {@link DockerLambdaCustomProps#getSystemLogLevelV2} * @param systemLogLevelV2 Sets the system log level for the function. * @return {@code this} */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) public Builder systemLogLevelV2(software.amazon.awscdk.services.lambda.SystemLogLevel systemLogLevelV2) { this.systemLogLevelV2 = systemLogLevelV2; return this; } /** * Sets the value of {@link DockerLambdaCustomProps#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.Duration timeout) { this.timeout = timeout; return this; } /** * Builds the configured instance. * @return a new instance of {@link DockerLambdaCustomProps} * @throws NullPointerException if any required attribute was not provided */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) @Override public DockerLambdaCustomProps build() { return new Jsii$Proxy(this); } } /** * An implementation for {@link DockerLambdaCustomProps} */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) @software.amazon.jsii.Internal final class Jsii$Proxy extends software.amazon.jsii.JsiiObject implements DockerLambdaCustomProps { private final software.amazon.awscdk.services.lambda.DockerImageCode code; private final software.amazon.awscdk.services.lambda.AdotInstrumentationConfig adotInstrumentation; private final software.amazon.awscdk.services.lambda.ApplicationLogLevel applicationLogLevelV2; private final software.amazon.awscdk.services.lambda.Architecture architecture; 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.util.Map environment; private final software.amazon.awscdk.services.kms.IKey environmentEncryption; private final software.amazon.awscdk.Size ephemeralStorageSize; private final java.util.List events; private final software.amazon.awscdk.services.lambda.FileSystem filesystem; private final java.util.List initialPolicy; private final software.amazon.awscdk.services.lambda.LambdaInsightsVersion insightsVersion; private final java.lang.Boolean ipv6AllowedForDualStack; private final software.amazon.awscdk.services.lambda.LoggingFormat loggingFormat; private final software.amazon.awscdk.services.logs.ILogGroup logGroup; 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 software.amazon.awscdk.Duration maxEventAge; private final java.lang.Number memorySize; private final software.amazon.awscdk.services.lambda.IDestination onFailure; private final software.amazon.awscdk.services.lambda.IDestination onSuccess; private final software.amazon.awscdk.services.lambda.ParamsAndSecretsLayerVersion paramsAndSecrets; private final java.lang.Boolean profiling; private final software.amazon.awscdk.services.codeguruprofiler.IProfilingGroup profilingGroup; private final software.amazon.awscdk.services.lambda.RecursiveLoop recursiveLoop; private final java.lang.Number reservedConcurrentExecutions; private final java.lang.Number retryAttempts; private final software.amazon.awscdk.services.lambda.RuntimeManagementMode runtimeManagementMode; private final software.amazon.awscdk.services.lambda.SnapStartConf snapStart; private final software.amazon.awscdk.services.lambda.SystemLogLevel systemLogLevelV2; private final software.amazon.awscdk.Duration timeout; /** * 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.code = software.amazon.jsii.Kernel.get(this, "code", software.amazon.jsii.NativeType.forClass(software.amazon.awscdk.services.lambda.DockerImageCode.class)); this.adotInstrumentation = software.amazon.jsii.Kernel.get(this, "adotInstrumentation", software.amazon.jsii.NativeType.forClass(software.amazon.awscdk.services.lambda.AdotInstrumentationConfig.class)); this.applicationLogLevelV2 = software.amazon.jsii.Kernel.get(this, "applicationLogLevelV2", software.amazon.jsii.NativeType.forClass(software.amazon.awscdk.services.lambda.ApplicationLogLevel.class)); this.architecture = software.amazon.jsii.Kernel.get(this, "architecture", 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.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.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.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.ipv6AllowedForDualStack = software.amazon.jsii.Kernel.get(this, "ipv6AllowedForDualStack", software.amazon.jsii.NativeType.forClass(java.lang.Boolean.class)); this.loggingFormat = software.amazon.jsii.Kernel.get(this, "loggingFormat", software.amazon.jsii.NativeType.forClass(software.amazon.awscdk.services.lambda.LoggingFormat.class)); this.logGroup = software.amazon.jsii.Kernel.get(this, "logGroup", software.amazon.jsii.NativeType.forClass(software.amazon.awscdk.services.logs.ILogGroup.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.maxEventAge = software.amazon.jsii.Kernel.get(this, "maxEventAge", software.amazon.jsii.NativeType.forClass(software.amazon.awscdk.Duration.class)); this.memorySize = software.amazon.jsii.Kernel.get(this, "memorySize", software.amazon.jsii.NativeType.forClass(java.lang.Number.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.paramsAndSecrets = software.amazon.jsii.Kernel.get(this, "paramsAndSecrets", software.amazon.jsii.NativeType.forClass(software.amazon.awscdk.services.lambda.ParamsAndSecretsLayerVersion.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.recursiveLoop = software.amazon.jsii.Kernel.get(this, "recursiveLoop", software.amazon.jsii.NativeType.forClass(software.amazon.awscdk.services.lambda.RecursiveLoop.class)); this.reservedConcurrentExecutions = software.amazon.jsii.Kernel.get(this, "reservedConcurrentExecutions", software.amazon.jsii.NativeType.forClass(java.lang.Number.class)); this.retryAttempts = software.amazon.jsii.Kernel.get(this, "retryAttempts", software.amazon.jsii.NativeType.forClass(java.lang.Number.class)); this.runtimeManagementMode = software.amazon.jsii.Kernel.get(this, "runtimeManagementMode", software.amazon.jsii.NativeType.forClass(software.amazon.awscdk.services.lambda.RuntimeManagementMode.class)); this.snapStart = software.amazon.jsii.Kernel.get(this, "snapStart", software.amazon.jsii.NativeType.forClass(software.amazon.awscdk.services.lambda.SnapStartConf.class)); this.systemLogLevelV2 = software.amazon.jsii.Kernel.get(this, "systemLogLevelV2", software.amazon.jsii.NativeType.forClass(software.amazon.awscdk.services.lambda.SystemLogLevel.class)); this.timeout = software.amazon.jsii.Kernel.get(this, "timeout", software.amazon.jsii.NativeType.forClass(software.amazon.awscdk.Duration.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.code = java.util.Objects.requireNonNull(builder.code, "code is required"); this.adotInstrumentation = builder.adotInstrumentation; this.applicationLogLevelV2 = builder.applicationLogLevelV2; this.architecture = builder.architecture; this.codeSigningConfig = builder.codeSigningConfig; this.currentVersionOptions = builder.currentVersionOptions; this.deadLetterQueue = builder.deadLetterQueue; this.deadLetterQueueEnabled = builder.deadLetterQueueEnabled; this.deadLetterTopic = builder.deadLetterTopic; this.environment = builder.environment; this.environmentEncryption = builder.environmentEncryption; this.ephemeralStorageSize = builder.ephemeralStorageSize; this.events = (java.util.List)builder.events; this.filesystem = builder.filesystem; this.initialPolicy = (java.util.List)builder.initialPolicy; this.insightsVersion = builder.insightsVersion; this.ipv6AllowedForDualStack = builder.ipv6AllowedForDualStack; this.loggingFormat = builder.loggingFormat; this.logGroup = builder.logGroup; this.logRetention = builder.logRetention; this.logRetentionRetryOptions = builder.logRetentionRetryOptions; this.logRetentionRole = builder.logRetentionRole; this.maxEventAge = builder.maxEventAge; this.memorySize = builder.memorySize; this.onFailure = builder.onFailure; this.onSuccess = builder.onSuccess; this.paramsAndSecrets = builder.paramsAndSecrets; this.profiling = builder.profiling; this.profilingGroup = builder.profilingGroup; this.recursiveLoop = builder.recursiveLoop; this.reservedConcurrentExecutions = builder.reservedConcurrentExecutions; this.retryAttempts = builder.retryAttempts; this.runtimeManagementMode = builder.runtimeManagementMode; this.snapStart = builder.snapStart; this.systemLogLevelV2 = builder.systemLogLevelV2; this.timeout = builder.timeout; } @Override public final software.amazon.awscdk.services.lambda.DockerImageCode getCode() { return this.code; } @Override public final software.amazon.awscdk.services.lambda.AdotInstrumentationConfig getAdotInstrumentation() { return this.adotInstrumentation; } @Override public final software.amazon.awscdk.services.lambda.ApplicationLogLevel getApplicationLogLevelV2() { return this.applicationLogLevelV2; } @Override public final software.amazon.awscdk.services.lambda.Architecture getArchitecture() { return this.architecture; } @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.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.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.util.List getInitialPolicy() { return this.initialPolicy; } @Override public final software.amazon.awscdk.services.lambda.LambdaInsightsVersion getInsightsVersion() { return this.insightsVersion; } @Override public final java.lang.Boolean getIpv6AllowedForDualStack() { return this.ipv6AllowedForDualStack; } @Override public final software.amazon.awscdk.services.lambda.LoggingFormat getLoggingFormat() { return this.loggingFormat; } @Override public final software.amazon.awscdk.services.logs.ILogGroup getLogGroup() { return this.logGroup; } @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 software.amazon.awscdk.Duration getMaxEventAge() { return this.maxEventAge; } @Override public final java.lang.Number getMemorySize() { return this.memorySize; } @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 software.amazon.awscdk.services.lambda.ParamsAndSecretsLayerVersion getParamsAndSecrets() { return this.paramsAndSecrets; } @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 software.amazon.awscdk.services.lambda.RecursiveLoop getRecursiveLoop() { return this.recursiveLoop; } @Override public final java.lang.Number getReservedConcurrentExecutions() { return this.reservedConcurrentExecutions; } @Override public final java.lang.Number getRetryAttempts() { return this.retryAttempts; } @Override public final software.amazon.awscdk.services.lambda.RuntimeManagementMode getRuntimeManagementMode() { return this.runtimeManagementMode; } @Override public final software.amazon.awscdk.services.lambda.SnapStartConf getSnapStart() { return this.snapStart; } @Override public final software.amazon.awscdk.services.lambda.SystemLogLevel getSystemLogLevelV2() { return this.systemLogLevelV2; } @Override public final software.amazon.awscdk.Duration getTimeout() { return this.timeout; } @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("code", om.valueToTree(this.getCode())); if (this.getAdotInstrumentation() != null) { data.set("adotInstrumentation", om.valueToTree(this.getAdotInstrumentation())); } if (this.getApplicationLogLevelV2() != null) { data.set("applicationLogLevelV2", om.valueToTree(this.getApplicationLogLevelV2())); } if (this.getArchitecture() != null) { data.set("architecture", om.valueToTree(this.getArchitecture())); } 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.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.getInitialPolicy() != null) { data.set("initialPolicy", om.valueToTree(this.getInitialPolicy())); } if (this.getInsightsVersion() != null) { data.set("insightsVersion", om.valueToTree(this.getInsightsVersion())); } if (this.getIpv6AllowedForDualStack() != null) { data.set("ipv6AllowedForDualStack", om.valueToTree(this.getIpv6AllowedForDualStack())); } if (this.getLoggingFormat() != null) { data.set("loggingFormat", om.valueToTree(this.getLoggingFormat())); } if (this.getLogGroup() != null) { data.set("logGroup", om.valueToTree(this.getLogGroup())); } 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.getMaxEventAge() != null) { data.set("maxEventAge", om.valueToTree(this.getMaxEventAge())); } if (this.getMemorySize() != null) { data.set("memorySize", om.valueToTree(this.getMemorySize())); } if (this.getOnFailure() != null) { data.set("onFailure", om.valueToTree(this.getOnFailure())); } if (this.getOnSuccess() != null) { data.set("onSuccess", om.valueToTree(this.getOnSuccess())); } if (this.getParamsAndSecrets() != null) { data.set("paramsAndSecrets", om.valueToTree(this.getParamsAndSecrets())); } if (this.getProfiling() != null) { data.set("profiling", om.valueToTree(this.getProfiling())); } if (this.getProfilingGroup() != null) { data.set("profilingGroup", om.valueToTree(this.getProfilingGroup())); } if (this.getRecursiveLoop() != null) { data.set("recursiveLoop", om.valueToTree(this.getRecursiveLoop())); } if (this.getReservedConcurrentExecutions() != null) { data.set("reservedConcurrentExecutions", om.valueToTree(this.getReservedConcurrentExecutions())); } if (this.getRetryAttempts() != null) { data.set("retryAttempts", om.valueToTree(this.getRetryAttempts())); } if (this.getRuntimeManagementMode() != null) { data.set("runtimeManagementMode", om.valueToTree(this.getRuntimeManagementMode())); } if (this.getSnapStart() != null) { data.set("snapStart", om.valueToTree(this.getSnapStart())); } if (this.getSystemLogLevelV2() != null) { data.set("systemLogLevelV2", om.valueToTree(this.getSystemLogLevelV2())); } if (this.getTimeout() != null) { data.set("timeout", om.valueToTree(this.getTimeout())); } final com.fasterxml.jackson.databind.node.ObjectNode struct = com.fasterxml.jackson.databind.node.JsonNodeFactory.instance.objectNode(); struct.set("fqn", om.valueToTree("@cdklabs/generative-ai-cdk-constructs.DockerLambdaCustomProps")); 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; DockerLambdaCustomProps.Jsii$Proxy that = (DockerLambdaCustomProps.Jsii$Proxy) o; if (!code.equals(that.code)) return false; if (this.adotInstrumentation != null ? !this.adotInstrumentation.equals(that.adotInstrumentation) : that.adotInstrumentation != null) return false; if (this.applicationLogLevelV2 != null ? !this.applicationLogLevelV2.equals(that.applicationLogLevelV2) : that.applicationLogLevelV2 != null) return false; if (this.architecture != null ? !this.architecture.equals(that.architecture) : that.architecture != 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.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.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.ipv6AllowedForDualStack != null ? !this.ipv6AllowedForDualStack.equals(that.ipv6AllowedForDualStack) : that.ipv6AllowedForDualStack != null) return false; if (this.loggingFormat != null ? !this.loggingFormat.equals(that.loggingFormat) : that.loggingFormat != null) return false; if (this.logGroup != null ? !this.logGroup.equals(that.logGroup) : that.logGroup != 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.maxEventAge != null ? !this.maxEventAge.equals(that.maxEventAge) : that.maxEventAge != null) return false; if (this.memorySize != null ? !this.memorySize.equals(that.memorySize) : that.memorySize != 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; if (this.paramsAndSecrets != null ? !this.paramsAndSecrets.equals(that.paramsAndSecrets) : that.paramsAndSecrets != 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.recursiveLoop != null ? !this.recursiveLoop.equals(that.recursiveLoop) : that.recursiveLoop != null) return false; if (this.reservedConcurrentExecutions != null ? !this.reservedConcurrentExecutions.equals(that.reservedConcurrentExecutions) : that.reservedConcurrentExecutions != null) return false; if (this.retryAttempts != null ? !this.retryAttempts.equals(that.retryAttempts) : that.retryAttempts != null) return false; if (this.runtimeManagementMode != null ? !this.runtimeManagementMode.equals(that.runtimeManagementMode) : that.runtimeManagementMode != null) return false; if (this.snapStart != null ? !this.snapStart.equals(that.snapStart) : that.snapStart != null) return false; if (this.systemLogLevelV2 != null ? !this.systemLogLevelV2.equals(that.systemLogLevelV2) : that.systemLogLevelV2 != null) return false; return this.timeout != null ? this.timeout.equals(that.timeout) : that.timeout == null; } @Override public final int hashCode() { int result = this.code.hashCode(); result = 31 * result + (this.adotInstrumentation != null ? this.adotInstrumentation.hashCode() : 0); result = 31 * result + (this.applicationLogLevelV2 != null ? this.applicationLogLevelV2.hashCode() : 0); result = 31 * result + (this.architecture != null ? this.architecture.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.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.initialPolicy != null ? this.initialPolicy.hashCode() : 0); result = 31 * result + (this.insightsVersion != null ? this.insightsVersion.hashCode() : 0); result = 31 * result + (this.ipv6AllowedForDualStack != null ? this.ipv6AllowedForDualStack.hashCode() : 0); result = 31 * result + (this.loggingFormat != null ? this.loggingFormat.hashCode() : 0); result = 31 * result + (this.logGroup != null ? this.logGroup.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.maxEventAge != null ? this.maxEventAge.hashCode() : 0); result = 31 * result + (this.memorySize != null ? this.memorySize.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.paramsAndSecrets != null ? this.paramsAndSecrets.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.recursiveLoop != null ? this.recursiveLoop.hashCode() : 0); result = 31 * result + (this.reservedConcurrentExecutions != null ? this.reservedConcurrentExecutions.hashCode() : 0); result = 31 * result + (this.retryAttempts != null ? this.retryAttempts.hashCode() : 0); result = 31 * result + (this.runtimeManagementMode != null ? this.runtimeManagementMode.hashCode() : 0); result = 31 * result + (this.snapStart != null ? this.snapStart.hashCode() : 0); result = 31 * result + (this.systemLogLevelV2 != null ? this.systemLogLevelV2.hashCode() : 0); result = 31 * result + (this.timeout != null ? this.timeout.hashCode() : 0); return result; } } }





© 2015 - 2024 Weber Informatics LLC | Privacy Policy