@awboost/cfn-resource-types 0.1.489 → 0.1.490
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.
|
@@ -0,0 +1,208 @@
|
|
|
1
|
+
import { Resource as $Resource } from "@awboost/cfn-template-builder/template/resource";
|
|
2
|
+
import type { ResourceOptions as $ResourceOptions } from "@awboost/cfn-template-builder/template";
|
|
3
|
+
/**
|
|
4
|
+
* Resource Type definition for AWS::Lambda::CapacityProvider
|
|
5
|
+
* @see {@link https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-capacityprovider.html}
|
|
6
|
+
*/
|
|
7
|
+
export type LambdaCapacityProviderProperties = {
|
|
8
|
+
/**
|
|
9
|
+
* The name of the capacity provider. The name must be unique within your AWS account and region. If you don't specify a name, CloudFormation generates one.
|
|
10
|
+
* @minLength `1`
|
|
11
|
+
* @maxLength `140`
|
|
12
|
+
* @pattern `^(arn:aws[a-zA-Z-]*:lambda:(eusc-)?[a-z]{2}((-gov)|(-iso([a-z]?)))?-[a-z]+-\d{1}:\d{12}:capacity-provider:[a-zA-Z0-9-_]+)|[a-zA-Z0-9-_]+$`
|
|
13
|
+
*/
|
|
14
|
+
CapacityProviderName?: string;
|
|
15
|
+
/**
|
|
16
|
+
* The scaling configuration for the capacity provider.
|
|
17
|
+
*/
|
|
18
|
+
CapacityProviderScalingConfig?: CapacityProviderScalingConfig;
|
|
19
|
+
/**
|
|
20
|
+
* Specifications for the types of EC2 instances that the capacity provider can use.
|
|
21
|
+
*/
|
|
22
|
+
InstanceRequirements?: InstanceRequirements;
|
|
23
|
+
/**
|
|
24
|
+
* The ARN of the AWS Key Management Service (KMS) key used by the capacity provider.
|
|
25
|
+
* @minLength `0`
|
|
26
|
+
* @maxLength `10000`
|
|
27
|
+
* @pattern `^(arn:(aws[a-zA-Z-]*)?:[a-z0-9-.]+:.*)|()$`
|
|
28
|
+
*/
|
|
29
|
+
KmsKeyArn?: string;
|
|
30
|
+
/**
|
|
31
|
+
* IAM permissions configuration for the capacity provider.
|
|
32
|
+
*/
|
|
33
|
+
PermissionsConfig: CapacityProviderPermissionsConfig;
|
|
34
|
+
/**
|
|
35
|
+
* A list of tags to apply to the capacity provider.
|
|
36
|
+
*/
|
|
37
|
+
Tags?: Tag[];
|
|
38
|
+
/**
|
|
39
|
+
* VPC configuration for the capacity provider.
|
|
40
|
+
*/
|
|
41
|
+
VpcConfig: CapacityProviderVpcConfig;
|
|
42
|
+
};
|
|
43
|
+
/**
|
|
44
|
+
* Attribute type definition for `AWS::Lambda::CapacityProvider`.
|
|
45
|
+
* @see {@link https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-capacityprovider.html#aws-resource-lambda-capacityprovider-return-values}
|
|
46
|
+
*/
|
|
47
|
+
export type LambdaCapacityProviderAttributes = {
|
|
48
|
+
/**
|
|
49
|
+
* The Amazon Resource Name (ARN) of the capacity provider. This is a read-only property that is automatically generated when the capacity provider is created.
|
|
50
|
+
* @minLength `1`
|
|
51
|
+
* @maxLength `140`
|
|
52
|
+
* @pattern `^arn:aws[a-zA-Z-]*:lambda:(eusc-)?[a-z]{2}((-gov)|(-iso([a-z]?)))?-[a-z]+-\d{1}:\d{12}:capacity-provider:[a-zA-Z0-9-_]+$`
|
|
53
|
+
*/
|
|
54
|
+
Arn: string;
|
|
55
|
+
/**
|
|
56
|
+
* The current state of the capacity provider.
|
|
57
|
+
*/
|
|
58
|
+
State: CapacityProviderState;
|
|
59
|
+
};
|
|
60
|
+
/**
|
|
61
|
+
* Type definition for `AWS::Lambda::CapacityProvider.Architecture`.
|
|
62
|
+
* Specifications for the types of EC2 instances that the capacity provider can use.
|
|
63
|
+
* @see {@link https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lambda-capacityprovider-architecture.html}
|
|
64
|
+
*/
|
|
65
|
+
export type Architecture = "x86_64" | "arm64";
|
|
66
|
+
/**
|
|
67
|
+
* Type definition for `AWS::Lambda::CapacityProvider.CapacityProviderPermissionsConfig`.
|
|
68
|
+
* IAM permissions configuration for the capacity provider.
|
|
69
|
+
* @see {@link https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lambda-capacityprovider-capacityproviderpermissionsconfig.html}
|
|
70
|
+
*/
|
|
71
|
+
export type CapacityProviderPermissionsConfig = {
|
|
72
|
+
/**
|
|
73
|
+
* The ARN of the IAM role that Lambda assumes to manage the capacity provider.
|
|
74
|
+
* @minLength `0`
|
|
75
|
+
* @maxLength `10000`
|
|
76
|
+
* @pattern `^arn:(aws[a-zA-Z-]*)?:iam::\d{12}:role/?[a-zA-Z_0-9+=,.@\-_/]+$`
|
|
77
|
+
*/
|
|
78
|
+
CapacityProviderOperatorRoleArn: string;
|
|
79
|
+
};
|
|
80
|
+
/**
|
|
81
|
+
* Type definition for `AWS::Lambda::CapacityProvider.CapacityProviderPredefinedMetricType`.
|
|
82
|
+
* The predefined metric for target tracking.
|
|
83
|
+
* @see {@link https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lambda-capacityprovider-capacityproviderpredefinedmetrictype.html}
|
|
84
|
+
*/
|
|
85
|
+
export type CapacityProviderPredefinedMetricType = "LambdaCapacityProviderAverageCPUUtilization";
|
|
86
|
+
/**
|
|
87
|
+
* Type definition for `AWS::Lambda::CapacityProvider.CapacityProviderScalingConfig`.
|
|
88
|
+
* The scaling configuration for the capacity provider.
|
|
89
|
+
* @see {@link https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lambda-capacityprovider-capacityproviderscalingconfig.html}
|
|
90
|
+
*/
|
|
91
|
+
export type CapacityProviderScalingConfig = {
|
|
92
|
+
/**
|
|
93
|
+
* The maximum number of EC2 instances that the capacity provider can scale up to.
|
|
94
|
+
* @min `2`
|
|
95
|
+
* @max `15000`
|
|
96
|
+
*/
|
|
97
|
+
MaxVCpuCount?: number;
|
|
98
|
+
/**
|
|
99
|
+
* The scaling mode for the capacity provider.
|
|
100
|
+
*/
|
|
101
|
+
ScalingMode?: CapacityProviderScalingMode;
|
|
102
|
+
/**
|
|
103
|
+
* A list of target tracking scaling policies for the capacity provider.
|
|
104
|
+
* @minLength `1`
|
|
105
|
+
* @maxLength `10`
|
|
106
|
+
*/
|
|
107
|
+
ScalingPolicies?: TargetTrackingScalingPolicy[];
|
|
108
|
+
};
|
|
109
|
+
/**
|
|
110
|
+
* Type definition for `AWS::Lambda::CapacityProvider.CapacityProviderScalingMode`.
|
|
111
|
+
* The scaling mode for the capacity provider.
|
|
112
|
+
* @see {@link https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lambda-capacityprovider-capacityproviderscalingmode.html}
|
|
113
|
+
*/
|
|
114
|
+
export type CapacityProviderScalingMode = "Auto" | "Manual";
|
|
115
|
+
/**
|
|
116
|
+
* Type definition for `AWS::Lambda::CapacityProvider.CapacityProviderState`.
|
|
117
|
+
* The current state of the capacity provider. Indicates whether the provider is being created, is active and ready for use, has failed, or is being deleted.
|
|
118
|
+
* @see {@link https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lambda-capacityprovider-capacityproviderstate.html}
|
|
119
|
+
*/
|
|
120
|
+
export type CapacityProviderState = "Pending" | "Active" | "Failed" | "Deleting";
|
|
121
|
+
/**
|
|
122
|
+
* Type definition for `AWS::Lambda::CapacityProvider.CapacityProviderVpcConfig`.
|
|
123
|
+
* VPC configuration for the capacity provider.
|
|
124
|
+
* @see {@link https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lambda-capacityprovider-capacityprovidervpcconfig.html}
|
|
125
|
+
*/
|
|
126
|
+
export type CapacityProviderVpcConfig = {
|
|
127
|
+
/**
|
|
128
|
+
* A list of security group IDs to associate with EC2 instances.
|
|
129
|
+
* @minLength `0`
|
|
130
|
+
* @maxLength `5`
|
|
131
|
+
*/
|
|
132
|
+
SecurityGroupIds: string[];
|
|
133
|
+
/**
|
|
134
|
+
* A list of subnet IDs where the capacity provider can launch EC2 instances.
|
|
135
|
+
* @minLength `1`
|
|
136
|
+
* @maxLength `16`
|
|
137
|
+
*/
|
|
138
|
+
SubnetIds: string[];
|
|
139
|
+
};
|
|
140
|
+
/**
|
|
141
|
+
* Type definition for `AWS::Lambda::CapacityProvider.InstanceRequirements`.
|
|
142
|
+
* Specifications for the types of EC2 instances that the capacity provider can use.
|
|
143
|
+
* @see {@link https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lambda-capacityprovider-instancerequirements.html}
|
|
144
|
+
*/
|
|
145
|
+
export type InstanceRequirements = {
|
|
146
|
+
/**
|
|
147
|
+
* A list of instance types that the capacity provider can use. Supports wildcards (for example, m5.*).
|
|
148
|
+
* @minLength `0`
|
|
149
|
+
* @maxLength `400`
|
|
150
|
+
*/
|
|
151
|
+
AllowedInstanceTypes?: string[];
|
|
152
|
+
/**
|
|
153
|
+
* The instruction set architecture for EC2 instances. Specify either x86_64 or arm64.
|
|
154
|
+
* @minLength `1`
|
|
155
|
+
* @maxLength `1`
|
|
156
|
+
*/
|
|
157
|
+
Architectures?: Architecture[];
|
|
158
|
+
/**
|
|
159
|
+
* A list of instance types that the capacity provider should not use. Takes precedence over AllowedInstanceTypes.
|
|
160
|
+
* @minLength `0`
|
|
161
|
+
* @maxLength `400`
|
|
162
|
+
*/
|
|
163
|
+
ExcludedInstanceTypes?: string[];
|
|
164
|
+
};
|
|
165
|
+
/**
|
|
166
|
+
* Type definition for `AWS::Lambda::CapacityProvider.Tag`.
|
|
167
|
+
* A key-value pair that provides metadata for the capacity provider.
|
|
168
|
+
* @see {@link https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lambda-capacityprovider-tag.html}
|
|
169
|
+
*/
|
|
170
|
+
export type Tag = {
|
|
171
|
+
/**
|
|
172
|
+
* The key name of the tag.
|
|
173
|
+
* @minLength `1`
|
|
174
|
+
* @maxLength `128`
|
|
175
|
+
*/
|
|
176
|
+
Key: string;
|
|
177
|
+
/**
|
|
178
|
+
* The value for the tag.
|
|
179
|
+
* @minLength `0`
|
|
180
|
+
* @maxLength `256`
|
|
181
|
+
*/
|
|
182
|
+
Value?: string;
|
|
183
|
+
};
|
|
184
|
+
/**
|
|
185
|
+
* Type definition for `AWS::Lambda::CapacityProvider.TargetTrackingScalingPolicy`.
|
|
186
|
+
* A target tracking scaling policy for the capacity provider.
|
|
187
|
+
* @see {@link https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lambda-capacityprovider-targettrackingscalingpolicy.html}
|
|
188
|
+
*/
|
|
189
|
+
export type TargetTrackingScalingPolicy = {
|
|
190
|
+
/**
|
|
191
|
+
* The predefined metric for target tracking.
|
|
192
|
+
*/
|
|
193
|
+
PredefinedMetricType: CapacityProviderPredefinedMetricType;
|
|
194
|
+
/**
|
|
195
|
+
* The target value for the metric as a percentage (for example, 70.0 for 70%).
|
|
196
|
+
* @min `0`
|
|
197
|
+
*/
|
|
198
|
+
TargetValue: number;
|
|
199
|
+
};
|
|
200
|
+
/**
|
|
201
|
+
* Resource Type definition for AWS::Lambda::CapacityProvider
|
|
202
|
+
* @see {@link https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-capacityprovider.html}
|
|
203
|
+
*/
|
|
204
|
+
export declare class LambdaCapacityProvider extends $Resource<"AWS::Lambda::CapacityProvider", LambdaCapacityProviderProperties, LambdaCapacityProviderAttributes> {
|
|
205
|
+
static readonly Type = "AWS::Lambda::CapacityProvider";
|
|
206
|
+
constructor(logicalId: string, properties: LambdaCapacityProviderProperties, options?: $ResourceOptions);
|
|
207
|
+
}
|
|
208
|
+
//# sourceMappingURL=AWS-Lambda-CapacityProvider.d.ts.map
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { Resource as $Resource } from "@awboost/cfn-template-builder/template/resource";
|
|
2
|
+
/**
|
|
3
|
+
* Resource Type definition for AWS::Lambda::CapacityProvider
|
|
4
|
+
* @see {@link https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-capacityprovider.html}
|
|
5
|
+
*/
|
|
6
|
+
export class LambdaCapacityProvider extends $Resource {
|
|
7
|
+
static Type = "AWS::Lambda::CapacityProvider";
|
|
8
|
+
constructor(logicalId, properties, options) {
|
|
9
|
+
super(logicalId, LambdaCapacityProvider.Type, properties, options);
|
|
10
|
+
}
|
|
11
|
+
}
|
|
12
|
+
//# sourceMappingURL=AWS-Lambda-CapacityProvider.js.map
|
|
@@ -17,6 +17,7 @@ export type LambdaFunctionProperties = {
|
|
|
17
17
|
* @maxLength `1`
|
|
18
18
|
*/
|
|
19
19
|
Architectures?: ("x86_64" | "arm64")[];
|
|
20
|
+
CapacityProviderConfig?: CapacityProviderConfig;
|
|
20
21
|
/**
|
|
21
22
|
* The code for the function. You can define your function code in multiple ways:
|
|
22
23
|
+ For .zip deployment packages, you can specify the S3 location of the .zip file in the ``S3Bucket``, ``S3Key``, and ``S3ObjectVersion`` properties.
|
|
@@ -58,6 +59,7 @@ export type LambdaFunctionProperties = {
|
|
|
58
59
|
* @minLength `1`
|
|
59
60
|
*/
|
|
60
61
|
FunctionName?: string;
|
|
62
|
+
FunctionScalingConfig?: FunctionScalingConfig;
|
|
61
63
|
/**
|
|
62
64
|
* The name of the method within your code that Lambda calls to run your function. Handler is required if the deployment package is a .zip file archive. The format includes the file name. It can also include namespaces and other qualifiers, depending on the runtime. For more information, see [Lambda programming model](https://docs.aws.amazon.com/lambda/latest/dg/foundation-progmodel.html).
|
|
63
65
|
* @maxLength `128`
|
|
@@ -95,6 +97,7 @@ export type LambdaFunctionProperties = {
|
|
|
95
97
|
* The type of deployment package. Set to ``Image`` for container image and set ``Zip`` for .zip file archive.
|
|
96
98
|
*/
|
|
97
99
|
PackageType?: "Image" | "Zip";
|
|
100
|
+
PublishToLatestPublished?: boolean;
|
|
98
101
|
/**
|
|
99
102
|
* The status of your function's recursive loop detection configuration.
|
|
100
103
|
When this value is set to ``Allow``and Lambda detects your function being invoked as part of a recursive loop, it doesn't take any action.
|
|
@@ -165,6 +168,13 @@ export type LambdaFunctionAttributes = {
|
|
|
165
168
|
OptimizationStatus: "On" | "Off";
|
|
166
169
|
};
|
|
167
170
|
};
|
|
171
|
+
/**
|
|
172
|
+
* Type definition for `AWS::Lambda::Function.CapacityProviderConfig`.
|
|
173
|
+
* @see {@link https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lambda-function-capacityproviderconfig.html}
|
|
174
|
+
*/
|
|
175
|
+
export type CapacityProviderConfig = {
|
|
176
|
+
LambdaManagedInstancesCapacityProviderConfig: LambdaManagedInstancesCapacityProviderConfig;
|
|
177
|
+
};
|
|
168
178
|
/**
|
|
169
179
|
* Type definition for `AWS::Lambda::Function.Code`.
|
|
170
180
|
* The [deployment package](https://docs.aws.amazon.com/lambda/latest/dg/gettingstarted-package.html) for a Lambda function. To deploy a function defined as a container image, you specify the location of a container image in the Amazon ECR registry. For a .zip file deployment package, you can specify the location of an object in Amazon S3. For Node.js and Python functions, you can specify the function code inline in the template.
|
|
@@ -265,6 +275,24 @@ export type FileSystemConfig = {
|
|
|
265
275
|
*/
|
|
266
276
|
LocalMountPath: string;
|
|
267
277
|
};
|
|
278
|
+
/**
|
|
279
|
+
* Type definition for `AWS::Lambda::Function.FunctionScalingConfig`.
|
|
280
|
+
* @see {@link https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lambda-function-functionscalingconfig.html}
|
|
281
|
+
*/
|
|
282
|
+
export type FunctionScalingConfig = {
|
|
283
|
+
/**
|
|
284
|
+
* The maximum number of execution environments that can be provisioned for the function.
|
|
285
|
+
* @min `0`
|
|
286
|
+
* @max `15000`
|
|
287
|
+
*/
|
|
288
|
+
MaxExecutionEnvironments?: number;
|
|
289
|
+
/**
|
|
290
|
+
* The minimum number of execution environments to maintain for the function.
|
|
291
|
+
* @min `0`
|
|
292
|
+
* @max `15000`
|
|
293
|
+
*/
|
|
294
|
+
MinExecutionEnvironments?: number;
|
|
295
|
+
};
|
|
268
296
|
/**
|
|
269
297
|
* Type definition for `AWS::Lambda::Function.ImageConfig`.
|
|
270
298
|
* Configuration values that override the container image Dockerfile settings. For more information, see [Container image settings](https://docs.aws.amazon.com/lambda/latest/dg/images-create.html#images-parms).
|
|
@@ -286,6 +314,31 @@ export type ImageConfig = {
|
|
|
286
314
|
*/
|
|
287
315
|
WorkingDirectory?: string;
|
|
288
316
|
};
|
|
317
|
+
/**
|
|
318
|
+
* Type definition for `AWS::Lambda::Function.LambdaManagedInstancesCapacityProviderConfig`.
|
|
319
|
+
* @see {@link https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lambda-function-lambdamanagedinstancescapacityproviderconfig.html}
|
|
320
|
+
*/
|
|
321
|
+
export type LambdaManagedInstancesCapacityProviderConfig = {
|
|
322
|
+
/**
|
|
323
|
+
* The Amazon Resource Name (ARN) of the capacity provider.
|
|
324
|
+
* @minLength `1`
|
|
325
|
+
* @maxLength `140`
|
|
326
|
+
* @pattern `^arn:aws[a-zA-Z-]*:lambda:(eusc-)?[a-z]{2}((-gov)|(-iso([a-z]?)))?-[a-z]+-\d{1}:\d{12}:capacity-provider:[a-zA-Z0-9-_]+$`
|
|
327
|
+
*/
|
|
328
|
+
CapacityProviderArn: string;
|
|
329
|
+
/**
|
|
330
|
+
* The amount of memory in GiB allocated per vCPU for execution environments.
|
|
331
|
+
* @min `2`
|
|
332
|
+
* @max `8`
|
|
333
|
+
*/
|
|
334
|
+
ExecutionEnvironmentMemoryGiBPerVCpu?: number;
|
|
335
|
+
/**
|
|
336
|
+
* The maximum number of concurrent execution environments that can run on each compute instance.
|
|
337
|
+
* @min `1`
|
|
338
|
+
* @max `1600`
|
|
339
|
+
*/
|
|
340
|
+
PerExecutionEnvironmentMaxConcurrency?: number;
|
|
341
|
+
};
|
|
289
342
|
/**
|
|
290
343
|
* Type definition for `AWS::Lambda::Function.LoggingConfig`.
|
|
291
344
|
* The function's Amazon CloudWatch Logs configuration settings.
|
|
@@ -22,6 +22,10 @@ export type LambdaVersionProperties = {
|
|
|
22
22
|
* @pattern `^(arn:(aws[a-zA-Z-]*)?:lambda:)?((eusc-)?[a-z]{2}((-gov)|(-iso([a-z]?)))?-[a-z]+-\d{1}:)?(\d{12}:)?(function:)?([a-zA-Z0-9-_]+)(:(\$LATEST|[a-zA-Z0-9-_]+))?$`
|
|
23
23
|
*/
|
|
24
24
|
FunctionName: string;
|
|
25
|
+
/**
|
|
26
|
+
* The scaling configuration to apply to the function, including minimum and maximum execution environment limits.
|
|
27
|
+
*/
|
|
28
|
+
FunctionScalingConfig?: FunctionScalingConfig;
|
|
25
29
|
/**
|
|
26
30
|
* Specifies a provisioned concurrency configuration for a function's version. Updates are not supported for this property.
|
|
27
31
|
*/
|
|
@@ -46,6 +50,23 @@ export type LambdaVersionAttributes = {
|
|
|
46
50
|
*/
|
|
47
51
|
Version: string;
|
|
48
52
|
};
|
|
53
|
+
/**
|
|
54
|
+
* Type definition for `AWS::Lambda::Version.FunctionScalingConfig`.
|
|
55
|
+
* Configuration that defines the scaling behavior for a Lambda Managed Instances function, including the minimum and maximum number of execution environments that can be provisioned.
|
|
56
|
+
* @see {@link https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lambda-version-functionscalingconfig.html}
|
|
57
|
+
*/
|
|
58
|
+
export type FunctionScalingConfig = {
|
|
59
|
+
/**
|
|
60
|
+
* The maximum number of execution environments that can be provisioned for the function.
|
|
61
|
+
* @min `0`
|
|
62
|
+
*/
|
|
63
|
+
MaxExecutionEnvironments?: number;
|
|
64
|
+
/**
|
|
65
|
+
* The minimum number of execution environments to maintain for the function.
|
|
66
|
+
* @min `0`
|
|
67
|
+
*/
|
|
68
|
+
MinExecutionEnvironments?: number;
|
|
69
|
+
};
|
|
49
70
|
/**
|
|
50
71
|
* Type definition for `AWS::Lambda::Version.ProvisionedConcurrencyConfiguration`.
|
|
51
72
|
* A provisioned concurrency configuration for a function's version.
|