jjrawlins-cdk-ami-builder 0.0.3__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Potentially problematic release.
This version of jjrawlins-cdk-ami-builder might be problematic. Click here for more details.
- jjrawlins_cdk_ami_builder/__init__.py +3973 -0
- jjrawlins_cdk_ami_builder/_jsii/__init__.py +31 -0
- jjrawlins_cdk_ami_builder/_jsii/cdk-ami-builder@0.0.3.jsii.tgz +0 -0
- jjrawlins_cdk_ami_builder/py.typed +1 -0
- jjrawlins_cdk_ami_builder-0.0.3.dist-info/LICENSE +202 -0
- jjrawlins_cdk_ami_builder-0.0.3.dist-info/METADATA +190 -0
- jjrawlins_cdk_ami_builder-0.0.3.dist-info/RECORD +9 -0
- jjrawlins_cdk_ami_builder-0.0.3.dist-info/WHEEL +5 -0
- jjrawlins_cdk_ami_builder-0.0.3.dist-info/top_level.txt +1 -0
|
@@ -0,0 +1,3973 @@
|
|
|
1
|
+
'''
|
|
2
|
+
# ImagePipeline Construct for AWS CDK
|
|
3
|
+
|
|
4
|
+
## Overview
|
|
5
|
+
|
|
6
|
+
The `ImagePipeline` construct is a versatile and powerful component of the AWS Cloud Development Kit (CDK) designed for
|
|
7
|
+
creating and managing AWS Image Builder pipelines. This construct simplifies the process of setting up automated
|
|
8
|
+
pipelines for building and maintaining Amazon Machine Images (AMIs). It provides extensive customization options,
|
|
9
|
+
enabling users to tailor the pipeline to specific needs, including vulnerability scanning, cross-account distribution,
|
|
10
|
+
and more.
|
|
11
|
+
|
|
12
|
+
## Benefits
|
|
13
|
+
|
|
14
|
+
1. **Customizable Image Building**: Offers a wide range of parameters to customize the AMI, including VPC settings,
|
|
15
|
+
security groups, instance types, and more.
|
|
16
|
+
2. **Automated Pipeline Management**: Automates the pipeline creation and execution process, reducing manual effort and
|
|
17
|
+
potential errors.
|
|
18
|
+
3. **Cross-Account AMI Distribution**: Facilitates the copying of AMIs to multiple AWS accounts, enhancing resource
|
|
19
|
+
sharing and collaboration.
|
|
20
|
+
4. **Vulnerability Scanning Integration**: Supports integration with AWS Inspector for continuous vulnerability
|
|
21
|
+
scanning, ensuring security compliance.
|
|
22
|
+
5. **User-Friendly**: Designed with user experience in mind, making it easy to integrate into AWS CDK projects.
|
|
23
|
+
6. **Scalability and Flexibility**: Scales according to your needs and provides flexibility in configuring various
|
|
24
|
+
aspects of the image building process.
|
|
25
|
+
|
|
26
|
+
## Prerequisites
|
|
27
|
+
|
|
28
|
+
* AWS account and AWS CLI configured.
|
|
29
|
+
* Familiarity with AWS CDK and TypeScript.
|
|
30
|
+
* Node.js and npm installed.
|
|
31
|
+
|
|
32
|
+
## Installation
|
|
33
|
+
|
|
34
|
+
Ensure that you have the AWS CDK installed. If not, you can install it using npm:
|
|
35
|
+
|
|
36
|
+
```bash
|
|
37
|
+
npm install -g aws-cdk
|
|
38
|
+
```
|
|
39
|
+
|
|
40
|
+
Next, add the `ImagePipeline` construct to your CDK project:
|
|
41
|
+
|
|
42
|
+
```bash
|
|
43
|
+
npm install '@jjrawlins/cdk-ami-builder' --save
|
|
44
|
+
```
|
|
45
|
+
|
|
46
|
+
## Usage Example
|
|
47
|
+
|
|
48
|
+
Below is an example of how to use the `ImagePipeline` construct in your CDK application.
|
|
49
|
+
|
|
50
|
+
### Importing the Construct
|
|
51
|
+
|
|
52
|
+
First, import the `ImagePipeline` construct into your CDK application:
|
|
53
|
+
|
|
54
|
+
```python
|
|
55
|
+
import { ImagePipeline } from '@jjrawlins/cdk-ami-builder';
|
|
56
|
+
```
|
|
57
|
+
|
|
58
|
+
### Using the Construct
|
|
59
|
+
|
|
60
|
+
Here's an example of how to use the `ImagePipeline` construct:
|
|
61
|
+
|
|
62
|
+
```python
|
|
63
|
+
const vpc = new Vpc(this, 'Vpc', {
|
|
64
|
+
ipAddresses: IpAddresses.cidr(props.vpcCidr as string),
|
|
65
|
+
maxAzs: 2,
|
|
66
|
+
subnetConfiguration: [
|
|
67
|
+
{
|
|
68
|
+
name: 'Public',
|
|
69
|
+
subnetType: SubnetType.PUBLIC,
|
|
70
|
+
cidrMask: 24,
|
|
71
|
+
},
|
|
72
|
+
{
|
|
73
|
+
name: 'Private',
|
|
74
|
+
subnetType: SubnetType.PRIVATE_WITH_EGRESS,
|
|
75
|
+
cidrMask: 24,
|
|
76
|
+
},
|
|
77
|
+
],
|
|
78
|
+
natGateways: 1,
|
|
79
|
+
});
|
|
80
|
+
|
|
81
|
+
const image = ec2.MachineImage.lookup({
|
|
82
|
+
name: 'ubuntu/images/hvm-ssd/ubuntu-jammy-22.04-amd64-server-*',
|
|
83
|
+
owners: ['099720109477'],
|
|
84
|
+
});
|
|
85
|
+
|
|
86
|
+
const version = process.env.IMAGE_VERSION_NUMBER ?? '0.0.8';
|
|
87
|
+
|
|
88
|
+
const imagePipeline = new ImagePipeline(this, 'ImagePipeline', {
|
|
89
|
+
parentImage: image.getImage(this).imageId,
|
|
90
|
+
vpc: vpc,
|
|
91
|
+
imageRecipeVersion: version,
|
|
92
|
+
autoBuild: true, // Otherwise you can't use the below output
|
|
93
|
+
components: [
|
|
94
|
+
{
|
|
95
|
+
name: 'Install-Monitoring',
|
|
96
|
+
platform: 'Linux',
|
|
97
|
+
componentDocument: {
|
|
98
|
+
phases: [{
|
|
99
|
+
name: 'build',
|
|
100
|
+
steps: [
|
|
101
|
+
{
|
|
102
|
+
name: 'Install-CloudWatch-Agent',
|
|
103
|
+
action: 'ExecuteBash',
|
|
104
|
+
inputs: {
|
|
105
|
+
commands: [
|
|
106
|
+
'apt-get update',
|
|
107
|
+
'DEBIAN_FRONTEND=noninteractive apt-get install -y g++ make cmake unzip libcur14-openssl-dev',
|
|
108
|
+
'DEBIAN_FRONTEND=noninteractive apt-get install -y curl sudo jq bash zip unzip iptables software-properties-common ca-certificates',
|
|
109
|
+
'curl -sfLo /tmp/amazon-cloudwatch-agent.deb https://s3.amazonaws.com/amazoncloudwatch-agent/ubuntu/amd64/latest/amazon-cloudwatch-agent.deb',
|
|
110
|
+
'dpkg -i -E /tmp/amazon-cloudwatch-agent.deb',
|
|
111
|
+
'rm /tmp/amazon-cloudwatch-agent.deb',
|
|
112
|
+
],
|
|
113
|
+
},
|
|
114
|
+
},
|
|
115
|
+
],
|
|
116
|
+
}],
|
|
117
|
+
},
|
|
118
|
+
},
|
|
119
|
+
],
|
|
120
|
+
});
|
|
121
|
+
|
|
122
|
+
new CfnOutput(this, `ImageId-${this.stackName}`, {
|
|
123
|
+
value: imagePipeline.imageId, // Only valid if autoBuild=true
|
|
124
|
+
description: 'The AMI ID of the image created by the pipeline',
|
|
125
|
+
});
|
|
126
|
+
```
|
|
127
|
+
|
|
128
|
+
This example demonstrates creating a new VPC and setting up an Image Pipeline within it. You can customize the `
|
|
129
|
+
|
|
130
|
+
ImagePipeline` properties according to your requirements.
|
|
131
|
+
|
|
132
|
+
### Customization Options
|
|
133
|
+
|
|
134
|
+
* `vpc`: Specify the VPC where the Image Pipeline will be deployed.
|
|
135
|
+
* `parentImage`: Define the base AMI for the image recipe.
|
|
136
|
+
* `components`: List custom components for the AMI, such as software installations and configurations.
|
|
137
|
+
* Additional properties like `imageRecipeVersion`, `platform`, `enableVulnScans`, etc., allow further customization.
|
|
138
|
+
|
|
139
|
+
### Outputs
|
|
140
|
+
|
|
141
|
+
The construct provides outputs like `imagePipelineArn` and `imageId`, which can be used in other parts of your AWS
|
|
142
|
+
infrastructure setup.
|
|
143
|
+
|
|
144
|
+
## Best Practices
|
|
145
|
+
|
|
146
|
+
1. **Parameter Validation**: Ensure that all inputs to the construct are validated.
|
|
147
|
+
2. **Security**: Follow best practices for security group and IAM role configurations.
|
|
148
|
+
3. **Resource Naming**: Use meaningful names for resources for better manageability.
|
|
149
|
+
4. **Error Handling**: Implement error handling for pipeline execution and custom resources.
|
|
150
|
+
|
|
151
|
+
## Support and Contribution
|
|
152
|
+
|
|
153
|
+
For support, please contact the package maintainer or open an issue in the repository. Contributions to the package are
|
|
154
|
+
welcome. Please follow the contribution guidelines in the repository.
|
|
155
|
+
|
|
156
|
+
---
|
|
157
|
+
|
|
158
|
+
|
|
159
|
+
This README provides a basic guide to getting started with the `ImagePipeline` construct. For more advanced usage and
|
|
160
|
+
customization, refer to the detailed documentation in the package.
|
|
161
|
+
|
|
162
|
+

|
|
163
|
+
'''
|
|
164
|
+
from pkgutil import extend_path
|
|
165
|
+
__path__ = extend_path(__path__, __name__)
|
|
166
|
+
|
|
167
|
+
import abc
|
|
168
|
+
import builtins
|
|
169
|
+
import datetime
|
|
170
|
+
import enum
|
|
171
|
+
import typing
|
|
172
|
+
|
|
173
|
+
import jsii
|
|
174
|
+
import publication
|
|
175
|
+
import typing_extensions
|
|
176
|
+
|
|
177
|
+
from typeguard import check_type
|
|
178
|
+
|
|
179
|
+
from ._jsii import *
|
|
180
|
+
|
|
181
|
+
import aws_cdk as _aws_cdk_ceddda9d
|
|
182
|
+
import aws_cdk.aws_codeguruprofiler as _aws_cdk_aws_codeguruprofiler_ceddda9d
|
|
183
|
+
import aws_cdk.aws_ec2 as _aws_cdk_aws_ec2_ceddda9d
|
|
184
|
+
import aws_cdk.aws_iam as _aws_cdk_aws_iam_ceddda9d
|
|
185
|
+
import aws_cdk.aws_imagebuilder as _aws_cdk_aws_imagebuilder_ceddda9d
|
|
186
|
+
import aws_cdk.aws_kms as _aws_cdk_aws_kms_ceddda9d
|
|
187
|
+
import aws_cdk.aws_lambda as _aws_cdk_aws_lambda_ceddda9d
|
|
188
|
+
import aws_cdk.aws_logs as _aws_cdk_aws_logs_ceddda9d
|
|
189
|
+
import aws_cdk.aws_sns as _aws_cdk_aws_sns_ceddda9d
|
|
190
|
+
import aws_cdk.aws_sqs as _aws_cdk_aws_sqs_ceddda9d
|
|
191
|
+
import constructs as _constructs_77d1e7e8
|
|
192
|
+
|
|
193
|
+
|
|
194
|
+
class CheckStateMachineStatusFunction(
|
|
195
|
+
_aws_cdk_aws_lambda_ceddda9d.Function,
|
|
196
|
+
metaclass=jsii.JSIIMeta,
|
|
197
|
+
jsii_type="@jjrawlins/cdk-ami-builder.CheckStateMachineStatusFunction",
|
|
198
|
+
):
|
|
199
|
+
'''An AWS Lambda function which executes src/Lambdas/CheckStateMachineStatus/CheckStateMachineStatus.'''
|
|
200
|
+
|
|
201
|
+
def __init__(
|
|
202
|
+
self,
|
|
203
|
+
scope: _constructs_77d1e7e8.Construct,
|
|
204
|
+
id: builtins.str,
|
|
205
|
+
*,
|
|
206
|
+
adot_instrumentation: typing.Optional[typing.Union[_aws_cdk_aws_lambda_ceddda9d.AdotInstrumentationConfig, typing.Dict[builtins.str, typing.Any]]] = None,
|
|
207
|
+
allow_all_outbound: typing.Optional[builtins.bool] = None,
|
|
208
|
+
allow_public_subnet: typing.Optional[builtins.bool] = None,
|
|
209
|
+
application_log_level: typing.Optional[builtins.str] = None,
|
|
210
|
+
application_log_level_v2: typing.Optional[_aws_cdk_aws_lambda_ceddda9d.ApplicationLogLevel] = None,
|
|
211
|
+
architecture: typing.Optional[_aws_cdk_aws_lambda_ceddda9d.Architecture] = None,
|
|
212
|
+
code_signing_config: typing.Optional[_aws_cdk_aws_lambda_ceddda9d.ICodeSigningConfig] = None,
|
|
213
|
+
current_version_options: typing.Optional[typing.Union[_aws_cdk_aws_lambda_ceddda9d.VersionOptions, typing.Dict[builtins.str, typing.Any]]] = None,
|
|
214
|
+
dead_letter_queue: typing.Optional[_aws_cdk_aws_sqs_ceddda9d.IQueue] = None,
|
|
215
|
+
dead_letter_queue_enabled: typing.Optional[builtins.bool] = None,
|
|
216
|
+
dead_letter_topic: typing.Optional[_aws_cdk_aws_sns_ceddda9d.ITopic] = None,
|
|
217
|
+
description: typing.Optional[builtins.str] = None,
|
|
218
|
+
environment: typing.Optional[typing.Mapping[builtins.str, builtins.str]] = None,
|
|
219
|
+
environment_encryption: typing.Optional[_aws_cdk_aws_kms_ceddda9d.IKey] = None,
|
|
220
|
+
ephemeral_storage_size: typing.Optional[_aws_cdk_ceddda9d.Size] = None,
|
|
221
|
+
events: typing.Optional[typing.Sequence[_aws_cdk_aws_lambda_ceddda9d.IEventSource]] = None,
|
|
222
|
+
filesystem: typing.Optional[_aws_cdk_aws_lambda_ceddda9d.FileSystem] = None,
|
|
223
|
+
function_name: typing.Optional[builtins.str] = None,
|
|
224
|
+
initial_policy: typing.Optional[typing.Sequence[_aws_cdk_aws_iam_ceddda9d.PolicyStatement]] = None,
|
|
225
|
+
insights_version: typing.Optional[_aws_cdk_aws_lambda_ceddda9d.LambdaInsightsVersion] = None,
|
|
226
|
+
ipv6_allowed_for_dual_stack: typing.Optional[builtins.bool] = None,
|
|
227
|
+
layers: typing.Optional[typing.Sequence[_aws_cdk_aws_lambda_ceddda9d.ILayerVersion]] = None,
|
|
228
|
+
log_format: typing.Optional[builtins.str] = None,
|
|
229
|
+
logging_format: typing.Optional[_aws_cdk_aws_lambda_ceddda9d.LoggingFormat] = None,
|
|
230
|
+
log_group: typing.Optional[_aws_cdk_aws_logs_ceddda9d.ILogGroup] = None,
|
|
231
|
+
log_retention: typing.Optional[_aws_cdk_aws_logs_ceddda9d.RetentionDays] = None,
|
|
232
|
+
log_retention_retry_options: typing.Optional[typing.Union[_aws_cdk_aws_lambda_ceddda9d.LogRetentionRetryOptions, typing.Dict[builtins.str, typing.Any]]] = None,
|
|
233
|
+
log_retention_role: typing.Optional[_aws_cdk_aws_iam_ceddda9d.IRole] = None,
|
|
234
|
+
memory_size: typing.Optional[jsii.Number] = None,
|
|
235
|
+
params_and_secrets: typing.Optional[_aws_cdk_aws_lambda_ceddda9d.ParamsAndSecretsLayerVersion] = None,
|
|
236
|
+
profiling: typing.Optional[builtins.bool] = None,
|
|
237
|
+
profiling_group: typing.Optional[_aws_cdk_aws_codeguruprofiler_ceddda9d.IProfilingGroup] = None,
|
|
238
|
+
reserved_concurrent_executions: typing.Optional[jsii.Number] = None,
|
|
239
|
+
role: typing.Optional[_aws_cdk_aws_iam_ceddda9d.IRole] = None,
|
|
240
|
+
runtime_management_mode: typing.Optional[_aws_cdk_aws_lambda_ceddda9d.RuntimeManagementMode] = None,
|
|
241
|
+
security_groups: typing.Optional[typing.Sequence[_aws_cdk_aws_ec2_ceddda9d.ISecurityGroup]] = None,
|
|
242
|
+
snap_start: typing.Optional[_aws_cdk_aws_lambda_ceddda9d.SnapStartConf] = None,
|
|
243
|
+
system_log_level: typing.Optional[builtins.str] = None,
|
|
244
|
+
system_log_level_v2: typing.Optional[_aws_cdk_aws_lambda_ceddda9d.SystemLogLevel] = None,
|
|
245
|
+
timeout: typing.Optional[_aws_cdk_ceddda9d.Duration] = None,
|
|
246
|
+
tracing: typing.Optional[_aws_cdk_aws_lambda_ceddda9d.Tracing] = None,
|
|
247
|
+
vpc: typing.Optional[_aws_cdk_aws_ec2_ceddda9d.IVpc] = None,
|
|
248
|
+
vpc_subnets: typing.Optional[typing.Union[_aws_cdk_aws_ec2_ceddda9d.SubnetSelection, typing.Dict[builtins.str, typing.Any]]] = None,
|
|
249
|
+
max_event_age: typing.Optional[_aws_cdk_ceddda9d.Duration] = None,
|
|
250
|
+
on_failure: typing.Optional[_aws_cdk_aws_lambda_ceddda9d.IDestination] = None,
|
|
251
|
+
on_success: typing.Optional[_aws_cdk_aws_lambda_ceddda9d.IDestination] = None,
|
|
252
|
+
retry_attempts: typing.Optional[jsii.Number] = None,
|
|
253
|
+
) -> None:
|
|
254
|
+
'''
|
|
255
|
+
:param scope: -
|
|
256
|
+
:param id: -
|
|
257
|
+
:param adot_instrumentation: Specify the configuration of AWS Distro for OpenTelemetry (ADOT) instrumentation. Default: - No ADOT instrumentation
|
|
258
|
+
:param allow_all_outbound: 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. Do not specify this property if the ``securityGroups`` or ``securityGroup`` property is set. Instead, configure ``allowAllOutbound`` directly on the security group. Default: true
|
|
259
|
+
:param allow_public_subnet: 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. Default: false
|
|
260
|
+
:param application_log_level: (deprecated) Sets the application log level for the function. Default: "INFO"
|
|
261
|
+
:param application_log_level_v2: Sets the application log level for the function. Default: ApplicationLogLevel.INFO
|
|
262
|
+
:param architecture: The system architectures compatible with this lambda function. Default: Architecture.X86_64
|
|
263
|
+
:param code_signing_config: Code signing config associated with this function. Default: - Not Sign the Code
|
|
264
|
+
:param current_version_options: Options for the ``lambda.Version`` resource automatically created by the ``fn.currentVersion`` method. Default: - default options as described in ``VersionOptions``
|
|
265
|
+
:param dead_letter_queue: 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``
|
|
266
|
+
:param dead_letter_queue_enabled: 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.
|
|
267
|
+
:param dead_letter_topic: 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
|
|
268
|
+
:param description: A description of the function. Default: - No description.
|
|
269
|
+
: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. Default: - No environment variables.
|
|
270
|
+
:param environment_encryption: 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).
|
|
271
|
+
:param ephemeral_storage_size: The size of the function’s /tmp directory in MiB. Default: 512 MiB
|
|
272
|
+
:param events: Event sources for this function. You can also add event sources using ``addEventSource``. Default: - No event sources.
|
|
273
|
+
:param filesystem: The filesystem configuration for the lambda function. Default: - will not mount any filesystem
|
|
274
|
+
:param function_name: A name for the function. Default: - AWS CloudFormation generates a unique physical ID and uses that ID for the function's name. For more information, see Name Type.
|
|
275
|
+
:param initial_policy: 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.
|
|
276
|
+
:param insights_version: Specify the version of CloudWatch Lambda insights to use for monitoring. Default: - No Lambda Insights
|
|
277
|
+
:param ipv6_allowed_for_dual_stack: Allows outbound IPv6 traffic on VPC functions that are connected to dual-stack subnets. Only used if 'vpc' is supplied. Default: false
|
|
278
|
+
: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. Default: - No layers.
|
|
279
|
+
:param log_format: (deprecated) Sets the logFormat for the function. Default: "Text"
|
|
280
|
+
:param logging_format: Sets the loggingFormat for the function. Default: LoggingFormat.TEXT
|
|
281
|
+
:param log_group: The log group the function sends logs to. By default, Lambda functions send logs to an automatically created default log group named /aws/lambda/<function name>. 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
|
|
282
|
+
:param log_retention: 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
|
|
283
|
+
:param log_retention_retry_options: 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.
|
|
284
|
+
:param log_retention_role: 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.
|
|
285
|
+
:param memory_size: 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
|
|
286
|
+
:param params_and_secrets: Specify the configuration of Parameters and Secrets Extension. Default: - No Parameters and Secrets Extension
|
|
287
|
+
:param profiling: Enable profiling. Default: - No profiling.
|
|
288
|
+
:param profiling_group: Profiling Group. Default: - A new profiling group will be created if ``profiling`` is set.
|
|
289
|
+
:param reserved_concurrent_executions: The maximum of concurrent executions you want to reserve for the function. Default: - No specific limit - account limit.
|
|
290
|
+
: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". Default: - A unique role will be generated for this lambda function. Both supplied and generated roles can always be changed by calling ``addToRolePolicy``.
|
|
291
|
+
:param runtime_management_mode: Sets the runtime management configuration for a function's version. Default: Auto
|
|
292
|
+
:param security_groups: The list of security groups to associate with the Lambda's network interfaces. Only used if 'vpc' is supplied. Default: - If the function is placed within a VPC and a security group is not specified, either by this or securityGroup prop, a dedicated security group will be created for this function.
|
|
293
|
+
:param snap_start: Enable SnapStart for Lambda Function. SnapStart is currently supported only for Java 11, 17 runtime Default: - No snapstart
|
|
294
|
+
:param system_log_level: (deprecated) Sets the system log level for the function. Default: "INFO"
|
|
295
|
+
:param system_log_level_v2: Sets the system log level for the function. Default: SystemLogLevel.INFO
|
|
296
|
+
: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. Default: Duration.seconds(3)
|
|
297
|
+
:param tracing: Enable AWS X-Ray Tracing for Lambda Function. Default: Tracing.Disabled
|
|
298
|
+
:param vpc: VPC network to place Lambda network interfaces. Specify this if the Lambda function needs to access resources in a VPC. This is required when ``vpcSubnets`` is specified. Default: - Function is not placed within a VPC.
|
|
299
|
+
:param vpc_subnets: Where to place the network interfaces within the VPC. This requires ``vpc`` to be specified in order for interfaces to actually be placed in the subnets. If ``vpc`` is not specify, this will raise an error. Note: Internet access for Lambda Functions requires a NAT Gateway, so picking public subnets is not allowed (unless ``allowPublicSubnet`` is set to ``true``). Default: - the Vpc default strategy if not specified
|
|
300
|
+
:param max_event_age: The maximum age of a request that Lambda sends to a function for processing. Minimum: 60 seconds Maximum: 6 hours Default: Duration.hours(6)
|
|
301
|
+
:param on_failure: The destination for failed invocations. Default: - no destination
|
|
302
|
+
:param on_success: The destination for successful invocations. Default: - no destination
|
|
303
|
+
:param retry_attempts: The maximum number of times to retry when the function returns an error. Minimum: 0 Maximum: 2 Default: 2
|
|
304
|
+
'''
|
|
305
|
+
if __debug__:
|
|
306
|
+
type_hints = typing.get_type_hints(_typecheckingstub__80a7e839717caae4ae025b044129f52691774b5a0c3597bea181450461089015)
|
|
307
|
+
check_type(argname="argument scope", value=scope, expected_type=type_hints["scope"])
|
|
308
|
+
check_type(argname="argument id", value=id, expected_type=type_hints["id"])
|
|
309
|
+
props = CheckStateMachineStatusFunctionProps(
|
|
310
|
+
adot_instrumentation=adot_instrumentation,
|
|
311
|
+
allow_all_outbound=allow_all_outbound,
|
|
312
|
+
allow_public_subnet=allow_public_subnet,
|
|
313
|
+
application_log_level=application_log_level,
|
|
314
|
+
application_log_level_v2=application_log_level_v2,
|
|
315
|
+
architecture=architecture,
|
|
316
|
+
code_signing_config=code_signing_config,
|
|
317
|
+
current_version_options=current_version_options,
|
|
318
|
+
dead_letter_queue=dead_letter_queue,
|
|
319
|
+
dead_letter_queue_enabled=dead_letter_queue_enabled,
|
|
320
|
+
dead_letter_topic=dead_letter_topic,
|
|
321
|
+
description=description,
|
|
322
|
+
environment=environment,
|
|
323
|
+
environment_encryption=environment_encryption,
|
|
324
|
+
ephemeral_storage_size=ephemeral_storage_size,
|
|
325
|
+
events=events,
|
|
326
|
+
filesystem=filesystem,
|
|
327
|
+
function_name=function_name,
|
|
328
|
+
initial_policy=initial_policy,
|
|
329
|
+
insights_version=insights_version,
|
|
330
|
+
ipv6_allowed_for_dual_stack=ipv6_allowed_for_dual_stack,
|
|
331
|
+
layers=layers,
|
|
332
|
+
log_format=log_format,
|
|
333
|
+
logging_format=logging_format,
|
|
334
|
+
log_group=log_group,
|
|
335
|
+
log_retention=log_retention,
|
|
336
|
+
log_retention_retry_options=log_retention_retry_options,
|
|
337
|
+
log_retention_role=log_retention_role,
|
|
338
|
+
memory_size=memory_size,
|
|
339
|
+
params_and_secrets=params_and_secrets,
|
|
340
|
+
profiling=profiling,
|
|
341
|
+
profiling_group=profiling_group,
|
|
342
|
+
reserved_concurrent_executions=reserved_concurrent_executions,
|
|
343
|
+
role=role,
|
|
344
|
+
runtime_management_mode=runtime_management_mode,
|
|
345
|
+
security_groups=security_groups,
|
|
346
|
+
snap_start=snap_start,
|
|
347
|
+
system_log_level=system_log_level,
|
|
348
|
+
system_log_level_v2=system_log_level_v2,
|
|
349
|
+
timeout=timeout,
|
|
350
|
+
tracing=tracing,
|
|
351
|
+
vpc=vpc,
|
|
352
|
+
vpc_subnets=vpc_subnets,
|
|
353
|
+
max_event_age=max_event_age,
|
|
354
|
+
on_failure=on_failure,
|
|
355
|
+
on_success=on_success,
|
|
356
|
+
retry_attempts=retry_attempts,
|
|
357
|
+
)
|
|
358
|
+
|
|
359
|
+
jsii.create(self.__class__, self, [scope, id, props])
|
|
360
|
+
|
|
361
|
+
|
|
362
|
+
@jsii.data_type(
|
|
363
|
+
jsii_type="@jjrawlins/cdk-ami-builder.CheckStateMachineStatusFunctionProps",
|
|
364
|
+
jsii_struct_bases=[_aws_cdk_aws_lambda_ceddda9d.FunctionOptions],
|
|
365
|
+
name_mapping={
|
|
366
|
+
"max_event_age": "maxEventAge",
|
|
367
|
+
"on_failure": "onFailure",
|
|
368
|
+
"on_success": "onSuccess",
|
|
369
|
+
"retry_attempts": "retryAttempts",
|
|
370
|
+
"adot_instrumentation": "adotInstrumentation",
|
|
371
|
+
"allow_all_outbound": "allowAllOutbound",
|
|
372
|
+
"allow_public_subnet": "allowPublicSubnet",
|
|
373
|
+
"application_log_level": "applicationLogLevel",
|
|
374
|
+
"application_log_level_v2": "applicationLogLevelV2",
|
|
375
|
+
"architecture": "architecture",
|
|
376
|
+
"code_signing_config": "codeSigningConfig",
|
|
377
|
+
"current_version_options": "currentVersionOptions",
|
|
378
|
+
"dead_letter_queue": "deadLetterQueue",
|
|
379
|
+
"dead_letter_queue_enabled": "deadLetterQueueEnabled",
|
|
380
|
+
"dead_letter_topic": "deadLetterTopic",
|
|
381
|
+
"description": "description",
|
|
382
|
+
"environment": "environment",
|
|
383
|
+
"environment_encryption": "environmentEncryption",
|
|
384
|
+
"ephemeral_storage_size": "ephemeralStorageSize",
|
|
385
|
+
"events": "events",
|
|
386
|
+
"filesystem": "filesystem",
|
|
387
|
+
"function_name": "functionName",
|
|
388
|
+
"initial_policy": "initialPolicy",
|
|
389
|
+
"insights_version": "insightsVersion",
|
|
390
|
+
"ipv6_allowed_for_dual_stack": "ipv6AllowedForDualStack",
|
|
391
|
+
"layers": "layers",
|
|
392
|
+
"log_format": "logFormat",
|
|
393
|
+
"logging_format": "loggingFormat",
|
|
394
|
+
"log_group": "logGroup",
|
|
395
|
+
"log_retention": "logRetention",
|
|
396
|
+
"log_retention_retry_options": "logRetentionRetryOptions",
|
|
397
|
+
"log_retention_role": "logRetentionRole",
|
|
398
|
+
"memory_size": "memorySize",
|
|
399
|
+
"params_and_secrets": "paramsAndSecrets",
|
|
400
|
+
"profiling": "profiling",
|
|
401
|
+
"profiling_group": "profilingGroup",
|
|
402
|
+
"reserved_concurrent_executions": "reservedConcurrentExecutions",
|
|
403
|
+
"role": "role",
|
|
404
|
+
"runtime_management_mode": "runtimeManagementMode",
|
|
405
|
+
"security_groups": "securityGroups",
|
|
406
|
+
"snap_start": "snapStart",
|
|
407
|
+
"system_log_level": "systemLogLevel",
|
|
408
|
+
"system_log_level_v2": "systemLogLevelV2",
|
|
409
|
+
"timeout": "timeout",
|
|
410
|
+
"tracing": "tracing",
|
|
411
|
+
"vpc": "vpc",
|
|
412
|
+
"vpc_subnets": "vpcSubnets",
|
|
413
|
+
},
|
|
414
|
+
)
|
|
415
|
+
class CheckStateMachineStatusFunctionProps(
|
|
416
|
+
_aws_cdk_aws_lambda_ceddda9d.FunctionOptions,
|
|
417
|
+
):
|
|
418
|
+
def __init__(
|
|
419
|
+
self,
|
|
420
|
+
*,
|
|
421
|
+
max_event_age: typing.Optional[_aws_cdk_ceddda9d.Duration] = None,
|
|
422
|
+
on_failure: typing.Optional[_aws_cdk_aws_lambda_ceddda9d.IDestination] = None,
|
|
423
|
+
on_success: typing.Optional[_aws_cdk_aws_lambda_ceddda9d.IDestination] = None,
|
|
424
|
+
retry_attempts: typing.Optional[jsii.Number] = None,
|
|
425
|
+
adot_instrumentation: typing.Optional[typing.Union[_aws_cdk_aws_lambda_ceddda9d.AdotInstrumentationConfig, typing.Dict[builtins.str, typing.Any]]] = None,
|
|
426
|
+
allow_all_outbound: typing.Optional[builtins.bool] = None,
|
|
427
|
+
allow_public_subnet: typing.Optional[builtins.bool] = None,
|
|
428
|
+
application_log_level: typing.Optional[builtins.str] = None,
|
|
429
|
+
application_log_level_v2: typing.Optional[_aws_cdk_aws_lambda_ceddda9d.ApplicationLogLevel] = None,
|
|
430
|
+
architecture: typing.Optional[_aws_cdk_aws_lambda_ceddda9d.Architecture] = None,
|
|
431
|
+
code_signing_config: typing.Optional[_aws_cdk_aws_lambda_ceddda9d.ICodeSigningConfig] = None,
|
|
432
|
+
current_version_options: typing.Optional[typing.Union[_aws_cdk_aws_lambda_ceddda9d.VersionOptions, typing.Dict[builtins.str, typing.Any]]] = None,
|
|
433
|
+
dead_letter_queue: typing.Optional[_aws_cdk_aws_sqs_ceddda9d.IQueue] = None,
|
|
434
|
+
dead_letter_queue_enabled: typing.Optional[builtins.bool] = None,
|
|
435
|
+
dead_letter_topic: typing.Optional[_aws_cdk_aws_sns_ceddda9d.ITopic] = None,
|
|
436
|
+
description: typing.Optional[builtins.str] = None,
|
|
437
|
+
environment: typing.Optional[typing.Mapping[builtins.str, builtins.str]] = None,
|
|
438
|
+
environment_encryption: typing.Optional[_aws_cdk_aws_kms_ceddda9d.IKey] = None,
|
|
439
|
+
ephemeral_storage_size: typing.Optional[_aws_cdk_ceddda9d.Size] = None,
|
|
440
|
+
events: typing.Optional[typing.Sequence[_aws_cdk_aws_lambda_ceddda9d.IEventSource]] = None,
|
|
441
|
+
filesystem: typing.Optional[_aws_cdk_aws_lambda_ceddda9d.FileSystem] = None,
|
|
442
|
+
function_name: typing.Optional[builtins.str] = None,
|
|
443
|
+
initial_policy: typing.Optional[typing.Sequence[_aws_cdk_aws_iam_ceddda9d.PolicyStatement]] = None,
|
|
444
|
+
insights_version: typing.Optional[_aws_cdk_aws_lambda_ceddda9d.LambdaInsightsVersion] = None,
|
|
445
|
+
ipv6_allowed_for_dual_stack: typing.Optional[builtins.bool] = None,
|
|
446
|
+
layers: typing.Optional[typing.Sequence[_aws_cdk_aws_lambda_ceddda9d.ILayerVersion]] = None,
|
|
447
|
+
log_format: typing.Optional[builtins.str] = None,
|
|
448
|
+
logging_format: typing.Optional[_aws_cdk_aws_lambda_ceddda9d.LoggingFormat] = None,
|
|
449
|
+
log_group: typing.Optional[_aws_cdk_aws_logs_ceddda9d.ILogGroup] = None,
|
|
450
|
+
log_retention: typing.Optional[_aws_cdk_aws_logs_ceddda9d.RetentionDays] = None,
|
|
451
|
+
log_retention_retry_options: typing.Optional[typing.Union[_aws_cdk_aws_lambda_ceddda9d.LogRetentionRetryOptions, typing.Dict[builtins.str, typing.Any]]] = None,
|
|
452
|
+
log_retention_role: typing.Optional[_aws_cdk_aws_iam_ceddda9d.IRole] = None,
|
|
453
|
+
memory_size: typing.Optional[jsii.Number] = None,
|
|
454
|
+
params_and_secrets: typing.Optional[_aws_cdk_aws_lambda_ceddda9d.ParamsAndSecretsLayerVersion] = None,
|
|
455
|
+
profiling: typing.Optional[builtins.bool] = None,
|
|
456
|
+
profiling_group: typing.Optional[_aws_cdk_aws_codeguruprofiler_ceddda9d.IProfilingGroup] = None,
|
|
457
|
+
reserved_concurrent_executions: typing.Optional[jsii.Number] = None,
|
|
458
|
+
role: typing.Optional[_aws_cdk_aws_iam_ceddda9d.IRole] = None,
|
|
459
|
+
runtime_management_mode: typing.Optional[_aws_cdk_aws_lambda_ceddda9d.RuntimeManagementMode] = None,
|
|
460
|
+
security_groups: typing.Optional[typing.Sequence[_aws_cdk_aws_ec2_ceddda9d.ISecurityGroup]] = None,
|
|
461
|
+
snap_start: typing.Optional[_aws_cdk_aws_lambda_ceddda9d.SnapStartConf] = None,
|
|
462
|
+
system_log_level: typing.Optional[builtins.str] = None,
|
|
463
|
+
system_log_level_v2: typing.Optional[_aws_cdk_aws_lambda_ceddda9d.SystemLogLevel] = None,
|
|
464
|
+
timeout: typing.Optional[_aws_cdk_ceddda9d.Duration] = None,
|
|
465
|
+
tracing: typing.Optional[_aws_cdk_aws_lambda_ceddda9d.Tracing] = None,
|
|
466
|
+
vpc: typing.Optional[_aws_cdk_aws_ec2_ceddda9d.IVpc] = None,
|
|
467
|
+
vpc_subnets: typing.Optional[typing.Union[_aws_cdk_aws_ec2_ceddda9d.SubnetSelection, typing.Dict[builtins.str, typing.Any]]] = None,
|
|
468
|
+
) -> None:
|
|
469
|
+
'''Props for CheckStateMachineStatusFunction.
|
|
470
|
+
|
|
471
|
+
:param max_event_age: The maximum age of a request that Lambda sends to a function for processing. Minimum: 60 seconds Maximum: 6 hours Default: Duration.hours(6)
|
|
472
|
+
:param on_failure: The destination for failed invocations. Default: - no destination
|
|
473
|
+
:param on_success: The destination for successful invocations. Default: - no destination
|
|
474
|
+
:param retry_attempts: The maximum number of times to retry when the function returns an error. Minimum: 0 Maximum: 2 Default: 2
|
|
475
|
+
:param adot_instrumentation: Specify the configuration of AWS Distro for OpenTelemetry (ADOT) instrumentation. Default: - No ADOT instrumentation
|
|
476
|
+
:param allow_all_outbound: 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. Do not specify this property if the ``securityGroups`` or ``securityGroup`` property is set. Instead, configure ``allowAllOutbound`` directly on the security group. Default: true
|
|
477
|
+
:param allow_public_subnet: 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. Default: false
|
|
478
|
+
:param application_log_level: (deprecated) Sets the application log level for the function. Default: "INFO"
|
|
479
|
+
:param application_log_level_v2: Sets the application log level for the function. Default: ApplicationLogLevel.INFO
|
|
480
|
+
:param architecture: The system architectures compatible with this lambda function. Default: Architecture.X86_64
|
|
481
|
+
:param code_signing_config: Code signing config associated with this function. Default: - Not Sign the Code
|
|
482
|
+
:param current_version_options: Options for the ``lambda.Version`` resource automatically created by the ``fn.currentVersion`` method. Default: - default options as described in ``VersionOptions``
|
|
483
|
+
:param dead_letter_queue: 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``
|
|
484
|
+
:param dead_letter_queue_enabled: 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.
|
|
485
|
+
:param dead_letter_topic: 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
|
|
486
|
+
:param description: A description of the function. Default: - No description.
|
|
487
|
+
: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. Default: - No environment variables.
|
|
488
|
+
:param environment_encryption: 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).
|
|
489
|
+
:param ephemeral_storage_size: The size of the function’s /tmp directory in MiB. Default: 512 MiB
|
|
490
|
+
:param events: Event sources for this function. You can also add event sources using ``addEventSource``. Default: - No event sources.
|
|
491
|
+
:param filesystem: The filesystem configuration for the lambda function. Default: - will not mount any filesystem
|
|
492
|
+
:param function_name: A name for the function. Default: - AWS CloudFormation generates a unique physical ID and uses that ID for the function's name. For more information, see Name Type.
|
|
493
|
+
:param initial_policy: 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.
|
|
494
|
+
:param insights_version: Specify the version of CloudWatch Lambda insights to use for monitoring. Default: - No Lambda Insights
|
|
495
|
+
:param ipv6_allowed_for_dual_stack: Allows outbound IPv6 traffic on VPC functions that are connected to dual-stack subnets. Only used if 'vpc' is supplied. Default: false
|
|
496
|
+
: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. Default: - No layers.
|
|
497
|
+
:param log_format: (deprecated) Sets the logFormat for the function. Default: "Text"
|
|
498
|
+
:param logging_format: Sets the loggingFormat for the function. Default: LoggingFormat.TEXT
|
|
499
|
+
:param log_group: The log group the function sends logs to. By default, Lambda functions send logs to an automatically created default log group named /aws/lambda/<function name>. 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
|
|
500
|
+
:param log_retention: 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
|
|
501
|
+
:param log_retention_retry_options: 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.
|
|
502
|
+
:param log_retention_role: 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.
|
|
503
|
+
:param memory_size: 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
|
|
504
|
+
:param params_and_secrets: Specify the configuration of Parameters and Secrets Extension. Default: - No Parameters and Secrets Extension
|
|
505
|
+
:param profiling: Enable profiling. Default: - No profiling.
|
|
506
|
+
:param profiling_group: Profiling Group. Default: - A new profiling group will be created if ``profiling`` is set.
|
|
507
|
+
:param reserved_concurrent_executions: The maximum of concurrent executions you want to reserve for the function. Default: - No specific limit - account limit.
|
|
508
|
+
: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". Default: - A unique role will be generated for this lambda function. Both supplied and generated roles can always be changed by calling ``addToRolePolicy``.
|
|
509
|
+
:param runtime_management_mode: Sets the runtime management configuration for a function's version. Default: Auto
|
|
510
|
+
:param security_groups: The list of security groups to associate with the Lambda's network interfaces. Only used if 'vpc' is supplied. Default: - If the function is placed within a VPC and a security group is not specified, either by this or securityGroup prop, a dedicated security group will be created for this function.
|
|
511
|
+
:param snap_start: Enable SnapStart for Lambda Function. SnapStart is currently supported only for Java 11, 17 runtime Default: - No snapstart
|
|
512
|
+
:param system_log_level: (deprecated) Sets the system log level for the function. Default: "INFO"
|
|
513
|
+
:param system_log_level_v2: Sets the system log level for the function. Default: SystemLogLevel.INFO
|
|
514
|
+
: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. Default: Duration.seconds(3)
|
|
515
|
+
:param tracing: Enable AWS X-Ray Tracing for Lambda Function. Default: Tracing.Disabled
|
|
516
|
+
:param vpc: VPC network to place Lambda network interfaces. Specify this if the Lambda function needs to access resources in a VPC. This is required when ``vpcSubnets`` is specified. Default: - Function is not placed within a VPC.
|
|
517
|
+
:param vpc_subnets: Where to place the network interfaces within the VPC. This requires ``vpc`` to be specified in order for interfaces to actually be placed in the subnets. If ``vpc`` is not specify, this will raise an error. Note: Internet access for Lambda Functions requires a NAT Gateway, so picking public subnets is not allowed (unless ``allowPublicSubnet`` is set to ``true``). Default: - the Vpc default strategy if not specified
|
|
518
|
+
'''
|
|
519
|
+
if isinstance(adot_instrumentation, dict):
|
|
520
|
+
adot_instrumentation = _aws_cdk_aws_lambda_ceddda9d.AdotInstrumentationConfig(**adot_instrumentation)
|
|
521
|
+
if isinstance(current_version_options, dict):
|
|
522
|
+
current_version_options = _aws_cdk_aws_lambda_ceddda9d.VersionOptions(**current_version_options)
|
|
523
|
+
if isinstance(log_retention_retry_options, dict):
|
|
524
|
+
log_retention_retry_options = _aws_cdk_aws_lambda_ceddda9d.LogRetentionRetryOptions(**log_retention_retry_options)
|
|
525
|
+
if isinstance(vpc_subnets, dict):
|
|
526
|
+
vpc_subnets = _aws_cdk_aws_ec2_ceddda9d.SubnetSelection(**vpc_subnets)
|
|
527
|
+
if __debug__:
|
|
528
|
+
type_hints = typing.get_type_hints(_typecheckingstub__7ad187f6fa75af251088f0d01089ce5af9c6e78ba8a6e1736dfdb9666988616b)
|
|
529
|
+
check_type(argname="argument max_event_age", value=max_event_age, expected_type=type_hints["max_event_age"])
|
|
530
|
+
check_type(argname="argument on_failure", value=on_failure, expected_type=type_hints["on_failure"])
|
|
531
|
+
check_type(argname="argument on_success", value=on_success, expected_type=type_hints["on_success"])
|
|
532
|
+
check_type(argname="argument retry_attempts", value=retry_attempts, expected_type=type_hints["retry_attempts"])
|
|
533
|
+
check_type(argname="argument adot_instrumentation", value=adot_instrumentation, expected_type=type_hints["adot_instrumentation"])
|
|
534
|
+
check_type(argname="argument allow_all_outbound", value=allow_all_outbound, expected_type=type_hints["allow_all_outbound"])
|
|
535
|
+
check_type(argname="argument allow_public_subnet", value=allow_public_subnet, expected_type=type_hints["allow_public_subnet"])
|
|
536
|
+
check_type(argname="argument application_log_level", value=application_log_level, expected_type=type_hints["application_log_level"])
|
|
537
|
+
check_type(argname="argument application_log_level_v2", value=application_log_level_v2, expected_type=type_hints["application_log_level_v2"])
|
|
538
|
+
check_type(argname="argument architecture", value=architecture, expected_type=type_hints["architecture"])
|
|
539
|
+
check_type(argname="argument code_signing_config", value=code_signing_config, expected_type=type_hints["code_signing_config"])
|
|
540
|
+
check_type(argname="argument current_version_options", value=current_version_options, expected_type=type_hints["current_version_options"])
|
|
541
|
+
check_type(argname="argument dead_letter_queue", value=dead_letter_queue, expected_type=type_hints["dead_letter_queue"])
|
|
542
|
+
check_type(argname="argument dead_letter_queue_enabled", value=dead_letter_queue_enabled, expected_type=type_hints["dead_letter_queue_enabled"])
|
|
543
|
+
check_type(argname="argument dead_letter_topic", value=dead_letter_topic, expected_type=type_hints["dead_letter_topic"])
|
|
544
|
+
check_type(argname="argument description", value=description, expected_type=type_hints["description"])
|
|
545
|
+
check_type(argname="argument environment", value=environment, expected_type=type_hints["environment"])
|
|
546
|
+
check_type(argname="argument environment_encryption", value=environment_encryption, expected_type=type_hints["environment_encryption"])
|
|
547
|
+
check_type(argname="argument ephemeral_storage_size", value=ephemeral_storage_size, expected_type=type_hints["ephemeral_storage_size"])
|
|
548
|
+
check_type(argname="argument events", value=events, expected_type=type_hints["events"])
|
|
549
|
+
check_type(argname="argument filesystem", value=filesystem, expected_type=type_hints["filesystem"])
|
|
550
|
+
check_type(argname="argument function_name", value=function_name, expected_type=type_hints["function_name"])
|
|
551
|
+
check_type(argname="argument initial_policy", value=initial_policy, expected_type=type_hints["initial_policy"])
|
|
552
|
+
check_type(argname="argument insights_version", value=insights_version, expected_type=type_hints["insights_version"])
|
|
553
|
+
check_type(argname="argument ipv6_allowed_for_dual_stack", value=ipv6_allowed_for_dual_stack, expected_type=type_hints["ipv6_allowed_for_dual_stack"])
|
|
554
|
+
check_type(argname="argument layers", value=layers, expected_type=type_hints["layers"])
|
|
555
|
+
check_type(argname="argument log_format", value=log_format, expected_type=type_hints["log_format"])
|
|
556
|
+
check_type(argname="argument logging_format", value=logging_format, expected_type=type_hints["logging_format"])
|
|
557
|
+
check_type(argname="argument log_group", value=log_group, expected_type=type_hints["log_group"])
|
|
558
|
+
check_type(argname="argument log_retention", value=log_retention, expected_type=type_hints["log_retention"])
|
|
559
|
+
check_type(argname="argument log_retention_retry_options", value=log_retention_retry_options, expected_type=type_hints["log_retention_retry_options"])
|
|
560
|
+
check_type(argname="argument log_retention_role", value=log_retention_role, expected_type=type_hints["log_retention_role"])
|
|
561
|
+
check_type(argname="argument memory_size", value=memory_size, expected_type=type_hints["memory_size"])
|
|
562
|
+
check_type(argname="argument params_and_secrets", value=params_and_secrets, expected_type=type_hints["params_and_secrets"])
|
|
563
|
+
check_type(argname="argument profiling", value=profiling, expected_type=type_hints["profiling"])
|
|
564
|
+
check_type(argname="argument profiling_group", value=profiling_group, expected_type=type_hints["profiling_group"])
|
|
565
|
+
check_type(argname="argument reserved_concurrent_executions", value=reserved_concurrent_executions, expected_type=type_hints["reserved_concurrent_executions"])
|
|
566
|
+
check_type(argname="argument role", value=role, expected_type=type_hints["role"])
|
|
567
|
+
check_type(argname="argument runtime_management_mode", value=runtime_management_mode, expected_type=type_hints["runtime_management_mode"])
|
|
568
|
+
check_type(argname="argument security_groups", value=security_groups, expected_type=type_hints["security_groups"])
|
|
569
|
+
check_type(argname="argument snap_start", value=snap_start, expected_type=type_hints["snap_start"])
|
|
570
|
+
check_type(argname="argument system_log_level", value=system_log_level, expected_type=type_hints["system_log_level"])
|
|
571
|
+
check_type(argname="argument system_log_level_v2", value=system_log_level_v2, expected_type=type_hints["system_log_level_v2"])
|
|
572
|
+
check_type(argname="argument timeout", value=timeout, expected_type=type_hints["timeout"])
|
|
573
|
+
check_type(argname="argument tracing", value=tracing, expected_type=type_hints["tracing"])
|
|
574
|
+
check_type(argname="argument vpc", value=vpc, expected_type=type_hints["vpc"])
|
|
575
|
+
check_type(argname="argument vpc_subnets", value=vpc_subnets, expected_type=type_hints["vpc_subnets"])
|
|
576
|
+
self._values: typing.Dict[builtins.str, typing.Any] = {}
|
|
577
|
+
if max_event_age is not None:
|
|
578
|
+
self._values["max_event_age"] = max_event_age
|
|
579
|
+
if on_failure is not None:
|
|
580
|
+
self._values["on_failure"] = on_failure
|
|
581
|
+
if on_success is not None:
|
|
582
|
+
self._values["on_success"] = on_success
|
|
583
|
+
if retry_attempts is not None:
|
|
584
|
+
self._values["retry_attempts"] = retry_attempts
|
|
585
|
+
if adot_instrumentation is not None:
|
|
586
|
+
self._values["adot_instrumentation"] = adot_instrumentation
|
|
587
|
+
if allow_all_outbound is not None:
|
|
588
|
+
self._values["allow_all_outbound"] = allow_all_outbound
|
|
589
|
+
if allow_public_subnet is not None:
|
|
590
|
+
self._values["allow_public_subnet"] = allow_public_subnet
|
|
591
|
+
if application_log_level is not None:
|
|
592
|
+
self._values["application_log_level"] = application_log_level
|
|
593
|
+
if application_log_level_v2 is not None:
|
|
594
|
+
self._values["application_log_level_v2"] = application_log_level_v2
|
|
595
|
+
if architecture is not None:
|
|
596
|
+
self._values["architecture"] = architecture
|
|
597
|
+
if code_signing_config is not None:
|
|
598
|
+
self._values["code_signing_config"] = code_signing_config
|
|
599
|
+
if current_version_options is not None:
|
|
600
|
+
self._values["current_version_options"] = current_version_options
|
|
601
|
+
if dead_letter_queue is not None:
|
|
602
|
+
self._values["dead_letter_queue"] = dead_letter_queue
|
|
603
|
+
if dead_letter_queue_enabled is not None:
|
|
604
|
+
self._values["dead_letter_queue_enabled"] = dead_letter_queue_enabled
|
|
605
|
+
if dead_letter_topic is not None:
|
|
606
|
+
self._values["dead_letter_topic"] = dead_letter_topic
|
|
607
|
+
if description is not None:
|
|
608
|
+
self._values["description"] = description
|
|
609
|
+
if environment is not None:
|
|
610
|
+
self._values["environment"] = environment
|
|
611
|
+
if environment_encryption is not None:
|
|
612
|
+
self._values["environment_encryption"] = environment_encryption
|
|
613
|
+
if ephemeral_storage_size is not None:
|
|
614
|
+
self._values["ephemeral_storage_size"] = ephemeral_storage_size
|
|
615
|
+
if events is not None:
|
|
616
|
+
self._values["events"] = events
|
|
617
|
+
if filesystem is not None:
|
|
618
|
+
self._values["filesystem"] = filesystem
|
|
619
|
+
if function_name is not None:
|
|
620
|
+
self._values["function_name"] = function_name
|
|
621
|
+
if initial_policy is not None:
|
|
622
|
+
self._values["initial_policy"] = initial_policy
|
|
623
|
+
if insights_version is not None:
|
|
624
|
+
self._values["insights_version"] = insights_version
|
|
625
|
+
if ipv6_allowed_for_dual_stack is not None:
|
|
626
|
+
self._values["ipv6_allowed_for_dual_stack"] = ipv6_allowed_for_dual_stack
|
|
627
|
+
if layers is not None:
|
|
628
|
+
self._values["layers"] = layers
|
|
629
|
+
if log_format is not None:
|
|
630
|
+
self._values["log_format"] = log_format
|
|
631
|
+
if logging_format is not None:
|
|
632
|
+
self._values["logging_format"] = logging_format
|
|
633
|
+
if log_group is not None:
|
|
634
|
+
self._values["log_group"] = log_group
|
|
635
|
+
if log_retention is not None:
|
|
636
|
+
self._values["log_retention"] = log_retention
|
|
637
|
+
if log_retention_retry_options is not None:
|
|
638
|
+
self._values["log_retention_retry_options"] = log_retention_retry_options
|
|
639
|
+
if log_retention_role is not None:
|
|
640
|
+
self._values["log_retention_role"] = log_retention_role
|
|
641
|
+
if memory_size is not None:
|
|
642
|
+
self._values["memory_size"] = memory_size
|
|
643
|
+
if params_and_secrets is not None:
|
|
644
|
+
self._values["params_and_secrets"] = params_and_secrets
|
|
645
|
+
if profiling is not None:
|
|
646
|
+
self._values["profiling"] = profiling
|
|
647
|
+
if profiling_group is not None:
|
|
648
|
+
self._values["profiling_group"] = profiling_group
|
|
649
|
+
if reserved_concurrent_executions is not None:
|
|
650
|
+
self._values["reserved_concurrent_executions"] = reserved_concurrent_executions
|
|
651
|
+
if role is not None:
|
|
652
|
+
self._values["role"] = role
|
|
653
|
+
if runtime_management_mode is not None:
|
|
654
|
+
self._values["runtime_management_mode"] = runtime_management_mode
|
|
655
|
+
if security_groups is not None:
|
|
656
|
+
self._values["security_groups"] = security_groups
|
|
657
|
+
if snap_start is not None:
|
|
658
|
+
self._values["snap_start"] = snap_start
|
|
659
|
+
if system_log_level is not None:
|
|
660
|
+
self._values["system_log_level"] = system_log_level
|
|
661
|
+
if system_log_level_v2 is not None:
|
|
662
|
+
self._values["system_log_level_v2"] = system_log_level_v2
|
|
663
|
+
if timeout is not None:
|
|
664
|
+
self._values["timeout"] = timeout
|
|
665
|
+
if tracing is not None:
|
|
666
|
+
self._values["tracing"] = tracing
|
|
667
|
+
if vpc is not None:
|
|
668
|
+
self._values["vpc"] = vpc
|
|
669
|
+
if vpc_subnets is not None:
|
|
670
|
+
self._values["vpc_subnets"] = vpc_subnets
|
|
671
|
+
|
|
672
|
+
@builtins.property
|
|
673
|
+
def max_event_age(self) -> typing.Optional[_aws_cdk_ceddda9d.Duration]:
|
|
674
|
+
'''The maximum age of a request that Lambda sends to a function for processing.
|
|
675
|
+
|
|
676
|
+
Minimum: 60 seconds
|
|
677
|
+
Maximum: 6 hours
|
|
678
|
+
|
|
679
|
+
:default: Duration.hours(6)
|
|
680
|
+
'''
|
|
681
|
+
result = self._values.get("max_event_age")
|
|
682
|
+
return typing.cast(typing.Optional[_aws_cdk_ceddda9d.Duration], result)
|
|
683
|
+
|
|
684
|
+
@builtins.property
|
|
685
|
+
def on_failure(self) -> typing.Optional[_aws_cdk_aws_lambda_ceddda9d.IDestination]:
|
|
686
|
+
'''The destination for failed invocations.
|
|
687
|
+
|
|
688
|
+
:default: - no destination
|
|
689
|
+
'''
|
|
690
|
+
result = self._values.get("on_failure")
|
|
691
|
+
return typing.cast(typing.Optional[_aws_cdk_aws_lambda_ceddda9d.IDestination], result)
|
|
692
|
+
|
|
693
|
+
@builtins.property
|
|
694
|
+
def on_success(self) -> typing.Optional[_aws_cdk_aws_lambda_ceddda9d.IDestination]:
|
|
695
|
+
'''The destination for successful invocations.
|
|
696
|
+
|
|
697
|
+
:default: - no destination
|
|
698
|
+
'''
|
|
699
|
+
result = self._values.get("on_success")
|
|
700
|
+
return typing.cast(typing.Optional[_aws_cdk_aws_lambda_ceddda9d.IDestination], result)
|
|
701
|
+
|
|
702
|
+
@builtins.property
|
|
703
|
+
def retry_attempts(self) -> typing.Optional[jsii.Number]:
|
|
704
|
+
'''The maximum number of times to retry when the function returns an error.
|
|
705
|
+
|
|
706
|
+
Minimum: 0
|
|
707
|
+
Maximum: 2
|
|
708
|
+
|
|
709
|
+
:default: 2
|
|
710
|
+
'''
|
|
711
|
+
result = self._values.get("retry_attempts")
|
|
712
|
+
return typing.cast(typing.Optional[jsii.Number], result)
|
|
713
|
+
|
|
714
|
+
@builtins.property
|
|
715
|
+
def adot_instrumentation(
|
|
716
|
+
self,
|
|
717
|
+
) -> typing.Optional[_aws_cdk_aws_lambda_ceddda9d.AdotInstrumentationConfig]:
|
|
718
|
+
'''Specify the configuration of AWS Distro for OpenTelemetry (ADOT) instrumentation.
|
|
719
|
+
|
|
720
|
+
:default: - No ADOT instrumentation
|
|
721
|
+
|
|
722
|
+
:see: https://aws-otel.github.io/docs/getting-started/lambda
|
|
723
|
+
'''
|
|
724
|
+
result = self._values.get("adot_instrumentation")
|
|
725
|
+
return typing.cast(typing.Optional[_aws_cdk_aws_lambda_ceddda9d.AdotInstrumentationConfig], result)
|
|
726
|
+
|
|
727
|
+
@builtins.property
|
|
728
|
+
def allow_all_outbound(self) -> typing.Optional[builtins.bool]:
|
|
729
|
+
'''Whether to allow the Lambda to send all network traffic.
|
|
730
|
+
|
|
731
|
+
If set to false, you must individually add traffic rules to allow the
|
|
732
|
+
Lambda to connect to network targets.
|
|
733
|
+
|
|
734
|
+
Do not specify this property if the ``securityGroups`` or ``securityGroup`` property is set.
|
|
735
|
+
Instead, configure ``allowAllOutbound`` directly on the security group.
|
|
736
|
+
|
|
737
|
+
:default: true
|
|
738
|
+
'''
|
|
739
|
+
result = self._values.get("allow_all_outbound")
|
|
740
|
+
return typing.cast(typing.Optional[builtins.bool], result)
|
|
741
|
+
|
|
742
|
+
@builtins.property
|
|
743
|
+
def allow_public_subnet(self) -> typing.Optional[builtins.bool]:
|
|
744
|
+
'''Lambda Functions in a public subnet can NOT access the internet.
|
|
745
|
+
|
|
746
|
+
Use this property to acknowledge this limitation and still place the function in a public subnet.
|
|
747
|
+
|
|
748
|
+
:default: false
|
|
749
|
+
|
|
750
|
+
:see: https://stackoverflow.com/questions/52992085/why-cant-an-aws-lambda-function-inside-a-public-subnet-in-a-vpc-connect-to-the/52994841#52994841
|
|
751
|
+
'''
|
|
752
|
+
result = self._values.get("allow_public_subnet")
|
|
753
|
+
return typing.cast(typing.Optional[builtins.bool], result)
|
|
754
|
+
|
|
755
|
+
@builtins.property
|
|
756
|
+
def application_log_level(self) -> typing.Optional[builtins.str]:
|
|
757
|
+
'''(deprecated) Sets the application log level for the function.
|
|
758
|
+
|
|
759
|
+
:default: "INFO"
|
|
760
|
+
|
|
761
|
+
:deprecated: Use ``applicationLogLevelV2`` as a property instead.
|
|
762
|
+
|
|
763
|
+
:stability: deprecated
|
|
764
|
+
'''
|
|
765
|
+
result = self._values.get("application_log_level")
|
|
766
|
+
return typing.cast(typing.Optional[builtins.str], result)
|
|
767
|
+
|
|
768
|
+
@builtins.property
|
|
769
|
+
def application_log_level_v2(
|
|
770
|
+
self,
|
|
771
|
+
) -> typing.Optional[_aws_cdk_aws_lambda_ceddda9d.ApplicationLogLevel]:
|
|
772
|
+
'''Sets the application log level for the function.
|
|
773
|
+
|
|
774
|
+
:default: ApplicationLogLevel.INFO
|
|
775
|
+
'''
|
|
776
|
+
result = self._values.get("application_log_level_v2")
|
|
777
|
+
return typing.cast(typing.Optional[_aws_cdk_aws_lambda_ceddda9d.ApplicationLogLevel], result)
|
|
778
|
+
|
|
779
|
+
@builtins.property
|
|
780
|
+
def architecture(
|
|
781
|
+
self,
|
|
782
|
+
) -> typing.Optional[_aws_cdk_aws_lambda_ceddda9d.Architecture]:
|
|
783
|
+
'''The system architectures compatible with this lambda function.
|
|
784
|
+
|
|
785
|
+
:default: Architecture.X86_64
|
|
786
|
+
'''
|
|
787
|
+
result = self._values.get("architecture")
|
|
788
|
+
return typing.cast(typing.Optional[_aws_cdk_aws_lambda_ceddda9d.Architecture], result)
|
|
789
|
+
|
|
790
|
+
@builtins.property
|
|
791
|
+
def code_signing_config(
|
|
792
|
+
self,
|
|
793
|
+
) -> typing.Optional[_aws_cdk_aws_lambda_ceddda9d.ICodeSigningConfig]:
|
|
794
|
+
'''Code signing config associated with this function.
|
|
795
|
+
|
|
796
|
+
:default: - Not Sign the Code
|
|
797
|
+
'''
|
|
798
|
+
result = self._values.get("code_signing_config")
|
|
799
|
+
return typing.cast(typing.Optional[_aws_cdk_aws_lambda_ceddda9d.ICodeSigningConfig], result)
|
|
800
|
+
|
|
801
|
+
@builtins.property
|
|
802
|
+
def current_version_options(
|
|
803
|
+
self,
|
|
804
|
+
) -> typing.Optional[_aws_cdk_aws_lambda_ceddda9d.VersionOptions]:
|
|
805
|
+
'''Options for the ``lambda.Version`` resource automatically created by the ``fn.currentVersion`` method.
|
|
806
|
+
|
|
807
|
+
:default: - default options as described in ``VersionOptions``
|
|
808
|
+
'''
|
|
809
|
+
result = self._values.get("current_version_options")
|
|
810
|
+
return typing.cast(typing.Optional[_aws_cdk_aws_lambda_ceddda9d.VersionOptions], result)
|
|
811
|
+
|
|
812
|
+
@builtins.property
|
|
813
|
+
def dead_letter_queue(self) -> typing.Optional[_aws_cdk_aws_sqs_ceddda9d.IQueue]:
|
|
814
|
+
'''The SQS queue to use if DLQ is enabled.
|
|
815
|
+
|
|
816
|
+
If SNS topic is desired, specify ``deadLetterTopic`` property instead.
|
|
817
|
+
|
|
818
|
+
:default: - SQS queue with 14 day retention period if ``deadLetterQueueEnabled`` is ``true``
|
|
819
|
+
'''
|
|
820
|
+
result = self._values.get("dead_letter_queue")
|
|
821
|
+
return typing.cast(typing.Optional[_aws_cdk_aws_sqs_ceddda9d.IQueue], result)
|
|
822
|
+
|
|
823
|
+
@builtins.property
|
|
824
|
+
def dead_letter_queue_enabled(self) -> typing.Optional[builtins.bool]:
|
|
825
|
+
'''Enabled DLQ.
|
|
826
|
+
|
|
827
|
+
If ``deadLetterQueue`` is undefined,
|
|
828
|
+
an SQS queue with default options will be defined for your Function.
|
|
829
|
+
|
|
830
|
+
:default: - false unless ``deadLetterQueue`` is set, which implies DLQ is enabled.
|
|
831
|
+
'''
|
|
832
|
+
result = self._values.get("dead_letter_queue_enabled")
|
|
833
|
+
return typing.cast(typing.Optional[builtins.bool], result)
|
|
834
|
+
|
|
835
|
+
@builtins.property
|
|
836
|
+
def dead_letter_topic(self) -> typing.Optional[_aws_cdk_aws_sns_ceddda9d.ITopic]:
|
|
837
|
+
'''The SNS topic to use as a DLQ.
|
|
838
|
+
|
|
839
|
+
Note that if ``deadLetterQueueEnabled`` is set to ``true``, an SQS queue will be created
|
|
840
|
+
rather than an SNS topic. Using an SNS topic as a DLQ requires this property to be set explicitly.
|
|
841
|
+
|
|
842
|
+
:default: - no SNS topic
|
|
843
|
+
'''
|
|
844
|
+
result = self._values.get("dead_letter_topic")
|
|
845
|
+
return typing.cast(typing.Optional[_aws_cdk_aws_sns_ceddda9d.ITopic], result)
|
|
846
|
+
|
|
847
|
+
@builtins.property
|
|
848
|
+
def description(self) -> typing.Optional[builtins.str]:
|
|
849
|
+
'''A description of the function.
|
|
850
|
+
|
|
851
|
+
:default: - No description.
|
|
852
|
+
'''
|
|
853
|
+
result = self._values.get("description")
|
|
854
|
+
return typing.cast(typing.Optional[builtins.str], result)
|
|
855
|
+
|
|
856
|
+
@builtins.property
|
|
857
|
+
def environment(
|
|
858
|
+
self,
|
|
859
|
+
) -> typing.Optional[typing.Mapping[builtins.str, builtins.str]]:
|
|
860
|
+
'''Key-value pairs that Lambda caches and makes available for your Lambda functions.
|
|
861
|
+
|
|
862
|
+
Use environment variables to apply configuration changes, such
|
|
863
|
+
as test and production environment configurations, without changing your
|
|
864
|
+
Lambda function source code.
|
|
865
|
+
|
|
866
|
+
:default: - No environment variables.
|
|
867
|
+
'''
|
|
868
|
+
result = self._values.get("environment")
|
|
869
|
+
return typing.cast(typing.Optional[typing.Mapping[builtins.str, builtins.str]], result)
|
|
870
|
+
|
|
871
|
+
@builtins.property
|
|
872
|
+
def environment_encryption(self) -> typing.Optional[_aws_cdk_aws_kms_ceddda9d.IKey]:
|
|
873
|
+
'''The AWS KMS key that's used to encrypt your function's environment variables.
|
|
874
|
+
|
|
875
|
+
:default: - AWS Lambda creates and uses an AWS managed customer master key (CMK).
|
|
876
|
+
'''
|
|
877
|
+
result = self._values.get("environment_encryption")
|
|
878
|
+
return typing.cast(typing.Optional[_aws_cdk_aws_kms_ceddda9d.IKey], result)
|
|
879
|
+
|
|
880
|
+
@builtins.property
|
|
881
|
+
def ephemeral_storage_size(self) -> typing.Optional[_aws_cdk_ceddda9d.Size]:
|
|
882
|
+
'''The size of the function’s /tmp directory in MiB.
|
|
883
|
+
|
|
884
|
+
:default: 512 MiB
|
|
885
|
+
'''
|
|
886
|
+
result = self._values.get("ephemeral_storage_size")
|
|
887
|
+
return typing.cast(typing.Optional[_aws_cdk_ceddda9d.Size], result)
|
|
888
|
+
|
|
889
|
+
@builtins.property
|
|
890
|
+
def events(
|
|
891
|
+
self,
|
|
892
|
+
) -> typing.Optional[typing.List[_aws_cdk_aws_lambda_ceddda9d.IEventSource]]:
|
|
893
|
+
'''Event sources for this function.
|
|
894
|
+
|
|
895
|
+
You can also add event sources using ``addEventSource``.
|
|
896
|
+
|
|
897
|
+
:default: - No event sources.
|
|
898
|
+
'''
|
|
899
|
+
result = self._values.get("events")
|
|
900
|
+
return typing.cast(typing.Optional[typing.List[_aws_cdk_aws_lambda_ceddda9d.IEventSource]], result)
|
|
901
|
+
|
|
902
|
+
@builtins.property
|
|
903
|
+
def filesystem(self) -> typing.Optional[_aws_cdk_aws_lambda_ceddda9d.FileSystem]:
|
|
904
|
+
'''The filesystem configuration for the lambda function.
|
|
905
|
+
|
|
906
|
+
:default: - will not mount any filesystem
|
|
907
|
+
'''
|
|
908
|
+
result = self._values.get("filesystem")
|
|
909
|
+
return typing.cast(typing.Optional[_aws_cdk_aws_lambda_ceddda9d.FileSystem], result)
|
|
910
|
+
|
|
911
|
+
@builtins.property
|
|
912
|
+
def function_name(self) -> typing.Optional[builtins.str]:
|
|
913
|
+
'''A name for the function.
|
|
914
|
+
|
|
915
|
+
:default:
|
|
916
|
+
|
|
917
|
+
- AWS CloudFormation generates a unique physical ID and uses that
|
|
918
|
+
ID for the function's name. For more information, see Name Type.
|
|
919
|
+
'''
|
|
920
|
+
result = self._values.get("function_name")
|
|
921
|
+
return typing.cast(typing.Optional[builtins.str], result)
|
|
922
|
+
|
|
923
|
+
@builtins.property
|
|
924
|
+
def initial_policy(
|
|
925
|
+
self,
|
|
926
|
+
) -> typing.Optional[typing.List[_aws_cdk_aws_iam_ceddda9d.PolicyStatement]]:
|
|
927
|
+
'''Initial policy statements to add to the created Lambda Role.
|
|
928
|
+
|
|
929
|
+
You can call ``addToRolePolicy`` to the created lambda to add statements post creation.
|
|
930
|
+
|
|
931
|
+
:default: - No policy statements are added to the created Lambda role.
|
|
932
|
+
'''
|
|
933
|
+
result = self._values.get("initial_policy")
|
|
934
|
+
return typing.cast(typing.Optional[typing.List[_aws_cdk_aws_iam_ceddda9d.PolicyStatement]], result)
|
|
935
|
+
|
|
936
|
+
@builtins.property
|
|
937
|
+
def insights_version(
|
|
938
|
+
self,
|
|
939
|
+
) -> typing.Optional[_aws_cdk_aws_lambda_ceddda9d.LambdaInsightsVersion]:
|
|
940
|
+
'''Specify the version of CloudWatch Lambda insights to use for monitoring.
|
|
941
|
+
|
|
942
|
+
:default: - No Lambda Insights
|
|
943
|
+
|
|
944
|
+
:see: https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/Lambda-Insights-Getting-Started-docker.html
|
|
945
|
+
'''
|
|
946
|
+
result = self._values.get("insights_version")
|
|
947
|
+
return typing.cast(typing.Optional[_aws_cdk_aws_lambda_ceddda9d.LambdaInsightsVersion], result)
|
|
948
|
+
|
|
949
|
+
@builtins.property
|
|
950
|
+
def ipv6_allowed_for_dual_stack(self) -> typing.Optional[builtins.bool]:
|
|
951
|
+
'''Allows outbound IPv6 traffic on VPC functions that are connected to dual-stack subnets.
|
|
952
|
+
|
|
953
|
+
Only used if 'vpc' is supplied.
|
|
954
|
+
|
|
955
|
+
:default: false
|
|
956
|
+
'''
|
|
957
|
+
result = self._values.get("ipv6_allowed_for_dual_stack")
|
|
958
|
+
return typing.cast(typing.Optional[builtins.bool], result)
|
|
959
|
+
|
|
960
|
+
@builtins.property
|
|
961
|
+
def layers(
|
|
962
|
+
self,
|
|
963
|
+
) -> typing.Optional[typing.List[_aws_cdk_aws_lambda_ceddda9d.ILayerVersion]]:
|
|
964
|
+
'''A list of layers to add to the function's execution environment.
|
|
965
|
+
|
|
966
|
+
You can configure your Lambda function to pull in
|
|
967
|
+
additional code during initialization in the form of layers. Layers are packages of libraries or other dependencies
|
|
968
|
+
that can be used by multiple functions.
|
|
969
|
+
|
|
970
|
+
:default: - No layers.
|
|
971
|
+
'''
|
|
972
|
+
result = self._values.get("layers")
|
|
973
|
+
return typing.cast(typing.Optional[typing.List[_aws_cdk_aws_lambda_ceddda9d.ILayerVersion]], result)
|
|
974
|
+
|
|
975
|
+
@builtins.property
|
|
976
|
+
def log_format(self) -> typing.Optional[builtins.str]:
|
|
977
|
+
'''(deprecated) Sets the logFormat for the function.
|
|
978
|
+
|
|
979
|
+
:default: "Text"
|
|
980
|
+
|
|
981
|
+
:deprecated: Use ``loggingFormat`` as a property instead.
|
|
982
|
+
|
|
983
|
+
:stability: deprecated
|
|
984
|
+
'''
|
|
985
|
+
result = self._values.get("log_format")
|
|
986
|
+
return typing.cast(typing.Optional[builtins.str], result)
|
|
987
|
+
|
|
988
|
+
@builtins.property
|
|
989
|
+
def logging_format(
|
|
990
|
+
self,
|
|
991
|
+
) -> typing.Optional[_aws_cdk_aws_lambda_ceddda9d.LoggingFormat]:
|
|
992
|
+
'''Sets the loggingFormat for the function.
|
|
993
|
+
|
|
994
|
+
:default: LoggingFormat.TEXT
|
|
995
|
+
'''
|
|
996
|
+
result = self._values.get("logging_format")
|
|
997
|
+
return typing.cast(typing.Optional[_aws_cdk_aws_lambda_ceddda9d.LoggingFormat], result)
|
|
998
|
+
|
|
999
|
+
@builtins.property
|
|
1000
|
+
def log_group(self) -> typing.Optional[_aws_cdk_aws_logs_ceddda9d.ILogGroup]:
|
|
1001
|
+
'''The log group the function sends logs to.
|
|
1002
|
+
|
|
1003
|
+
By default, Lambda functions send logs to an automatically created default log group named /aws/lambda/.
|
|
1004
|
+
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.
|
|
1005
|
+
|
|
1006
|
+
Use the ``logGroup`` property to create a fully customizable LogGroup ahead of time, and instruct the Lambda function to send logs to it.
|
|
1007
|
+
|
|
1008
|
+
Providing a user-controlled log group was rolled out to commercial regions on 2023-11-16.
|
|
1009
|
+
If you are deploying to another type of region, please check regional availability first.
|
|
1010
|
+
|
|
1011
|
+
:default: ``/aws/lambda/${this.functionName}`` - default log group created by Lambda
|
|
1012
|
+
'''
|
|
1013
|
+
result = self._values.get("log_group")
|
|
1014
|
+
return typing.cast(typing.Optional[_aws_cdk_aws_logs_ceddda9d.ILogGroup], result)
|
|
1015
|
+
|
|
1016
|
+
@builtins.property
|
|
1017
|
+
def log_retention(
|
|
1018
|
+
self,
|
|
1019
|
+
) -> typing.Optional[_aws_cdk_aws_logs_ceddda9d.RetentionDays]:
|
|
1020
|
+
'''The number of days log events are kept in CloudWatch Logs.
|
|
1021
|
+
|
|
1022
|
+
When updating
|
|
1023
|
+
this property, unsetting it doesn't remove the log retention policy. To
|
|
1024
|
+
remove the retention policy, set the value to ``INFINITE``.
|
|
1025
|
+
|
|
1026
|
+
This is a legacy API and we strongly recommend you move away from it if you can.
|
|
1027
|
+
Instead create a fully customizable log group with ``logs.LogGroup`` and use the ``logGroup`` property
|
|
1028
|
+
to instruct the Lambda function to send logs to it.
|
|
1029
|
+
Migrating from ``logRetention`` to ``logGroup`` will cause the name of the log group to change.
|
|
1030
|
+
Users and code and referencing the name verbatim will have to adjust.
|
|
1031
|
+
|
|
1032
|
+
In AWS CDK code, you can access the log group name directly from the LogGroup construct::
|
|
1033
|
+
|
|
1034
|
+
import * as logs from 'aws-cdk-lib/aws-logs';
|
|
1035
|
+
|
|
1036
|
+
declare const myLogGroup: logs.LogGroup;
|
|
1037
|
+
myLogGroup.logGroupName;
|
|
1038
|
+
|
|
1039
|
+
:default: logs.RetentionDays.INFINITE
|
|
1040
|
+
'''
|
|
1041
|
+
result = self._values.get("log_retention")
|
|
1042
|
+
return typing.cast(typing.Optional[_aws_cdk_aws_logs_ceddda9d.RetentionDays], result)
|
|
1043
|
+
|
|
1044
|
+
@builtins.property
|
|
1045
|
+
def log_retention_retry_options(
|
|
1046
|
+
self,
|
|
1047
|
+
) -> typing.Optional[_aws_cdk_aws_lambda_ceddda9d.LogRetentionRetryOptions]:
|
|
1048
|
+
'''When log retention is specified, a custom resource attempts to create the CloudWatch log group.
|
|
1049
|
+
|
|
1050
|
+
These options control the retry policy when interacting with CloudWatch APIs.
|
|
1051
|
+
|
|
1052
|
+
This is a legacy API and we strongly recommend you migrate to ``logGroup`` if you can.
|
|
1053
|
+
``logGroup`` allows you to create a fully customizable log group and instruct the Lambda function to send logs to it.
|
|
1054
|
+
|
|
1055
|
+
:default: - Default AWS SDK retry options.
|
|
1056
|
+
'''
|
|
1057
|
+
result = self._values.get("log_retention_retry_options")
|
|
1058
|
+
return typing.cast(typing.Optional[_aws_cdk_aws_lambda_ceddda9d.LogRetentionRetryOptions], result)
|
|
1059
|
+
|
|
1060
|
+
@builtins.property
|
|
1061
|
+
def log_retention_role(self) -> typing.Optional[_aws_cdk_aws_iam_ceddda9d.IRole]:
|
|
1062
|
+
'''The IAM role for the Lambda function associated with the custom resource that sets the retention policy.
|
|
1063
|
+
|
|
1064
|
+
This is a legacy API and we strongly recommend you migrate to ``logGroup`` if you can.
|
|
1065
|
+
``logGroup`` allows you to create a fully customizable log group and instruct the Lambda function to send logs to it.
|
|
1066
|
+
|
|
1067
|
+
:default: - A new role is created.
|
|
1068
|
+
'''
|
|
1069
|
+
result = self._values.get("log_retention_role")
|
|
1070
|
+
return typing.cast(typing.Optional[_aws_cdk_aws_iam_ceddda9d.IRole], result)
|
|
1071
|
+
|
|
1072
|
+
@builtins.property
|
|
1073
|
+
def memory_size(self) -> typing.Optional[jsii.Number]:
|
|
1074
|
+
'''The amount of memory, in MB, that is allocated to your Lambda function.
|
|
1075
|
+
|
|
1076
|
+
Lambda uses this value to proportionally allocate the amount of CPU
|
|
1077
|
+
power. For more information, see Resource Model in the AWS Lambda
|
|
1078
|
+
Developer Guide.
|
|
1079
|
+
|
|
1080
|
+
:default: 128
|
|
1081
|
+
'''
|
|
1082
|
+
result = self._values.get("memory_size")
|
|
1083
|
+
return typing.cast(typing.Optional[jsii.Number], result)
|
|
1084
|
+
|
|
1085
|
+
@builtins.property
|
|
1086
|
+
def params_and_secrets(
|
|
1087
|
+
self,
|
|
1088
|
+
) -> typing.Optional[_aws_cdk_aws_lambda_ceddda9d.ParamsAndSecretsLayerVersion]:
|
|
1089
|
+
'''Specify the configuration of Parameters and Secrets Extension.
|
|
1090
|
+
|
|
1091
|
+
:default: - No Parameters and Secrets Extension
|
|
1092
|
+
|
|
1093
|
+
:see: https://docs.aws.amazon.com/systems-manager/latest/userguide/ps-integration-lambda-extensions.html
|
|
1094
|
+
'''
|
|
1095
|
+
result = self._values.get("params_and_secrets")
|
|
1096
|
+
return typing.cast(typing.Optional[_aws_cdk_aws_lambda_ceddda9d.ParamsAndSecretsLayerVersion], result)
|
|
1097
|
+
|
|
1098
|
+
@builtins.property
|
|
1099
|
+
def profiling(self) -> typing.Optional[builtins.bool]:
|
|
1100
|
+
'''Enable profiling.
|
|
1101
|
+
|
|
1102
|
+
:default: - No profiling.
|
|
1103
|
+
|
|
1104
|
+
:see: https://docs.aws.amazon.com/codeguru/latest/profiler-ug/setting-up-lambda.html
|
|
1105
|
+
'''
|
|
1106
|
+
result = self._values.get("profiling")
|
|
1107
|
+
return typing.cast(typing.Optional[builtins.bool], result)
|
|
1108
|
+
|
|
1109
|
+
@builtins.property
|
|
1110
|
+
def profiling_group(
|
|
1111
|
+
self,
|
|
1112
|
+
) -> typing.Optional[_aws_cdk_aws_codeguruprofiler_ceddda9d.IProfilingGroup]:
|
|
1113
|
+
'''Profiling Group.
|
|
1114
|
+
|
|
1115
|
+
:default: - A new profiling group will be created if ``profiling`` is set.
|
|
1116
|
+
|
|
1117
|
+
:see: https://docs.aws.amazon.com/codeguru/latest/profiler-ug/setting-up-lambda.html
|
|
1118
|
+
'''
|
|
1119
|
+
result = self._values.get("profiling_group")
|
|
1120
|
+
return typing.cast(typing.Optional[_aws_cdk_aws_codeguruprofiler_ceddda9d.IProfilingGroup], result)
|
|
1121
|
+
|
|
1122
|
+
@builtins.property
|
|
1123
|
+
def reserved_concurrent_executions(self) -> typing.Optional[jsii.Number]:
|
|
1124
|
+
'''The maximum of concurrent executions you want to reserve for the function.
|
|
1125
|
+
|
|
1126
|
+
:default: - No specific limit - account limit.
|
|
1127
|
+
|
|
1128
|
+
:see: https://docs.aws.amazon.com/lambda/latest/dg/concurrent-executions.html
|
|
1129
|
+
'''
|
|
1130
|
+
result = self._values.get("reserved_concurrent_executions")
|
|
1131
|
+
return typing.cast(typing.Optional[jsii.Number], result)
|
|
1132
|
+
|
|
1133
|
+
@builtins.property
|
|
1134
|
+
def role(self) -> typing.Optional[_aws_cdk_aws_iam_ceddda9d.IRole]:
|
|
1135
|
+
'''Lambda execution role.
|
|
1136
|
+
|
|
1137
|
+
This is the role that will be assumed by the function upon execution.
|
|
1138
|
+
It controls the permissions that the function will have. The Role must
|
|
1139
|
+
be assumable by the 'lambda.amazonaws.com' service principal.
|
|
1140
|
+
|
|
1141
|
+
The default Role automatically has permissions granted for Lambda execution. If you
|
|
1142
|
+
provide a Role, you must add the relevant AWS managed policies yourself.
|
|
1143
|
+
|
|
1144
|
+
The relevant managed policies are "service-role/AWSLambdaBasicExecutionRole" and
|
|
1145
|
+
"service-role/AWSLambdaVPCAccessExecutionRole".
|
|
1146
|
+
|
|
1147
|
+
:default:
|
|
1148
|
+
|
|
1149
|
+
- A unique role will be generated for this lambda function.
|
|
1150
|
+
Both supplied and generated roles can always be changed by calling ``addToRolePolicy``.
|
|
1151
|
+
'''
|
|
1152
|
+
result = self._values.get("role")
|
|
1153
|
+
return typing.cast(typing.Optional[_aws_cdk_aws_iam_ceddda9d.IRole], result)
|
|
1154
|
+
|
|
1155
|
+
@builtins.property
|
|
1156
|
+
def runtime_management_mode(
|
|
1157
|
+
self,
|
|
1158
|
+
) -> typing.Optional[_aws_cdk_aws_lambda_ceddda9d.RuntimeManagementMode]:
|
|
1159
|
+
'''Sets the runtime management configuration for a function's version.
|
|
1160
|
+
|
|
1161
|
+
:default: Auto
|
|
1162
|
+
'''
|
|
1163
|
+
result = self._values.get("runtime_management_mode")
|
|
1164
|
+
return typing.cast(typing.Optional[_aws_cdk_aws_lambda_ceddda9d.RuntimeManagementMode], result)
|
|
1165
|
+
|
|
1166
|
+
@builtins.property
|
|
1167
|
+
def security_groups(
|
|
1168
|
+
self,
|
|
1169
|
+
) -> typing.Optional[typing.List[_aws_cdk_aws_ec2_ceddda9d.ISecurityGroup]]:
|
|
1170
|
+
'''The list of security groups to associate with the Lambda's network interfaces.
|
|
1171
|
+
|
|
1172
|
+
Only used if 'vpc' is supplied.
|
|
1173
|
+
|
|
1174
|
+
:default:
|
|
1175
|
+
|
|
1176
|
+
- If the function is placed within a VPC and a security group is
|
|
1177
|
+
not specified, either by this or securityGroup prop, a dedicated security
|
|
1178
|
+
group will be created for this function.
|
|
1179
|
+
'''
|
|
1180
|
+
result = self._values.get("security_groups")
|
|
1181
|
+
return typing.cast(typing.Optional[typing.List[_aws_cdk_aws_ec2_ceddda9d.ISecurityGroup]], result)
|
|
1182
|
+
|
|
1183
|
+
@builtins.property
|
|
1184
|
+
def snap_start(self) -> typing.Optional[_aws_cdk_aws_lambda_ceddda9d.SnapStartConf]:
|
|
1185
|
+
'''Enable SnapStart for Lambda Function.
|
|
1186
|
+
|
|
1187
|
+
SnapStart is currently supported only for Java 11, 17 runtime
|
|
1188
|
+
|
|
1189
|
+
:default: - No snapstart
|
|
1190
|
+
'''
|
|
1191
|
+
result = self._values.get("snap_start")
|
|
1192
|
+
return typing.cast(typing.Optional[_aws_cdk_aws_lambda_ceddda9d.SnapStartConf], result)
|
|
1193
|
+
|
|
1194
|
+
@builtins.property
|
|
1195
|
+
def system_log_level(self) -> typing.Optional[builtins.str]:
|
|
1196
|
+
'''(deprecated) Sets the system log level for the function.
|
|
1197
|
+
|
|
1198
|
+
:default: "INFO"
|
|
1199
|
+
|
|
1200
|
+
:deprecated: Use ``systemLogLevelV2`` as a property instead.
|
|
1201
|
+
|
|
1202
|
+
:stability: deprecated
|
|
1203
|
+
'''
|
|
1204
|
+
result = self._values.get("system_log_level")
|
|
1205
|
+
return typing.cast(typing.Optional[builtins.str], result)
|
|
1206
|
+
|
|
1207
|
+
@builtins.property
|
|
1208
|
+
def system_log_level_v2(
|
|
1209
|
+
self,
|
|
1210
|
+
) -> typing.Optional[_aws_cdk_aws_lambda_ceddda9d.SystemLogLevel]:
|
|
1211
|
+
'''Sets the system log level for the function.
|
|
1212
|
+
|
|
1213
|
+
:default: SystemLogLevel.INFO
|
|
1214
|
+
'''
|
|
1215
|
+
result = self._values.get("system_log_level_v2")
|
|
1216
|
+
return typing.cast(typing.Optional[_aws_cdk_aws_lambda_ceddda9d.SystemLogLevel], result)
|
|
1217
|
+
|
|
1218
|
+
@builtins.property
|
|
1219
|
+
def timeout(self) -> typing.Optional[_aws_cdk_ceddda9d.Duration]:
|
|
1220
|
+
'''The function execution time (in seconds) after which Lambda terminates the function.
|
|
1221
|
+
|
|
1222
|
+
Because the execution time affects cost, set this value
|
|
1223
|
+
based on the function's expected execution time.
|
|
1224
|
+
|
|
1225
|
+
:default: Duration.seconds(3)
|
|
1226
|
+
'''
|
|
1227
|
+
result = self._values.get("timeout")
|
|
1228
|
+
return typing.cast(typing.Optional[_aws_cdk_ceddda9d.Duration], result)
|
|
1229
|
+
|
|
1230
|
+
@builtins.property
|
|
1231
|
+
def tracing(self) -> typing.Optional[_aws_cdk_aws_lambda_ceddda9d.Tracing]:
|
|
1232
|
+
'''Enable AWS X-Ray Tracing for Lambda Function.
|
|
1233
|
+
|
|
1234
|
+
:default: Tracing.Disabled
|
|
1235
|
+
'''
|
|
1236
|
+
result = self._values.get("tracing")
|
|
1237
|
+
return typing.cast(typing.Optional[_aws_cdk_aws_lambda_ceddda9d.Tracing], result)
|
|
1238
|
+
|
|
1239
|
+
@builtins.property
|
|
1240
|
+
def vpc(self) -> typing.Optional[_aws_cdk_aws_ec2_ceddda9d.IVpc]:
|
|
1241
|
+
'''VPC network to place Lambda network interfaces.
|
|
1242
|
+
|
|
1243
|
+
Specify this if the Lambda function needs to access resources in a VPC.
|
|
1244
|
+
This is required when ``vpcSubnets`` is specified.
|
|
1245
|
+
|
|
1246
|
+
:default: - Function is not placed within a VPC.
|
|
1247
|
+
'''
|
|
1248
|
+
result = self._values.get("vpc")
|
|
1249
|
+
return typing.cast(typing.Optional[_aws_cdk_aws_ec2_ceddda9d.IVpc], result)
|
|
1250
|
+
|
|
1251
|
+
@builtins.property
|
|
1252
|
+
def vpc_subnets(self) -> typing.Optional[_aws_cdk_aws_ec2_ceddda9d.SubnetSelection]:
|
|
1253
|
+
'''Where to place the network interfaces within the VPC.
|
|
1254
|
+
|
|
1255
|
+
This requires ``vpc`` to be specified in order for interfaces to actually be
|
|
1256
|
+
placed in the subnets. If ``vpc`` is not specify, this will raise an error.
|
|
1257
|
+
|
|
1258
|
+
Note: Internet access for Lambda Functions requires a NAT Gateway, so picking
|
|
1259
|
+
public subnets is not allowed (unless ``allowPublicSubnet`` is set to ``true``).
|
|
1260
|
+
|
|
1261
|
+
:default: - the Vpc default strategy if not specified
|
|
1262
|
+
'''
|
|
1263
|
+
result = self._values.get("vpc_subnets")
|
|
1264
|
+
return typing.cast(typing.Optional[_aws_cdk_aws_ec2_ceddda9d.SubnetSelection], result)
|
|
1265
|
+
|
|
1266
|
+
def __eq__(self, rhs: typing.Any) -> builtins.bool:
|
|
1267
|
+
return isinstance(rhs, self.__class__) and rhs._values == self._values
|
|
1268
|
+
|
|
1269
|
+
def __ne__(self, rhs: typing.Any) -> builtins.bool:
|
|
1270
|
+
return not (rhs == self)
|
|
1271
|
+
|
|
1272
|
+
def __repr__(self) -> str:
|
|
1273
|
+
return "CheckStateMachineStatusFunctionProps(%s)" % ", ".join(
|
|
1274
|
+
k + "=" + repr(v) for k, v in self._values.items()
|
|
1275
|
+
)
|
|
1276
|
+
|
|
1277
|
+
|
|
1278
|
+
@jsii.interface(jsii_type="@jjrawlins/cdk-ami-builder.IActionCommands")
|
|
1279
|
+
class IActionCommands(typing_extensions.Protocol):
|
|
1280
|
+
'''Build commands for the component.'''
|
|
1281
|
+
|
|
1282
|
+
@builtins.property
|
|
1283
|
+
@jsii.member(jsii_name="commands")
|
|
1284
|
+
def commands(self) -> typing.List[builtins.str]:
|
|
1285
|
+
...
|
|
1286
|
+
|
|
1287
|
+
@commands.setter
|
|
1288
|
+
def commands(self, value: typing.List[builtins.str]) -> None:
|
|
1289
|
+
...
|
|
1290
|
+
|
|
1291
|
+
|
|
1292
|
+
class _IActionCommandsProxy:
|
|
1293
|
+
'''Build commands for the component.'''
|
|
1294
|
+
|
|
1295
|
+
__jsii_type__: typing.ClassVar[str] = "@jjrawlins/cdk-ami-builder.IActionCommands"
|
|
1296
|
+
|
|
1297
|
+
@builtins.property
|
|
1298
|
+
@jsii.member(jsii_name="commands")
|
|
1299
|
+
def commands(self) -> typing.List[builtins.str]:
|
|
1300
|
+
return typing.cast(typing.List[builtins.str], jsii.get(self, "commands"))
|
|
1301
|
+
|
|
1302
|
+
@commands.setter
|
|
1303
|
+
def commands(self, value: typing.List[builtins.str]) -> None:
|
|
1304
|
+
if __debug__:
|
|
1305
|
+
type_hints = typing.get_type_hints(_typecheckingstub__10f5fea34bd77d6054ed796f746dbb227d06d5b5d758e1eb35055430d0518bdf)
|
|
1306
|
+
check_type(argname="argument value", value=value, expected_type=type_hints["value"])
|
|
1307
|
+
jsii.set(self, "commands", value)
|
|
1308
|
+
|
|
1309
|
+
# Adding a "__jsii_proxy_class__(): typing.Type" function to the interface
|
|
1310
|
+
typing.cast(typing.Any, IActionCommands).__jsii_proxy_class__ = lambda : _IActionCommandsProxy
|
|
1311
|
+
|
|
1312
|
+
|
|
1313
|
+
@jsii.interface(jsii_type="@jjrawlins/cdk-ami-builder.IComponentDocument")
|
|
1314
|
+
class IComponentDocument(typing_extensions.Protocol):
|
|
1315
|
+
'''Component data.'''
|
|
1316
|
+
|
|
1317
|
+
@builtins.property
|
|
1318
|
+
@jsii.member(jsii_name="phases")
|
|
1319
|
+
def phases(self) -> typing.List["IPhases"]:
|
|
1320
|
+
...
|
|
1321
|
+
|
|
1322
|
+
@phases.setter
|
|
1323
|
+
def phases(self, value: typing.List["IPhases"]) -> None:
|
|
1324
|
+
...
|
|
1325
|
+
|
|
1326
|
+
@builtins.property
|
|
1327
|
+
@jsii.member(jsii_name="description")
|
|
1328
|
+
def description(self) -> typing.Optional[builtins.str]:
|
|
1329
|
+
...
|
|
1330
|
+
|
|
1331
|
+
@description.setter
|
|
1332
|
+
def description(self, value: typing.Optional[builtins.str]) -> None:
|
|
1333
|
+
...
|
|
1334
|
+
|
|
1335
|
+
@builtins.property
|
|
1336
|
+
@jsii.member(jsii_name="name")
|
|
1337
|
+
def name(self) -> typing.Optional[builtins.str]:
|
|
1338
|
+
...
|
|
1339
|
+
|
|
1340
|
+
@name.setter
|
|
1341
|
+
def name(self, value: typing.Optional[builtins.str]) -> None:
|
|
1342
|
+
...
|
|
1343
|
+
|
|
1344
|
+
@builtins.property
|
|
1345
|
+
@jsii.member(jsii_name="schemaVersion")
|
|
1346
|
+
def schema_version(self) -> typing.Optional[builtins.str]:
|
|
1347
|
+
...
|
|
1348
|
+
|
|
1349
|
+
@schema_version.setter
|
|
1350
|
+
def schema_version(self, value: typing.Optional[builtins.str]) -> None:
|
|
1351
|
+
...
|
|
1352
|
+
|
|
1353
|
+
|
|
1354
|
+
class _IComponentDocumentProxy:
|
|
1355
|
+
'''Component data.'''
|
|
1356
|
+
|
|
1357
|
+
__jsii_type__: typing.ClassVar[str] = "@jjrawlins/cdk-ami-builder.IComponentDocument"
|
|
1358
|
+
|
|
1359
|
+
@builtins.property
|
|
1360
|
+
@jsii.member(jsii_name="phases")
|
|
1361
|
+
def phases(self) -> typing.List["IPhases"]:
|
|
1362
|
+
return typing.cast(typing.List["IPhases"], jsii.get(self, "phases"))
|
|
1363
|
+
|
|
1364
|
+
@phases.setter
|
|
1365
|
+
def phases(self, value: typing.List["IPhases"]) -> None:
|
|
1366
|
+
if __debug__:
|
|
1367
|
+
type_hints = typing.get_type_hints(_typecheckingstub__624a7bb48f946403e3ab1b4ae0dbb8031caf7b944311ff9c993a6126ef5e3287)
|
|
1368
|
+
check_type(argname="argument value", value=value, expected_type=type_hints["value"])
|
|
1369
|
+
jsii.set(self, "phases", value)
|
|
1370
|
+
|
|
1371
|
+
@builtins.property
|
|
1372
|
+
@jsii.member(jsii_name="description")
|
|
1373
|
+
def description(self) -> typing.Optional[builtins.str]:
|
|
1374
|
+
return typing.cast(typing.Optional[builtins.str], jsii.get(self, "description"))
|
|
1375
|
+
|
|
1376
|
+
@description.setter
|
|
1377
|
+
def description(self, value: typing.Optional[builtins.str]) -> None:
|
|
1378
|
+
if __debug__:
|
|
1379
|
+
type_hints = typing.get_type_hints(_typecheckingstub__de97257fb85051b7e1a2f01dbece22036f46f0b683a3d5e9a4169541ec11b5e1)
|
|
1380
|
+
check_type(argname="argument value", value=value, expected_type=type_hints["value"])
|
|
1381
|
+
jsii.set(self, "description", value)
|
|
1382
|
+
|
|
1383
|
+
@builtins.property
|
|
1384
|
+
@jsii.member(jsii_name="name")
|
|
1385
|
+
def name(self) -> typing.Optional[builtins.str]:
|
|
1386
|
+
return typing.cast(typing.Optional[builtins.str], jsii.get(self, "name"))
|
|
1387
|
+
|
|
1388
|
+
@name.setter
|
|
1389
|
+
def name(self, value: typing.Optional[builtins.str]) -> None:
|
|
1390
|
+
if __debug__:
|
|
1391
|
+
type_hints = typing.get_type_hints(_typecheckingstub__70cb5dabf5f8f2356d27488542eac48b55efd3d699b5e052701945bf99619aca)
|
|
1392
|
+
check_type(argname="argument value", value=value, expected_type=type_hints["value"])
|
|
1393
|
+
jsii.set(self, "name", value)
|
|
1394
|
+
|
|
1395
|
+
@builtins.property
|
|
1396
|
+
@jsii.member(jsii_name="schemaVersion")
|
|
1397
|
+
def schema_version(self) -> typing.Optional[builtins.str]:
|
|
1398
|
+
return typing.cast(typing.Optional[builtins.str], jsii.get(self, "schemaVersion"))
|
|
1399
|
+
|
|
1400
|
+
@schema_version.setter
|
|
1401
|
+
def schema_version(self, value: typing.Optional[builtins.str]) -> None:
|
|
1402
|
+
if __debug__:
|
|
1403
|
+
type_hints = typing.get_type_hints(_typecheckingstub__efffe851a3d571fabc89bb8f1e37d1a4ec032e1342122b5ab489204a1e44f6b8)
|
|
1404
|
+
check_type(argname="argument value", value=value, expected_type=type_hints["value"])
|
|
1405
|
+
jsii.set(self, "schemaVersion", value)
|
|
1406
|
+
|
|
1407
|
+
# Adding a "__jsii_proxy_class__(): typing.Type" function to the interface
|
|
1408
|
+
typing.cast(typing.Any, IComponentDocument).__jsii_proxy_class__ = lambda : _IComponentDocumentProxy
|
|
1409
|
+
|
|
1410
|
+
|
|
1411
|
+
@jsii.interface(jsii_type="@jjrawlins/cdk-ami-builder.IComponentProps")
|
|
1412
|
+
class IComponentProps(typing_extensions.Protocol):
|
|
1413
|
+
'''Component props.'''
|
|
1414
|
+
|
|
1415
|
+
@builtins.property
|
|
1416
|
+
@jsii.member(jsii_name="componentDocument")
|
|
1417
|
+
def component_document(self) -> IComponentDocument:
|
|
1418
|
+
...
|
|
1419
|
+
|
|
1420
|
+
@component_document.setter
|
|
1421
|
+
def component_document(self, value: IComponentDocument) -> None:
|
|
1422
|
+
...
|
|
1423
|
+
|
|
1424
|
+
@builtins.property
|
|
1425
|
+
@jsii.member(jsii_name="componentVersion")
|
|
1426
|
+
def component_version(self) -> typing.Optional[builtins.str]:
|
|
1427
|
+
...
|
|
1428
|
+
|
|
1429
|
+
@component_version.setter
|
|
1430
|
+
def component_version(self, value: typing.Optional[builtins.str]) -> None:
|
|
1431
|
+
...
|
|
1432
|
+
|
|
1433
|
+
@builtins.property
|
|
1434
|
+
@jsii.member(jsii_name="description")
|
|
1435
|
+
def description(self) -> typing.Optional[builtins.str]:
|
|
1436
|
+
...
|
|
1437
|
+
|
|
1438
|
+
@description.setter
|
|
1439
|
+
def description(self, value: typing.Optional[builtins.str]) -> None:
|
|
1440
|
+
...
|
|
1441
|
+
|
|
1442
|
+
@builtins.property
|
|
1443
|
+
@jsii.member(jsii_name="name")
|
|
1444
|
+
def name(self) -> typing.Optional[builtins.str]:
|
|
1445
|
+
...
|
|
1446
|
+
|
|
1447
|
+
@name.setter
|
|
1448
|
+
def name(self, value: typing.Optional[builtins.str]) -> None:
|
|
1449
|
+
...
|
|
1450
|
+
|
|
1451
|
+
@builtins.property
|
|
1452
|
+
@jsii.member(jsii_name="parameters")
|
|
1453
|
+
def parameters(
|
|
1454
|
+
self,
|
|
1455
|
+
) -> typing.Optional[typing.Mapping[builtins.str, "IInputParameter"]]:
|
|
1456
|
+
...
|
|
1457
|
+
|
|
1458
|
+
@parameters.setter
|
|
1459
|
+
def parameters(
|
|
1460
|
+
self,
|
|
1461
|
+
value: typing.Optional[typing.Mapping[builtins.str, "IInputParameter"]],
|
|
1462
|
+
) -> None:
|
|
1463
|
+
...
|
|
1464
|
+
|
|
1465
|
+
@builtins.property
|
|
1466
|
+
@jsii.member(jsii_name="platform")
|
|
1467
|
+
def platform(self) -> typing.Optional[builtins.str]:
|
|
1468
|
+
...
|
|
1469
|
+
|
|
1470
|
+
@platform.setter
|
|
1471
|
+
def platform(self, value: typing.Optional[builtins.str]) -> None:
|
|
1472
|
+
...
|
|
1473
|
+
|
|
1474
|
+
@builtins.property
|
|
1475
|
+
@jsii.member(jsii_name="schemaVersion")
|
|
1476
|
+
def schema_version(self) -> typing.Optional[builtins.str]:
|
|
1477
|
+
...
|
|
1478
|
+
|
|
1479
|
+
@schema_version.setter
|
|
1480
|
+
def schema_version(self, value: typing.Optional[builtins.str]) -> None:
|
|
1481
|
+
...
|
|
1482
|
+
|
|
1483
|
+
|
|
1484
|
+
class _IComponentPropsProxy:
|
|
1485
|
+
'''Component props.'''
|
|
1486
|
+
|
|
1487
|
+
__jsii_type__: typing.ClassVar[str] = "@jjrawlins/cdk-ami-builder.IComponentProps"
|
|
1488
|
+
|
|
1489
|
+
@builtins.property
|
|
1490
|
+
@jsii.member(jsii_name="componentDocument")
|
|
1491
|
+
def component_document(self) -> IComponentDocument:
|
|
1492
|
+
return typing.cast(IComponentDocument, jsii.get(self, "componentDocument"))
|
|
1493
|
+
|
|
1494
|
+
@component_document.setter
|
|
1495
|
+
def component_document(self, value: IComponentDocument) -> None:
|
|
1496
|
+
if __debug__:
|
|
1497
|
+
type_hints = typing.get_type_hints(_typecheckingstub__b0ad2caab3355f4838637405d4f26c75ee1cce783903c32551e643abe82659e8)
|
|
1498
|
+
check_type(argname="argument value", value=value, expected_type=type_hints["value"])
|
|
1499
|
+
jsii.set(self, "componentDocument", value)
|
|
1500
|
+
|
|
1501
|
+
@builtins.property
|
|
1502
|
+
@jsii.member(jsii_name="componentVersion")
|
|
1503
|
+
def component_version(self) -> typing.Optional[builtins.str]:
|
|
1504
|
+
return typing.cast(typing.Optional[builtins.str], jsii.get(self, "componentVersion"))
|
|
1505
|
+
|
|
1506
|
+
@component_version.setter
|
|
1507
|
+
def component_version(self, value: typing.Optional[builtins.str]) -> None:
|
|
1508
|
+
if __debug__:
|
|
1509
|
+
type_hints = typing.get_type_hints(_typecheckingstub__0bce0f8dc96228f8efb876e5919d9c2c1ee92c26a24d14eca94a50a06cd4926f)
|
|
1510
|
+
check_type(argname="argument value", value=value, expected_type=type_hints["value"])
|
|
1511
|
+
jsii.set(self, "componentVersion", value)
|
|
1512
|
+
|
|
1513
|
+
@builtins.property
|
|
1514
|
+
@jsii.member(jsii_name="description")
|
|
1515
|
+
def description(self) -> typing.Optional[builtins.str]:
|
|
1516
|
+
return typing.cast(typing.Optional[builtins.str], jsii.get(self, "description"))
|
|
1517
|
+
|
|
1518
|
+
@description.setter
|
|
1519
|
+
def description(self, value: typing.Optional[builtins.str]) -> None:
|
|
1520
|
+
if __debug__:
|
|
1521
|
+
type_hints = typing.get_type_hints(_typecheckingstub__c0c7dec14ffd9bf1a1a114795b123ba90e9b80ca69c21fdaa3f475ddf85d78b1)
|
|
1522
|
+
check_type(argname="argument value", value=value, expected_type=type_hints["value"])
|
|
1523
|
+
jsii.set(self, "description", value)
|
|
1524
|
+
|
|
1525
|
+
@builtins.property
|
|
1526
|
+
@jsii.member(jsii_name="name")
|
|
1527
|
+
def name(self) -> typing.Optional[builtins.str]:
|
|
1528
|
+
return typing.cast(typing.Optional[builtins.str], jsii.get(self, "name"))
|
|
1529
|
+
|
|
1530
|
+
@name.setter
|
|
1531
|
+
def name(self, value: typing.Optional[builtins.str]) -> None:
|
|
1532
|
+
if __debug__:
|
|
1533
|
+
type_hints = typing.get_type_hints(_typecheckingstub__72232f5835e0beda072a77bad77970be5491d2709e66ba2ca97fd7bc9db71006)
|
|
1534
|
+
check_type(argname="argument value", value=value, expected_type=type_hints["value"])
|
|
1535
|
+
jsii.set(self, "name", value)
|
|
1536
|
+
|
|
1537
|
+
@builtins.property
|
|
1538
|
+
@jsii.member(jsii_name="parameters")
|
|
1539
|
+
def parameters(
|
|
1540
|
+
self,
|
|
1541
|
+
) -> typing.Optional[typing.Mapping[builtins.str, "IInputParameter"]]:
|
|
1542
|
+
return typing.cast(typing.Optional[typing.Mapping[builtins.str, "IInputParameter"]], jsii.get(self, "parameters"))
|
|
1543
|
+
|
|
1544
|
+
@parameters.setter
|
|
1545
|
+
def parameters(
|
|
1546
|
+
self,
|
|
1547
|
+
value: typing.Optional[typing.Mapping[builtins.str, "IInputParameter"]],
|
|
1548
|
+
) -> None:
|
|
1549
|
+
if __debug__:
|
|
1550
|
+
type_hints = typing.get_type_hints(_typecheckingstub__86f16715a17e21602912ba9d4533eca197b8693c30d16442cfab62b7ea33370d)
|
|
1551
|
+
check_type(argname="argument value", value=value, expected_type=type_hints["value"])
|
|
1552
|
+
jsii.set(self, "parameters", value)
|
|
1553
|
+
|
|
1554
|
+
@builtins.property
|
|
1555
|
+
@jsii.member(jsii_name="platform")
|
|
1556
|
+
def platform(self) -> typing.Optional[builtins.str]:
|
|
1557
|
+
return typing.cast(typing.Optional[builtins.str], jsii.get(self, "platform"))
|
|
1558
|
+
|
|
1559
|
+
@platform.setter
|
|
1560
|
+
def platform(self, value: typing.Optional[builtins.str]) -> None:
|
|
1561
|
+
if __debug__:
|
|
1562
|
+
type_hints = typing.get_type_hints(_typecheckingstub__a23ae80ba76ecddd4143609bb122f336b79f3ab095cc2c2c5d4d1385ef62693a)
|
|
1563
|
+
check_type(argname="argument value", value=value, expected_type=type_hints["value"])
|
|
1564
|
+
jsii.set(self, "platform", value)
|
|
1565
|
+
|
|
1566
|
+
@builtins.property
|
|
1567
|
+
@jsii.member(jsii_name="schemaVersion")
|
|
1568
|
+
def schema_version(self) -> typing.Optional[builtins.str]:
|
|
1569
|
+
return typing.cast(typing.Optional[builtins.str], jsii.get(self, "schemaVersion"))
|
|
1570
|
+
|
|
1571
|
+
@schema_version.setter
|
|
1572
|
+
def schema_version(self, value: typing.Optional[builtins.str]) -> None:
|
|
1573
|
+
if __debug__:
|
|
1574
|
+
type_hints = typing.get_type_hints(_typecheckingstub__9973b3d6b077a057d59e04c03013dce9d7ed43148817bf0433987b401da20438)
|
|
1575
|
+
check_type(argname="argument value", value=value, expected_type=type_hints["value"])
|
|
1576
|
+
jsii.set(self, "schemaVersion", value)
|
|
1577
|
+
|
|
1578
|
+
# Adding a "__jsii_proxy_class__(): typing.Type" function to the interface
|
|
1579
|
+
typing.cast(typing.Any, IComponentProps).__jsii_proxy_class__ = lambda : _IComponentPropsProxy
|
|
1580
|
+
|
|
1581
|
+
|
|
1582
|
+
@jsii.interface(jsii_type="@jjrawlins/cdk-ami-builder.IEbsParameters")
|
|
1583
|
+
class IEbsParameters(typing_extensions.Protocol):
|
|
1584
|
+
@builtins.property
|
|
1585
|
+
@jsii.member(jsii_name="volumeSize")
|
|
1586
|
+
def volume_size(self) -> jsii.Number:
|
|
1587
|
+
'''Size of the volume in GiB.'''
|
|
1588
|
+
...
|
|
1589
|
+
|
|
1590
|
+
@volume_size.setter
|
|
1591
|
+
def volume_size(self, value: jsii.Number) -> None:
|
|
1592
|
+
...
|
|
1593
|
+
|
|
1594
|
+
@builtins.property
|
|
1595
|
+
@jsii.member(jsii_name="deleteOnTermination")
|
|
1596
|
+
def delete_on_termination(self) -> typing.Optional[builtins.bool]:
|
|
1597
|
+
'''Whether the volume is deleted when the instance is terminated.
|
|
1598
|
+
|
|
1599
|
+
:default: true
|
|
1600
|
+
'''
|
|
1601
|
+
...
|
|
1602
|
+
|
|
1603
|
+
@delete_on_termination.setter
|
|
1604
|
+
def delete_on_termination(self, value: typing.Optional[builtins.bool]) -> None:
|
|
1605
|
+
...
|
|
1606
|
+
|
|
1607
|
+
@builtins.property
|
|
1608
|
+
@jsii.member(jsii_name="encrypted")
|
|
1609
|
+
def encrypted(self) -> typing.Optional[builtins.bool]:
|
|
1610
|
+
'''Whether the volume is encrypted.
|
|
1611
|
+
|
|
1612
|
+
:default: true
|
|
1613
|
+
'''
|
|
1614
|
+
...
|
|
1615
|
+
|
|
1616
|
+
@encrypted.setter
|
|
1617
|
+
def encrypted(self, value: typing.Optional[builtins.bool]) -> None:
|
|
1618
|
+
...
|
|
1619
|
+
|
|
1620
|
+
@builtins.property
|
|
1621
|
+
@jsii.member(jsii_name="kmsKeyId")
|
|
1622
|
+
def kms_key_id(self) -> typing.Optional[builtins.str]:
|
|
1623
|
+
'''KMS Key Alias for the volume If not specified, the default AMI encryption key alias will be used Custom KMS Keys Alias need to exist in the other accounts for distribution to work correctly.
|
|
1624
|
+
|
|
1625
|
+
:default: alias/aws/ebs
|
|
1626
|
+
'''
|
|
1627
|
+
...
|
|
1628
|
+
|
|
1629
|
+
@kms_key_id.setter
|
|
1630
|
+
def kms_key_id(self, value: typing.Optional[builtins.str]) -> None:
|
|
1631
|
+
...
|
|
1632
|
+
|
|
1633
|
+
@builtins.property
|
|
1634
|
+
@jsii.member(jsii_name="volumeType")
|
|
1635
|
+
def volume_type(self) -> typing.Optional[builtins.str]:
|
|
1636
|
+
'''Type of the volume.
|
|
1637
|
+
|
|
1638
|
+
:default: gp2
|
|
1639
|
+
'''
|
|
1640
|
+
...
|
|
1641
|
+
|
|
1642
|
+
@volume_type.setter
|
|
1643
|
+
def volume_type(self, value: typing.Optional[builtins.str]) -> None:
|
|
1644
|
+
...
|
|
1645
|
+
|
|
1646
|
+
|
|
1647
|
+
class _IEbsParametersProxy:
|
|
1648
|
+
__jsii_type__: typing.ClassVar[str] = "@jjrawlins/cdk-ami-builder.IEbsParameters"
|
|
1649
|
+
|
|
1650
|
+
@builtins.property
|
|
1651
|
+
@jsii.member(jsii_name="volumeSize")
|
|
1652
|
+
def volume_size(self) -> jsii.Number:
|
|
1653
|
+
'''Size of the volume in GiB.'''
|
|
1654
|
+
return typing.cast(jsii.Number, jsii.get(self, "volumeSize"))
|
|
1655
|
+
|
|
1656
|
+
@volume_size.setter
|
|
1657
|
+
def volume_size(self, value: jsii.Number) -> None:
|
|
1658
|
+
if __debug__:
|
|
1659
|
+
type_hints = typing.get_type_hints(_typecheckingstub__0e5d81c411808594f27bf71993213cf332e7b7bc72d420381bada3679eeea8ec)
|
|
1660
|
+
check_type(argname="argument value", value=value, expected_type=type_hints["value"])
|
|
1661
|
+
jsii.set(self, "volumeSize", value)
|
|
1662
|
+
|
|
1663
|
+
@builtins.property
|
|
1664
|
+
@jsii.member(jsii_name="deleteOnTermination")
|
|
1665
|
+
def delete_on_termination(self) -> typing.Optional[builtins.bool]:
|
|
1666
|
+
'''Whether the volume is deleted when the instance is terminated.
|
|
1667
|
+
|
|
1668
|
+
:default: true
|
|
1669
|
+
'''
|
|
1670
|
+
return typing.cast(typing.Optional[builtins.bool], jsii.get(self, "deleteOnTermination"))
|
|
1671
|
+
|
|
1672
|
+
@delete_on_termination.setter
|
|
1673
|
+
def delete_on_termination(self, value: typing.Optional[builtins.bool]) -> None:
|
|
1674
|
+
if __debug__:
|
|
1675
|
+
type_hints = typing.get_type_hints(_typecheckingstub__b540c011e8f4a3a07534f2b6ce7d7f97f2c406cb2e6c3fe31235455d998f6241)
|
|
1676
|
+
check_type(argname="argument value", value=value, expected_type=type_hints["value"])
|
|
1677
|
+
jsii.set(self, "deleteOnTermination", value)
|
|
1678
|
+
|
|
1679
|
+
@builtins.property
|
|
1680
|
+
@jsii.member(jsii_name="encrypted")
|
|
1681
|
+
def encrypted(self) -> typing.Optional[builtins.bool]:
|
|
1682
|
+
'''Whether the volume is encrypted.
|
|
1683
|
+
|
|
1684
|
+
:default: true
|
|
1685
|
+
'''
|
|
1686
|
+
return typing.cast(typing.Optional[builtins.bool], jsii.get(self, "encrypted"))
|
|
1687
|
+
|
|
1688
|
+
@encrypted.setter
|
|
1689
|
+
def encrypted(self, value: typing.Optional[builtins.bool]) -> None:
|
|
1690
|
+
if __debug__:
|
|
1691
|
+
type_hints = typing.get_type_hints(_typecheckingstub__7e13b146751f14eee56e18d77364984f0f27022180ae37bc0ded34faef00f0c4)
|
|
1692
|
+
check_type(argname="argument value", value=value, expected_type=type_hints["value"])
|
|
1693
|
+
jsii.set(self, "encrypted", value)
|
|
1694
|
+
|
|
1695
|
+
@builtins.property
|
|
1696
|
+
@jsii.member(jsii_name="kmsKeyId")
|
|
1697
|
+
def kms_key_id(self) -> typing.Optional[builtins.str]:
|
|
1698
|
+
'''KMS Key Alias for the volume If not specified, the default AMI encryption key alias will be used Custom KMS Keys Alias need to exist in the other accounts for distribution to work correctly.
|
|
1699
|
+
|
|
1700
|
+
:default: alias/aws/ebs
|
|
1701
|
+
'''
|
|
1702
|
+
return typing.cast(typing.Optional[builtins.str], jsii.get(self, "kmsKeyId"))
|
|
1703
|
+
|
|
1704
|
+
@kms_key_id.setter
|
|
1705
|
+
def kms_key_id(self, value: typing.Optional[builtins.str]) -> None:
|
|
1706
|
+
if __debug__:
|
|
1707
|
+
type_hints = typing.get_type_hints(_typecheckingstub__c302f146869b52368ce6de4d6f01976b8eca3e9d54f8efbbffe44cf8b19d0869)
|
|
1708
|
+
check_type(argname="argument value", value=value, expected_type=type_hints["value"])
|
|
1709
|
+
jsii.set(self, "kmsKeyId", value)
|
|
1710
|
+
|
|
1711
|
+
@builtins.property
|
|
1712
|
+
@jsii.member(jsii_name="volumeType")
|
|
1713
|
+
def volume_type(self) -> typing.Optional[builtins.str]:
|
|
1714
|
+
'''Type of the volume.
|
|
1715
|
+
|
|
1716
|
+
:default: gp2
|
|
1717
|
+
'''
|
|
1718
|
+
return typing.cast(typing.Optional[builtins.str], jsii.get(self, "volumeType"))
|
|
1719
|
+
|
|
1720
|
+
@volume_type.setter
|
|
1721
|
+
def volume_type(self, value: typing.Optional[builtins.str]) -> None:
|
|
1722
|
+
if __debug__:
|
|
1723
|
+
type_hints = typing.get_type_hints(_typecheckingstub__e81a510a2a024c038328cbad4402309e14a7833b607324f360373866e250b3f7)
|
|
1724
|
+
check_type(argname="argument value", value=value, expected_type=type_hints["value"])
|
|
1725
|
+
jsii.set(self, "volumeType", value)
|
|
1726
|
+
|
|
1727
|
+
# Adding a "__jsii_proxy_class__(): typing.Type" function to the interface
|
|
1728
|
+
typing.cast(typing.Any, IEbsParameters).__jsii_proxy_class__ = lambda : _IEbsParametersProxy
|
|
1729
|
+
|
|
1730
|
+
|
|
1731
|
+
@jsii.interface(jsii_type="@jjrawlins/cdk-ami-builder.IInputParameter")
|
|
1732
|
+
class IInputParameter(typing_extensions.Protocol):
|
|
1733
|
+
@builtins.property
|
|
1734
|
+
@jsii.member(jsii_name="default")
|
|
1735
|
+
def default(self) -> builtins.str:
|
|
1736
|
+
...
|
|
1737
|
+
|
|
1738
|
+
@default.setter
|
|
1739
|
+
def default(self, value: builtins.str) -> None:
|
|
1740
|
+
...
|
|
1741
|
+
|
|
1742
|
+
@builtins.property
|
|
1743
|
+
@jsii.member(jsii_name="description")
|
|
1744
|
+
def description(self) -> builtins.str:
|
|
1745
|
+
...
|
|
1746
|
+
|
|
1747
|
+
@description.setter
|
|
1748
|
+
def description(self, value: builtins.str) -> None:
|
|
1749
|
+
...
|
|
1750
|
+
|
|
1751
|
+
@builtins.property
|
|
1752
|
+
@jsii.member(jsii_name="type")
|
|
1753
|
+
def type(self) -> builtins.str:
|
|
1754
|
+
...
|
|
1755
|
+
|
|
1756
|
+
@type.setter
|
|
1757
|
+
def type(self, value: builtins.str) -> None:
|
|
1758
|
+
...
|
|
1759
|
+
|
|
1760
|
+
|
|
1761
|
+
class _IInputParameterProxy:
|
|
1762
|
+
__jsii_type__: typing.ClassVar[str] = "@jjrawlins/cdk-ami-builder.IInputParameter"
|
|
1763
|
+
|
|
1764
|
+
@builtins.property
|
|
1765
|
+
@jsii.member(jsii_name="default")
|
|
1766
|
+
def default(self) -> builtins.str:
|
|
1767
|
+
return typing.cast(builtins.str, jsii.get(self, "default"))
|
|
1768
|
+
|
|
1769
|
+
@default.setter
|
|
1770
|
+
def default(self, value: builtins.str) -> None:
|
|
1771
|
+
if __debug__:
|
|
1772
|
+
type_hints = typing.get_type_hints(_typecheckingstub__aaf310c2928dde39cb8af7991b84c39540130f8d881fe6005d7eab25d2d118c0)
|
|
1773
|
+
check_type(argname="argument value", value=value, expected_type=type_hints["value"])
|
|
1774
|
+
jsii.set(self, "default", value)
|
|
1775
|
+
|
|
1776
|
+
@builtins.property
|
|
1777
|
+
@jsii.member(jsii_name="description")
|
|
1778
|
+
def description(self) -> builtins.str:
|
|
1779
|
+
return typing.cast(builtins.str, jsii.get(self, "description"))
|
|
1780
|
+
|
|
1781
|
+
@description.setter
|
|
1782
|
+
def description(self, value: builtins.str) -> None:
|
|
1783
|
+
if __debug__:
|
|
1784
|
+
type_hints = typing.get_type_hints(_typecheckingstub__4560f5bbdf32517a539c1af9e6599ca9195835a850a0f07ddfc0dcdf3641b1f7)
|
|
1785
|
+
check_type(argname="argument value", value=value, expected_type=type_hints["value"])
|
|
1786
|
+
jsii.set(self, "description", value)
|
|
1787
|
+
|
|
1788
|
+
@builtins.property
|
|
1789
|
+
@jsii.member(jsii_name="type")
|
|
1790
|
+
def type(self) -> builtins.str:
|
|
1791
|
+
return typing.cast(builtins.str, jsii.get(self, "type"))
|
|
1792
|
+
|
|
1793
|
+
@type.setter
|
|
1794
|
+
def type(self, value: builtins.str) -> None:
|
|
1795
|
+
if __debug__:
|
|
1796
|
+
type_hints = typing.get_type_hints(_typecheckingstub__8fb09906d4a1b21165f080811572771be07edead36213cbdddbcae3f59ca4fe7)
|
|
1797
|
+
check_type(argname="argument value", value=value, expected_type=type_hints["value"])
|
|
1798
|
+
jsii.set(self, "type", value)
|
|
1799
|
+
|
|
1800
|
+
# Adding a "__jsii_proxy_class__(): typing.Type" function to the interface
|
|
1801
|
+
typing.cast(typing.Any, IInputParameter).__jsii_proxy_class__ = lambda : _IInputParameterProxy
|
|
1802
|
+
|
|
1803
|
+
|
|
1804
|
+
@jsii.interface(jsii_type="@jjrawlins/cdk-ami-builder.IPhases")
|
|
1805
|
+
class IPhases(typing_extensions.Protocol):
|
|
1806
|
+
'''Phases for the component.'''
|
|
1807
|
+
|
|
1808
|
+
@builtins.property
|
|
1809
|
+
@jsii.member(jsii_name="name")
|
|
1810
|
+
def name(self) -> builtins.str:
|
|
1811
|
+
...
|
|
1812
|
+
|
|
1813
|
+
@name.setter
|
|
1814
|
+
def name(self, value: builtins.str) -> None:
|
|
1815
|
+
...
|
|
1816
|
+
|
|
1817
|
+
@builtins.property
|
|
1818
|
+
@jsii.member(jsii_name="steps")
|
|
1819
|
+
def steps(self) -> typing.List["IStepCommands"]:
|
|
1820
|
+
...
|
|
1821
|
+
|
|
1822
|
+
@steps.setter
|
|
1823
|
+
def steps(self, value: typing.List["IStepCommands"]) -> None:
|
|
1824
|
+
...
|
|
1825
|
+
|
|
1826
|
+
|
|
1827
|
+
class _IPhasesProxy:
|
|
1828
|
+
'''Phases for the component.'''
|
|
1829
|
+
|
|
1830
|
+
__jsii_type__: typing.ClassVar[str] = "@jjrawlins/cdk-ami-builder.IPhases"
|
|
1831
|
+
|
|
1832
|
+
@builtins.property
|
|
1833
|
+
@jsii.member(jsii_name="name")
|
|
1834
|
+
def name(self) -> builtins.str:
|
|
1835
|
+
return typing.cast(builtins.str, jsii.get(self, "name"))
|
|
1836
|
+
|
|
1837
|
+
@name.setter
|
|
1838
|
+
def name(self, value: builtins.str) -> None:
|
|
1839
|
+
if __debug__:
|
|
1840
|
+
type_hints = typing.get_type_hints(_typecheckingstub__44eb356dcf22fafae58586b67e463188c1ceb5872e7d4700b983131d9fa722c2)
|
|
1841
|
+
check_type(argname="argument value", value=value, expected_type=type_hints["value"])
|
|
1842
|
+
jsii.set(self, "name", value)
|
|
1843
|
+
|
|
1844
|
+
@builtins.property
|
|
1845
|
+
@jsii.member(jsii_name="steps")
|
|
1846
|
+
def steps(self) -> typing.List["IStepCommands"]:
|
|
1847
|
+
return typing.cast(typing.List["IStepCommands"], jsii.get(self, "steps"))
|
|
1848
|
+
|
|
1849
|
+
@steps.setter
|
|
1850
|
+
def steps(self, value: typing.List["IStepCommands"]) -> None:
|
|
1851
|
+
if __debug__:
|
|
1852
|
+
type_hints = typing.get_type_hints(_typecheckingstub__df462b42f744b117b0586075ca023a73546818bc12bda3af473d5cded5a14453)
|
|
1853
|
+
check_type(argname="argument value", value=value, expected_type=type_hints["value"])
|
|
1854
|
+
jsii.set(self, "steps", value)
|
|
1855
|
+
|
|
1856
|
+
# Adding a "__jsii_proxy_class__(): typing.Type" function to the interface
|
|
1857
|
+
typing.cast(typing.Any, IPhases).__jsii_proxy_class__ = lambda : _IPhasesProxy
|
|
1858
|
+
|
|
1859
|
+
|
|
1860
|
+
@jsii.interface(jsii_type="@jjrawlins/cdk-ami-builder.IStepCommands")
|
|
1861
|
+
class IStepCommands(typing_extensions.Protocol):
|
|
1862
|
+
@builtins.property
|
|
1863
|
+
@jsii.member(jsii_name="action")
|
|
1864
|
+
def action(self) -> builtins.str:
|
|
1865
|
+
...
|
|
1866
|
+
|
|
1867
|
+
@action.setter
|
|
1868
|
+
def action(self, value: builtins.str) -> None:
|
|
1869
|
+
...
|
|
1870
|
+
|
|
1871
|
+
@builtins.property
|
|
1872
|
+
@jsii.member(jsii_name="name")
|
|
1873
|
+
def name(self) -> builtins.str:
|
|
1874
|
+
...
|
|
1875
|
+
|
|
1876
|
+
@name.setter
|
|
1877
|
+
def name(self, value: builtins.str) -> None:
|
|
1878
|
+
...
|
|
1879
|
+
|
|
1880
|
+
@builtins.property
|
|
1881
|
+
@jsii.member(jsii_name="inputs")
|
|
1882
|
+
def inputs(self) -> typing.Optional[IActionCommands]:
|
|
1883
|
+
...
|
|
1884
|
+
|
|
1885
|
+
@inputs.setter
|
|
1886
|
+
def inputs(self, value: typing.Optional[IActionCommands]) -> None:
|
|
1887
|
+
...
|
|
1888
|
+
|
|
1889
|
+
|
|
1890
|
+
class _IStepCommandsProxy:
|
|
1891
|
+
__jsii_type__: typing.ClassVar[str] = "@jjrawlins/cdk-ami-builder.IStepCommands"
|
|
1892
|
+
|
|
1893
|
+
@builtins.property
|
|
1894
|
+
@jsii.member(jsii_name="action")
|
|
1895
|
+
def action(self) -> builtins.str:
|
|
1896
|
+
return typing.cast(builtins.str, jsii.get(self, "action"))
|
|
1897
|
+
|
|
1898
|
+
@action.setter
|
|
1899
|
+
def action(self, value: builtins.str) -> None:
|
|
1900
|
+
if __debug__:
|
|
1901
|
+
type_hints = typing.get_type_hints(_typecheckingstub__d2a55181a699ecdb46fd277bb5d051f1e9f4433e27639332395478ed06c7bada)
|
|
1902
|
+
check_type(argname="argument value", value=value, expected_type=type_hints["value"])
|
|
1903
|
+
jsii.set(self, "action", value)
|
|
1904
|
+
|
|
1905
|
+
@builtins.property
|
|
1906
|
+
@jsii.member(jsii_name="name")
|
|
1907
|
+
def name(self) -> builtins.str:
|
|
1908
|
+
return typing.cast(builtins.str, jsii.get(self, "name"))
|
|
1909
|
+
|
|
1910
|
+
@name.setter
|
|
1911
|
+
def name(self, value: builtins.str) -> None:
|
|
1912
|
+
if __debug__:
|
|
1913
|
+
type_hints = typing.get_type_hints(_typecheckingstub__c7fd2c10de441da316399b8d67ef9fe6302063110bab78de675bf72c8d330cd5)
|
|
1914
|
+
check_type(argname="argument value", value=value, expected_type=type_hints["value"])
|
|
1915
|
+
jsii.set(self, "name", value)
|
|
1916
|
+
|
|
1917
|
+
@builtins.property
|
|
1918
|
+
@jsii.member(jsii_name="inputs")
|
|
1919
|
+
def inputs(self) -> typing.Optional[IActionCommands]:
|
|
1920
|
+
return typing.cast(typing.Optional[IActionCommands], jsii.get(self, "inputs"))
|
|
1921
|
+
|
|
1922
|
+
@inputs.setter
|
|
1923
|
+
def inputs(self, value: typing.Optional[IActionCommands]) -> None:
|
|
1924
|
+
if __debug__:
|
|
1925
|
+
type_hints = typing.get_type_hints(_typecheckingstub__31f544d77b7639a100d3ef21a2dccb6780ad4865ad30dc0927169fa6f58ba844)
|
|
1926
|
+
check_type(argname="argument value", value=value, expected_type=type_hints["value"])
|
|
1927
|
+
jsii.set(self, "inputs", value)
|
|
1928
|
+
|
|
1929
|
+
# Adding a "__jsii_proxy_class__(): typing.Type" function to the interface
|
|
1930
|
+
typing.cast(typing.Any, IStepCommands).__jsii_proxy_class__ = lambda : _IStepCommandsProxy
|
|
1931
|
+
|
|
1932
|
+
|
|
1933
|
+
class ImagePipeline(
|
|
1934
|
+
_constructs_77d1e7e8.Construct,
|
|
1935
|
+
metaclass=jsii.JSIIMeta,
|
|
1936
|
+
jsii_type="@jjrawlins/cdk-ami-builder.ImagePipeline",
|
|
1937
|
+
):
|
|
1938
|
+
def __init__(
|
|
1939
|
+
self,
|
|
1940
|
+
scope: _constructs_77d1e7e8.Construct,
|
|
1941
|
+
id: builtins.str,
|
|
1942
|
+
*,
|
|
1943
|
+
components: typing.Sequence[IComponentProps],
|
|
1944
|
+
parent_image: builtins.str,
|
|
1945
|
+
vpc: _aws_cdk_aws_ec2_ceddda9d.Vpc,
|
|
1946
|
+
additional_policies: typing.Optional[typing.Sequence[_aws_cdk_aws_iam_ceddda9d.ManagedPolicy]] = None,
|
|
1947
|
+
debug_image_pipeline: typing.Optional[builtins.bool] = None,
|
|
1948
|
+
distribution_account_ids: typing.Optional[typing.Sequence[builtins.str]] = None,
|
|
1949
|
+
distribution_kms_key_alias: typing.Optional[builtins.str] = None,
|
|
1950
|
+
distribution_regions: typing.Optional[typing.Sequence[builtins.str]] = None,
|
|
1951
|
+
ebs_volume_configurations: typing.Optional[typing.Sequence[typing.Union["VolumeProps", typing.Dict[builtins.str, typing.Any]]]] = None,
|
|
1952
|
+
email: typing.Optional[builtins.str] = None,
|
|
1953
|
+
enable_vuln_scans: typing.Optional[builtins.bool] = None,
|
|
1954
|
+
image_recipe_version: typing.Optional[builtins.str] = None,
|
|
1955
|
+
instance_types: typing.Optional[typing.Sequence[builtins.str]] = None,
|
|
1956
|
+
platform: typing.Optional[builtins.str] = None,
|
|
1957
|
+
profile_name: typing.Optional[builtins.str] = None,
|
|
1958
|
+
security_group_ids: typing.Optional[typing.Sequence[builtins.str]] = None,
|
|
1959
|
+
security_groups: typing.Optional[typing.Sequence[builtins.str]] = None,
|
|
1960
|
+
subnet_id: typing.Optional[builtins.str] = None,
|
|
1961
|
+
user_data_script: typing.Optional[builtins.str] = None,
|
|
1962
|
+
vuln_scans_repo_name: typing.Optional[builtins.str] = None,
|
|
1963
|
+
vuln_scans_repo_tags: typing.Optional[typing.Sequence[builtins.str]] = None,
|
|
1964
|
+
) -> None:
|
|
1965
|
+
'''
|
|
1966
|
+
:param scope: -
|
|
1967
|
+
:param id: -
|
|
1968
|
+
:param components: List of component props.
|
|
1969
|
+
:param parent_image: The source (parent) image that the image recipe uses as its base environment. The value can be the parent image ARN or an Image Builder AMI ID
|
|
1970
|
+
:param vpc: Vpc to use for the Image Builder Pipeline.
|
|
1971
|
+
:param additional_policies: Additional policies to add to the instance profile associated with the Instance Configurations.
|
|
1972
|
+
:param debug_image_pipeline: Flag indicating whether the debug image pipeline is enabled or not. This variable is optional. Default value is false. Functionally, this will flag to return as finished immediately after first check to see if the image pipeline has finished. This is useful for debugging the image pipeline. However, there will be no AMI value returned.
|
|
1973
|
+
:param distribution_account_ids: This variable represents an array of shared account IDs. It is optional and readonly. If it is provided, this AMI will be visible to the accounts in the array. In order to share the AMI with other accounts, you must specify a KMS key ID for the EBS volume configuration as AWS does not allow sharing AMIs encrypted with the default AMI encryption key.
|
|
1974
|
+
:param distribution_kms_key_alias: The alias of the KMS key used for encryption and decryption of content in the distribution. This property is optional and readonly. The default encryption key is not compatible with cross-account AMI sharing. If you specify distributionAccountIds, you must specify a non-default encryption key using this property. Otherwise, Image Builder will throw an error. Keep in mind that the KMS key in the distribution account must allow the EC2ImageBuilderDistributionCrossAccountRole role to use the key.
|
|
1975
|
+
:param distribution_regions:
|
|
1976
|
+
:param ebs_volume_configurations: Subnet ID for the Infrastructure Configuration.
|
|
1977
|
+
:param email: Email used to receive Image Builder Pipeline Notifications via SNS.
|
|
1978
|
+
:param enable_vuln_scans: Set to true if you want to enable continuous vulnerability scans through AWS Inpector.
|
|
1979
|
+
:param image_recipe_version: Image recipe version (Default: 0.0.1).
|
|
1980
|
+
:param instance_types: List of instance types used in the Instance Configuration (Default: [ 't3.medium', 'm5.large', 'm5.xlarge' ]).
|
|
1981
|
+
:param platform: Platform type Linux or Windows (Default: Linux).
|
|
1982
|
+
:param profile_name: Name of the instance profile that will be associated with the Instance Configuration.
|
|
1983
|
+
:param security_group_ids: List of security group IDs for the Infrastructure Configuration.
|
|
1984
|
+
:param security_groups:
|
|
1985
|
+
:param subnet_id:
|
|
1986
|
+
:param user_data_script: UserData script that will override default one (if specified). Default: - none
|
|
1987
|
+
:param vuln_scans_repo_name: Store vulnerability scans through AWS Inspector in ECR using this repo name (if option is enabled).
|
|
1988
|
+
:param vuln_scans_repo_tags: Store vulnerability scans through AWS Inspector in ECR using these image tags (if option is enabled).
|
|
1989
|
+
'''
|
|
1990
|
+
if __debug__:
|
|
1991
|
+
type_hints = typing.get_type_hints(_typecheckingstub__bf6bd3c038c0cdfd3e7d1a6b8572fb503cc2e9cedcc165c10c8c3747c9bd5e18)
|
|
1992
|
+
check_type(argname="argument scope", value=scope, expected_type=type_hints["scope"])
|
|
1993
|
+
check_type(argname="argument id", value=id, expected_type=type_hints["id"])
|
|
1994
|
+
props = ImagePipelineProps(
|
|
1995
|
+
components=components,
|
|
1996
|
+
parent_image=parent_image,
|
|
1997
|
+
vpc=vpc,
|
|
1998
|
+
additional_policies=additional_policies,
|
|
1999
|
+
debug_image_pipeline=debug_image_pipeline,
|
|
2000
|
+
distribution_account_ids=distribution_account_ids,
|
|
2001
|
+
distribution_kms_key_alias=distribution_kms_key_alias,
|
|
2002
|
+
distribution_regions=distribution_regions,
|
|
2003
|
+
ebs_volume_configurations=ebs_volume_configurations,
|
|
2004
|
+
email=email,
|
|
2005
|
+
enable_vuln_scans=enable_vuln_scans,
|
|
2006
|
+
image_recipe_version=image_recipe_version,
|
|
2007
|
+
instance_types=instance_types,
|
|
2008
|
+
platform=platform,
|
|
2009
|
+
profile_name=profile_name,
|
|
2010
|
+
security_group_ids=security_group_ids,
|
|
2011
|
+
security_groups=security_groups,
|
|
2012
|
+
subnet_id=subnet_id,
|
|
2013
|
+
user_data_script=user_data_script,
|
|
2014
|
+
vuln_scans_repo_name=vuln_scans_repo_name,
|
|
2015
|
+
vuln_scans_repo_tags=vuln_scans_repo_tags,
|
|
2016
|
+
)
|
|
2017
|
+
|
|
2018
|
+
jsii.create(self.__class__, self, [scope, id, props])
|
|
2019
|
+
|
|
2020
|
+
@builtins.property
|
|
2021
|
+
@jsii.member(jsii_name="imageId")
|
|
2022
|
+
def image_id(self) -> builtins.str:
|
|
2023
|
+
return typing.cast(builtins.str, jsii.get(self, "imageId"))
|
|
2024
|
+
|
|
2025
|
+
@image_id.setter
|
|
2026
|
+
def image_id(self, value: builtins.str) -> None:
|
|
2027
|
+
if __debug__:
|
|
2028
|
+
type_hints = typing.get_type_hints(_typecheckingstub__3caaa0e87efd31863d50ae14b716d1c26963b70e3c7cb6faf0382a7a992902db)
|
|
2029
|
+
check_type(argname="argument value", value=value, expected_type=type_hints["value"])
|
|
2030
|
+
jsii.set(self, "imageId", value)
|
|
2031
|
+
|
|
2032
|
+
@builtins.property
|
|
2033
|
+
@jsii.member(jsii_name="imagePipelineArn")
|
|
2034
|
+
def image_pipeline_arn(self) -> builtins.str:
|
|
2035
|
+
return typing.cast(builtins.str, jsii.get(self, "imagePipelineArn"))
|
|
2036
|
+
|
|
2037
|
+
@image_pipeline_arn.setter
|
|
2038
|
+
def image_pipeline_arn(self, value: builtins.str) -> None:
|
|
2039
|
+
if __debug__:
|
|
2040
|
+
type_hints = typing.get_type_hints(_typecheckingstub__8f26b6fa7ec32bfa71a51e8decd4140be699fde137d1b00acb1efb9403c33617)
|
|
2041
|
+
check_type(argname="argument value", value=value, expected_type=type_hints["value"])
|
|
2042
|
+
jsii.set(self, "imagePipelineArn", value)
|
|
2043
|
+
|
|
2044
|
+
@builtins.property
|
|
2045
|
+
@jsii.member(jsii_name="imageRecipeComponents")
|
|
2046
|
+
def image_recipe_components(
|
|
2047
|
+
self,
|
|
2048
|
+
) -> typing.List[_aws_cdk_aws_imagebuilder_ceddda9d.CfnImageRecipe.ComponentConfigurationProperty]:
|
|
2049
|
+
return typing.cast(typing.List[_aws_cdk_aws_imagebuilder_ceddda9d.CfnImageRecipe.ComponentConfigurationProperty], jsii.get(self, "imageRecipeComponents"))
|
|
2050
|
+
|
|
2051
|
+
@image_recipe_components.setter
|
|
2052
|
+
def image_recipe_components(
|
|
2053
|
+
self,
|
|
2054
|
+
value: typing.List[_aws_cdk_aws_imagebuilder_ceddda9d.CfnImageRecipe.ComponentConfigurationProperty],
|
|
2055
|
+
) -> None:
|
|
2056
|
+
if __debug__:
|
|
2057
|
+
type_hints = typing.get_type_hints(_typecheckingstub__eeb1c8226fc2b10c398b3b6c92875d7937e349500e49aef10cfda8c99a39abca)
|
|
2058
|
+
check_type(argname="argument value", value=value, expected_type=type_hints["value"])
|
|
2059
|
+
jsii.set(self, "imageRecipeComponents", value)
|
|
2060
|
+
|
|
2061
|
+
|
|
2062
|
+
@jsii.data_type(
|
|
2063
|
+
jsii_type="@jjrawlins/cdk-ami-builder.ImagePipelineProps",
|
|
2064
|
+
jsii_struct_bases=[],
|
|
2065
|
+
name_mapping={
|
|
2066
|
+
"components": "components",
|
|
2067
|
+
"parent_image": "parentImage",
|
|
2068
|
+
"vpc": "vpc",
|
|
2069
|
+
"additional_policies": "additionalPolicies",
|
|
2070
|
+
"debug_image_pipeline": "debugImagePipeline",
|
|
2071
|
+
"distribution_account_ids": "distributionAccountIds",
|
|
2072
|
+
"distribution_kms_key_alias": "distributionKmsKeyAlias",
|
|
2073
|
+
"distribution_regions": "distributionRegions",
|
|
2074
|
+
"ebs_volume_configurations": "ebsVolumeConfigurations",
|
|
2075
|
+
"email": "email",
|
|
2076
|
+
"enable_vuln_scans": "enableVulnScans",
|
|
2077
|
+
"image_recipe_version": "imageRecipeVersion",
|
|
2078
|
+
"instance_types": "instanceTypes",
|
|
2079
|
+
"platform": "platform",
|
|
2080
|
+
"profile_name": "profileName",
|
|
2081
|
+
"security_group_ids": "securityGroupIds",
|
|
2082
|
+
"security_groups": "securityGroups",
|
|
2083
|
+
"subnet_id": "subnetId",
|
|
2084
|
+
"user_data_script": "userDataScript",
|
|
2085
|
+
"vuln_scans_repo_name": "vulnScansRepoName",
|
|
2086
|
+
"vuln_scans_repo_tags": "vulnScansRepoTags",
|
|
2087
|
+
},
|
|
2088
|
+
)
|
|
2089
|
+
class ImagePipelineProps:
|
|
2090
|
+
def __init__(
|
|
2091
|
+
self,
|
|
2092
|
+
*,
|
|
2093
|
+
components: typing.Sequence[IComponentProps],
|
|
2094
|
+
parent_image: builtins.str,
|
|
2095
|
+
vpc: _aws_cdk_aws_ec2_ceddda9d.Vpc,
|
|
2096
|
+
additional_policies: typing.Optional[typing.Sequence[_aws_cdk_aws_iam_ceddda9d.ManagedPolicy]] = None,
|
|
2097
|
+
debug_image_pipeline: typing.Optional[builtins.bool] = None,
|
|
2098
|
+
distribution_account_ids: typing.Optional[typing.Sequence[builtins.str]] = None,
|
|
2099
|
+
distribution_kms_key_alias: typing.Optional[builtins.str] = None,
|
|
2100
|
+
distribution_regions: typing.Optional[typing.Sequence[builtins.str]] = None,
|
|
2101
|
+
ebs_volume_configurations: typing.Optional[typing.Sequence[typing.Union["VolumeProps", typing.Dict[builtins.str, typing.Any]]]] = None,
|
|
2102
|
+
email: typing.Optional[builtins.str] = None,
|
|
2103
|
+
enable_vuln_scans: typing.Optional[builtins.bool] = None,
|
|
2104
|
+
image_recipe_version: typing.Optional[builtins.str] = None,
|
|
2105
|
+
instance_types: typing.Optional[typing.Sequence[builtins.str]] = None,
|
|
2106
|
+
platform: typing.Optional[builtins.str] = None,
|
|
2107
|
+
profile_name: typing.Optional[builtins.str] = None,
|
|
2108
|
+
security_group_ids: typing.Optional[typing.Sequence[builtins.str]] = None,
|
|
2109
|
+
security_groups: typing.Optional[typing.Sequence[builtins.str]] = None,
|
|
2110
|
+
subnet_id: typing.Optional[builtins.str] = None,
|
|
2111
|
+
user_data_script: typing.Optional[builtins.str] = None,
|
|
2112
|
+
vuln_scans_repo_name: typing.Optional[builtins.str] = None,
|
|
2113
|
+
vuln_scans_repo_tags: typing.Optional[typing.Sequence[builtins.str]] = None,
|
|
2114
|
+
) -> None:
|
|
2115
|
+
'''
|
|
2116
|
+
:param components: List of component props.
|
|
2117
|
+
:param parent_image: The source (parent) image that the image recipe uses as its base environment. The value can be the parent image ARN or an Image Builder AMI ID
|
|
2118
|
+
:param vpc: Vpc to use for the Image Builder Pipeline.
|
|
2119
|
+
:param additional_policies: Additional policies to add to the instance profile associated with the Instance Configurations.
|
|
2120
|
+
:param debug_image_pipeline: Flag indicating whether the debug image pipeline is enabled or not. This variable is optional. Default value is false. Functionally, this will flag to return as finished immediately after first check to see if the image pipeline has finished. This is useful for debugging the image pipeline. However, there will be no AMI value returned.
|
|
2121
|
+
:param distribution_account_ids: This variable represents an array of shared account IDs. It is optional and readonly. If it is provided, this AMI will be visible to the accounts in the array. In order to share the AMI with other accounts, you must specify a KMS key ID for the EBS volume configuration as AWS does not allow sharing AMIs encrypted with the default AMI encryption key.
|
|
2122
|
+
:param distribution_kms_key_alias: The alias of the KMS key used for encryption and decryption of content in the distribution. This property is optional and readonly. The default encryption key is not compatible with cross-account AMI sharing. If you specify distributionAccountIds, you must specify a non-default encryption key using this property. Otherwise, Image Builder will throw an error. Keep in mind that the KMS key in the distribution account must allow the EC2ImageBuilderDistributionCrossAccountRole role to use the key.
|
|
2123
|
+
:param distribution_regions:
|
|
2124
|
+
:param ebs_volume_configurations: Subnet ID for the Infrastructure Configuration.
|
|
2125
|
+
:param email: Email used to receive Image Builder Pipeline Notifications via SNS.
|
|
2126
|
+
:param enable_vuln_scans: Set to true if you want to enable continuous vulnerability scans through AWS Inpector.
|
|
2127
|
+
:param image_recipe_version: Image recipe version (Default: 0.0.1).
|
|
2128
|
+
:param instance_types: List of instance types used in the Instance Configuration (Default: [ 't3.medium', 'm5.large', 'm5.xlarge' ]).
|
|
2129
|
+
:param platform: Platform type Linux or Windows (Default: Linux).
|
|
2130
|
+
:param profile_name: Name of the instance profile that will be associated with the Instance Configuration.
|
|
2131
|
+
:param security_group_ids: List of security group IDs for the Infrastructure Configuration.
|
|
2132
|
+
:param security_groups:
|
|
2133
|
+
:param subnet_id:
|
|
2134
|
+
:param user_data_script: UserData script that will override default one (if specified). Default: - none
|
|
2135
|
+
:param vuln_scans_repo_name: Store vulnerability scans through AWS Inspector in ECR using this repo name (if option is enabled).
|
|
2136
|
+
:param vuln_scans_repo_tags: Store vulnerability scans through AWS Inspector in ECR using these image tags (if option is enabled).
|
|
2137
|
+
'''
|
|
2138
|
+
if __debug__:
|
|
2139
|
+
type_hints = typing.get_type_hints(_typecheckingstub__f604923f8f82998f5caecff757715f94c0405ceeb95a6c1b00fa96d9d35d16d6)
|
|
2140
|
+
check_type(argname="argument components", value=components, expected_type=type_hints["components"])
|
|
2141
|
+
check_type(argname="argument parent_image", value=parent_image, expected_type=type_hints["parent_image"])
|
|
2142
|
+
check_type(argname="argument vpc", value=vpc, expected_type=type_hints["vpc"])
|
|
2143
|
+
check_type(argname="argument additional_policies", value=additional_policies, expected_type=type_hints["additional_policies"])
|
|
2144
|
+
check_type(argname="argument debug_image_pipeline", value=debug_image_pipeline, expected_type=type_hints["debug_image_pipeline"])
|
|
2145
|
+
check_type(argname="argument distribution_account_ids", value=distribution_account_ids, expected_type=type_hints["distribution_account_ids"])
|
|
2146
|
+
check_type(argname="argument distribution_kms_key_alias", value=distribution_kms_key_alias, expected_type=type_hints["distribution_kms_key_alias"])
|
|
2147
|
+
check_type(argname="argument distribution_regions", value=distribution_regions, expected_type=type_hints["distribution_regions"])
|
|
2148
|
+
check_type(argname="argument ebs_volume_configurations", value=ebs_volume_configurations, expected_type=type_hints["ebs_volume_configurations"])
|
|
2149
|
+
check_type(argname="argument email", value=email, expected_type=type_hints["email"])
|
|
2150
|
+
check_type(argname="argument enable_vuln_scans", value=enable_vuln_scans, expected_type=type_hints["enable_vuln_scans"])
|
|
2151
|
+
check_type(argname="argument image_recipe_version", value=image_recipe_version, expected_type=type_hints["image_recipe_version"])
|
|
2152
|
+
check_type(argname="argument instance_types", value=instance_types, expected_type=type_hints["instance_types"])
|
|
2153
|
+
check_type(argname="argument platform", value=platform, expected_type=type_hints["platform"])
|
|
2154
|
+
check_type(argname="argument profile_name", value=profile_name, expected_type=type_hints["profile_name"])
|
|
2155
|
+
check_type(argname="argument security_group_ids", value=security_group_ids, expected_type=type_hints["security_group_ids"])
|
|
2156
|
+
check_type(argname="argument security_groups", value=security_groups, expected_type=type_hints["security_groups"])
|
|
2157
|
+
check_type(argname="argument subnet_id", value=subnet_id, expected_type=type_hints["subnet_id"])
|
|
2158
|
+
check_type(argname="argument user_data_script", value=user_data_script, expected_type=type_hints["user_data_script"])
|
|
2159
|
+
check_type(argname="argument vuln_scans_repo_name", value=vuln_scans_repo_name, expected_type=type_hints["vuln_scans_repo_name"])
|
|
2160
|
+
check_type(argname="argument vuln_scans_repo_tags", value=vuln_scans_repo_tags, expected_type=type_hints["vuln_scans_repo_tags"])
|
|
2161
|
+
self._values: typing.Dict[builtins.str, typing.Any] = {
|
|
2162
|
+
"components": components,
|
|
2163
|
+
"parent_image": parent_image,
|
|
2164
|
+
"vpc": vpc,
|
|
2165
|
+
}
|
|
2166
|
+
if additional_policies is not None:
|
|
2167
|
+
self._values["additional_policies"] = additional_policies
|
|
2168
|
+
if debug_image_pipeline is not None:
|
|
2169
|
+
self._values["debug_image_pipeline"] = debug_image_pipeline
|
|
2170
|
+
if distribution_account_ids is not None:
|
|
2171
|
+
self._values["distribution_account_ids"] = distribution_account_ids
|
|
2172
|
+
if distribution_kms_key_alias is not None:
|
|
2173
|
+
self._values["distribution_kms_key_alias"] = distribution_kms_key_alias
|
|
2174
|
+
if distribution_regions is not None:
|
|
2175
|
+
self._values["distribution_regions"] = distribution_regions
|
|
2176
|
+
if ebs_volume_configurations is not None:
|
|
2177
|
+
self._values["ebs_volume_configurations"] = ebs_volume_configurations
|
|
2178
|
+
if email is not None:
|
|
2179
|
+
self._values["email"] = email
|
|
2180
|
+
if enable_vuln_scans is not None:
|
|
2181
|
+
self._values["enable_vuln_scans"] = enable_vuln_scans
|
|
2182
|
+
if image_recipe_version is not None:
|
|
2183
|
+
self._values["image_recipe_version"] = image_recipe_version
|
|
2184
|
+
if instance_types is not None:
|
|
2185
|
+
self._values["instance_types"] = instance_types
|
|
2186
|
+
if platform is not None:
|
|
2187
|
+
self._values["platform"] = platform
|
|
2188
|
+
if profile_name is not None:
|
|
2189
|
+
self._values["profile_name"] = profile_name
|
|
2190
|
+
if security_group_ids is not None:
|
|
2191
|
+
self._values["security_group_ids"] = security_group_ids
|
|
2192
|
+
if security_groups is not None:
|
|
2193
|
+
self._values["security_groups"] = security_groups
|
|
2194
|
+
if subnet_id is not None:
|
|
2195
|
+
self._values["subnet_id"] = subnet_id
|
|
2196
|
+
if user_data_script is not None:
|
|
2197
|
+
self._values["user_data_script"] = user_data_script
|
|
2198
|
+
if vuln_scans_repo_name is not None:
|
|
2199
|
+
self._values["vuln_scans_repo_name"] = vuln_scans_repo_name
|
|
2200
|
+
if vuln_scans_repo_tags is not None:
|
|
2201
|
+
self._values["vuln_scans_repo_tags"] = vuln_scans_repo_tags
|
|
2202
|
+
|
|
2203
|
+
@builtins.property
|
|
2204
|
+
def components(self) -> typing.List[IComponentProps]:
|
|
2205
|
+
'''List of component props.'''
|
|
2206
|
+
result = self._values.get("components")
|
|
2207
|
+
assert result is not None, "Required property 'components' is missing"
|
|
2208
|
+
return typing.cast(typing.List[IComponentProps], result)
|
|
2209
|
+
|
|
2210
|
+
@builtins.property
|
|
2211
|
+
def parent_image(self) -> builtins.str:
|
|
2212
|
+
'''The source (parent) image that the image recipe uses as its base environment.
|
|
2213
|
+
|
|
2214
|
+
The value can be the parent image ARN or an Image Builder AMI ID
|
|
2215
|
+
'''
|
|
2216
|
+
result = self._values.get("parent_image")
|
|
2217
|
+
assert result is not None, "Required property 'parent_image' is missing"
|
|
2218
|
+
return typing.cast(builtins.str, result)
|
|
2219
|
+
|
|
2220
|
+
@builtins.property
|
|
2221
|
+
def vpc(self) -> _aws_cdk_aws_ec2_ceddda9d.Vpc:
|
|
2222
|
+
'''Vpc to use for the Image Builder Pipeline.'''
|
|
2223
|
+
result = self._values.get("vpc")
|
|
2224
|
+
assert result is not None, "Required property 'vpc' is missing"
|
|
2225
|
+
return typing.cast(_aws_cdk_aws_ec2_ceddda9d.Vpc, result)
|
|
2226
|
+
|
|
2227
|
+
@builtins.property
|
|
2228
|
+
def additional_policies(
|
|
2229
|
+
self,
|
|
2230
|
+
) -> typing.Optional[typing.List[_aws_cdk_aws_iam_ceddda9d.ManagedPolicy]]:
|
|
2231
|
+
'''Additional policies to add to the instance profile associated with the Instance Configurations.'''
|
|
2232
|
+
result = self._values.get("additional_policies")
|
|
2233
|
+
return typing.cast(typing.Optional[typing.List[_aws_cdk_aws_iam_ceddda9d.ManagedPolicy]], result)
|
|
2234
|
+
|
|
2235
|
+
@builtins.property
|
|
2236
|
+
def debug_image_pipeline(self) -> typing.Optional[builtins.bool]:
|
|
2237
|
+
'''Flag indicating whether the debug image pipeline is enabled or not.
|
|
2238
|
+
|
|
2239
|
+
This variable is optional. Default value is false.
|
|
2240
|
+
Functionally, this will flag to return as finished immediately after first check to see if the image pipeline has finished.
|
|
2241
|
+
This is useful for debugging the image pipeline. However, there will be no AMI value returned.
|
|
2242
|
+
|
|
2243
|
+
:readonly: true
|
|
2244
|
+
:type: {boolean}
|
|
2245
|
+
'''
|
|
2246
|
+
result = self._values.get("debug_image_pipeline")
|
|
2247
|
+
return typing.cast(typing.Optional[builtins.bool], result)
|
|
2248
|
+
|
|
2249
|
+
@builtins.property
|
|
2250
|
+
def distribution_account_ids(self) -> typing.Optional[typing.List[builtins.str]]:
|
|
2251
|
+
'''This variable represents an array of shared account IDs.
|
|
2252
|
+
|
|
2253
|
+
It is optional and readonly.
|
|
2254
|
+
If it is provided, this AMI will be visible to the accounts in the array.
|
|
2255
|
+
In order to share the AMI with other accounts, you must specify a KMS key ID for the EBS volume configuration as AWS does not allow sharing AMIs encrypted with the default AMI encryption key.
|
|
2256
|
+
|
|
2257
|
+
:readonly: true
|
|
2258
|
+
:type: {Array}
|
|
2259
|
+
'''
|
|
2260
|
+
result = self._values.get("distribution_account_ids")
|
|
2261
|
+
return typing.cast(typing.Optional[typing.List[builtins.str]], result)
|
|
2262
|
+
|
|
2263
|
+
@builtins.property
|
|
2264
|
+
def distribution_kms_key_alias(self) -> typing.Optional[builtins.str]:
|
|
2265
|
+
'''The alias of the KMS key used for encryption and decryption of content in the distribution.
|
|
2266
|
+
|
|
2267
|
+
This property is optional and readonly.
|
|
2268
|
+
The default encryption key is not compatible with cross-account AMI sharing.
|
|
2269
|
+
If you specify distributionAccountIds, you must specify a non-default encryption key using this property. Otherwise, Image Builder will throw an error.
|
|
2270
|
+
Keep in mind that the KMS key in the distribution account must allow the EC2ImageBuilderDistributionCrossAccountRole role to use the key.
|
|
2271
|
+
|
|
2272
|
+
:readonly: true
|
|
2273
|
+
:type: {string}
|
|
2274
|
+
'''
|
|
2275
|
+
result = self._values.get("distribution_kms_key_alias")
|
|
2276
|
+
return typing.cast(typing.Optional[builtins.str], result)
|
|
2277
|
+
|
|
2278
|
+
@builtins.property
|
|
2279
|
+
def distribution_regions(self) -> typing.Optional[typing.List[builtins.str]]:
|
|
2280
|
+
result = self._values.get("distribution_regions")
|
|
2281
|
+
return typing.cast(typing.Optional[typing.List[builtins.str]], result)
|
|
2282
|
+
|
|
2283
|
+
@builtins.property
|
|
2284
|
+
def ebs_volume_configurations(self) -> typing.Optional[typing.List["VolumeProps"]]:
|
|
2285
|
+
'''Subnet ID for the Infrastructure Configuration.'''
|
|
2286
|
+
result = self._values.get("ebs_volume_configurations")
|
|
2287
|
+
return typing.cast(typing.Optional[typing.List["VolumeProps"]], result)
|
|
2288
|
+
|
|
2289
|
+
@builtins.property
|
|
2290
|
+
def email(self) -> typing.Optional[builtins.str]:
|
|
2291
|
+
'''Email used to receive Image Builder Pipeline Notifications via SNS.'''
|
|
2292
|
+
result = self._values.get("email")
|
|
2293
|
+
return typing.cast(typing.Optional[builtins.str], result)
|
|
2294
|
+
|
|
2295
|
+
@builtins.property
|
|
2296
|
+
def enable_vuln_scans(self) -> typing.Optional[builtins.bool]:
|
|
2297
|
+
'''Set to true if you want to enable continuous vulnerability scans through AWS Inpector.'''
|
|
2298
|
+
result = self._values.get("enable_vuln_scans")
|
|
2299
|
+
return typing.cast(typing.Optional[builtins.bool], result)
|
|
2300
|
+
|
|
2301
|
+
@builtins.property
|
|
2302
|
+
def image_recipe_version(self) -> typing.Optional[builtins.str]:
|
|
2303
|
+
'''Image recipe version (Default: 0.0.1).'''
|
|
2304
|
+
result = self._values.get("image_recipe_version")
|
|
2305
|
+
return typing.cast(typing.Optional[builtins.str], result)
|
|
2306
|
+
|
|
2307
|
+
@builtins.property
|
|
2308
|
+
def instance_types(self) -> typing.Optional[typing.List[builtins.str]]:
|
|
2309
|
+
'''List of instance types used in the Instance Configuration (Default: [ 't3.medium', 'm5.large', 'm5.xlarge' ]).'''
|
|
2310
|
+
result = self._values.get("instance_types")
|
|
2311
|
+
return typing.cast(typing.Optional[typing.List[builtins.str]], result)
|
|
2312
|
+
|
|
2313
|
+
@builtins.property
|
|
2314
|
+
def platform(self) -> typing.Optional[builtins.str]:
|
|
2315
|
+
'''Platform type Linux or Windows (Default: Linux).'''
|
|
2316
|
+
result = self._values.get("platform")
|
|
2317
|
+
return typing.cast(typing.Optional[builtins.str], result)
|
|
2318
|
+
|
|
2319
|
+
@builtins.property
|
|
2320
|
+
def profile_name(self) -> typing.Optional[builtins.str]:
|
|
2321
|
+
'''Name of the instance profile that will be associated with the Instance Configuration.'''
|
|
2322
|
+
result = self._values.get("profile_name")
|
|
2323
|
+
return typing.cast(typing.Optional[builtins.str], result)
|
|
2324
|
+
|
|
2325
|
+
@builtins.property
|
|
2326
|
+
def security_group_ids(self) -> typing.Optional[typing.List[builtins.str]]:
|
|
2327
|
+
'''List of security group IDs for the Infrastructure Configuration.'''
|
|
2328
|
+
result = self._values.get("security_group_ids")
|
|
2329
|
+
return typing.cast(typing.Optional[typing.List[builtins.str]], result)
|
|
2330
|
+
|
|
2331
|
+
@builtins.property
|
|
2332
|
+
def security_groups(self) -> typing.Optional[typing.List[builtins.str]]:
|
|
2333
|
+
result = self._values.get("security_groups")
|
|
2334
|
+
return typing.cast(typing.Optional[typing.List[builtins.str]], result)
|
|
2335
|
+
|
|
2336
|
+
@builtins.property
|
|
2337
|
+
def subnet_id(self) -> typing.Optional[builtins.str]:
|
|
2338
|
+
result = self._values.get("subnet_id")
|
|
2339
|
+
return typing.cast(typing.Optional[builtins.str], result)
|
|
2340
|
+
|
|
2341
|
+
@builtins.property
|
|
2342
|
+
def user_data_script(self) -> typing.Optional[builtins.str]:
|
|
2343
|
+
'''UserData script that will override default one (if specified).
|
|
2344
|
+
|
|
2345
|
+
:default: - none
|
|
2346
|
+
'''
|
|
2347
|
+
result = self._values.get("user_data_script")
|
|
2348
|
+
return typing.cast(typing.Optional[builtins.str], result)
|
|
2349
|
+
|
|
2350
|
+
@builtins.property
|
|
2351
|
+
def vuln_scans_repo_name(self) -> typing.Optional[builtins.str]:
|
|
2352
|
+
'''Store vulnerability scans through AWS Inspector in ECR using this repo name (if option is enabled).'''
|
|
2353
|
+
result = self._values.get("vuln_scans_repo_name")
|
|
2354
|
+
return typing.cast(typing.Optional[builtins.str], result)
|
|
2355
|
+
|
|
2356
|
+
@builtins.property
|
|
2357
|
+
def vuln_scans_repo_tags(self) -> typing.Optional[typing.List[builtins.str]]:
|
|
2358
|
+
'''Store vulnerability scans through AWS Inspector in ECR using these image tags (if option is enabled).'''
|
|
2359
|
+
result = self._values.get("vuln_scans_repo_tags")
|
|
2360
|
+
return typing.cast(typing.Optional[typing.List[builtins.str]], result)
|
|
2361
|
+
|
|
2362
|
+
def __eq__(self, rhs: typing.Any) -> builtins.bool:
|
|
2363
|
+
return isinstance(rhs, self.__class__) and rhs._values == self._values
|
|
2364
|
+
|
|
2365
|
+
def __ne__(self, rhs: typing.Any) -> builtins.bool:
|
|
2366
|
+
return not (rhs == self)
|
|
2367
|
+
|
|
2368
|
+
def __repr__(self) -> str:
|
|
2369
|
+
return "ImagePipelineProps(%s)" % ", ".join(
|
|
2370
|
+
k + "=" + repr(v) for k, v in self._values.items()
|
|
2371
|
+
)
|
|
2372
|
+
|
|
2373
|
+
|
|
2374
|
+
class StartStateMachineFunction(
|
|
2375
|
+
_aws_cdk_aws_lambda_ceddda9d.Function,
|
|
2376
|
+
metaclass=jsii.JSIIMeta,
|
|
2377
|
+
jsii_type="@jjrawlins/cdk-ami-builder.StartStateMachineFunction",
|
|
2378
|
+
):
|
|
2379
|
+
'''An AWS Lambda function which executes src/Lambdas/StartStateMachine/StartStateMachine.'''
|
|
2380
|
+
|
|
2381
|
+
def __init__(
|
|
2382
|
+
self,
|
|
2383
|
+
scope: _constructs_77d1e7e8.Construct,
|
|
2384
|
+
id: builtins.str,
|
|
2385
|
+
*,
|
|
2386
|
+
adot_instrumentation: typing.Optional[typing.Union[_aws_cdk_aws_lambda_ceddda9d.AdotInstrumentationConfig, typing.Dict[builtins.str, typing.Any]]] = None,
|
|
2387
|
+
allow_all_outbound: typing.Optional[builtins.bool] = None,
|
|
2388
|
+
allow_public_subnet: typing.Optional[builtins.bool] = None,
|
|
2389
|
+
application_log_level: typing.Optional[builtins.str] = None,
|
|
2390
|
+
application_log_level_v2: typing.Optional[_aws_cdk_aws_lambda_ceddda9d.ApplicationLogLevel] = None,
|
|
2391
|
+
architecture: typing.Optional[_aws_cdk_aws_lambda_ceddda9d.Architecture] = None,
|
|
2392
|
+
code_signing_config: typing.Optional[_aws_cdk_aws_lambda_ceddda9d.ICodeSigningConfig] = None,
|
|
2393
|
+
current_version_options: typing.Optional[typing.Union[_aws_cdk_aws_lambda_ceddda9d.VersionOptions, typing.Dict[builtins.str, typing.Any]]] = None,
|
|
2394
|
+
dead_letter_queue: typing.Optional[_aws_cdk_aws_sqs_ceddda9d.IQueue] = None,
|
|
2395
|
+
dead_letter_queue_enabled: typing.Optional[builtins.bool] = None,
|
|
2396
|
+
dead_letter_topic: typing.Optional[_aws_cdk_aws_sns_ceddda9d.ITopic] = None,
|
|
2397
|
+
description: typing.Optional[builtins.str] = None,
|
|
2398
|
+
environment: typing.Optional[typing.Mapping[builtins.str, builtins.str]] = None,
|
|
2399
|
+
environment_encryption: typing.Optional[_aws_cdk_aws_kms_ceddda9d.IKey] = None,
|
|
2400
|
+
ephemeral_storage_size: typing.Optional[_aws_cdk_ceddda9d.Size] = None,
|
|
2401
|
+
events: typing.Optional[typing.Sequence[_aws_cdk_aws_lambda_ceddda9d.IEventSource]] = None,
|
|
2402
|
+
filesystem: typing.Optional[_aws_cdk_aws_lambda_ceddda9d.FileSystem] = None,
|
|
2403
|
+
function_name: typing.Optional[builtins.str] = None,
|
|
2404
|
+
initial_policy: typing.Optional[typing.Sequence[_aws_cdk_aws_iam_ceddda9d.PolicyStatement]] = None,
|
|
2405
|
+
insights_version: typing.Optional[_aws_cdk_aws_lambda_ceddda9d.LambdaInsightsVersion] = None,
|
|
2406
|
+
ipv6_allowed_for_dual_stack: typing.Optional[builtins.bool] = None,
|
|
2407
|
+
layers: typing.Optional[typing.Sequence[_aws_cdk_aws_lambda_ceddda9d.ILayerVersion]] = None,
|
|
2408
|
+
log_format: typing.Optional[builtins.str] = None,
|
|
2409
|
+
logging_format: typing.Optional[_aws_cdk_aws_lambda_ceddda9d.LoggingFormat] = None,
|
|
2410
|
+
log_group: typing.Optional[_aws_cdk_aws_logs_ceddda9d.ILogGroup] = None,
|
|
2411
|
+
log_retention: typing.Optional[_aws_cdk_aws_logs_ceddda9d.RetentionDays] = None,
|
|
2412
|
+
log_retention_retry_options: typing.Optional[typing.Union[_aws_cdk_aws_lambda_ceddda9d.LogRetentionRetryOptions, typing.Dict[builtins.str, typing.Any]]] = None,
|
|
2413
|
+
log_retention_role: typing.Optional[_aws_cdk_aws_iam_ceddda9d.IRole] = None,
|
|
2414
|
+
memory_size: typing.Optional[jsii.Number] = None,
|
|
2415
|
+
params_and_secrets: typing.Optional[_aws_cdk_aws_lambda_ceddda9d.ParamsAndSecretsLayerVersion] = None,
|
|
2416
|
+
profiling: typing.Optional[builtins.bool] = None,
|
|
2417
|
+
profiling_group: typing.Optional[_aws_cdk_aws_codeguruprofiler_ceddda9d.IProfilingGroup] = None,
|
|
2418
|
+
reserved_concurrent_executions: typing.Optional[jsii.Number] = None,
|
|
2419
|
+
role: typing.Optional[_aws_cdk_aws_iam_ceddda9d.IRole] = None,
|
|
2420
|
+
runtime_management_mode: typing.Optional[_aws_cdk_aws_lambda_ceddda9d.RuntimeManagementMode] = None,
|
|
2421
|
+
security_groups: typing.Optional[typing.Sequence[_aws_cdk_aws_ec2_ceddda9d.ISecurityGroup]] = None,
|
|
2422
|
+
snap_start: typing.Optional[_aws_cdk_aws_lambda_ceddda9d.SnapStartConf] = None,
|
|
2423
|
+
system_log_level: typing.Optional[builtins.str] = None,
|
|
2424
|
+
system_log_level_v2: typing.Optional[_aws_cdk_aws_lambda_ceddda9d.SystemLogLevel] = None,
|
|
2425
|
+
timeout: typing.Optional[_aws_cdk_ceddda9d.Duration] = None,
|
|
2426
|
+
tracing: typing.Optional[_aws_cdk_aws_lambda_ceddda9d.Tracing] = None,
|
|
2427
|
+
vpc: typing.Optional[_aws_cdk_aws_ec2_ceddda9d.IVpc] = None,
|
|
2428
|
+
vpc_subnets: typing.Optional[typing.Union[_aws_cdk_aws_ec2_ceddda9d.SubnetSelection, typing.Dict[builtins.str, typing.Any]]] = None,
|
|
2429
|
+
max_event_age: typing.Optional[_aws_cdk_ceddda9d.Duration] = None,
|
|
2430
|
+
on_failure: typing.Optional[_aws_cdk_aws_lambda_ceddda9d.IDestination] = None,
|
|
2431
|
+
on_success: typing.Optional[_aws_cdk_aws_lambda_ceddda9d.IDestination] = None,
|
|
2432
|
+
retry_attempts: typing.Optional[jsii.Number] = None,
|
|
2433
|
+
) -> None:
|
|
2434
|
+
'''
|
|
2435
|
+
:param scope: -
|
|
2436
|
+
:param id: -
|
|
2437
|
+
:param adot_instrumentation: Specify the configuration of AWS Distro for OpenTelemetry (ADOT) instrumentation. Default: - No ADOT instrumentation
|
|
2438
|
+
:param allow_all_outbound: 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. Do not specify this property if the ``securityGroups`` or ``securityGroup`` property is set. Instead, configure ``allowAllOutbound`` directly on the security group. Default: true
|
|
2439
|
+
:param allow_public_subnet: 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. Default: false
|
|
2440
|
+
:param application_log_level: (deprecated) Sets the application log level for the function. Default: "INFO"
|
|
2441
|
+
:param application_log_level_v2: Sets the application log level for the function. Default: ApplicationLogLevel.INFO
|
|
2442
|
+
:param architecture: The system architectures compatible with this lambda function. Default: Architecture.X86_64
|
|
2443
|
+
:param code_signing_config: Code signing config associated with this function. Default: - Not Sign the Code
|
|
2444
|
+
:param current_version_options: Options for the ``lambda.Version`` resource automatically created by the ``fn.currentVersion`` method. Default: - default options as described in ``VersionOptions``
|
|
2445
|
+
:param dead_letter_queue: 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``
|
|
2446
|
+
:param dead_letter_queue_enabled: 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.
|
|
2447
|
+
:param dead_letter_topic: 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
|
|
2448
|
+
:param description: A description of the function. Default: - No description.
|
|
2449
|
+
: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. Default: - No environment variables.
|
|
2450
|
+
:param environment_encryption: 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).
|
|
2451
|
+
:param ephemeral_storage_size: The size of the function’s /tmp directory in MiB. Default: 512 MiB
|
|
2452
|
+
:param events: Event sources for this function. You can also add event sources using ``addEventSource``. Default: - No event sources.
|
|
2453
|
+
:param filesystem: The filesystem configuration for the lambda function. Default: - will not mount any filesystem
|
|
2454
|
+
:param function_name: A name for the function. Default: - AWS CloudFormation generates a unique physical ID and uses that ID for the function's name. For more information, see Name Type.
|
|
2455
|
+
:param initial_policy: 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.
|
|
2456
|
+
:param insights_version: Specify the version of CloudWatch Lambda insights to use for monitoring. Default: - No Lambda Insights
|
|
2457
|
+
:param ipv6_allowed_for_dual_stack: Allows outbound IPv6 traffic on VPC functions that are connected to dual-stack subnets. Only used if 'vpc' is supplied. Default: false
|
|
2458
|
+
: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. Default: - No layers.
|
|
2459
|
+
:param log_format: (deprecated) Sets the logFormat for the function. Default: "Text"
|
|
2460
|
+
:param logging_format: Sets the loggingFormat for the function. Default: LoggingFormat.TEXT
|
|
2461
|
+
:param log_group: The log group the function sends logs to. By default, Lambda functions send logs to an automatically created default log group named /aws/lambda/<function name>. 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
|
|
2462
|
+
:param log_retention: 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
|
|
2463
|
+
:param log_retention_retry_options: 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.
|
|
2464
|
+
:param log_retention_role: 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.
|
|
2465
|
+
:param memory_size: 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
|
|
2466
|
+
:param params_and_secrets: Specify the configuration of Parameters and Secrets Extension. Default: - No Parameters and Secrets Extension
|
|
2467
|
+
:param profiling: Enable profiling. Default: - No profiling.
|
|
2468
|
+
:param profiling_group: Profiling Group. Default: - A new profiling group will be created if ``profiling`` is set.
|
|
2469
|
+
:param reserved_concurrent_executions: The maximum of concurrent executions you want to reserve for the function. Default: - No specific limit - account limit.
|
|
2470
|
+
: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". Default: - A unique role will be generated for this lambda function. Both supplied and generated roles can always be changed by calling ``addToRolePolicy``.
|
|
2471
|
+
:param runtime_management_mode: Sets the runtime management configuration for a function's version. Default: Auto
|
|
2472
|
+
:param security_groups: The list of security groups to associate with the Lambda's network interfaces. Only used if 'vpc' is supplied. Default: - If the function is placed within a VPC and a security group is not specified, either by this or securityGroup prop, a dedicated security group will be created for this function.
|
|
2473
|
+
:param snap_start: Enable SnapStart for Lambda Function. SnapStart is currently supported only for Java 11, 17 runtime Default: - No snapstart
|
|
2474
|
+
:param system_log_level: (deprecated) Sets the system log level for the function. Default: "INFO"
|
|
2475
|
+
:param system_log_level_v2: Sets the system log level for the function. Default: SystemLogLevel.INFO
|
|
2476
|
+
: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. Default: Duration.seconds(3)
|
|
2477
|
+
:param tracing: Enable AWS X-Ray Tracing for Lambda Function. Default: Tracing.Disabled
|
|
2478
|
+
:param vpc: VPC network to place Lambda network interfaces. Specify this if the Lambda function needs to access resources in a VPC. This is required when ``vpcSubnets`` is specified. Default: - Function is not placed within a VPC.
|
|
2479
|
+
:param vpc_subnets: Where to place the network interfaces within the VPC. This requires ``vpc`` to be specified in order for interfaces to actually be placed in the subnets. If ``vpc`` is not specify, this will raise an error. Note: Internet access for Lambda Functions requires a NAT Gateway, so picking public subnets is not allowed (unless ``allowPublicSubnet`` is set to ``true``). Default: - the Vpc default strategy if not specified
|
|
2480
|
+
:param max_event_age: The maximum age of a request that Lambda sends to a function for processing. Minimum: 60 seconds Maximum: 6 hours Default: Duration.hours(6)
|
|
2481
|
+
:param on_failure: The destination for failed invocations. Default: - no destination
|
|
2482
|
+
:param on_success: The destination for successful invocations. Default: - no destination
|
|
2483
|
+
:param retry_attempts: The maximum number of times to retry when the function returns an error. Minimum: 0 Maximum: 2 Default: 2
|
|
2484
|
+
'''
|
|
2485
|
+
if __debug__:
|
|
2486
|
+
type_hints = typing.get_type_hints(_typecheckingstub__e2190d2a548e965066a88afc4c9200b01b6ec131b60f821166bf35aedc4ef922)
|
|
2487
|
+
check_type(argname="argument scope", value=scope, expected_type=type_hints["scope"])
|
|
2488
|
+
check_type(argname="argument id", value=id, expected_type=type_hints["id"])
|
|
2489
|
+
props = StartStateMachineFunctionProps(
|
|
2490
|
+
adot_instrumentation=adot_instrumentation,
|
|
2491
|
+
allow_all_outbound=allow_all_outbound,
|
|
2492
|
+
allow_public_subnet=allow_public_subnet,
|
|
2493
|
+
application_log_level=application_log_level,
|
|
2494
|
+
application_log_level_v2=application_log_level_v2,
|
|
2495
|
+
architecture=architecture,
|
|
2496
|
+
code_signing_config=code_signing_config,
|
|
2497
|
+
current_version_options=current_version_options,
|
|
2498
|
+
dead_letter_queue=dead_letter_queue,
|
|
2499
|
+
dead_letter_queue_enabled=dead_letter_queue_enabled,
|
|
2500
|
+
dead_letter_topic=dead_letter_topic,
|
|
2501
|
+
description=description,
|
|
2502
|
+
environment=environment,
|
|
2503
|
+
environment_encryption=environment_encryption,
|
|
2504
|
+
ephemeral_storage_size=ephemeral_storage_size,
|
|
2505
|
+
events=events,
|
|
2506
|
+
filesystem=filesystem,
|
|
2507
|
+
function_name=function_name,
|
|
2508
|
+
initial_policy=initial_policy,
|
|
2509
|
+
insights_version=insights_version,
|
|
2510
|
+
ipv6_allowed_for_dual_stack=ipv6_allowed_for_dual_stack,
|
|
2511
|
+
layers=layers,
|
|
2512
|
+
log_format=log_format,
|
|
2513
|
+
logging_format=logging_format,
|
|
2514
|
+
log_group=log_group,
|
|
2515
|
+
log_retention=log_retention,
|
|
2516
|
+
log_retention_retry_options=log_retention_retry_options,
|
|
2517
|
+
log_retention_role=log_retention_role,
|
|
2518
|
+
memory_size=memory_size,
|
|
2519
|
+
params_and_secrets=params_and_secrets,
|
|
2520
|
+
profiling=profiling,
|
|
2521
|
+
profiling_group=profiling_group,
|
|
2522
|
+
reserved_concurrent_executions=reserved_concurrent_executions,
|
|
2523
|
+
role=role,
|
|
2524
|
+
runtime_management_mode=runtime_management_mode,
|
|
2525
|
+
security_groups=security_groups,
|
|
2526
|
+
snap_start=snap_start,
|
|
2527
|
+
system_log_level=system_log_level,
|
|
2528
|
+
system_log_level_v2=system_log_level_v2,
|
|
2529
|
+
timeout=timeout,
|
|
2530
|
+
tracing=tracing,
|
|
2531
|
+
vpc=vpc,
|
|
2532
|
+
vpc_subnets=vpc_subnets,
|
|
2533
|
+
max_event_age=max_event_age,
|
|
2534
|
+
on_failure=on_failure,
|
|
2535
|
+
on_success=on_success,
|
|
2536
|
+
retry_attempts=retry_attempts,
|
|
2537
|
+
)
|
|
2538
|
+
|
|
2539
|
+
jsii.create(self.__class__, self, [scope, id, props])
|
|
2540
|
+
|
|
2541
|
+
|
|
2542
|
+
@jsii.data_type(
|
|
2543
|
+
jsii_type="@jjrawlins/cdk-ami-builder.StartStateMachineFunctionProps",
|
|
2544
|
+
jsii_struct_bases=[_aws_cdk_aws_lambda_ceddda9d.FunctionOptions],
|
|
2545
|
+
name_mapping={
|
|
2546
|
+
"max_event_age": "maxEventAge",
|
|
2547
|
+
"on_failure": "onFailure",
|
|
2548
|
+
"on_success": "onSuccess",
|
|
2549
|
+
"retry_attempts": "retryAttempts",
|
|
2550
|
+
"adot_instrumentation": "adotInstrumentation",
|
|
2551
|
+
"allow_all_outbound": "allowAllOutbound",
|
|
2552
|
+
"allow_public_subnet": "allowPublicSubnet",
|
|
2553
|
+
"application_log_level": "applicationLogLevel",
|
|
2554
|
+
"application_log_level_v2": "applicationLogLevelV2",
|
|
2555
|
+
"architecture": "architecture",
|
|
2556
|
+
"code_signing_config": "codeSigningConfig",
|
|
2557
|
+
"current_version_options": "currentVersionOptions",
|
|
2558
|
+
"dead_letter_queue": "deadLetterQueue",
|
|
2559
|
+
"dead_letter_queue_enabled": "deadLetterQueueEnabled",
|
|
2560
|
+
"dead_letter_topic": "deadLetterTopic",
|
|
2561
|
+
"description": "description",
|
|
2562
|
+
"environment": "environment",
|
|
2563
|
+
"environment_encryption": "environmentEncryption",
|
|
2564
|
+
"ephemeral_storage_size": "ephemeralStorageSize",
|
|
2565
|
+
"events": "events",
|
|
2566
|
+
"filesystem": "filesystem",
|
|
2567
|
+
"function_name": "functionName",
|
|
2568
|
+
"initial_policy": "initialPolicy",
|
|
2569
|
+
"insights_version": "insightsVersion",
|
|
2570
|
+
"ipv6_allowed_for_dual_stack": "ipv6AllowedForDualStack",
|
|
2571
|
+
"layers": "layers",
|
|
2572
|
+
"log_format": "logFormat",
|
|
2573
|
+
"logging_format": "loggingFormat",
|
|
2574
|
+
"log_group": "logGroup",
|
|
2575
|
+
"log_retention": "logRetention",
|
|
2576
|
+
"log_retention_retry_options": "logRetentionRetryOptions",
|
|
2577
|
+
"log_retention_role": "logRetentionRole",
|
|
2578
|
+
"memory_size": "memorySize",
|
|
2579
|
+
"params_and_secrets": "paramsAndSecrets",
|
|
2580
|
+
"profiling": "profiling",
|
|
2581
|
+
"profiling_group": "profilingGroup",
|
|
2582
|
+
"reserved_concurrent_executions": "reservedConcurrentExecutions",
|
|
2583
|
+
"role": "role",
|
|
2584
|
+
"runtime_management_mode": "runtimeManagementMode",
|
|
2585
|
+
"security_groups": "securityGroups",
|
|
2586
|
+
"snap_start": "snapStart",
|
|
2587
|
+
"system_log_level": "systemLogLevel",
|
|
2588
|
+
"system_log_level_v2": "systemLogLevelV2",
|
|
2589
|
+
"timeout": "timeout",
|
|
2590
|
+
"tracing": "tracing",
|
|
2591
|
+
"vpc": "vpc",
|
|
2592
|
+
"vpc_subnets": "vpcSubnets",
|
|
2593
|
+
},
|
|
2594
|
+
)
|
|
2595
|
+
class StartStateMachineFunctionProps(_aws_cdk_aws_lambda_ceddda9d.FunctionOptions):
|
|
2596
|
+
def __init__(
|
|
2597
|
+
self,
|
|
2598
|
+
*,
|
|
2599
|
+
max_event_age: typing.Optional[_aws_cdk_ceddda9d.Duration] = None,
|
|
2600
|
+
on_failure: typing.Optional[_aws_cdk_aws_lambda_ceddda9d.IDestination] = None,
|
|
2601
|
+
on_success: typing.Optional[_aws_cdk_aws_lambda_ceddda9d.IDestination] = None,
|
|
2602
|
+
retry_attempts: typing.Optional[jsii.Number] = None,
|
|
2603
|
+
adot_instrumentation: typing.Optional[typing.Union[_aws_cdk_aws_lambda_ceddda9d.AdotInstrumentationConfig, typing.Dict[builtins.str, typing.Any]]] = None,
|
|
2604
|
+
allow_all_outbound: typing.Optional[builtins.bool] = None,
|
|
2605
|
+
allow_public_subnet: typing.Optional[builtins.bool] = None,
|
|
2606
|
+
application_log_level: typing.Optional[builtins.str] = None,
|
|
2607
|
+
application_log_level_v2: typing.Optional[_aws_cdk_aws_lambda_ceddda9d.ApplicationLogLevel] = None,
|
|
2608
|
+
architecture: typing.Optional[_aws_cdk_aws_lambda_ceddda9d.Architecture] = None,
|
|
2609
|
+
code_signing_config: typing.Optional[_aws_cdk_aws_lambda_ceddda9d.ICodeSigningConfig] = None,
|
|
2610
|
+
current_version_options: typing.Optional[typing.Union[_aws_cdk_aws_lambda_ceddda9d.VersionOptions, typing.Dict[builtins.str, typing.Any]]] = None,
|
|
2611
|
+
dead_letter_queue: typing.Optional[_aws_cdk_aws_sqs_ceddda9d.IQueue] = None,
|
|
2612
|
+
dead_letter_queue_enabled: typing.Optional[builtins.bool] = None,
|
|
2613
|
+
dead_letter_topic: typing.Optional[_aws_cdk_aws_sns_ceddda9d.ITopic] = None,
|
|
2614
|
+
description: typing.Optional[builtins.str] = None,
|
|
2615
|
+
environment: typing.Optional[typing.Mapping[builtins.str, builtins.str]] = None,
|
|
2616
|
+
environment_encryption: typing.Optional[_aws_cdk_aws_kms_ceddda9d.IKey] = None,
|
|
2617
|
+
ephemeral_storage_size: typing.Optional[_aws_cdk_ceddda9d.Size] = None,
|
|
2618
|
+
events: typing.Optional[typing.Sequence[_aws_cdk_aws_lambda_ceddda9d.IEventSource]] = None,
|
|
2619
|
+
filesystem: typing.Optional[_aws_cdk_aws_lambda_ceddda9d.FileSystem] = None,
|
|
2620
|
+
function_name: typing.Optional[builtins.str] = None,
|
|
2621
|
+
initial_policy: typing.Optional[typing.Sequence[_aws_cdk_aws_iam_ceddda9d.PolicyStatement]] = None,
|
|
2622
|
+
insights_version: typing.Optional[_aws_cdk_aws_lambda_ceddda9d.LambdaInsightsVersion] = None,
|
|
2623
|
+
ipv6_allowed_for_dual_stack: typing.Optional[builtins.bool] = None,
|
|
2624
|
+
layers: typing.Optional[typing.Sequence[_aws_cdk_aws_lambda_ceddda9d.ILayerVersion]] = None,
|
|
2625
|
+
log_format: typing.Optional[builtins.str] = None,
|
|
2626
|
+
logging_format: typing.Optional[_aws_cdk_aws_lambda_ceddda9d.LoggingFormat] = None,
|
|
2627
|
+
log_group: typing.Optional[_aws_cdk_aws_logs_ceddda9d.ILogGroup] = None,
|
|
2628
|
+
log_retention: typing.Optional[_aws_cdk_aws_logs_ceddda9d.RetentionDays] = None,
|
|
2629
|
+
log_retention_retry_options: typing.Optional[typing.Union[_aws_cdk_aws_lambda_ceddda9d.LogRetentionRetryOptions, typing.Dict[builtins.str, typing.Any]]] = None,
|
|
2630
|
+
log_retention_role: typing.Optional[_aws_cdk_aws_iam_ceddda9d.IRole] = None,
|
|
2631
|
+
memory_size: typing.Optional[jsii.Number] = None,
|
|
2632
|
+
params_and_secrets: typing.Optional[_aws_cdk_aws_lambda_ceddda9d.ParamsAndSecretsLayerVersion] = None,
|
|
2633
|
+
profiling: typing.Optional[builtins.bool] = None,
|
|
2634
|
+
profiling_group: typing.Optional[_aws_cdk_aws_codeguruprofiler_ceddda9d.IProfilingGroup] = None,
|
|
2635
|
+
reserved_concurrent_executions: typing.Optional[jsii.Number] = None,
|
|
2636
|
+
role: typing.Optional[_aws_cdk_aws_iam_ceddda9d.IRole] = None,
|
|
2637
|
+
runtime_management_mode: typing.Optional[_aws_cdk_aws_lambda_ceddda9d.RuntimeManagementMode] = None,
|
|
2638
|
+
security_groups: typing.Optional[typing.Sequence[_aws_cdk_aws_ec2_ceddda9d.ISecurityGroup]] = None,
|
|
2639
|
+
snap_start: typing.Optional[_aws_cdk_aws_lambda_ceddda9d.SnapStartConf] = None,
|
|
2640
|
+
system_log_level: typing.Optional[builtins.str] = None,
|
|
2641
|
+
system_log_level_v2: typing.Optional[_aws_cdk_aws_lambda_ceddda9d.SystemLogLevel] = None,
|
|
2642
|
+
timeout: typing.Optional[_aws_cdk_ceddda9d.Duration] = None,
|
|
2643
|
+
tracing: typing.Optional[_aws_cdk_aws_lambda_ceddda9d.Tracing] = None,
|
|
2644
|
+
vpc: typing.Optional[_aws_cdk_aws_ec2_ceddda9d.IVpc] = None,
|
|
2645
|
+
vpc_subnets: typing.Optional[typing.Union[_aws_cdk_aws_ec2_ceddda9d.SubnetSelection, typing.Dict[builtins.str, typing.Any]]] = None,
|
|
2646
|
+
) -> None:
|
|
2647
|
+
'''Props for StartStateMachineFunction.
|
|
2648
|
+
|
|
2649
|
+
:param max_event_age: The maximum age of a request that Lambda sends to a function for processing. Minimum: 60 seconds Maximum: 6 hours Default: Duration.hours(6)
|
|
2650
|
+
:param on_failure: The destination for failed invocations. Default: - no destination
|
|
2651
|
+
:param on_success: The destination for successful invocations. Default: - no destination
|
|
2652
|
+
:param retry_attempts: The maximum number of times to retry when the function returns an error. Minimum: 0 Maximum: 2 Default: 2
|
|
2653
|
+
:param adot_instrumentation: Specify the configuration of AWS Distro for OpenTelemetry (ADOT) instrumentation. Default: - No ADOT instrumentation
|
|
2654
|
+
:param allow_all_outbound: 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. Do not specify this property if the ``securityGroups`` or ``securityGroup`` property is set. Instead, configure ``allowAllOutbound`` directly on the security group. Default: true
|
|
2655
|
+
:param allow_public_subnet: 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. Default: false
|
|
2656
|
+
:param application_log_level: (deprecated) Sets the application log level for the function. Default: "INFO"
|
|
2657
|
+
:param application_log_level_v2: Sets the application log level for the function. Default: ApplicationLogLevel.INFO
|
|
2658
|
+
:param architecture: The system architectures compatible with this lambda function. Default: Architecture.X86_64
|
|
2659
|
+
:param code_signing_config: Code signing config associated with this function. Default: - Not Sign the Code
|
|
2660
|
+
:param current_version_options: Options for the ``lambda.Version`` resource automatically created by the ``fn.currentVersion`` method. Default: - default options as described in ``VersionOptions``
|
|
2661
|
+
:param dead_letter_queue: 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``
|
|
2662
|
+
:param dead_letter_queue_enabled: 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.
|
|
2663
|
+
:param dead_letter_topic: 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
|
|
2664
|
+
:param description: A description of the function. Default: - No description.
|
|
2665
|
+
: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. Default: - No environment variables.
|
|
2666
|
+
:param environment_encryption: 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).
|
|
2667
|
+
:param ephemeral_storage_size: The size of the function’s /tmp directory in MiB. Default: 512 MiB
|
|
2668
|
+
:param events: Event sources for this function. You can also add event sources using ``addEventSource``. Default: - No event sources.
|
|
2669
|
+
:param filesystem: The filesystem configuration for the lambda function. Default: - will not mount any filesystem
|
|
2670
|
+
:param function_name: A name for the function. Default: - AWS CloudFormation generates a unique physical ID and uses that ID for the function's name. For more information, see Name Type.
|
|
2671
|
+
:param initial_policy: 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.
|
|
2672
|
+
:param insights_version: Specify the version of CloudWatch Lambda insights to use for monitoring. Default: - No Lambda Insights
|
|
2673
|
+
:param ipv6_allowed_for_dual_stack: Allows outbound IPv6 traffic on VPC functions that are connected to dual-stack subnets. Only used if 'vpc' is supplied. Default: false
|
|
2674
|
+
: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. Default: - No layers.
|
|
2675
|
+
:param log_format: (deprecated) Sets the logFormat for the function. Default: "Text"
|
|
2676
|
+
:param logging_format: Sets the loggingFormat for the function. Default: LoggingFormat.TEXT
|
|
2677
|
+
:param log_group: The log group the function sends logs to. By default, Lambda functions send logs to an automatically created default log group named /aws/lambda/<function name>. 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
|
|
2678
|
+
:param log_retention: 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
|
|
2679
|
+
:param log_retention_retry_options: 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.
|
|
2680
|
+
:param log_retention_role: 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.
|
|
2681
|
+
:param memory_size: 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
|
|
2682
|
+
:param params_and_secrets: Specify the configuration of Parameters and Secrets Extension. Default: - No Parameters and Secrets Extension
|
|
2683
|
+
:param profiling: Enable profiling. Default: - No profiling.
|
|
2684
|
+
:param profiling_group: Profiling Group. Default: - A new profiling group will be created if ``profiling`` is set.
|
|
2685
|
+
:param reserved_concurrent_executions: The maximum of concurrent executions you want to reserve for the function. Default: - No specific limit - account limit.
|
|
2686
|
+
: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". Default: - A unique role will be generated for this lambda function. Both supplied and generated roles can always be changed by calling ``addToRolePolicy``.
|
|
2687
|
+
:param runtime_management_mode: Sets the runtime management configuration for a function's version. Default: Auto
|
|
2688
|
+
:param security_groups: The list of security groups to associate with the Lambda's network interfaces. Only used if 'vpc' is supplied. Default: - If the function is placed within a VPC and a security group is not specified, either by this or securityGroup prop, a dedicated security group will be created for this function.
|
|
2689
|
+
:param snap_start: Enable SnapStart for Lambda Function. SnapStart is currently supported only for Java 11, 17 runtime Default: - No snapstart
|
|
2690
|
+
:param system_log_level: (deprecated) Sets the system log level for the function. Default: "INFO"
|
|
2691
|
+
:param system_log_level_v2: Sets the system log level for the function. Default: SystemLogLevel.INFO
|
|
2692
|
+
: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. Default: Duration.seconds(3)
|
|
2693
|
+
:param tracing: Enable AWS X-Ray Tracing for Lambda Function. Default: Tracing.Disabled
|
|
2694
|
+
:param vpc: VPC network to place Lambda network interfaces. Specify this if the Lambda function needs to access resources in a VPC. This is required when ``vpcSubnets`` is specified. Default: - Function is not placed within a VPC.
|
|
2695
|
+
:param vpc_subnets: Where to place the network interfaces within the VPC. This requires ``vpc`` to be specified in order for interfaces to actually be placed in the subnets. If ``vpc`` is not specify, this will raise an error. Note: Internet access for Lambda Functions requires a NAT Gateway, so picking public subnets is not allowed (unless ``allowPublicSubnet`` is set to ``true``). Default: - the Vpc default strategy if not specified
|
|
2696
|
+
'''
|
|
2697
|
+
if isinstance(adot_instrumentation, dict):
|
|
2698
|
+
adot_instrumentation = _aws_cdk_aws_lambda_ceddda9d.AdotInstrumentationConfig(**adot_instrumentation)
|
|
2699
|
+
if isinstance(current_version_options, dict):
|
|
2700
|
+
current_version_options = _aws_cdk_aws_lambda_ceddda9d.VersionOptions(**current_version_options)
|
|
2701
|
+
if isinstance(log_retention_retry_options, dict):
|
|
2702
|
+
log_retention_retry_options = _aws_cdk_aws_lambda_ceddda9d.LogRetentionRetryOptions(**log_retention_retry_options)
|
|
2703
|
+
if isinstance(vpc_subnets, dict):
|
|
2704
|
+
vpc_subnets = _aws_cdk_aws_ec2_ceddda9d.SubnetSelection(**vpc_subnets)
|
|
2705
|
+
if __debug__:
|
|
2706
|
+
type_hints = typing.get_type_hints(_typecheckingstub__eb8aced8ffa672fc77ae37739036b372b4660892fca88a7d548de7d9809b88ab)
|
|
2707
|
+
check_type(argname="argument max_event_age", value=max_event_age, expected_type=type_hints["max_event_age"])
|
|
2708
|
+
check_type(argname="argument on_failure", value=on_failure, expected_type=type_hints["on_failure"])
|
|
2709
|
+
check_type(argname="argument on_success", value=on_success, expected_type=type_hints["on_success"])
|
|
2710
|
+
check_type(argname="argument retry_attempts", value=retry_attempts, expected_type=type_hints["retry_attempts"])
|
|
2711
|
+
check_type(argname="argument adot_instrumentation", value=adot_instrumentation, expected_type=type_hints["adot_instrumentation"])
|
|
2712
|
+
check_type(argname="argument allow_all_outbound", value=allow_all_outbound, expected_type=type_hints["allow_all_outbound"])
|
|
2713
|
+
check_type(argname="argument allow_public_subnet", value=allow_public_subnet, expected_type=type_hints["allow_public_subnet"])
|
|
2714
|
+
check_type(argname="argument application_log_level", value=application_log_level, expected_type=type_hints["application_log_level"])
|
|
2715
|
+
check_type(argname="argument application_log_level_v2", value=application_log_level_v2, expected_type=type_hints["application_log_level_v2"])
|
|
2716
|
+
check_type(argname="argument architecture", value=architecture, expected_type=type_hints["architecture"])
|
|
2717
|
+
check_type(argname="argument code_signing_config", value=code_signing_config, expected_type=type_hints["code_signing_config"])
|
|
2718
|
+
check_type(argname="argument current_version_options", value=current_version_options, expected_type=type_hints["current_version_options"])
|
|
2719
|
+
check_type(argname="argument dead_letter_queue", value=dead_letter_queue, expected_type=type_hints["dead_letter_queue"])
|
|
2720
|
+
check_type(argname="argument dead_letter_queue_enabled", value=dead_letter_queue_enabled, expected_type=type_hints["dead_letter_queue_enabled"])
|
|
2721
|
+
check_type(argname="argument dead_letter_topic", value=dead_letter_topic, expected_type=type_hints["dead_letter_topic"])
|
|
2722
|
+
check_type(argname="argument description", value=description, expected_type=type_hints["description"])
|
|
2723
|
+
check_type(argname="argument environment", value=environment, expected_type=type_hints["environment"])
|
|
2724
|
+
check_type(argname="argument environment_encryption", value=environment_encryption, expected_type=type_hints["environment_encryption"])
|
|
2725
|
+
check_type(argname="argument ephemeral_storage_size", value=ephemeral_storage_size, expected_type=type_hints["ephemeral_storage_size"])
|
|
2726
|
+
check_type(argname="argument events", value=events, expected_type=type_hints["events"])
|
|
2727
|
+
check_type(argname="argument filesystem", value=filesystem, expected_type=type_hints["filesystem"])
|
|
2728
|
+
check_type(argname="argument function_name", value=function_name, expected_type=type_hints["function_name"])
|
|
2729
|
+
check_type(argname="argument initial_policy", value=initial_policy, expected_type=type_hints["initial_policy"])
|
|
2730
|
+
check_type(argname="argument insights_version", value=insights_version, expected_type=type_hints["insights_version"])
|
|
2731
|
+
check_type(argname="argument ipv6_allowed_for_dual_stack", value=ipv6_allowed_for_dual_stack, expected_type=type_hints["ipv6_allowed_for_dual_stack"])
|
|
2732
|
+
check_type(argname="argument layers", value=layers, expected_type=type_hints["layers"])
|
|
2733
|
+
check_type(argname="argument log_format", value=log_format, expected_type=type_hints["log_format"])
|
|
2734
|
+
check_type(argname="argument logging_format", value=logging_format, expected_type=type_hints["logging_format"])
|
|
2735
|
+
check_type(argname="argument log_group", value=log_group, expected_type=type_hints["log_group"])
|
|
2736
|
+
check_type(argname="argument log_retention", value=log_retention, expected_type=type_hints["log_retention"])
|
|
2737
|
+
check_type(argname="argument log_retention_retry_options", value=log_retention_retry_options, expected_type=type_hints["log_retention_retry_options"])
|
|
2738
|
+
check_type(argname="argument log_retention_role", value=log_retention_role, expected_type=type_hints["log_retention_role"])
|
|
2739
|
+
check_type(argname="argument memory_size", value=memory_size, expected_type=type_hints["memory_size"])
|
|
2740
|
+
check_type(argname="argument params_and_secrets", value=params_and_secrets, expected_type=type_hints["params_and_secrets"])
|
|
2741
|
+
check_type(argname="argument profiling", value=profiling, expected_type=type_hints["profiling"])
|
|
2742
|
+
check_type(argname="argument profiling_group", value=profiling_group, expected_type=type_hints["profiling_group"])
|
|
2743
|
+
check_type(argname="argument reserved_concurrent_executions", value=reserved_concurrent_executions, expected_type=type_hints["reserved_concurrent_executions"])
|
|
2744
|
+
check_type(argname="argument role", value=role, expected_type=type_hints["role"])
|
|
2745
|
+
check_type(argname="argument runtime_management_mode", value=runtime_management_mode, expected_type=type_hints["runtime_management_mode"])
|
|
2746
|
+
check_type(argname="argument security_groups", value=security_groups, expected_type=type_hints["security_groups"])
|
|
2747
|
+
check_type(argname="argument snap_start", value=snap_start, expected_type=type_hints["snap_start"])
|
|
2748
|
+
check_type(argname="argument system_log_level", value=system_log_level, expected_type=type_hints["system_log_level"])
|
|
2749
|
+
check_type(argname="argument system_log_level_v2", value=system_log_level_v2, expected_type=type_hints["system_log_level_v2"])
|
|
2750
|
+
check_type(argname="argument timeout", value=timeout, expected_type=type_hints["timeout"])
|
|
2751
|
+
check_type(argname="argument tracing", value=tracing, expected_type=type_hints["tracing"])
|
|
2752
|
+
check_type(argname="argument vpc", value=vpc, expected_type=type_hints["vpc"])
|
|
2753
|
+
check_type(argname="argument vpc_subnets", value=vpc_subnets, expected_type=type_hints["vpc_subnets"])
|
|
2754
|
+
self._values: typing.Dict[builtins.str, typing.Any] = {}
|
|
2755
|
+
if max_event_age is not None:
|
|
2756
|
+
self._values["max_event_age"] = max_event_age
|
|
2757
|
+
if on_failure is not None:
|
|
2758
|
+
self._values["on_failure"] = on_failure
|
|
2759
|
+
if on_success is not None:
|
|
2760
|
+
self._values["on_success"] = on_success
|
|
2761
|
+
if retry_attempts is not None:
|
|
2762
|
+
self._values["retry_attempts"] = retry_attempts
|
|
2763
|
+
if adot_instrumentation is not None:
|
|
2764
|
+
self._values["adot_instrumentation"] = adot_instrumentation
|
|
2765
|
+
if allow_all_outbound is not None:
|
|
2766
|
+
self._values["allow_all_outbound"] = allow_all_outbound
|
|
2767
|
+
if allow_public_subnet is not None:
|
|
2768
|
+
self._values["allow_public_subnet"] = allow_public_subnet
|
|
2769
|
+
if application_log_level is not None:
|
|
2770
|
+
self._values["application_log_level"] = application_log_level
|
|
2771
|
+
if application_log_level_v2 is not None:
|
|
2772
|
+
self._values["application_log_level_v2"] = application_log_level_v2
|
|
2773
|
+
if architecture is not None:
|
|
2774
|
+
self._values["architecture"] = architecture
|
|
2775
|
+
if code_signing_config is not None:
|
|
2776
|
+
self._values["code_signing_config"] = code_signing_config
|
|
2777
|
+
if current_version_options is not None:
|
|
2778
|
+
self._values["current_version_options"] = current_version_options
|
|
2779
|
+
if dead_letter_queue is not None:
|
|
2780
|
+
self._values["dead_letter_queue"] = dead_letter_queue
|
|
2781
|
+
if dead_letter_queue_enabled is not None:
|
|
2782
|
+
self._values["dead_letter_queue_enabled"] = dead_letter_queue_enabled
|
|
2783
|
+
if dead_letter_topic is not None:
|
|
2784
|
+
self._values["dead_letter_topic"] = dead_letter_topic
|
|
2785
|
+
if description is not None:
|
|
2786
|
+
self._values["description"] = description
|
|
2787
|
+
if environment is not None:
|
|
2788
|
+
self._values["environment"] = environment
|
|
2789
|
+
if environment_encryption is not None:
|
|
2790
|
+
self._values["environment_encryption"] = environment_encryption
|
|
2791
|
+
if ephemeral_storage_size is not None:
|
|
2792
|
+
self._values["ephemeral_storage_size"] = ephemeral_storage_size
|
|
2793
|
+
if events is not None:
|
|
2794
|
+
self._values["events"] = events
|
|
2795
|
+
if filesystem is not None:
|
|
2796
|
+
self._values["filesystem"] = filesystem
|
|
2797
|
+
if function_name is not None:
|
|
2798
|
+
self._values["function_name"] = function_name
|
|
2799
|
+
if initial_policy is not None:
|
|
2800
|
+
self._values["initial_policy"] = initial_policy
|
|
2801
|
+
if insights_version is not None:
|
|
2802
|
+
self._values["insights_version"] = insights_version
|
|
2803
|
+
if ipv6_allowed_for_dual_stack is not None:
|
|
2804
|
+
self._values["ipv6_allowed_for_dual_stack"] = ipv6_allowed_for_dual_stack
|
|
2805
|
+
if layers is not None:
|
|
2806
|
+
self._values["layers"] = layers
|
|
2807
|
+
if log_format is not None:
|
|
2808
|
+
self._values["log_format"] = log_format
|
|
2809
|
+
if logging_format is not None:
|
|
2810
|
+
self._values["logging_format"] = logging_format
|
|
2811
|
+
if log_group is not None:
|
|
2812
|
+
self._values["log_group"] = log_group
|
|
2813
|
+
if log_retention is not None:
|
|
2814
|
+
self._values["log_retention"] = log_retention
|
|
2815
|
+
if log_retention_retry_options is not None:
|
|
2816
|
+
self._values["log_retention_retry_options"] = log_retention_retry_options
|
|
2817
|
+
if log_retention_role is not None:
|
|
2818
|
+
self._values["log_retention_role"] = log_retention_role
|
|
2819
|
+
if memory_size is not None:
|
|
2820
|
+
self._values["memory_size"] = memory_size
|
|
2821
|
+
if params_and_secrets is not None:
|
|
2822
|
+
self._values["params_and_secrets"] = params_and_secrets
|
|
2823
|
+
if profiling is not None:
|
|
2824
|
+
self._values["profiling"] = profiling
|
|
2825
|
+
if profiling_group is not None:
|
|
2826
|
+
self._values["profiling_group"] = profiling_group
|
|
2827
|
+
if reserved_concurrent_executions is not None:
|
|
2828
|
+
self._values["reserved_concurrent_executions"] = reserved_concurrent_executions
|
|
2829
|
+
if role is not None:
|
|
2830
|
+
self._values["role"] = role
|
|
2831
|
+
if runtime_management_mode is not None:
|
|
2832
|
+
self._values["runtime_management_mode"] = runtime_management_mode
|
|
2833
|
+
if security_groups is not None:
|
|
2834
|
+
self._values["security_groups"] = security_groups
|
|
2835
|
+
if snap_start is not None:
|
|
2836
|
+
self._values["snap_start"] = snap_start
|
|
2837
|
+
if system_log_level is not None:
|
|
2838
|
+
self._values["system_log_level"] = system_log_level
|
|
2839
|
+
if system_log_level_v2 is not None:
|
|
2840
|
+
self._values["system_log_level_v2"] = system_log_level_v2
|
|
2841
|
+
if timeout is not None:
|
|
2842
|
+
self._values["timeout"] = timeout
|
|
2843
|
+
if tracing is not None:
|
|
2844
|
+
self._values["tracing"] = tracing
|
|
2845
|
+
if vpc is not None:
|
|
2846
|
+
self._values["vpc"] = vpc
|
|
2847
|
+
if vpc_subnets is not None:
|
|
2848
|
+
self._values["vpc_subnets"] = vpc_subnets
|
|
2849
|
+
|
|
2850
|
+
@builtins.property
|
|
2851
|
+
def max_event_age(self) -> typing.Optional[_aws_cdk_ceddda9d.Duration]:
|
|
2852
|
+
'''The maximum age of a request that Lambda sends to a function for processing.
|
|
2853
|
+
|
|
2854
|
+
Minimum: 60 seconds
|
|
2855
|
+
Maximum: 6 hours
|
|
2856
|
+
|
|
2857
|
+
:default: Duration.hours(6)
|
|
2858
|
+
'''
|
|
2859
|
+
result = self._values.get("max_event_age")
|
|
2860
|
+
return typing.cast(typing.Optional[_aws_cdk_ceddda9d.Duration], result)
|
|
2861
|
+
|
|
2862
|
+
@builtins.property
|
|
2863
|
+
def on_failure(self) -> typing.Optional[_aws_cdk_aws_lambda_ceddda9d.IDestination]:
|
|
2864
|
+
'''The destination for failed invocations.
|
|
2865
|
+
|
|
2866
|
+
:default: - no destination
|
|
2867
|
+
'''
|
|
2868
|
+
result = self._values.get("on_failure")
|
|
2869
|
+
return typing.cast(typing.Optional[_aws_cdk_aws_lambda_ceddda9d.IDestination], result)
|
|
2870
|
+
|
|
2871
|
+
@builtins.property
|
|
2872
|
+
def on_success(self) -> typing.Optional[_aws_cdk_aws_lambda_ceddda9d.IDestination]:
|
|
2873
|
+
'''The destination for successful invocations.
|
|
2874
|
+
|
|
2875
|
+
:default: - no destination
|
|
2876
|
+
'''
|
|
2877
|
+
result = self._values.get("on_success")
|
|
2878
|
+
return typing.cast(typing.Optional[_aws_cdk_aws_lambda_ceddda9d.IDestination], result)
|
|
2879
|
+
|
|
2880
|
+
@builtins.property
|
|
2881
|
+
def retry_attempts(self) -> typing.Optional[jsii.Number]:
|
|
2882
|
+
'''The maximum number of times to retry when the function returns an error.
|
|
2883
|
+
|
|
2884
|
+
Minimum: 0
|
|
2885
|
+
Maximum: 2
|
|
2886
|
+
|
|
2887
|
+
:default: 2
|
|
2888
|
+
'''
|
|
2889
|
+
result = self._values.get("retry_attempts")
|
|
2890
|
+
return typing.cast(typing.Optional[jsii.Number], result)
|
|
2891
|
+
|
|
2892
|
+
@builtins.property
|
|
2893
|
+
def adot_instrumentation(
|
|
2894
|
+
self,
|
|
2895
|
+
) -> typing.Optional[_aws_cdk_aws_lambda_ceddda9d.AdotInstrumentationConfig]:
|
|
2896
|
+
'''Specify the configuration of AWS Distro for OpenTelemetry (ADOT) instrumentation.
|
|
2897
|
+
|
|
2898
|
+
:default: - No ADOT instrumentation
|
|
2899
|
+
|
|
2900
|
+
:see: https://aws-otel.github.io/docs/getting-started/lambda
|
|
2901
|
+
'''
|
|
2902
|
+
result = self._values.get("adot_instrumentation")
|
|
2903
|
+
return typing.cast(typing.Optional[_aws_cdk_aws_lambda_ceddda9d.AdotInstrumentationConfig], result)
|
|
2904
|
+
|
|
2905
|
+
@builtins.property
|
|
2906
|
+
def allow_all_outbound(self) -> typing.Optional[builtins.bool]:
|
|
2907
|
+
'''Whether to allow the Lambda to send all network traffic.
|
|
2908
|
+
|
|
2909
|
+
If set to false, you must individually add traffic rules to allow the
|
|
2910
|
+
Lambda to connect to network targets.
|
|
2911
|
+
|
|
2912
|
+
Do not specify this property if the ``securityGroups`` or ``securityGroup`` property is set.
|
|
2913
|
+
Instead, configure ``allowAllOutbound`` directly on the security group.
|
|
2914
|
+
|
|
2915
|
+
:default: true
|
|
2916
|
+
'''
|
|
2917
|
+
result = self._values.get("allow_all_outbound")
|
|
2918
|
+
return typing.cast(typing.Optional[builtins.bool], result)
|
|
2919
|
+
|
|
2920
|
+
@builtins.property
|
|
2921
|
+
def allow_public_subnet(self) -> typing.Optional[builtins.bool]:
|
|
2922
|
+
'''Lambda Functions in a public subnet can NOT access the internet.
|
|
2923
|
+
|
|
2924
|
+
Use this property to acknowledge this limitation and still place the function in a public subnet.
|
|
2925
|
+
|
|
2926
|
+
:default: false
|
|
2927
|
+
|
|
2928
|
+
:see: https://stackoverflow.com/questions/52992085/why-cant-an-aws-lambda-function-inside-a-public-subnet-in-a-vpc-connect-to-the/52994841#52994841
|
|
2929
|
+
'''
|
|
2930
|
+
result = self._values.get("allow_public_subnet")
|
|
2931
|
+
return typing.cast(typing.Optional[builtins.bool], result)
|
|
2932
|
+
|
|
2933
|
+
@builtins.property
|
|
2934
|
+
def application_log_level(self) -> typing.Optional[builtins.str]:
|
|
2935
|
+
'''(deprecated) Sets the application log level for the function.
|
|
2936
|
+
|
|
2937
|
+
:default: "INFO"
|
|
2938
|
+
|
|
2939
|
+
:deprecated: Use ``applicationLogLevelV2`` as a property instead.
|
|
2940
|
+
|
|
2941
|
+
:stability: deprecated
|
|
2942
|
+
'''
|
|
2943
|
+
result = self._values.get("application_log_level")
|
|
2944
|
+
return typing.cast(typing.Optional[builtins.str], result)
|
|
2945
|
+
|
|
2946
|
+
@builtins.property
|
|
2947
|
+
def application_log_level_v2(
|
|
2948
|
+
self,
|
|
2949
|
+
) -> typing.Optional[_aws_cdk_aws_lambda_ceddda9d.ApplicationLogLevel]:
|
|
2950
|
+
'''Sets the application log level for the function.
|
|
2951
|
+
|
|
2952
|
+
:default: ApplicationLogLevel.INFO
|
|
2953
|
+
'''
|
|
2954
|
+
result = self._values.get("application_log_level_v2")
|
|
2955
|
+
return typing.cast(typing.Optional[_aws_cdk_aws_lambda_ceddda9d.ApplicationLogLevel], result)
|
|
2956
|
+
|
|
2957
|
+
@builtins.property
|
|
2958
|
+
def architecture(
|
|
2959
|
+
self,
|
|
2960
|
+
) -> typing.Optional[_aws_cdk_aws_lambda_ceddda9d.Architecture]:
|
|
2961
|
+
'''The system architectures compatible with this lambda function.
|
|
2962
|
+
|
|
2963
|
+
:default: Architecture.X86_64
|
|
2964
|
+
'''
|
|
2965
|
+
result = self._values.get("architecture")
|
|
2966
|
+
return typing.cast(typing.Optional[_aws_cdk_aws_lambda_ceddda9d.Architecture], result)
|
|
2967
|
+
|
|
2968
|
+
@builtins.property
|
|
2969
|
+
def code_signing_config(
|
|
2970
|
+
self,
|
|
2971
|
+
) -> typing.Optional[_aws_cdk_aws_lambda_ceddda9d.ICodeSigningConfig]:
|
|
2972
|
+
'''Code signing config associated with this function.
|
|
2973
|
+
|
|
2974
|
+
:default: - Not Sign the Code
|
|
2975
|
+
'''
|
|
2976
|
+
result = self._values.get("code_signing_config")
|
|
2977
|
+
return typing.cast(typing.Optional[_aws_cdk_aws_lambda_ceddda9d.ICodeSigningConfig], result)
|
|
2978
|
+
|
|
2979
|
+
@builtins.property
|
|
2980
|
+
def current_version_options(
|
|
2981
|
+
self,
|
|
2982
|
+
) -> typing.Optional[_aws_cdk_aws_lambda_ceddda9d.VersionOptions]:
|
|
2983
|
+
'''Options for the ``lambda.Version`` resource automatically created by the ``fn.currentVersion`` method.
|
|
2984
|
+
|
|
2985
|
+
:default: - default options as described in ``VersionOptions``
|
|
2986
|
+
'''
|
|
2987
|
+
result = self._values.get("current_version_options")
|
|
2988
|
+
return typing.cast(typing.Optional[_aws_cdk_aws_lambda_ceddda9d.VersionOptions], result)
|
|
2989
|
+
|
|
2990
|
+
@builtins.property
|
|
2991
|
+
def dead_letter_queue(self) -> typing.Optional[_aws_cdk_aws_sqs_ceddda9d.IQueue]:
|
|
2992
|
+
'''The SQS queue to use if DLQ is enabled.
|
|
2993
|
+
|
|
2994
|
+
If SNS topic is desired, specify ``deadLetterTopic`` property instead.
|
|
2995
|
+
|
|
2996
|
+
:default: - SQS queue with 14 day retention period if ``deadLetterQueueEnabled`` is ``true``
|
|
2997
|
+
'''
|
|
2998
|
+
result = self._values.get("dead_letter_queue")
|
|
2999
|
+
return typing.cast(typing.Optional[_aws_cdk_aws_sqs_ceddda9d.IQueue], result)
|
|
3000
|
+
|
|
3001
|
+
@builtins.property
|
|
3002
|
+
def dead_letter_queue_enabled(self) -> typing.Optional[builtins.bool]:
|
|
3003
|
+
'''Enabled DLQ.
|
|
3004
|
+
|
|
3005
|
+
If ``deadLetterQueue`` is undefined,
|
|
3006
|
+
an SQS queue with default options will be defined for your Function.
|
|
3007
|
+
|
|
3008
|
+
:default: - false unless ``deadLetterQueue`` is set, which implies DLQ is enabled.
|
|
3009
|
+
'''
|
|
3010
|
+
result = self._values.get("dead_letter_queue_enabled")
|
|
3011
|
+
return typing.cast(typing.Optional[builtins.bool], result)
|
|
3012
|
+
|
|
3013
|
+
@builtins.property
|
|
3014
|
+
def dead_letter_topic(self) -> typing.Optional[_aws_cdk_aws_sns_ceddda9d.ITopic]:
|
|
3015
|
+
'''The SNS topic to use as a DLQ.
|
|
3016
|
+
|
|
3017
|
+
Note that if ``deadLetterQueueEnabled`` is set to ``true``, an SQS queue will be created
|
|
3018
|
+
rather than an SNS topic. Using an SNS topic as a DLQ requires this property to be set explicitly.
|
|
3019
|
+
|
|
3020
|
+
:default: - no SNS topic
|
|
3021
|
+
'''
|
|
3022
|
+
result = self._values.get("dead_letter_topic")
|
|
3023
|
+
return typing.cast(typing.Optional[_aws_cdk_aws_sns_ceddda9d.ITopic], result)
|
|
3024
|
+
|
|
3025
|
+
@builtins.property
|
|
3026
|
+
def description(self) -> typing.Optional[builtins.str]:
|
|
3027
|
+
'''A description of the function.
|
|
3028
|
+
|
|
3029
|
+
:default: - No description.
|
|
3030
|
+
'''
|
|
3031
|
+
result = self._values.get("description")
|
|
3032
|
+
return typing.cast(typing.Optional[builtins.str], result)
|
|
3033
|
+
|
|
3034
|
+
@builtins.property
|
|
3035
|
+
def environment(
|
|
3036
|
+
self,
|
|
3037
|
+
) -> typing.Optional[typing.Mapping[builtins.str, builtins.str]]:
|
|
3038
|
+
'''Key-value pairs that Lambda caches and makes available for your Lambda functions.
|
|
3039
|
+
|
|
3040
|
+
Use environment variables to apply configuration changes, such
|
|
3041
|
+
as test and production environment configurations, without changing your
|
|
3042
|
+
Lambda function source code.
|
|
3043
|
+
|
|
3044
|
+
:default: - No environment variables.
|
|
3045
|
+
'''
|
|
3046
|
+
result = self._values.get("environment")
|
|
3047
|
+
return typing.cast(typing.Optional[typing.Mapping[builtins.str, builtins.str]], result)
|
|
3048
|
+
|
|
3049
|
+
@builtins.property
|
|
3050
|
+
def environment_encryption(self) -> typing.Optional[_aws_cdk_aws_kms_ceddda9d.IKey]:
|
|
3051
|
+
'''The AWS KMS key that's used to encrypt your function's environment variables.
|
|
3052
|
+
|
|
3053
|
+
:default: - AWS Lambda creates and uses an AWS managed customer master key (CMK).
|
|
3054
|
+
'''
|
|
3055
|
+
result = self._values.get("environment_encryption")
|
|
3056
|
+
return typing.cast(typing.Optional[_aws_cdk_aws_kms_ceddda9d.IKey], result)
|
|
3057
|
+
|
|
3058
|
+
@builtins.property
|
|
3059
|
+
def ephemeral_storage_size(self) -> typing.Optional[_aws_cdk_ceddda9d.Size]:
|
|
3060
|
+
'''The size of the function’s /tmp directory in MiB.
|
|
3061
|
+
|
|
3062
|
+
:default: 512 MiB
|
|
3063
|
+
'''
|
|
3064
|
+
result = self._values.get("ephemeral_storage_size")
|
|
3065
|
+
return typing.cast(typing.Optional[_aws_cdk_ceddda9d.Size], result)
|
|
3066
|
+
|
|
3067
|
+
@builtins.property
|
|
3068
|
+
def events(
|
|
3069
|
+
self,
|
|
3070
|
+
) -> typing.Optional[typing.List[_aws_cdk_aws_lambda_ceddda9d.IEventSource]]:
|
|
3071
|
+
'''Event sources for this function.
|
|
3072
|
+
|
|
3073
|
+
You can also add event sources using ``addEventSource``.
|
|
3074
|
+
|
|
3075
|
+
:default: - No event sources.
|
|
3076
|
+
'''
|
|
3077
|
+
result = self._values.get("events")
|
|
3078
|
+
return typing.cast(typing.Optional[typing.List[_aws_cdk_aws_lambda_ceddda9d.IEventSource]], result)
|
|
3079
|
+
|
|
3080
|
+
@builtins.property
|
|
3081
|
+
def filesystem(self) -> typing.Optional[_aws_cdk_aws_lambda_ceddda9d.FileSystem]:
|
|
3082
|
+
'''The filesystem configuration for the lambda function.
|
|
3083
|
+
|
|
3084
|
+
:default: - will not mount any filesystem
|
|
3085
|
+
'''
|
|
3086
|
+
result = self._values.get("filesystem")
|
|
3087
|
+
return typing.cast(typing.Optional[_aws_cdk_aws_lambda_ceddda9d.FileSystem], result)
|
|
3088
|
+
|
|
3089
|
+
@builtins.property
|
|
3090
|
+
def function_name(self) -> typing.Optional[builtins.str]:
|
|
3091
|
+
'''A name for the function.
|
|
3092
|
+
|
|
3093
|
+
:default:
|
|
3094
|
+
|
|
3095
|
+
- AWS CloudFormation generates a unique physical ID and uses that
|
|
3096
|
+
ID for the function's name. For more information, see Name Type.
|
|
3097
|
+
'''
|
|
3098
|
+
result = self._values.get("function_name")
|
|
3099
|
+
return typing.cast(typing.Optional[builtins.str], result)
|
|
3100
|
+
|
|
3101
|
+
@builtins.property
|
|
3102
|
+
def initial_policy(
|
|
3103
|
+
self,
|
|
3104
|
+
) -> typing.Optional[typing.List[_aws_cdk_aws_iam_ceddda9d.PolicyStatement]]:
|
|
3105
|
+
'''Initial policy statements to add to the created Lambda Role.
|
|
3106
|
+
|
|
3107
|
+
You can call ``addToRolePolicy`` to the created lambda to add statements post creation.
|
|
3108
|
+
|
|
3109
|
+
:default: - No policy statements are added to the created Lambda role.
|
|
3110
|
+
'''
|
|
3111
|
+
result = self._values.get("initial_policy")
|
|
3112
|
+
return typing.cast(typing.Optional[typing.List[_aws_cdk_aws_iam_ceddda9d.PolicyStatement]], result)
|
|
3113
|
+
|
|
3114
|
+
@builtins.property
|
|
3115
|
+
def insights_version(
|
|
3116
|
+
self,
|
|
3117
|
+
) -> typing.Optional[_aws_cdk_aws_lambda_ceddda9d.LambdaInsightsVersion]:
|
|
3118
|
+
'''Specify the version of CloudWatch Lambda insights to use for monitoring.
|
|
3119
|
+
|
|
3120
|
+
:default: - No Lambda Insights
|
|
3121
|
+
|
|
3122
|
+
:see: https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/Lambda-Insights-Getting-Started-docker.html
|
|
3123
|
+
'''
|
|
3124
|
+
result = self._values.get("insights_version")
|
|
3125
|
+
return typing.cast(typing.Optional[_aws_cdk_aws_lambda_ceddda9d.LambdaInsightsVersion], result)
|
|
3126
|
+
|
|
3127
|
+
@builtins.property
|
|
3128
|
+
def ipv6_allowed_for_dual_stack(self) -> typing.Optional[builtins.bool]:
|
|
3129
|
+
'''Allows outbound IPv6 traffic on VPC functions that are connected to dual-stack subnets.
|
|
3130
|
+
|
|
3131
|
+
Only used if 'vpc' is supplied.
|
|
3132
|
+
|
|
3133
|
+
:default: false
|
|
3134
|
+
'''
|
|
3135
|
+
result = self._values.get("ipv6_allowed_for_dual_stack")
|
|
3136
|
+
return typing.cast(typing.Optional[builtins.bool], result)
|
|
3137
|
+
|
|
3138
|
+
@builtins.property
|
|
3139
|
+
def layers(
|
|
3140
|
+
self,
|
|
3141
|
+
) -> typing.Optional[typing.List[_aws_cdk_aws_lambda_ceddda9d.ILayerVersion]]:
|
|
3142
|
+
'''A list of layers to add to the function's execution environment.
|
|
3143
|
+
|
|
3144
|
+
You can configure your Lambda function to pull in
|
|
3145
|
+
additional code during initialization in the form of layers. Layers are packages of libraries or other dependencies
|
|
3146
|
+
that can be used by multiple functions.
|
|
3147
|
+
|
|
3148
|
+
:default: - No layers.
|
|
3149
|
+
'''
|
|
3150
|
+
result = self._values.get("layers")
|
|
3151
|
+
return typing.cast(typing.Optional[typing.List[_aws_cdk_aws_lambda_ceddda9d.ILayerVersion]], result)
|
|
3152
|
+
|
|
3153
|
+
@builtins.property
|
|
3154
|
+
def log_format(self) -> typing.Optional[builtins.str]:
|
|
3155
|
+
'''(deprecated) Sets the logFormat for the function.
|
|
3156
|
+
|
|
3157
|
+
:default: "Text"
|
|
3158
|
+
|
|
3159
|
+
:deprecated: Use ``loggingFormat`` as a property instead.
|
|
3160
|
+
|
|
3161
|
+
:stability: deprecated
|
|
3162
|
+
'''
|
|
3163
|
+
result = self._values.get("log_format")
|
|
3164
|
+
return typing.cast(typing.Optional[builtins.str], result)
|
|
3165
|
+
|
|
3166
|
+
@builtins.property
|
|
3167
|
+
def logging_format(
|
|
3168
|
+
self,
|
|
3169
|
+
) -> typing.Optional[_aws_cdk_aws_lambda_ceddda9d.LoggingFormat]:
|
|
3170
|
+
'''Sets the loggingFormat for the function.
|
|
3171
|
+
|
|
3172
|
+
:default: LoggingFormat.TEXT
|
|
3173
|
+
'''
|
|
3174
|
+
result = self._values.get("logging_format")
|
|
3175
|
+
return typing.cast(typing.Optional[_aws_cdk_aws_lambda_ceddda9d.LoggingFormat], result)
|
|
3176
|
+
|
|
3177
|
+
@builtins.property
|
|
3178
|
+
def log_group(self) -> typing.Optional[_aws_cdk_aws_logs_ceddda9d.ILogGroup]:
|
|
3179
|
+
'''The log group the function sends logs to.
|
|
3180
|
+
|
|
3181
|
+
By default, Lambda functions send logs to an automatically created default log group named /aws/lambda/.
|
|
3182
|
+
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.
|
|
3183
|
+
|
|
3184
|
+
Use the ``logGroup`` property to create a fully customizable LogGroup ahead of time, and instruct the Lambda function to send logs to it.
|
|
3185
|
+
|
|
3186
|
+
Providing a user-controlled log group was rolled out to commercial regions on 2023-11-16.
|
|
3187
|
+
If you are deploying to another type of region, please check regional availability first.
|
|
3188
|
+
|
|
3189
|
+
:default: ``/aws/lambda/${this.functionName}`` - default log group created by Lambda
|
|
3190
|
+
'''
|
|
3191
|
+
result = self._values.get("log_group")
|
|
3192
|
+
return typing.cast(typing.Optional[_aws_cdk_aws_logs_ceddda9d.ILogGroup], result)
|
|
3193
|
+
|
|
3194
|
+
@builtins.property
|
|
3195
|
+
def log_retention(
|
|
3196
|
+
self,
|
|
3197
|
+
) -> typing.Optional[_aws_cdk_aws_logs_ceddda9d.RetentionDays]:
|
|
3198
|
+
'''The number of days log events are kept in CloudWatch Logs.
|
|
3199
|
+
|
|
3200
|
+
When updating
|
|
3201
|
+
this property, unsetting it doesn't remove the log retention policy. To
|
|
3202
|
+
remove the retention policy, set the value to ``INFINITE``.
|
|
3203
|
+
|
|
3204
|
+
This is a legacy API and we strongly recommend you move away from it if you can.
|
|
3205
|
+
Instead create a fully customizable log group with ``logs.LogGroup`` and use the ``logGroup`` property
|
|
3206
|
+
to instruct the Lambda function to send logs to it.
|
|
3207
|
+
Migrating from ``logRetention`` to ``logGroup`` will cause the name of the log group to change.
|
|
3208
|
+
Users and code and referencing the name verbatim will have to adjust.
|
|
3209
|
+
|
|
3210
|
+
In AWS CDK code, you can access the log group name directly from the LogGroup construct::
|
|
3211
|
+
|
|
3212
|
+
import * as logs from 'aws-cdk-lib/aws-logs';
|
|
3213
|
+
|
|
3214
|
+
declare const myLogGroup: logs.LogGroup;
|
|
3215
|
+
myLogGroup.logGroupName;
|
|
3216
|
+
|
|
3217
|
+
:default: logs.RetentionDays.INFINITE
|
|
3218
|
+
'''
|
|
3219
|
+
result = self._values.get("log_retention")
|
|
3220
|
+
return typing.cast(typing.Optional[_aws_cdk_aws_logs_ceddda9d.RetentionDays], result)
|
|
3221
|
+
|
|
3222
|
+
@builtins.property
|
|
3223
|
+
def log_retention_retry_options(
|
|
3224
|
+
self,
|
|
3225
|
+
) -> typing.Optional[_aws_cdk_aws_lambda_ceddda9d.LogRetentionRetryOptions]:
|
|
3226
|
+
'''When log retention is specified, a custom resource attempts to create the CloudWatch log group.
|
|
3227
|
+
|
|
3228
|
+
These options control the retry policy when interacting with CloudWatch APIs.
|
|
3229
|
+
|
|
3230
|
+
This is a legacy API and we strongly recommend you migrate to ``logGroup`` if you can.
|
|
3231
|
+
``logGroup`` allows you to create a fully customizable log group and instruct the Lambda function to send logs to it.
|
|
3232
|
+
|
|
3233
|
+
:default: - Default AWS SDK retry options.
|
|
3234
|
+
'''
|
|
3235
|
+
result = self._values.get("log_retention_retry_options")
|
|
3236
|
+
return typing.cast(typing.Optional[_aws_cdk_aws_lambda_ceddda9d.LogRetentionRetryOptions], result)
|
|
3237
|
+
|
|
3238
|
+
@builtins.property
|
|
3239
|
+
def log_retention_role(self) -> typing.Optional[_aws_cdk_aws_iam_ceddda9d.IRole]:
|
|
3240
|
+
'''The IAM role for the Lambda function associated with the custom resource that sets the retention policy.
|
|
3241
|
+
|
|
3242
|
+
This is a legacy API and we strongly recommend you migrate to ``logGroup`` if you can.
|
|
3243
|
+
``logGroup`` allows you to create a fully customizable log group and instruct the Lambda function to send logs to it.
|
|
3244
|
+
|
|
3245
|
+
:default: - A new role is created.
|
|
3246
|
+
'''
|
|
3247
|
+
result = self._values.get("log_retention_role")
|
|
3248
|
+
return typing.cast(typing.Optional[_aws_cdk_aws_iam_ceddda9d.IRole], result)
|
|
3249
|
+
|
|
3250
|
+
@builtins.property
|
|
3251
|
+
def memory_size(self) -> typing.Optional[jsii.Number]:
|
|
3252
|
+
'''The amount of memory, in MB, that is allocated to your Lambda function.
|
|
3253
|
+
|
|
3254
|
+
Lambda uses this value to proportionally allocate the amount of CPU
|
|
3255
|
+
power. For more information, see Resource Model in the AWS Lambda
|
|
3256
|
+
Developer Guide.
|
|
3257
|
+
|
|
3258
|
+
:default: 128
|
|
3259
|
+
'''
|
|
3260
|
+
result = self._values.get("memory_size")
|
|
3261
|
+
return typing.cast(typing.Optional[jsii.Number], result)
|
|
3262
|
+
|
|
3263
|
+
@builtins.property
|
|
3264
|
+
def params_and_secrets(
|
|
3265
|
+
self,
|
|
3266
|
+
) -> typing.Optional[_aws_cdk_aws_lambda_ceddda9d.ParamsAndSecretsLayerVersion]:
|
|
3267
|
+
'''Specify the configuration of Parameters and Secrets Extension.
|
|
3268
|
+
|
|
3269
|
+
:default: - No Parameters and Secrets Extension
|
|
3270
|
+
|
|
3271
|
+
:see: https://docs.aws.amazon.com/systems-manager/latest/userguide/ps-integration-lambda-extensions.html
|
|
3272
|
+
'''
|
|
3273
|
+
result = self._values.get("params_and_secrets")
|
|
3274
|
+
return typing.cast(typing.Optional[_aws_cdk_aws_lambda_ceddda9d.ParamsAndSecretsLayerVersion], result)
|
|
3275
|
+
|
|
3276
|
+
@builtins.property
|
|
3277
|
+
def profiling(self) -> typing.Optional[builtins.bool]:
|
|
3278
|
+
'''Enable profiling.
|
|
3279
|
+
|
|
3280
|
+
:default: - No profiling.
|
|
3281
|
+
|
|
3282
|
+
:see: https://docs.aws.amazon.com/codeguru/latest/profiler-ug/setting-up-lambda.html
|
|
3283
|
+
'''
|
|
3284
|
+
result = self._values.get("profiling")
|
|
3285
|
+
return typing.cast(typing.Optional[builtins.bool], result)
|
|
3286
|
+
|
|
3287
|
+
@builtins.property
|
|
3288
|
+
def profiling_group(
|
|
3289
|
+
self,
|
|
3290
|
+
) -> typing.Optional[_aws_cdk_aws_codeguruprofiler_ceddda9d.IProfilingGroup]:
|
|
3291
|
+
'''Profiling Group.
|
|
3292
|
+
|
|
3293
|
+
:default: - A new profiling group will be created if ``profiling`` is set.
|
|
3294
|
+
|
|
3295
|
+
:see: https://docs.aws.amazon.com/codeguru/latest/profiler-ug/setting-up-lambda.html
|
|
3296
|
+
'''
|
|
3297
|
+
result = self._values.get("profiling_group")
|
|
3298
|
+
return typing.cast(typing.Optional[_aws_cdk_aws_codeguruprofiler_ceddda9d.IProfilingGroup], result)
|
|
3299
|
+
|
|
3300
|
+
@builtins.property
|
|
3301
|
+
def reserved_concurrent_executions(self) -> typing.Optional[jsii.Number]:
|
|
3302
|
+
'''The maximum of concurrent executions you want to reserve for the function.
|
|
3303
|
+
|
|
3304
|
+
:default: - No specific limit - account limit.
|
|
3305
|
+
|
|
3306
|
+
:see: https://docs.aws.amazon.com/lambda/latest/dg/concurrent-executions.html
|
|
3307
|
+
'''
|
|
3308
|
+
result = self._values.get("reserved_concurrent_executions")
|
|
3309
|
+
return typing.cast(typing.Optional[jsii.Number], result)
|
|
3310
|
+
|
|
3311
|
+
@builtins.property
|
|
3312
|
+
def role(self) -> typing.Optional[_aws_cdk_aws_iam_ceddda9d.IRole]:
|
|
3313
|
+
'''Lambda execution role.
|
|
3314
|
+
|
|
3315
|
+
This is the role that will be assumed by the function upon execution.
|
|
3316
|
+
It controls the permissions that the function will have. The Role must
|
|
3317
|
+
be assumable by the 'lambda.amazonaws.com' service principal.
|
|
3318
|
+
|
|
3319
|
+
The default Role automatically has permissions granted for Lambda execution. If you
|
|
3320
|
+
provide a Role, you must add the relevant AWS managed policies yourself.
|
|
3321
|
+
|
|
3322
|
+
The relevant managed policies are "service-role/AWSLambdaBasicExecutionRole" and
|
|
3323
|
+
"service-role/AWSLambdaVPCAccessExecutionRole".
|
|
3324
|
+
|
|
3325
|
+
:default:
|
|
3326
|
+
|
|
3327
|
+
- A unique role will be generated for this lambda function.
|
|
3328
|
+
Both supplied and generated roles can always be changed by calling ``addToRolePolicy``.
|
|
3329
|
+
'''
|
|
3330
|
+
result = self._values.get("role")
|
|
3331
|
+
return typing.cast(typing.Optional[_aws_cdk_aws_iam_ceddda9d.IRole], result)
|
|
3332
|
+
|
|
3333
|
+
@builtins.property
|
|
3334
|
+
def runtime_management_mode(
|
|
3335
|
+
self,
|
|
3336
|
+
) -> typing.Optional[_aws_cdk_aws_lambda_ceddda9d.RuntimeManagementMode]:
|
|
3337
|
+
'''Sets the runtime management configuration for a function's version.
|
|
3338
|
+
|
|
3339
|
+
:default: Auto
|
|
3340
|
+
'''
|
|
3341
|
+
result = self._values.get("runtime_management_mode")
|
|
3342
|
+
return typing.cast(typing.Optional[_aws_cdk_aws_lambda_ceddda9d.RuntimeManagementMode], result)
|
|
3343
|
+
|
|
3344
|
+
@builtins.property
|
|
3345
|
+
def security_groups(
|
|
3346
|
+
self,
|
|
3347
|
+
) -> typing.Optional[typing.List[_aws_cdk_aws_ec2_ceddda9d.ISecurityGroup]]:
|
|
3348
|
+
'''The list of security groups to associate with the Lambda's network interfaces.
|
|
3349
|
+
|
|
3350
|
+
Only used if 'vpc' is supplied.
|
|
3351
|
+
|
|
3352
|
+
:default:
|
|
3353
|
+
|
|
3354
|
+
- If the function is placed within a VPC and a security group is
|
|
3355
|
+
not specified, either by this or securityGroup prop, a dedicated security
|
|
3356
|
+
group will be created for this function.
|
|
3357
|
+
'''
|
|
3358
|
+
result = self._values.get("security_groups")
|
|
3359
|
+
return typing.cast(typing.Optional[typing.List[_aws_cdk_aws_ec2_ceddda9d.ISecurityGroup]], result)
|
|
3360
|
+
|
|
3361
|
+
@builtins.property
|
|
3362
|
+
def snap_start(self) -> typing.Optional[_aws_cdk_aws_lambda_ceddda9d.SnapStartConf]:
|
|
3363
|
+
'''Enable SnapStart for Lambda Function.
|
|
3364
|
+
|
|
3365
|
+
SnapStart is currently supported only for Java 11, 17 runtime
|
|
3366
|
+
|
|
3367
|
+
:default: - No snapstart
|
|
3368
|
+
'''
|
|
3369
|
+
result = self._values.get("snap_start")
|
|
3370
|
+
return typing.cast(typing.Optional[_aws_cdk_aws_lambda_ceddda9d.SnapStartConf], result)
|
|
3371
|
+
|
|
3372
|
+
@builtins.property
|
|
3373
|
+
def system_log_level(self) -> typing.Optional[builtins.str]:
|
|
3374
|
+
'''(deprecated) Sets the system log level for the function.
|
|
3375
|
+
|
|
3376
|
+
:default: "INFO"
|
|
3377
|
+
|
|
3378
|
+
:deprecated: Use ``systemLogLevelV2`` as a property instead.
|
|
3379
|
+
|
|
3380
|
+
:stability: deprecated
|
|
3381
|
+
'''
|
|
3382
|
+
result = self._values.get("system_log_level")
|
|
3383
|
+
return typing.cast(typing.Optional[builtins.str], result)
|
|
3384
|
+
|
|
3385
|
+
@builtins.property
|
|
3386
|
+
def system_log_level_v2(
|
|
3387
|
+
self,
|
|
3388
|
+
) -> typing.Optional[_aws_cdk_aws_lambda_ceddda9d.SystemLogLevel]:
|
|
3389
|
+
'''Sets the system log level for the function.
|
|
3390
|
+
|
|
3391
|
+
:default: SystemLogLevel.INFO
|
|
3392
|
+
'''
|
|
3393
|
+
result = self._values.get("system_log_level_v2")
|
|
3394
|
+
return typing.cast(typing.Optional[_aws_cdk_aws_lambda_ceddda9d.SystemLogLevel], result)
|
|
3395
|
+
|
|
3396
|
+
@builtins.property
|
|
3397
|
+
def timeout(self) -> typing.Optional[_aws_cdk_ceddda9d.Duration]:
|
|
3398
|
+
'''The function execution time (in seconds) after which Lambda terminates the function.
|
|
3399
|
+
|
|
3400
|
+
Because the execution time affects cost, set this value
|
|
3401
|
+
based on the function's expected execution time.
|
|
3402
|
+
|
|
3403
|
+
:default: Duration.seconds(3)
|
|
3404
|
+
'''
|
|
3405
|
+
result = self._values.get("timeout")
|
|
3406
|
+
return typing.cast(typing.Optional[_aws_cdk_ceddda9d.Duration], result)
|
|
3407
|
+
|
|
3408
|
+
@builtins.property
|
|
3409
|
+
def tracing(self) -> typing.Optional[_aws_cdk_aws_lambda_ceddda9d.Tracing]:
|
|
3410
|
+
'''Enable AWS X-Ray Tracing for Lambda Function.
|
|
3411
|
+
|
|
3412
|
+
:default: Tracing.Disabled
|
|
3413
|
+
'''
|
|
3414
|
+
result = self._values.get("tracing")
|
|
3415
|
+
return typing.cast(typing.Optional[_aws_cdk_aws_lambda_ceddda9d.Tracing], result)
|
|
3416
|
+
|
|
3417
|
+
@builtins.property
|
|
3418
|
+
def vpc(self) -> typing.Optional[_aws_cdk_aws_ec2_ceddda9d.IVpc]:
|
|
3419
|
+
'''VPC network to place Lambda network interfaces.
|
|
3420
|
+
|
|
3421
|
+
Specify this if the Lambda function needs to access resources in a VPC.
|
|
3422
|
+
This is required when ``vpcSubnets`` is specified.
|
|
3423
|
+
|
|
3424
|
+
:default: - Function is not placed within a VPC.
|
|
3425
|
+
'''
|
|
3426
|
+
result = self._values.get("vpc")
|
|
3427
|
+
return typing.cast(typing.Optional[_aws_cdk_aws_ec2_ceddda9d.IVpc], result)
|
|
3428
|
+
|
|
3429
|
+
@builtins.property
|
|
3430
|
+
def vpc_subnets(self) -> typing.Optional[_aws_cdk_aws_ec2_ceddda9d.SubnetSelection]:
|
|
3431
|
+
'''Where to place the network interfaces within the VPC.
|
|
3432
|
+
|
|
3433
|
+
This requires ``vpc`` to be specified in order for interfaces to actually be
|
|
3434
|
+
placed in the subnets. If ``vpc`` is not specify, this will raise an error.
|
|
3435
|
+
|
|
3436
|
+
Note: Internet access for Lambda Functions requires a NAT Gateway, so picking
|
|
3437
|
+
public subnets is not allowed (unless ``allowPublicSubnet`` is set to ``true``).
|
|
3438
|
+
|
|
3439
|
+
:default: - the Vpc default strategy if not specified
|
|
3440
|
+
'''
|
|
3441
|
+
result = self._values.get("vpc_subnets")
|
|
3442
|
+
return typing.cast(typing.Optional[_aws_cdk_aws_ec2_ceddda9d.SubnetSelection], result)
|
|
3443
|
+
|
|
3444
|
+
def __eq__(self, rhs: typing.Any) -> builtins.bool:
|
|
3445
|
+
return isinstance(rhs, self.__class__) and rhs._values == self._values
|
|
3446
|
+
|
|
3447
|
+
def __ne__(self, rhs: typing.Any) -> builtins.bool:
|
|
3448
|
+
return not (rhs == self)
|
|
3449
|
+
|
|
3450
|
+
def __repr__(self) -> str:
|
|
3451
|
+
return "StartStateMachineFunctionProps(%s)" % ", ".join(
|
|
3452
|
+
k + "=" + repr(v) for k, v in self._values.items()
|
|
3453
|
+
)
|
|
3454
|
+
|
|
3455
|
+
|
|
3456
|
+
@jsii.data_type(
|
|
3457
|
+
jsii_type="@jjrawlins/cdk-ami-builder.VolumeProps",
|
|
3458
|
+
jsii_struct_bases=[],
|
|
3459
|
+
name_mapping={"device_name": "deviceName", "ebs": "ebs"},
|
|
3460
|
+
)
|
|
3461
|
+
class VolumeProps:
|
|
3462
|
+
def __init__(self, *, device_name: builtins.str, ebs: IEbsParameters) -> None:
|
|
3463
|
+
'''
|
|
3464
|
+
:param device_name: Name of the volume.
|
|
3465
|
+
:param ebs: EBS Block Store Parameters. By default, the 'kmsKeyId' of EBS volume is set to 'amiEncryptionKey.keyId', and 'encrypted' is set to 'true'. If you wish to use a different KMS Key, you may do so. However, please make sure that the necessary permissions and compliance requirements for the KMS Key are already set up.
|
|
3466
|
+
'''
|
|
3467
|
+
if __debug__:
|
|
3468
|
+
type_hints = typing.get_type_hints(_typecheckingstub__9d1da9ea32dfd5f2b80899e3b65cfd331e8667db730686426f0ff1a173e565e6)
|
|
3469
|
+
check_type(argname="argument device_name", value=device_name, expected_type=type_hints["device_name"])
|
|
3470
|
+
check_type(argname="argument ebs", value=ebs, expected_type=type_hints["ebs"])
|
|
3471
|
+
self._values: typing.Dict[builtins.str, typing.Any] = {
|
|
3472
|
+
"device_name": device_name,
|
|
3473
|
+
"ebs": ebs,
|
|
3474
|
+
}
|
|
3475
|
+
|
|
3476
|
+
@builtins.property
|
|
3477
|
+
def device_name(self) -> builtins.str:
|
|
3478
|
+
'''Name of the volume.'''
|
|
3479
|
+
result = self._values.get("device_name")
|
|
3480
|
+
assert result is not None, "Required property 'device_name' is missing"
|
|
3481
|
+
return typing.cast(builtins.str, result)
|
|
3482
|
+
|
|
3483
|
+
@builtins.property
|
|
3484
|
+
def ebs(self) -> IEbsParameters:
|
|
3485
|
+
'''EBS Block Store Parameters.
|
|
3486
|
+
|
|
3487
|
+
By default, the 'kmsKeyId' of EBS volume is set to 'amiEncryptionKey.keyId',
|
|
3488
|
+
and 'encrypted' is set to 'true'. If you wish to use a different KMS Key,
|
|
3489
|
+
you may do so. However, please make sure that the necessary permissions
|
|
3490
|
+
and compliance requirements for the KMS Key are already set up.
|
|
3491
|
+
'''
|
|
3492
|
+
result = self._values.get("ebs")
|
|
3493
|
+
assert result is not None, "Required property 'ebs' is missing"
|
|
3494
|
+
return typing.cast(IEbsParameters, result)
|
|
3495
|
+
|
|
3496
|
+
def __eq__(self, rhs: typing.Any) -> builtins.bool:
|
|
3497
|
+
return isinstance(rhs, self.__class__) and rhs._values == self._values
|
|
3498
|
+
|
|
3499
|
+
def __ne__(self, rhs: typing.Any) -> builtins.bool:
|
|
3500
|
+
return not (rhs == self)
|
|
3501
|
+
|
|
3502
|
+
def __repr__(self) -> str:
|
|
3503
|
+
return "VolumeProps(%s)" % ", ".join(
|
|
3504
|
+
k + "=" + repr(v) for k, v in self._values.items()
|
|
3505
|
+
)
|
|
3506
|
+
|
|
3507
|
+
|
|
3508
|
+
__all__ = [
|
|
3509
|
+
"CheckStateMachineStatusFunction",
|
|
3510
|
+
"CheckStateMachineStatusFunctionProps",
|
|
3511
|
+
"IActionCommands",
|
|
3512
|
+
"IComponentDocument",
|
|
3513
|
+
"IComponentProps",
|
|
3514
|
+
"IEbsParameters",
|
|
3515
|
+
"IInputParameter",
|
|
3516
|
+
"IPhases",
|
|
3517
|
+
"IStepCommands",
|
|
3518
|
+
"ImagePipeline",
|
|
3519
|
+
"ImagePipelineProps",
|
|
3520
|
+
"StartStateMachineFunction",
|
|
3521
|
+
"StartStateMachineFunctionProps",
|
|
3522
|
+
"VolumeProps",
|
|
3523
|
+
]
|
|
3524
|
+
|
|
3525
|
+
publication.publish()
|
|
3526
|
+
|
|
3527
|
+
def _typecheckingstub__80a7e839717caae4ae025b044129f52691774b5a0c3597bea181450461089015(
|
|
3528
|
+
scope: _constructs_77d1e7e8.Construct,
|
|
3529
|
+
id: builtins.str,
|
|
3530
|
+
*,
|
|
3531
|
+
adot_instrumentation: typing.Optional[typing.Union[_aws_cdk_aws_lambda_ceddda9d.AdotInstrumentationConfig, typing.Dict[builtins.str, typing.Any]]] = None,
|
|
3532
|
+
allow_all_outbound: typing.Optional[builtins.bool] = None,
|
|
3533
|
+
allow_public_subnet: typing.Optional[builtins.bool] = None,
|
|
3534
|
+
application_log_level: typing.Optional[builtins.str] = None,
|
|
3535
|
+
application_log_level_v2: typing.Optional[_aws_cdk_aws_lambda_ceddda9d.ApplicationLogLevel] = None,
|
|
3536
|
+
architecture: typing.Optional[_aws_cdk_aws_lambda_ceddda9d.Architecture] = None,
|
|
3537
|
+
code_signing_config: typing.Optional[_aws_cdk_aws_lambda_ceddda9d.ICodeSigningConfig] = None,
|
|
3538
|
+
current_version_options: typing.Optional[typing.Union[_aws_cdk_aws_lambda_ceddda9d.VersionOptions, typing.Dict[builtins.str, typing.Any]]] = None,
|
|
3539
|
+
dead_letter_queue: typing.Optional[_aws_cdk_aws_sqs_ceddda9d.IQueue] = None,
|
|
3540
|
+
dead_letter_queue_enabled: typing.Optional[builtins.bool] = None,
|
|
3541
|
+
dead_letter_topic: typing.Optional[_aws_cdk_aws_sns_ceddda9d.ITopic] = None,
|
|
3542
|
+
description: typing.Optional[builtins.str] = None,
|
|
3543
|
+
environment: typing.Optional[typing.Mapping[builtins.str, builtins.str]] = None,
|
|
3544
|
+
environment_encryption: typing.Optional[_aws_cdk_aws_kms_ceddda9d.IKey] = None,
|
|
3545
|
+
ephemeral_storage_size: typing.Optional[_aws_cdk_ceddda9d.Size] = None,
|
|
3546
|
+
events: typing.Optional[typing.Sequence[_aws_cdk_aws_lambda_ceddda9d.IEventSource]] = None,
|
|
3547
|
+
filesystem: typing.Optional[_aws_cdk_aws_lambda_ceddda9d.FileSystem] = None,
|
|
3548
|
+
function_name: typing.Optional[builtins.str] = None,
|
|
3549
|
+
initial_policy: typing.Optional[typing.Sequence[_aws_cdk_aws_iam_ceddda9d.PolicyStatement]] = None,
|
|
3550
|
+
insights_version: typing.Optional[_aws_cdk_aws_lambda_ceddda9d.LambdaInsightsVersion] = None,
|
|
3551
|
+
ipv6_allowed_for_dual_stack: typing.Optional[builtins.bool] = None,
|
|
3552
|
+
layers: typing.Optional[typing.Sequence[_aws_cdk_aws_lambda_ceddda9d.ILayerVersion]] = None,
|
|
3553
|
+
log_format: typing.Optional[builtins.str] = None,
|
|
3554
|
+
logging_format: typing.Optional[_aws_cdk_aws_lambda_ceddda9d.LoggingFormat] = None,
|
|
3555
|
+
log_group: typing.Optional[_aws_cdk_aws_logs_ceddda9d.ILogGroup] = None,
|
|
3556
|
+
log_retention: typing.Optional[_aws_cdk_aws_logs_ceddda9d.RetentionDays] = None,
|
|
3557
|
+
log_retention_retry_options: typing.Optional[typing.Union[_aws_cdk_aws_lambda_ceddda9d.LogRetentionRetryOptions, typing.Dict[builtins.str, typing.Any]]] = None,
|
|
3558
|
+
log_retention_role: typing.Optional[_aws_cdk_aws_iam_ceddda9d.IRole] = None,
|
|
3559
|
+
memory_size: typing.Optional[jsii.Number] = None,
|
|
3560
|
+
params_and_secrets: typing.Optional[_aws_cdk_aws_lambda_ceddda9d.ParamsAndSecretsLayerVersion] = None,
|
|
3561
|
+
profiling: typing.Optional[builtins.bool] = None,
|
|
3562
|
+
profiling_group: typing.Optional[_aws_cdk_aws_codeguruprofiler_ceddda9d.IProfilingGroup] = None,
|
|
3563
|
+
reserved_concurrent_executions: typing.Optional[jsii.Number] = None,
|
|
3564
|
+
role: typing.Optional[_aws_cdk_aws_iam_ceddda9d.IRole] = None,
|
|
3565
|
+
runtime_management_mode: typing.Optional[_aws_cdk_aws_lambda_ceddda9d.RuntimeManagementMode] = None,
|
|
3566
|
+
security_groups: typing.Optional[typing.Sequence[_aws_cdk_aws_ec2_ceddda9d.ISecurityGroup]] = None,
|
|
3567
|
+
snap_start: typing.Optional[_aws_cdk_aws_lambda_ceddda9d.SnapStartConf] = None,
|
|
3568
|
+
system_log_level: typing.Optional[builtins.str] = None,
|
|
3569
|
+
system_log_level_v2: typing.Optional[_aws_cdk_aws_lambda_ceddda9d.SystemLogLevel] = None,
|
|
3570
|
+
timeout: typing.Optional[_aws_cdk_ceddda9d.Duration] = None,
|
|
3571
|
+
tracing: typing.Optional[_aws_cdk_aws_lambda_ceddda9d.Tracing] = None,
|
|
3572
|
+
vpc: typing.Optional[_aws_cdk_aws_ec2_ceddda9d.IVpc] = None,
|
|
3573
|
+
vpc_subnets: typing.Optional[typing.Union[_aws_cdk_aws_ec2_ceddda9d.SubnetSelection, typing.Dict[builtins.str, typing.Any]]] = None,
|
|
3574
|
+
max_event_age: typing.Optional[_aws_cdk_ceddda9d.Duration] = None,
|
|
3575
|
+
on_failure: typing.Optional[_aws_cdk_aws_lambda_ceddda9d.IDestination] = None,
|
|
3576
|
+
on_success: typing.Optional[_aws_cdk_aws_lambda_ceddda9d.IDestination] = None,
|
|
3577
|
+
retry_attempts: typing.Optional[jsii.Number] = None,
|
|
3578
|
+
) -> None:
|
|
3579
|
+
"""Type checking stubs"""
|
|
3580
|
+
pass
|
|
3581
|
+
|
|
3582
|
+
def _typecheckingstub__7ad187f6fa75af251088f0d01089ce5af9c6e78ba8a6e1736dfdb9666988616b(
|
|
3583
|
+
*,
|
|
3584
|
+
max_event_age: typing.Optional[_aws_cdk_ceddda9d.Duration] = None,
|
|
3585
|
+
on_failure: typing.Optional[_aws_cdk_aws_lambda_ceddda9d.IDestination] = None,
|
|
3586
|
+
on_success: typing.Optional[_aws_cdk_aws_lambda_ceddda9d.IDestination] = None,
|
|
3587
|
+
retry_attempts: typing.Optional[jsii.Number] = None,
|
|
3588
|
+
adot_instrumentation: typing.Optional[typing.Union[_aws_cdk_aws_lambda_ceddda9d.AdotInstrumentationConfig, typing.Dict[builtins.str, typing.Any]]] = None,
|
|
3589
|
+
allow_all_outbound: typing.Optional[builtins.bool] = None,
|
|
3590
|
+
allow_public_subnet: typing.Optional[builtins.bool] = None,
|
|
3591
|
+
application_log_level: typing.Optional[builtins.str] = None,
|
|
3592
|
+
application_log_level_v2: typing.Optional[_aws_cdk_aws_lambda_ceddda9d.ApplicationLogLevel] = None,
|
|
3593
|
+
architecture: typing.Optional[_aws_cdk_aws_lambda_ceddda9d.Architecture] = None,
|
|
3594
|
+
code_signing_config: typing.Optional[_aws_cdk_aws_lambda_ceddda9d.ICodeSigningConfig] = None,
|
|
3595
|
+
current_version_options: typing.Optional[typing.Union[_aws_cdk_aws_lambda_ceddda9d.VersionOptions, typing.Dict[builtins.str, typing.Any]]] = None,
|
|
3596
|
+
dead_letter_queue: typing.Optional[_aws_cdk_aws_sqs_ceddda9d.IQueue] = None,
|
|
3597
|
+
dead_letter_queue_enabled: typing.Optional[builtins.bool] = None,
|
|
3598
|
+
dead_letter_topic: typing.Optional[_aws_cdk_aws_sns_ceddda9d.ITopic] = None,
|
|
3599
|
+
description: typing.Optional[builtins.str] = None,
|
|
3600
|
+
environment: typing.Optional[typing.Mapping[builtins.str, builtins.str]] = None,
|
|
3601
|
+
environment_encryption: typing.Optional[_aws_cdk_aws_kms_ceddda9d.IKey] = None,
|
|
3602
|
+
ephemeral_storage_size: typing.Optional[_aws_cdk_ceddda9d.Size] = None,
|
|
3603
|
+
events: typing.Optional[typing.Sequence[_aws_cdk_aws_lambda_ceddda9d.IEventSource]] = None,
|
|
3604
|
+
filesystem: typing.Optional[_aws_cdk_aws_lambda_ceddda9d.FileSystem] = None,
|
|
3605
|
+
function_name: typing.Optional[builtins.str] = None,
|
|
3606
|
+
initial_policy: typing.Optional[typing.Sequence[_aws_cdk_aws_iam_ceddda9d.PolicyStatement]] = None,
|
|
3607
|
+
insights_version: typing.Optional[_aws_cdk_aws_lambda_ceddda9d.LambdaInsightsVersion] = None,
|
|
3608
|
+
ipv6_allowed_for_dual_stack: typing.Optional[builtins.bool] = None,
|
|
3609
|
+
layers: typing.Optional[typing.Sequence[_aws_cdk_aws_lambda_ceddda9d.ILayerVersion]] = None,
|
|
3610
|
+
log_format: typing.Optional[builtins.str] = None,
|
|
3611
|
+
logging_format: typing.Optional[_aws_cdk_aws_lambda_ceddda9d.LoggingFormat] = None,
|
|
3612
|
+
log_group: typing.Optional[_aws_cdk_aws_logs_ceddda9d.ILogGroup] = None,
|
|
3613
|
+
log_retention: typing.Optional[_aws_cdk_aws_logs_ceddda9d.RetentionDays] = None,
|
|
3614
|
+
log_retention_retry_options: typing.Optional[typing.Union[_aws_cdk_aws_lambda_ceddda9d.LogRetentionRetryOptions, typing.Dict[builtins.str, typing.Any]]] = None,
|
|
3615
|
+
log_retention_role: typing.Optional[_aws_cdk_aws_iam_ceddda9d.IRole] = None,
|
|
3616
|
+
memory_size: typing.Optional[jsii.Number] = None,
|
|
3617
|
+
params_and_secrets: typing.Optional[_aws_cdk_aws_lambda_ceddda9d.ParamsAndSecretsLayerVersion] = None,
|
|
3618
|
+
profiling: typing.Optional[builtins.bool] = None,
|
|
3619
|
+
profiling_group: typing.Optional[_aws_cdk_aws_codeguruprofiler_ceddda9d.IProfilingGroup] = None,
|
|
3620
|
+
reserved_concurrent_executions: typing.Optional[jsii.Number] = None,
|
|
3621
|
+
role: typing.Optional[_aws_cdk_aws_iam_ceddda9d.IRole] = None,
|
|
3622
|
+
runtime_management_mode: typing.Optional[_aws_cdk_aws_lambda_ceddda9d.RuntimeManagementMode] = None,
|
|
3623
|
+
security_groups: typing.Optional[typing.Sequence[_aws_cdk_aws_ec2_ceddda9d.ISecurityGroup]] = None,
|
|
3624
|
+
snap_start: typing.Optional[_aws_cdk_aws_lambda_ceddda9d.SnapStartConf] = None,
|
|
3625
|
+
system_log_level: typing.Optional[builtins.str] = None,
|
|
3626
|
+
system_log_level_v2: typing.Optional[_aws_cdk_aws_lambda_ceddda9d.SystemLogLevel] = None,
|
|
3627
|
+
timeout: typing.Optional[_aws_cdk_ceddda9d.Duration] = None,
|
|
3628
|
+
tracing: typing.Optional[_aws_cdk_aws_lambda_ceddda9d.Tracing] = None,
|
|
3629
|
+
vpc: typing.Optional[_aws_cdk_aws_ec2_ceddda9d.IVpc] = None,
|
|
3630
|
+
vpc_subnets: typing.Optional[typing.Union[_aws_cdk_aws_ec2_ceddda9d.SubnetSelection, typing.Dict[builtins.str, typing.Any]]] = None,
|
|
3631
|
+
) -> None:
|
|
3632
|
+
"""Type checking stubs"""
|
|
3633
|
+
pass
|
|
3634
|
+
|
|
3635
|
+
def _typecheckingstub__10f5fea34bd77d6054ed796f746dbb227d06d5b5d758e1eb35055430d0518bdf(
|
|
3636
|
+
value: typing.List[builtins.str],
|
|
3637
|
+
) -> None:
|
|
3638
|
+
"""Type checking stubs"""
|
|
3639
|
+
pass
|
|
3640
|
+
|
|
3641
|
+
def _typecheckingstub__624a7bb48f946403e3ab1b4ae0dbb8031caf7b944311ff9c993a6126ef5e3287(
|
|
3642
|
+
value: typing.List[IPhases],
|
|
3643
|
+
) -> None:
|
|
3644
|
+
"""Type checking stubs"""
|
|
3645
|
+
pass
|
|
3646
|
+
|
|
3647
|
+
def _typecheckingstub__de97257fb85051b7e1a2f01dbece22036f46f0b683a3d5e9a4169541ec11b5e1(
|
|
3648
|
+
value: typing.Optional[builtins.str],
|
|
3649
|
+
) -> None:
|
|
3650
|
+
"""Type checking stubs"""
|
|
3651
|
+
pass
|
|
3652
|
+
|
|
3653
|
+
def _typecheckingstub__70cb5dabf5f8f2356d27488542eac48b55efd3d699b5e052701945bf99619aca(
|
|
3654
|
+
value: typing.Optional[builtins.str],
|
|
3655
|
+
) -> None:
|
|
3656
|
+
"""Type checking stubs"""
|
|
3657
|
+
pass
|
|
3658
|
+
|
|
3659
|
+
def _typecheckingstub__efffe851a3d571fabc89bb8f1e37d1a4ec032e1342122b5ab489204a1e44f6b8(
|
|
3660
|
+
value: typing.Optional[builtins.str],
|
|
3661
|
+
) -> None:
|
|
3662
|
+
"""Type checking stubs"""
|
|
3663
|
+
pass
|
|
3664
|
+
|
|
3665
|
+
def _typecheckingstub__b0ad2caab3355f4838637405d4f26c75ee1cce783903c32551e643abe82659e8(
|
|
3666
|
+
value: IComponentDocument,
|
|
3667
|
+
) -> None:
|
|
3668
|
+
"""Type checking stubs"""
|
|
3669
|
+
pass
|
|
3670
|
+
|
|
3671
|
+
def _typecheckingstub__0bce0f8dc96228f8efb876e5919d9c2c1ee92c26a24d14eca94a50a06cd4926f(
|
|
3672
|
+
value: typing.Optional[builtins.str],
|
|
3673
|
+
) -> None:
|
|
3674
|
+
"""Type checking stubs"""
|
|
3675
|
+
pass
|
|
3676
|
+
|
|
3677
|
+
def _typecheckingstub__c0c7dec14ffd9bf1a1a114795b123ba90e9b80ca69c21fdaa3f475ddf85d78b1(
|
|
3678
|
+
value: typing.Optional[builtins.str],
|
|
3679
|
+
) -> None:
|
|
3680
|
+
"""Type checking stubs"""
|
|
3681
|
+
pass
|
|
3682
|
+
|
|
3683
|
+
def _typecheckingstub__72232f5835e0beda072a77bad77970be5491d2709e66ba2ca97fd7bc9db71006(
|
|
3684
|
+
value: typing.Optional[builtins.str],
|
|
3685
|
+
) -> None:
|
|
3686
|
+
"""Type checking stubs"""
|
|
3687
|
+
pass
|
|
3688
|
+
|
|
3689
|
+
def _typecheckingstub__86f16715a17e21602912ba9d4533eca197b8693c30d16442cfab62b7ea33370d(
|
|
3690
|
+
value: typing.Optional[typing.Mapping[builtins.str, IInputParameter]],
|
|
3691
|
+
) -> None:
|
|
3692
|
+
"""Type checking stubs"""
|
|
3693
|
+
pass
|
|
3694
|
+
|
|
3695
|
+
def _typecheckingstub__a23ae80ba76ecddd4143609bb122f336b79f3ab095cc2c2c5d4d1385ef62693a(
|
|
3696
|
+
value: typing.Optional[builtins.str],
|
|
3697
|
+
) -> None:
|
|
3698
|
+
"""Type checking stubs"""
|
|
3699
|
+
pass
|
|
3700
|
+
|
|
3701
|
+
def _typecheckingstub__9973b3d6b077a057d59e04c03013dce9d7ed43148817bf0433987b401da20438(
|
|
3702
|
+
value: typing.Optional[builtins.str],
|
|
3703
|
+
) -> None:
|
|
3704
|
+
"""Type checking stubs"""
|
|
3705
|
+
pass
|
|
3706
|
+
|
|
3707
|
+
def _typecheckingstub__0e5d81c411808594f27bf71993213cf332e7b7bc72d420381bada3679eeea8ec(
|
|
3708
|
+
value: jsii.Number,
|
|
3709
|
+
) -> None:
|
|
3710
|
+
"""Type checking stubs"""
|
|
3711
|
+
pass
|
|
3712
|
+
|
|
3713
|
+
def _typecheckingstub__b540c011e8f4a3a07534f2b6ce7d7f97f2c406cb2e6c3fe31235455d998f6241(
|
|
3714
|
+
value: typing.Optional[builtins.bool],
|
|
3715
|
+
) -> None:
|
|
3716
|
+
"""Type checking stubs"""
|
|
3717
|
+
pass
|
|
3718
|
+
|
|
3719
|
+
def _typecheckingstub__7e13b146751f14eee56e18d77364984f0f27022180ae37bc0ded34faef00f0c4(
|
|
3720
|
+
value: typing.Optional[builtins.bool],
|
|
3721
|
+
) -> None:
|
|
3722
|
+
"""Type checking stubs"""
|
|
3723
|
+
pass
|
|
3724
|
+
|
|
3725
|
+
def _typecheckingstub__c302f146869b52368ce6de4d6f01976b8eca3e9d54f8efbbffe44cf8b19d0869(
|
|
3726
|
+
value: typing.Optional[builtins.str],
|
|
3727
|
+
) -> None:
|
|
3728
|
+
"""Type checking stubs"""
|
|
3729
|
+
pass
|
|
3730
|
+
|
|
3731
|
+
def _typecheckingstub__e81a510a2a024c038328cbad4402309e14a7833b607324f360373866e250b3f7(
|
|
3732
|
+
value: typing.Optional[builtins.str],
|
|
3733
|
+
) -> None:
|
|
3734
|
+
"""Type checking stubs"""
|
|
3735
|
+
pass
|
|
3736
|
+
|
|
3737
|
+
def _typecheckingstub__aaf310c2928dde39cb8af7991b84c39540130f8d881fe6005d7eab25d2d118c0(
|
|
3738
|
+
value: builtins.str,
|
|
3739
|
+
) -> None:
|
|
3740
|
+
"""Type checking stubs"""
|
|
3741
|
+
pass
|
|
3742
|
+
|
|
3743
|
+
def _typecheckingstub__4560f5bbdf32517a539c1af9e6599ca9195835a850a0f07ddfc0dcdf3641b1f7(
|
|
3744
|
+
value: builtins.str,
|
|
3745
|
+
) -> None:
|
|
3746
|
+
"""Type checking stubs"""
|
|
3747
|
+
pass
|
|
3748
|
+
|
|
3749
|
+
def _typecheckingstub__8fb09906d4a1b21165f080811572771be07edead36213cbdddbcae3f59ca4fe7(
|
|
3750
|
+
value: builtins.str,
|
|
3751
|
+
) -> None:
|
|
3752
|
+
"""Type checking stubs"""
|
|
3753
|
+
pass
|
|
3754
|
+
|
|
3755
|
+
def _typecheckingstub__44eb356dcf22fafae58586b67e463188c1ceb5872e7d4700b983131d9fa722c2(
|
|
3756
|
+
value: builtins.str,
|
|
3757
|
+
) -> None:
|
|
3758
|
+
"""Type checking stubs"""
|
|
3759
|
+
pass
|
|
3760
|
+
|
|
3761
|
+
def _typecheckingstub__df462b42f744b117b0586075ca023a73546818bc12bda3af473d5cded5a14453(
|
|
3762
|
+
value: typing.List[IStepCommands],
|
|
3763
|
+
) -> None:
|
|
3764
|
+
"""Type checking stubs"""
|
|
3765
|
+
pass
|
|
3766
|
+
|
|
3767
|
+
def _typecheckingstub__d2a55181a699ecdb46fd277bb5d051f1e9f4433e27639332395478ed06c7bada(
|
|
3768
|
+
value: builtins.str,
|
|
3769
|
+
) -> None:
|
|
3770
|
+
"""Type checking stubs"""
|
|
3771
|
+
pass
|
|
3772
|
+
|
|
3773
|
+
def _typecheckingstub__c7fd2c10de441da316399b8d67ef9fe6302063110bab78de675bf72c8d330cd5(
|
|
3774
|
+
value: builtins.str,
|
|
3775
|
+
) -> None:
|
|
3776
|
+
"""Type checking stubs"""
|
|
3777
|
+
pass
|
|
3778
|
+
|
|
3779
|
+
def _typecheckingstub__31f544d77b7639a100d3ef21a2dccb6780ad4865ad30dc0927169fa6f58ba844(
|
|
3780
|
+
value: typing.Optional[IActionCommands],
|
|
3781
|
+
) -> None:
|
|
3782
|
+
"""Type checking stubs"""
|
|
3783
|
+
pass
|
|
3784
|
+
|
|
3785
|
+
def _typecheckingstub__bf6bd3c038c0cdfd3e7d1a6b8572fb503cc2e9cedcc165c10c8c3747c9bd5e18(
|
|
3786
|
+
scope: _constructs_77d1e7e8.Construct,
|
|
3787
|
+
id: builtins.str,
|
|
3788
|
+
*,
|
|
3789
|
+
components: typing.Sequence[IComponentProps],
|
|
3790
|
+
parent_image: builtins.str,
|
|
3791
|
+
vpc: _aws_cdk_aws_ec2_ceddda9d.Vpc,
|
|
3792
|
+
additional_policies: typing.Optional[typing.Sequence[_aws_cdk_aws_iam_ceddda9d.ManagedPolicy]] = None,
|
|
3793
|
+
debug_image_pipeline: typing.Optional[builtins.bool] = None,
|
|
3794
|
+
distribution_account_ids: typing.Optional[typing.Sequence[builtins.str]] = None,
|
|
3795
|
+
distribution_kms_key_alias: typing.Optional[builtins.str] = None,
|
|
3796
|
+
distribution_regions: typing.Optional[typing.Sequence[builtins.str]] = None,
|
|
3797
|
+
ebs_volume_configurations: typing.Optional[typing.Sequence[typing.Union[VolumeProps, typing.Dict[builtins.str, typing.Any]]]] = None,
|
|
3798
|
+
email: typing.Optional[builtins.str] = None,
|
|
3799
|
+
enable_vuln_scans: typing.Optional[builtins.bool] = None,
|
|
3800
|
+
image_recipe_version: typing.Optional[builtins.str] = None,
|
|
3801
|
+
instance_types: typing.Optional[typing.Sequence[builtins.str]] = None,
|
|
3802
|
+
platform: typing.Optional[builtins.str] = None,
|
|
3803
|
+
profile_name: typing.Optional[builtins.str] = None,
|
|
3804
|
+
security_group_ids: typing.Optional[typing.Sequence[builtins.str]] = None,
|
|
3805
|
+
security_groups: typing.Optional[typing.Sequence[builtins.str]] = None,
|
|
3806
|
+
subnet_id: typing.Optional[builtins.str] = None,
|
|
3807
|
+
user_data_script: typing.Optional[builtins.str] = None,
|
|
3808
|
+
vuln_scans_repo_name: typing.Optional[builtins.str] = None,
|
|
3809
|
+
vuln_scans_repo_tags: typing.Optional[typing.Sequence[builtins.str]] = None,
|
|
3810
|
+
) -> None:
|
|
3811
|
+
"""Type checking stubs"""
|
|
3812
|
+
pass
|
|
3813
|
+
|
|
3814
|
+
def _typecheckingstub__3caaa0e87efd31863d50ae14b716d1c26963b70e3c7cb6faf0382a7a992902db(
|
|
3815
|
+
value: builtins.str,
|
|
3816
|
+
) -> None:
|
|
3817
|
+
"""Type checking stubs"""
|
|
3818
|
+
pass
|
|
3819
|
+
|
|
3820
|
+
def _typecheckingstub__8f26b6fa7ec32bfa71a51e8decd4140be699fde137d1b00acb1efb9403c33617(
|
|
3821
|
+
value: builtins.str,
|
|
3822
|
+
) -> None:
|
|
3823
|
+
"""Type checking stubs"""
|
|
3824
|
+
pass
|
|
3825
|
+
|
|
3826
|
+
def _typecheckingstub__eeb1c8226fc2b10c398b3b6c92875d7937e349500e49aef10cfda8c99a39abca(
|
|
3827
|
+
value: typing.List[_aws_cdk_aws_imagebuilder_ceddda9d.CfnImageRecipe.ComponentConfigurationProperty],
|
|
3828
|
+
) -> None:
|
|
3829
|
+
"""Type checking stubs"""
|
|
3830
|
+
pass
|
|
3831
|
+
|
|
3832
|
+
def _typecheckingstub__f604923f8f82998f5caecff757715f94c0405ceeb95a6c1b00fa96d9d35d16d6(
|
|
3833
|
+
*,
|
|
3834
|
+
components: typing.Sequence[IComponentProps],
|
|
3835
|
+
parent_image: builtins.str,
|
|
3836
|
+
vpc: _aws_cdk_aws_ec2_ceddda9d.Vpc,
|
|
3837
|
+
additional_policies: typing.Optional[typing.Sequence[_aws_cdk_aws_iam_ceddda9d.ManagedPolicy]] = None,
|
|
3838
|
+
debug_image_pipeline: typing.Optional[builtins.bool] = None,
|
|
3839
|
+
distribution_account_ids: typing.Optional[typing.Sequence[builtins.str]] = None,
|
|
3840
|
+
distribution_kms_key_alias: typing.Optional[builtins.str] = None,
|
|
3841
|
+
distribution_regions: typing.Optional[typing.Sequence[builtins.str]] = None,
|
|
3842
|
+
ebs_volume_configurations: typing.Optional[typing.Sequence[typing.Union[VolumeProps, typing.Dict[builtins.str, typing.Any]]]] = None,
|
|
3843
|
+
email: typing.Optional[builtins.str] = None,
|
|
3844
|
+
enable_vuln_scans: typing.Optional[builtins.bool] = None,
|
|
3845
|
+
image_recipe_version: typing.Optional[builtins.str] = None,
|
|
3846
|
+
instance_types: typing.Optional[typing.Sequence[builtins.str]] = None,
|
|
3847
|
+
platform: typing.Optional[builtins.str] = None,
|
|
3848
|
+
profile_name: typing.Optional[builtins.str] = None,
|
|
3849
|
+
security_group_ids: typing.Optional[typing.Sequence[builtins.str]] = None,
|
|
3850
|
+
security_groups: typing.Optional[typing.Sequence[builtins.str]] = None,
|
|
3851
|
+
subnet_id: typing.Optional[builtins.str] = None,
|
|
3852
|
+
user_data_script: typing.Optional[builtins.str] = None,
|
|
3853
|
+
vuln_scans_repo_name: typing.Optional[builtins.str] = None,
|
|
3854
|
+
vuln_scans_repo_tags: typing.Optional[typing.Sequence[builtins.str]] = None,
|
|
3855
|
+
) -> None:
|
|
3856
|
+
"""Type checking stubs"""
|
|
3857
|
+
pass
|
|
3858
|
+
|
|
3859
|
+
def _typecheckingstub__e2190d2a548e965066a88afc4c9200b01b6ec131b60f821166bf35aedc4ef922(
|
|
3860
|
+
scope: _constructs_77d1e7e8.Construct,
|
|
3861
|
+
id: builtins.str,
|
|
3862
|
+
*,
|
|
3863
|
+
adot_instrumentation: typing.Optional[typing.Union[_aws_cdk_aws_lambda_ceddda9d.AdotInstrumentationConfig, typing.Dict[builtins.str, typing.Any]]] = None,
|
|
3864
|
+
allow_all_outbound: typing.Optional[builtins.bool] = None,
|
|
3865
|
+
allow_public_subnet: typing.Optional[builtins.bool] = None,
|
|
3866
|
+
application_log_level: typing.Optional[builtins.str] = None,
|
|
3867
|
+
application_log_level_v2: typing.Optional[_aws_cdk_aws_lambda_ceddda9d.ApplicationLogLevel] = None,
|
|
3868
|
+
architecture: typing.Optional[_aws_cdk_aws_lambda_ceddda9d.Architecture] = None,
|
|
3869
|
+
code_signing_config: typing.Optional[_aws_cdk_aws_lambda_ceddda9d.ICodeSigningConfig] = None,
|
|
3870
|
+
current_version_options: typing.Optional[typing.Union[_aws_cdk_aws_lambda_ceddda9d.VersionOptions, typing.Dict[builtins.str, typing.Any]]] = None,
|
|
3871
|
+
dead_letter_queue: typing.Optional[_aws_cdk_aws_sqs_ceddda9d.IQueue] = None,
|
|
3872
|
+
dead_letter_queue_enabled: typing.Optional[builtins.bool] = None,
|
|
3873
|
+
dead_letter_topic: typing.Optional[_aws_cdk_aws_sns_ceddda9d.ITopic] = None,
|
|
3874
|
+
description: typing.Optional[builtins.str] = None,
|
|
3875
|
+
environment: typing.Optional[typing.Mapping[builtins.str, builtins.str]] = None,
|
|
3876
|
+
environment_encryption: typing.Optional[_aws_cdk_aws_kms_ceddda9d.IKey] = None,
|
|
3877
|
+
ephemeral_storage_size: typing.Optional[_aws_cdk_ceddda9d.Size] = None,
|
|
3878
|
+
events: typing.Optional[typing.Sequence[_aws_cdk_aws_lambda_ceddda9d.IEventSource]] = None,
|
|
3879
|
+
filesystem: typing.Optional[_aws_cdk_aws_lambda_ceddda9d.FileSystem] = None,
|
|
3880
|
+
function_name: typing.Optional[builtins.str] = None,
|
|
3881
|
+
initial_policy: typing.Optional[typing.Sequence[_aws_cdk_aws_iam_ceddda9d.PolicyStatement]] = None,
|
|
3882
|
+
insights_version: typing.Optional[_aws_cdk_aws_lambda_ceddda9d.LambdaInsightsVersion] = None,
|
|
3883
|
+
ipv6_allowed_for_dual_stack: typing.Optional[builtins.bool] = None,
|
|
3884
|
+
layers: typing.Optional[typing.Sequence[_aws_cdk_aws_lambda_ceddda9d.ILayerVersion]] = None,
|
|
3885
|
+
log_format: typing.Optional[builtins.str] = None,
|
|
3886
|
+
logging_format: typing.Optional[_aws_cdk_aws_lambda_ceddda9d.LoggingFormat] = None,
|
|
3887
|
+
log_group: typing.Optional[_aws_cdk_aws_logs_ceddda9d.ILogGroup] = None,
|
|
3888
|
+
log_retention: typing.Optional[_aws_cdk_aws_logs_ceddda9d.RetentionDays] = None,
|
|
3889
|
+
log_retention_retry_options: typing.Optional[typing.Union[_aws_cdk_aws_lambda_ceddda9d.LogRetentionRetryOptions, typing.Dict[builtins.str, typing.Any]]] = None,
|
|
3890
|
+
log_retention_role: typing.Optional[_aws_cdk_aws_iam_ceddda9d.IRole] = None,
|
|
3891
|
+
memory_size: typing.Optional[jsii.Number] = None,
|
|
3892
|
+
params_and_secrets: typing.Optional[_aws_cdk_aws_lambda_ceddda9d.ParamsAndSecretsLayerVersion] = None,
|
|
3893
|
+
profiling: typing.Optional[builtins.bool] = None,
|
|
3894
|
+
profiling_group: typing.Optional[_aws_cdk_aws_codeguruprofiler_ceddda9d.IProfilingGroup] = None,
|
|
3895
|
+
reserved_concurrent_executions: typing.Optional[jsii.Number] = None,
|
|
3896
|
+
role: typing.Optional[_aws_cdk_aws_iam_ceddda9d.IRole] = None,
|
|
3897
|
+
runtime_management_mode: typing.Optional[_aws_cdk_aws_lambda_ceddda9d.RuntimeManagementMode] = None,
|
|
3898
|
+
security_groups: typing.Optional[typing.Sequence[_aws_cdk_aws_ec2_ceddda9d.ISecurityGroup]] = None,
|
|
3899
|
+
snap_start: typing.Optional[_aws_cdk_aws_lambda_ceddda9d.SnapStartConf] = None,
|
|
3900
|
+
system_log_level: typing.Optional[builtins.str] = None,
|
|
3901
|
+
system_log_level_v2: typing.Optional[_aws_cdk_aws_lambda_ceddda9d.SystemLogLevel] = None,
|
|
3902
|
+
timeout: typing.Optional[_aws_cdk_ceddda9d.Duration] = None,
|
|
3903
|
+
tracing: typing.Optional[_aws_cdk_aws_lambda_ceddda9d.Tracing] = None,
|
|
3904
|
+
vpc: typing.Optional[_aws_cdk_aws_ec2_ceddda9d.IVpc] = None,
|
|
3905
|
+
vpc_subnets: typing.Optional[typing.Union[_aws_cdk_aws_ec2_ceddda9d.SubnetSelection, typing.Dict[builtins.str, typing.Any]]] = None,
|
|
3906
|
+
max_event_age: typing.Optional[_aws_cdk_ceddda9d.Duration] = None,
|
|
3907
|
+
on_failure: typing.Optional[_aws_cdk_aws_lambda_ceddda9d.IDestination] = None,
|
|
3908
|
+
on_success: typing.Optional[_aws_cdk_aws_lambda_ceddda9d.IDestination] = None,
|
|
3909
|
+
retry_attempts: typing.Optional[jsii.Number] = None,
|
|
3910
|
+
) -> None:
|
|
3911
|
+
"""Type checking stubs"""
|
|
3912
|
+
pass
|
|
3913
|
+
|
|
3914
|
+
def _typecheckingstub__eb8aced8ffa672fc77ae37739036b372b4660892fca88a7d548de7d9809b88ab(
|
|
3915
|
+
*,
|
|
3916
|
+
max_event_age: typing.Optional[_aws_cdk_ceddda9d.Duration] = None,
|
|
3917
|
+
on_failure: typing.Optional[_aws_cdk_aws_lambda_ceddda9d.IDestination] = None,
|
|
3918
|
+
on_success: typing.Optional[_aws_cdk_aws_lambda_ceddda9d.IDestination] = None,
|
|
3919
|
+
retry_attempts: typing.Optional[jsii.Number] = None,
|
|
3920
|
+
adot_instrumentation: typing.Optional[typing.Union[_aws_cdk_aws_lambda_ceddda9d.AdotInstrumentationConfig, typing.Dict[builtins.str, typing.Any]]] = None,
|
|
3921
|
+
allow_all_outbound: typing.Optional[builtins.bool] = None,
|
|
3922
|
+
allow_public_subnet: typing.Optional[builtins.bool] = None,
|
|
3923
|
+
application_log_level: typing.Optional[builtins.str] = None,
|
|
3924
|
+
application_log_level_v2: typing.Optional[_aws_cdk_aws_lambda_ceddda9d.ApplicationLogLevel] = None,
|
|
3925
|
+
architecture: typing.Optional[_aws_cdk_aws_lambda_ceddda9d.Architecture] = None,
|
|
3926
|
+
code_signing_config: typing.Optional[_aws_cdk_aws_lambda_ceddda9d.ICodeSigningConfig] = None,
|
|
3927
|
+
current_version_options: typing.Optional[typing.Union[_aws_cdk_aws_lambda_ceddda9d.VersionOptions, typing.Dict[builtins.str, typing.Any]]] = None,
|
|
3928
|
+
dead_letter_queue: typing.Optional[_aws_cdk_aws_sqs_ceddda9d.IQueue] = None,
|
|
3929
|
+
dead_letter_queue_enabled: typing.Optional[builtins.bool] = None,
|
|
3930
|
+
dead_letter_topic: typing.Optional[_aws_cdk_aws_sns_ceddda9d.ITopic] = None,
|
|
3931
|
+
description: typing.Optional[builtins.str] = None,
|
|
3932
|
+
environment: typing.Optional[typing.Mapping[builtins.str, builtins.str]] = None,
|
|
3933
|
+
environment_encryption: typing.Optional[_aws_cdk_aws_kms_ceddda9d.IKey] = None,
|
|
3934
|
+
ephemeral_storage_size: typing.Optional[_aws_cdk_ceddda9d.Size] = None,
|
|
3935
|
+
events: typing.Optional[typing.Sequence[_aws_cdk_aws_lambda_ceddda9d.IEventSource]] = None,
|
|
3936
|
+
filesystem: typing.Optional[_aws_cdk_aws_lambda_ceddda9d.FileSystem] = None,
|
|
3937
|
+
function_name: typing.Optional[builtins.str] = None,
|
|
3938
|
+
initial_policy: typing.Optional[typing.Sequence[_aws_cdk_aws_iam_ceddda9d.PolicyStatement]] = None,
|
|
3939
|
+
insights_version: typing.Optional[_aws_cdk_aws_lambda_ceddda9d.LambdaInsightsVersion] = None,
|
|
3940
|
+
ipv6_allowed_for_dual_stack: typing.Optional[builtins.bool] = None,
|
|
3941
|
+
layers: typing.Optional[typing.Sequence[_aws_cdk_aws_lambda_ceddda9d.ILayerVersion]] = None,
|
|
3942
|
+
log_format: typing.Optional[builtins.str] = None,
|
|
3943
|
+
logging_format: typing.Optional[_aws_cdk_aws_lambda_ceddda9d.LoggingFormat] = None,
|
|
3944
|
+
log_group: typing.Optional[_aws_cdk_aws_logs_ceddda9d.ILogGroup] = None,
|
|
3945
|
+
log_retention: typing.Optional[_aws_cdk_aws_logs_ceddda9d.RetentionDays] = None,
|
|
3946
|
+
log_retention_retry_options: typing.Optional[typing.Union[_aws_cdk_aws_lambda_ceddda9d.LogRetentionRetryOptions, typing.Dict[builtins.str, typing.Any]]] = None,
|
|
3947
|
+
log_retention_role: typing.Optional[_aws_cdk_aws_iam_ceddda9d.IRole] = None,
|
|
3948
|
+
memory_size: typing.Optional[jsii.Number] = None,
|
|
3949
|
+
params_and_secrets: typing.Optional[_aws_cdk_aws_lambda_ceddda9d.ParamsAndSecretsLayerVersion] = None,
|
|
3950
|
+
profiling: typing.Optional[builtins.bool] = None,
|
|
3951
|
+
profiling_group: typing.Optional[_aws_cdk_aws_codeguruprofiler_ceddda9d.IProfilingGroup] = None,
|
|
3952
|
+
reserved_concurrent_executions: typing.Optional[jsii.Number] = None,
|
|
3953
|
+
role: typing.Optional[_aws_cdk_aws_iam_ceddda9d.IRole] = None,
|
|
3954
|
+
runtime_management_mode: typing.Optional[_aws_cdk_aws_lambda_ceddda9d.RuntimeManagementMode] = None,
|
|
3955
|
+
security_groups: typing.Optional[typing.Sequence[_aws_cdk_aws_ec2_ceddda9d.ISecurityGroup]] = None,
|
|
3956
|
+
snap_start: typing.Optional[_aws_cdk_aws_lambda_ceddda9d.SnapStartConf] = None,
|
|
3957
|
+
system_log_level: typing.Optional[builtins.str] = None,
|
|
3958
|
+
system_log_level_v2: typing.Optional[_aws_cdk_aws_lambda_ceddda9d.SystemLogLevel] = None,
|
|
3959
|
+
timeout: typing.Optional[_aws_cdk_ceddda9d.Duration] = None,
|
|
3960
|
+
tracing: typing.Optional[_aws_cdk_aws_lambda_ceddda9d.Tracing] = None,
|
|
3961
|
+
vpc: typing.Optional[_aws_cdk_aws_ec2_ceddda9d.IVpc] = None,
|
|
3962
|
+
vpc_subnets: typing.Optional[typing.Union[_aws_cdk_aws_ec2_ceddda9d.SubnetSelection, typing.Dict[builtins.str, typing.Any]]] = None,
|
|
3963
|
+
) -> None:
|
|
3964
|
+
"""Type checking stubs"""
|
|
3965
|
+
pass
|
|
3966
|
+
|
|
3967
|
+
def _typecheckingstub__9d1da9ea32dfd5f2b80899e3b65cfd331e8667db730686426f0ff1a173e565e6(
|
|
3968
|
+
*,
|
|
3969
|
+
device_name: builtins.str,
|
|
3970
|
+
ebs: IEbsParameters,
|
|
3971
|
+
) -> None:
|
|
3972
|
+
"""Type checking stubs"""
|
|
3973
|
+
pass
|