@awboost/cfn-resource-types 0.1.186 → 0.1.187

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.
@@ -14,6 +14,7 @@ export type AutoScalingAutoScalingGroupProperties = {
14
14
  You cannot use a colon (:) in the name.
15
15
  */
16
16
  AutoScalingGroupName?: string;
17
+ AvailabilityZoneDistribution?: AvailabilityZoneDistribution;
17
18
  /**
18
19
  * A list of Availability Zones where instances in the Auto Scaling group can be created. Used for launching into the default VPC subnet in each Availability Zone when not using the ``VPCZoneIdentifier`` property, or for attaching a network interface when an existing network interface ID is specified in a launch template.
19
20
  */
@@ -151,6 +152,9 @@ export type AutoScalingAutoScalingGroupProperties = {
151
152
  Valid values: ``Default`` | ``AllocationStrategy`` | ``ClosestToNextInstanceHour`` | ``NewestInstance`` | ``OldestInstance`` | ``OldestLaunchConfiguration`` | ``OldestLaunchTemplate`` | ``arn:aws:lambda:region:account-id:function:my-function:my-alias``
152
153
  */
153
154
  TerminationPolicies?: string[];
155
+ /**
156
+ * The traffic sources associated with this Auto Scaling group.
157
+ */
154
158
  TrafficSources?: TrafficSourceIdentifier[];
155
159
  /**
156
160
  * A list of subnet IDs for a virtual private cloud (VPC) where instances in the Auto Scaling group can be created.
@@ -190,6 +194,13 @@ export type AcceleratorTotalMemoryMiBRequest = {
190
194
  */
191
195
  Min?: number;
192
196
  };
197
+ /**
198
+ * Type definition for `AWS::AutoScaling::AutoScalingGroup.AvailabilityZoneDistribution`.
199
+ * @see {@link https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-autoscaling-autoscalinggroup-availabilityzonedistribution.html}
200
+ */
201
+ export type AvailabilityZoneDistribution = {
202
+ CapacityDistributionStrategy?: "balanced-best-effort" | "balanced-only";
203
+ };
193
204
  /**
194
205
  * Type definition for `AWS::AutoScaling::AutoScalingGroup.BaselineEbsBandwidthMbpsRequest`.
195
206
  * ``BaselineEbsBandwidthMbpsRequest`` is a property of the ``InstanceRequirements`` property of the [AWS::AutoScaling::AutoScalingGroup LaunchTemplateOverrides](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-autoscaling-autoscalinggroup-launchtemplateoverrides.html) property type that describes the minimum and maximum baseline bandwidth performance for an instance type, in Mbps.
@@ -751,10 +762,31 @@ export type TotalLocalStorageGBRequest = {
751
762
  };
752
763
  /**
753
764
  * Type definition for `AWS::AutoScaling::AutoScalingGroup.TrafficSourceIdentifier`.
765
+ * Identifying information for a traffic source.
754
766
  * @see {@link https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-autoscaling-autoscalinggroup-trafficsourceidentifier.html}
755
767
  */
756
768
  export type TrafficSourceIdentifier = {
769
+ /**
770
+ * Identifies the traffic source.
771
+ For Application Load Balancers, Gateway Load Balancers, Network Load Balancers, and VPC Lattice, this will be the Amazon Resource Name (ARN) for a target group in this account and Region. For Classic Load Balancers, this will be the name of the Classic Load Balancer in this account and Region.
772
+ For example:
773
+ + Application Load Balancer ARN: ``arn:aws:elasticloadbalancing:us-west-2:123456789012:targetgroup/my-targets/1234567890123456``
774
+ + Classic Load Balancer name: ``my-classic-load-balancer``
775
+ + VPC Lattice ARN: ``arn:aws:vpc-lattice:us-west-2:123456789012:targetgroup/tg-1234567890123456``
776
+
777
+ To get the ARN of a target group for a Application Load Balancer, Gateway Load Balancer, or Network Load Balancer, or the name of a Classic Load Balancer, use the Elastic Load Balancing [DescribeTargetGroups](https://docs.aws.amazon.com/elasticloadbalancing/latest/APIReference/API_DescribeTargetGroups.html) and [DescribeLoadBalancers](https://docs.aws.amazon.com/elasticloadbalancing/latest/APIReference/API_DescribeLoadBalancers.html) API operations.
778
+ To get the ARN of a target group for VPC Lattice, use the VPC Lattice [GetTargetGroup](https://docs.aws.amazon.com/vpc-lattice/latest/APIReference/API_GetTargetGroup.html) API operation.
779
+ */
757
780
  Identifier: string;
781
+ /**
782
+ * Provides additional context for the value of ``Identifier``.
783
+ The following lists the valid values:
784
+ + ``elb`` if ``Identifier`` is the name of a Classic Load Balancer.
785
+ + ``elbv2`` if ``Identifier`` is the ARN of an Application Load Balancer, Gateway Load Balancer, or Network Load Balancer target group.
786
+ + ``vpc-lattice`` if ``Identifier`` is the ARN of a VPC Lattice target group.
787
+
788
+ Required if the identifier is the name of a Classic Load Balancer.
789
+ */
758
790
  Type: string;
759
791
  };
760
792
  /**
@@ -87,7 +87,7 @@ export type AnalysisParameter = {
87
87
  * @pattern `[0-9a-zA-Z_]+`
88
88
  */
89
89
  Name: string;
90
- Type: "SMALLINT" | "INTEGER" | "BIGINT" | "DECIMAL" | "REAL" | "DOUBLE_PRECISION" | "BOOLEAN" | "CHAR" | "VARCHAR" | "DATE" | "TIMESTAMP" | "TIMESTAMPTZ" | "TIME" | "TIMETZ" | "VARBYTE";
90
+ Type: "SMALLINT" | "INTEGER" | "BIGINT" | "DECIMAL" | "REAL" | "DOUBLE_PRECISION" | "BOOLEAN" | "CHAR" | "VARCHAR" | "DATE" | "TIMESTAMP" | "TIMESTAMPTZ" | "TIME" | "TIMETZ" | "VARBYTE" | "BINARY" | "BYTE" | "CHARACTER" | "DOUBLE" | "FLOAT" | "INT" | "LONG" | "NUMERIC" | "SHORT" | "STRING" | "TIMESTAMP_LTZ" | "TIMESTAMP_NTZ" | "TINYINT";
91
91
  };
92
92
  /**
93
93
  * Type definition for `AWS::CleanRooms::AnalysisTemplate.AnalysisSchema`.
@@ -6,6 +6,7 @@ import type { ResourceOptions as $ResourceOptions } from "@awboost/cfn-template-
6
6
  * @see {@link https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cleanrooms-collaboration.html}
7
7
  */
8
8
  export type CleanRoomsCollaborationProperties = {
9
+ AnalyticsEngine?: AnalyticsEngine;
9
10
  /**
10
11
  * @minLength `1`
11
12
  * @maxLength `100`
@@ -54,6 +55,11 @@ export type CleanRoomsCollaborationAttributes = {
54
55
  */
55
56
  CollaborationIdentifier: string;
56
57
  };
58
+ /**
59
+ * Type definition for `AWS::CleanRooms::Collaboration.AnalyticsEngine`.
60
+ * @see {@link https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cleanrooms-collaboration-analyticsengine.html}
61
+ */
62
+ export type AnalyticsEngine = "CLEAN_ROOMS_SQL" | "SPARK";
57
63
  /**
58
64
  * Type definition for `AWS::CleanRooms::Collaboration.CollaborationQueryLogStatus`.
59
65
  * @see {@link https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cleanrooms-collaboration-collaborationquerylogstatus.html}
@@ -96,6 +96,7 @@ export type ProtectedQueryS3OutputConfiguration = {
96
96
  Bucket: string;
97
97
  KeyPrefix?: string;
98
98
  ResultFormat: ResultFormat;
99
+ SingleFileOutput?: boolean;
99
100
  };
100
101
  /**
101
102
  * Type definition for `AWS::CleanRooms::Membership.ResultFormat`.
@@ -22,7 +22,7 @@ export type EC2LaunchTemplateProperties = {
22
22
  LaunchTemplateName?: string;
23
23
  /**
24
24
  * The tags to apply to the launch template on creation. To tag the launch template, the resource type must be ``launch-template``.
25
- To specify the tags for the resources that are created when an instance is launched, you must use [TagSpecifications](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-launchtemplate-launchtemplatedata.html#cfn-ec2-launchtemplate-launchtemplatedata-tagspecifications).
25
+ To specify the tags for resources that are created during instance launch, use [TagSpecifications](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-launchtemplate-launchtemplatedata.html#cfn-ec2-launchtemplate-launchtemplatedata-tagspecifications).
26
26
  */
27
27
  TagSpecifications?: LaunchTemplateTagSpecification[];
28
28
  /**
@@ -221,7 +221,7 @@ export type Ebs = {
221
221
  */
222
222
  Iops?: number;
223
223
  /**
224
- * The ARN of the symmetric KMSlong (KMS) CMK used for encryption.
224
+ * Identifier (key ID, key alias, key ARN, or alias ARN) of the customer managed KMS key to use for EBS encryption.
225
225
  */
226
226
  KmsKeyId?: string;
227
227
  /**
@@ -355,7 +355,7 @@ export type InstanceMarketOptions = {
355
355
 
356
356
  If you specify ``InstanceRequirements``, you can't specify ``InstanceType``.
357
357
  Attribute-based instance type selection is only supported when using Auto Scaling groups, EC2 Fleet, and Spot Fleet to launch instances. If you plan to use the launch template in the [launch instance wizard](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-launch-instance-wizard.html), or with the [RunInstances](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_RunInstances.html) API or [AWS::EC2::Instance](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-instance.html) AWS CloudFormation resource, you can't specify ``InstanceRequirements``.
358
- For more information, see [Attribute-based instance type selection for EC2 Fleet](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-fleet-attribute-based-instance-type-selection.html), [Attribute-based instance type selection for Spot Fleet](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/spot-fleet-attribute-based-instance-type-selection.html), and [Spot placement score](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/spot-placement-score.html) in the *Amazon EC2 User Guide*.
358
+ For more information, see [Specify attributes for instance type selection for EC2 Fleet or Spot Fleet](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-fleet-attribute-based-instance-type-selection.html) and [Spot placement score](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/spot-placement-score.html) in the *Amazon EC2 User Guide*.
359
359
  * @see {@link https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-launchtemplate-instancerequirements.html}
360
360
  */
361
361
  export type InstanceRequirements = {
@@ -403,7 +403,6 @@ export type InstanceRequirements = {
403
403
  * The accelerator types that must be on the instance type.
404
404
  + For instance types with GPU accelerators, specify ``gpu``.
405
405
  + For instance types with FPGA accelerators, specify ``fpga``.
406
- + For instance types with inference accelerators, specify ``inference``.
407
406
 
408
407
  Default: Any accelerator type
409
408
  */
@@ -618,7 +617,8 @@ export type LaunchTemplateData = {
618
617
  */
619
618
  ElasticGpuSpecifications?: ElasticGpuSpecification[];
620
619
  /**
621
- * An elastic inference accelerator to associate with the instance. Elastic inference accelerators are a resource you can attach to your Amazon EC2 instances to accelerate your Deep Learning (DL) inference workloads.
620
+ * Amazon Elastic Inference is no longer available.
621
+ An elastic inference accelerator to associate with the instance. Elastic inference accelerators are a resource you can attach to your Amazon EC2 instances to accelerate your Deep Learning (DL) inference workloads.
622
622
  You cannot specify accelerators from different generations in the same request.
623
623
  Starting April 15, 2023, AWS will not onboard new customers to Amazon Elastic Inference (EI), and will help current customers migrate their workloads to options that offer better price and performance. After April 15, 2023, new customers will not be able to launch instances with Amazon EI accelerators in Amazon SageMaker, Amazon ECS, or Amazon EC2. However, customers who have used Amazon EI at least once during the past 30-day period are considered current customers and will be able to continue using the service.
624
624
  */
@@ -666,7 +666,7 @@ export type LaunchTemplateData = {
666
666
 
667
667
  If you specify ``InstanceRequirements``, you can't specify ``InstanceType``.
668
668
  Attribute-based instance type selection is only supported when using Auto Scaling groups, EC2 Fleet, and Spot Fleet to launch instances. If you plan to use the launch template in the [launch instance wizard](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-launch-instance-wizard.html), or with the [RunInstances](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_RunInstances.html) API or [AWS::EC2::Instance](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-instance.html) AWS CloudFormation resource, you can't specify ``InstanceRequirements``.
669
- For more information, see [Attribute-based instance type selection for EC2 Fleet](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-fleet-attribute-based-instance-type-selection.html), [Attribute-based instance type selection for Spot Fleet](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/spot-fleet-attribute-based-instance-type-selection.html), and [Spot placement score](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/spot-placement-score.html) in the *Amazon EC2 User Guide*.
669
+ For more information, see [Specify attributes for instance type selection for EC2 Fleet or Spot Fleet](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-fleet-attribute-based-instance-type-selection.html) and [Spot placement score](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/spot-placement-score.html) in the *Amazon EC2 User Guide*.
670
670
  */
671
671
  InstanceRequirements?: InstanceRequirements;
672
672
  /**
@@ -728,8 +728,7 @@ export type LaunchTemplateData = {
728
728
  */
729
729
  SecurityGroups?: string[];
730
730
  /**
731
- * The tags to apply to the resources that are created during instance launch.
732
- To tag a resource after it has been created, see [CreateTags](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_CreateTags.html).
731
+ * The tags to apply to resources that are created during instance launch.
733
732
  To tag the launch template itself, use [TagSpecifications](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-launchtemplate.html#cfn-ec2-launchtemplate-tagspecifications).
734
733
  */
735
734
  TagSpecifications?: TagSpecification[];
@@ -759,6 +758,7 @@ export type LaunchTemplateElasticInferenceAccelerator = {
759
758
  /**
760
759
  * Type definition for `AWS::EC2::LaunchTemplate.LaunchTemplateTagSpecification`.
761
760
  * Specifies the tags to apply to the launch template during creation.
761
+ To specify the tags for the resources that are created during instance launch, use [AWS::EC2::LaunchTemplate TagSpecification](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-launchtemplate-tagspecification.html).
762
762
  ``LaunchTemplateTagSpecification`` is a property of [AWS::EC2::LaunchTemplate](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-launchtemplate.html).
763
763
  * @see {@link https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-launchtemplate-launchtemplatetagspecification.html}
764
764
  */
@@ -932,9 +932,10 @@ export type NetworkInterface = {
932
932
  */
933
933
  Groups?: string[];
934
934
  /**
935
- * The type of network interface. To create an Elastic Fabric Adapter (EFA), specify ``efa``. For more information, see [Elastic Fabric Adapter](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/efa.html) in the *Amazon EC2 User Guide*.
935
+ * The type of network interface. To create an Elastic Fabric Adapter (EFA), specify ``efa`` or ``efa``. For more information, see [Elastic Fabric Adapter](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/efa.html) in the *Amazon EC2 User Guide*.
936
936
  If you are not creating an EFA, specify ``interface`` or omit this parameter.
937
- Valid values: ``interface`` | ``efa``
937
+ If you specify ``efa-only``, do not assign any IP addresses to the network interface. EFA-only network interfaces do not support IP addresses.
938
+ Valid values: ``interface`` | ``efa`` | ``efa-only``
938
939
  */
939
940
  InterfaceType?: string;
940
941
  /**
@@ -1135,7 +1136,7 @@ export type Tag = {
1135
1136
  };
1136
1137
  /**
1137
1138
  * Type definition for `AWS::EC2::LaunchTemplate.TagSpecification`.
1138
- * Specifies the tags to apply to a resource when the resource is created for the launch template.
1139
+ * Specifies the tags to apply to resources that are created during instance launch.
1139
1140
  ``TagSpecification`` is a property type of [TagSpecifications](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-launchtemplate-launchtemplatedata.html#cfn-ec2-launchtemplate-launchtemplatedata-tagspecifications). [TagSpecifications](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-launchtemplate-launchtemplatedata.html#cfn-ec2-launchtemplate-launchtemplatedata-tagspecifications) is a property of [AWS::EC2::LaunchTemplate LaunchTemplateData](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-launchtemplate-launchtemplatedata.html).
1140
1141
  * @see {@link https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-launchtemplate-tagspecification.html}
1141
1142
  */
@@ -2,9 +2,10 @@ import { Resource as $Resource } from "@awboost/cfn-template-builder/template/re
2
2
  import type { ResourceOptions as $ResourceOptions } from "@awboost/cfn-template-builder/template";
3
3
  /**
4
4
  * The ``AWS::Lambda::Function`` resource creates a Lambda function. To create a function, you need a [deployment package](https://docs.aws.amazon.com/lambda/latest/dg/gettingstarted-package.html) and an [execution role](https://docs.aws.amazon.com/lambda/latest/dg/lambda-intro-execution-role.html). The deployment package is a .zip file archive or container image that contains your function code. The execution role grants the function permission to use AWS services, such as Amazon CloudWatch Logs for log streaming and AWS X-Ray for request tracing.
5
- You set the package type to ``Image`` if the deployment package is a [container image](https://docs.aws.amazon.com/lambda/latest/dg/lambda-images.html). For a container image, the code property must include the URI of a container image in the Amazon ECR registry. You do not need to specify the handler and runtime properties.
6
- You set the package type to ``Zip`` if the deployment package is a [.zip file archive](https://docs.aws.amazon.com/lambda/latest/dg/gettingstarted-package.html#gettingstarted-package-zip). For a .zip file archive, the code property specifies the location of the .zip file. You must also specify the handler and runtime properties. For a Python example, see [Deploy Python Lambda functions with .zip file archives](https://docs.aws.amazon.com/lambda/latest/dg/python-package.html).
5
+ You set the package type to ``Image`` if the deployment package is a [container image](https://docs.aws.amazon.com/lambda/latest/dg/lambda-images.html). For these functions, include the URI of the container image in the ECR registry in the [ImageUri property of the Code property](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lambda-function-code.html#cfn-lambda-function-code-imageuri). You do not need to specify the handler and runtime properties.
6
+ You set the package type to ``Zip`` if the deployment package is a [.zip file archive](https://docs.aws.amazon.com/lambda/latest/dg/gettingstarted-package.html#gettingstarted-package-zip). For these functions, specify the S3 location of your .zip file in the ``Code`` property. Alternatively, for Node.js and Python functions, you can define your function inline in the [ZipFile property of the Code property](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lambda-function-code.html#cfn-lambda-function-code-zipfile). In both cases, you must also specify the handler and runtime properties.
7
7
  You can use [code signing](https://docs.aws.amazon.com/lambda/latest/dg/configuration-codesigning.html) if your deployment package is a .zip file archive. To enable code signing for this function, specify the ARN of a code-signing configuration. When a user attempts to deploy a code package with ``UpdateFunctionCode``, Lambda checks that the code package has a valid signature from a trusted publisher. The code-signing configuration includes a set of signing profiles, which define the trusted publishers for this function.
8
+ When you update a ``AWS::Lambda::Function`` resource, CFNshort calls the [UpdateFunctionConfiguration](https://docs.aws.amazon.com/lambda/latest/api/API_UpdateFunctionConfiguration.html) and [UpdateFunctionCode](https://docs.aws.amazon.com/lambda/latest/api/API_UpdateFunctionCode.html) LAM APIs under the hood. Because these calls happen sequentially, and invocations can happen between these calls, your function may encounter errors in the time between the calls. For example, if you remove an environment variable, and the code that references that environment variable in the same CFNshort update, you may see invocation errors related to a missing environment variable. To work around this, you can invoke your function against a version or alias by default, rather than the ``$LATEST`` version.
8
9
  Note that you configure [provisioned concurrency](https://docs.aws.amazon.com/lambda/latest/dg/provisioned-concurrency.html) on a ``AWS::Lambda::Version`` or a ``AWS::Lambda::Alias``.
9
10
  For a complete introduction to Lambda functions, see [What is Lambda?](https://docs.aws.amazon.com/lambda/latest/dg/lambda-welcome.html) in the *Lambda developer guide.*
10
11
  * @see {@link https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-function.html}
@@ -17,8 +18,11 @@ export type LambdaFunctionProperties = {
17
18
  */
18
19
  Architectures?: ("x86_64" | "arm64")[];
19
20
  /**
20
- * The code for the function.
21
- */
21
+ * The code for the function. You can define your function code in multiple ways:
22
+ + For .zip deployment packages, you can specify the S3 location of the .zip file in the ``S3Bucket``, ``S3Key``, and ``S3ObjectVersion`` properties.
23
+ + For .zip deployment packages, you can alternatively define the function code inline in the ``ZipFile`` property. This method works only for Node.js and Python functions.
24
+ + For container images, specify the URI of your container image in the ECR registry in the ``ImageUri`` property.
25
+ */
22
26
  Code: Code;
23
27
  /**
24
28
  * To enable code signing for this function, specify the ARN of a code-signing configuration. A code-signing configuration includes a set of signing profiles, which define the trusted publishers for this function.
@@ -65,7 +69,7 @@ export type LambdaFunctionProperties = {
65
69
  */
66
70
  ImageConfig?: ImageConfig;
67
71
  /**
68
- * The ARN of the KMSlong (KMS) customer managed key that's used to encrypt your function's [environment variables](https://docs.aws.amazon.com/lambda/latest/dg/configuration-envvars.html#configuration-envvars-encryption). When [Lambda SnapStart](https://docs.aws.amazon.com/lambda/latest/dg/snapstart-security.html) is activated, Lambda also uses this key is to encrypt your function's snapshot. If you deploy your function using a container image, Lambda also uses this key to encrypt your function when it's deployed. Note that this is not the same key that's used to protect your container image in the Amazon Elastic Container Registry (Amazon ECR). If you don't provide a customer managed key, Lambda uses a default service key.
72
+ * The ARN of the KMSlong (KMS) customer managed key that's used to encrypt your function's [environment variables](https://docs.aws.amazon.com/lambda/latest/dg/configuration-envvars.html#configuration-envvars-encryption). When [SnapStart](https://docs.aws.amazon.com/lambda/latest/dg/snapstart-security.html) is activated, LAM also uses this key is to encrypt your function's snapshot. If you deploy your function using a container image, LAM also uses this key to encrypt your function when it's deployed. Note that this is not the same key that's used to protect your container image in the ECRlong (ECR). If you don't provide a customer managed key, LAM uses a default service key.
69
73
  * @pattern `^(arn:(aws[a-zA-Z-]*)?:[a-z0-9-.]+:.*)|()$`
70
74
  */
71
75
  KmsKeyArn?: string;
@@ -86,8 +90,10 @@ export type LambdaFunctionProperties = {
86
90
  */
87
91
  PackageType?: "Image" | "Zip";
88
92
  /**
89
- * The function recursion configuration.
90
- */
93
+ * The status of your function's recursive loop detection configuration.
94
+ 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.
95
+ When this value is set to ``Terminate`` and Lambda detects your function being invoked as part of a recursive loop, it stops your function being invoked and notifies you.
96
+ */
91
97
  RecursiveLoop?: RecursiveLoop;
92
98
  /**
93
99
  * The number of simultaneous executions to reserve for the function.
@@ -114,8 +120,9 @@ export type LambdaFunctionProperties = {
114
120
  */
115
121
  SnapStart?: SnapStart;
116
122
  /**
117
- * A list of [tags](https://docs.aws.amazon.com/lambda/latest/dg/tagging.html) to apply to the function.
118
- */
123
+ * A list of [tags](https://docs.aws.amazon.com/lambda/latest/dg/tagging.html) to apply to the function.
124
+ You must have the ``lambda:TagResource``, ``lambda:UntagResource``, and ``lambda:ListTags`` permissions for your [principal](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_terms-and-concepts.html) to manage the CFN stack. If you don't have these permissions, there might be unexpected behavior with stack-level tags propagating to the resource during resource creation and update.
125
+ */
119
126
  Tags?: Tag[];
120
127
  /**
121
128
  * The amount of time (in seconds) that Lambda allows a function to run before stopping it. The default is 3 seconds. The maximum allowed value is 900 seconds. For more information, see [Lambda execution environment](https://docs.aws.amazon.com/lambda/latest/dg/runtimes-context.html).
@@ -211,8 +218,9 @@ export type DeadLetterConfig = {
211
218
  */
212
219
  export type Environment = {
213
220
  /**
214
- * Environment variable key-value pairs. For more information, see [Using Lambda environment variables](https://docs.aws.amazon.com/lambda/latest/dg/configuration-envvars.html).
215
- */
221
+ * Environment variable key-value pairs. For more information, see [Using Lambda environment variables](https://docs.aws.amazon.com/lambda/latest/dg/configuration-envvars.html).
222
+ If the value of the environment variable is a time or a duration, enclose the value in quotes.
223
+ */
216
224
  Variables?: Record<string, string>;
217
225
  };
218
226
  /**
@@ -334,15 +342,18 @@ export type SnapStart = {
334
342
  };
335
343
  /**
336
344
  * Type definition for `AWS::Lambda::Function.Tag`.
345
+ * A [tag](https://docs.aws.amazon.com/lambda/latest/dg/tagging.html) to apply to the function.
337
346
  * @see {@link https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lambda-function-tag.html}
338
347
  */
339
348
  export type Tag = {
340
349
  /**
350
+ * The key for this tag.
341
351
  * @minLength `1`
342
352
  * @maxLength `128`
343
353
  */
344
354
  Key: string;
345
355
  /**
356
+ * The value for this tag.
346
357
  * @minLength `0`
347
358
  * @maxLength `256`
348
359
  */
@@ -384,9 +395,10 @@ export type VpcConfig = {
384
395
  };
385
396
  /**
386
397
  * The ``AWS::Lambda::Function`` resource creates a Lambda function. To create a function, you need a [deployment package](https://docs.aws.amazon.com/lambda/latest/dg/gettingstarted-package.html) and an [execution role](https://docs.aws.amazon.com/lambda/latest/dg/lambda-intro-execution-role.html). The deployment package is a .zip file archive or container image that contains your function code. The execution role grants the function permission to use AWS services, such as Amazon CloudWatch Logs for log streaming and AWS X-Ray for request tracing.
387
- You set the package type to ``Image`` if the deployment package is a [container image](https://docs.aws.amazon.com/lambda/latest/dg/lambda-images.html). For a container image, the code property must include the URI of a container image in the Amazon ECR registry. You do not need to specify the handler and runtime properties.
388
- You set the package type to ``Zip`` if the deployment package is a [.zip file archive](https://docs.aws.amazon.com/lambda/latest/dg/gettingstarted-package.html#gettingstarted-package-zip). For a .zip file archive, the code property specifies the location of the .zip file. You must also specify the handler and runtime properties. For a Python example, see [Deploy Python Lambda functions with .zip file archives](https://docs.aws.amazon.com/lambda/latest/dg/python-package.html).
398
+ You set the package type to ``Image`` if the deployment package is a [container image](https://docs.aws.amazon.com/lambda/latest/dg/lambda-images.html). For these functions, include the URI of the container image in the ECR registry in the [ImageUri property of the Code property](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lambda-function-code.html#cfn-lambda-function-code-imageuri). You do not need to specify the handler and runtime properties.
399
+ You set the package type to ``Zip`` if the deployment package is a [.zip file archive](https://docs.aws.amazon.com/lambda/latest/dg/gettingstarted-package.html#gettingstarted-package-zip). For these functions, specify the S3 location of your .zip file in the ``Code`` property. Alternatively, for Node.js and Python functions, you can define your function inline in the [ZipFile property of the Code property](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lambda-function-code.html#cfn-lambda-function-code-zipfile). In both cases, you must also specify the handler and runtime properties.
389
400
  You can use [code signing](https://docs.aws.amazon.com/lambda/latest/dg/configuration-codesigning.html) if your deployment package is a .zip file archive. To enable code signing for this function, specify the ARN of a code-signing configuration. When a user attempts to deploy a code package with ``UpdateFunctionCode``, Lambda checks that the code package has a valid signature from a trusted publisher. The code-signing configuration includes a set of signing profiles, which define the trusted publishers for this function.
401
+ When you update a ``AWS::Lambda::Function`` resource, CFNshort calls the [UpdateFunctionConfiguration](https://docs.aws.amazon.com/lambda/latest/api/API_UpdateFunctionConfiguration.html) and [UpdateFunctionCode](https://docs.aws.amazon.com/lambda/latest/api/API_UpdateFunctionCode.html) LAM APIs under the hood. Because these calls happen sequentially, and invocations can happen between these calls, your function may encounter errors in the time between the calls. For example, if you remove an environment variable, and the code that references that environment variable in the same CFNshort update, you may see invocation errors related to a missing environment variable. To work around this, you can invoke your function against a version or alias by default, rather than the ``$LATEST`` version.
390
402
  Note that you configure [provisioned concurrency](https://docs.aws.amazon.com/lambda/latest/dg/provisioned-concurrency.html) on a ``AWS::Lambda::Version`` or a ``AWS::Lambda::Alias``.
391
403
  For a complete introduction to Lambda functions, see [What is Lambda?](https://docs.aws.amazon.com/lambda/latest/dg/lambda-welcome.html) in the *Lambda developer guide.*
392
404
  * @see {@link https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-function.html}
@@ -1,9 +1,10 @@
1
1
  import { Resource as $Resource } from "@awboost/cfn-template-builder/template/resource";
2
2
  /**
3
3
  * The ``AWS::Lambda::Function`` resource creates a Lambda function. To create a function, you need a [deployment package](https://docs.aws.amazon.com/lambda/latest/dg/gettingstarted-package.html) and an [execution role](https://docs.aws.amazon.com/lambda/latest/dg/lambda-intro-execution-role.html). The deployment package is a .zip file archive or container image that contains your function code. The execution role grants the function permission to use AWS services, such as Amazon CloudWatch Logs for log streaming and AWS X-Ray for request tracing.
4
- You set the package type to ``Image`` if the deployment package is a [container image](https://docs.aws.amazon.com/lambda/latest/dg/lambda-images.html). For a container image, the code property must include the URI of a container image in the Amazon ECR registry. You do not need to specify the handler and runtime properties.
5
- You set the package type to ``Zip`` if the deployment package is a [.zip file archive](https://docs.aws.amazon.com/lambda/latest/dg/gettingstarted-package.html#gettingstarted-package-zip). For a .zip file archive, the code property specifies the location of the .zip file. You must also specify the handler and runtime properties. For a Python example, see [Deploy Python Lambda functions with .zip file archives](https://docs.aws.amazon.com/lambda/latest/dg/python-package.html).
4
+ You set the package type to ``Image`` if the deployment package is a [container image](https://docs.aws.amazon.com/lambda/latest/dg/lambda-images.html). For these functions, include the URI of the container image in the ECR registry in the [ImageUri property of the Code property](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lambda-function-code.html#cfn-lambda-function-code-imageuri). You do not need to specify the handler and runtime properties.
5
+ You set the package type to ``Zip`` if the deployment package is a [.zip file archive](https://docs.aws.amazon.com/lambda/latest/dg/gettingstarted-package.html#gettingstarted-package-zip). For these functions, specify the S3 location of your .zip file in the ``Code`` property. Alternatively, for Node.js and Python functions, you can define your function inline in the [ZipFile property of the Code property](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lambda-function-code.html#cfn-lambda-function-code-zipfile). In both cases, you must also specify the handler and runtime properties.
6
6
  You can use [code signing](https://docs.aws.amazon.com/lambda/latest/dg/configuration-codesigning.html) if your deployment package is a .zip file archive. To enable code signing for this function, specify the ARN of a code-signing configuration. When a user attempts to deploy a code package with ``UpdateFunctionCode``, Lambda checks that the code package has a valid signature from a trusted publisher. The code-signing configuration includes a set of signing profiles, which define the trusted publishers for this function.
7
+ When you update a ``AWS::Lambda::Function`` resource, CFNshort calls the [UpdateFunctionConfiguration](https://docs.aws.amazon.com/lambda/latest/api/API_UpdateFunctionConfiguration.html) and [UpdateFunctionCode](https://docs.aws.amazon.com/lambda/latest/api/API_UpdateFunctionCode.html) LAM APIs under the hood. Because these calls happen sequentially, and invocations can happen between these calls, your function may encounter errors in the time between the calls. For example, if you remove an environment variable, and the code that references that environment variable in the same CFNshort update, you may see invocation errors related to a missing environment variable. To work around this, you can invoke your function against a version or alias by default, rather than the ``$LATEST`` version.
7
8
  Note that you configure [provisioned concurrency](https://docs.aws.amazon.com/lambda/latest/dg/provisioned-concurrency.html) on a ``AWS::Lambda::Version`` or a ``AWS::Lambda::Alias``.
8
9
  For a complete introduction to Lambda functions, see [What is Lambda?](https://docs.aws.amazon.com/lambda/latest/dg/lambda-welcome.html) in the *Lambda developer guide.*
9
10
  * @see {@link https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-function.html}
@@ -186,6 +186,11 @@ export type AuroraPostgreSqlParameters = {
186
186
  */
187
187
  Port: number;
188
188
  };
189
+ /**
190
+ * Type definition for `AWS::QuickSight::DataSource.AuthenticationType`.
191
+ * @see {@link https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-quicksight-datasource-authenticationtype.html}
192
+ */
193
+ export type AuthenticationType = "PASSWORD" | "TOKEN" | "X509";
189
194
  /**
190
195
  * Type definition for `AWS::QuickSight::DataSource.CredentialPair`.
191
196
  * <p>The combination of user name and password that are used as credentials.</p>
@@ -463,6 +468,31 @@ export type MySqlParameters = {
463
468
  */
464
469
  Port: number;
465
470
  };
471
+ /**
472
+ * Type definition for `AWS::QuickSight::DataSource.OAuthParameters`.
473
+ * @see {@link https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-quicksight-datasource-oauthparameters.html}
474
+ */
475
+ export type OAuthParameters = {
476
+ /**
477
+ * @minLength `1`
478
+ * @maxLength `2048`
479
+ */
480
+ IdentityProviderResourceUri?: string;
481
+ /**
482
+ * <p>VPC connection properties.</p>
483
+ */
484
+ IdentityProviderVpcConnectionProperties?: VpcConnectionProperties;
485
+ /**
486
+ * @minLength `1`
487
+ * @maxLength `128`
488
+ */
489
+ OAuthScope?: string;
490
+ /**
491
+ * @minLength `1`
492
+ * @maxLength `2048`
493
+ */
494
+ TokenProviderUrl: string;
495
+ };
466
496
  /**
467
497
  * Type definition for `AWS::QuickSight::DataSource.OracleParameters`.
468
498
  * <p>The parameters for Oracle.</p>
@@ -693,18 +723,25 @@ export type S3Parameters = {
693
723
  * @see {@link https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-quicksight-datasource-snowflakeparameters.html}
694
724
  */
695
725
  export type SnowflakeParameters = {
726
+ AuthenticationType?: AuthenticationType;
696
727
  /**
697
728
  * <p>Database.</p>
698
729
  * @minLength `1`
699
730
  * @maxLength `128`
700
731
  */
701
732
  Database: string;
733
+ /**
734
+ * @minLength `0`
735
+ * @maxLength `128`
736
+ */
737
+ DatabaseAccessControlRole?: string;
702
738
  /**
703
739
  * <p>Host.</p>
704
740
  * @minLength `1`
705
741
  * @maxLength `256`
706
742
  */
707
743
  Host: string;
744
+ OAuthParameters?: OAuthParameters;
708
745
  /**
709
746
  * <p>Warehouse.</p>
710
747
  * @minLength `0`
@@ -774,18 +811,25 @@ export type SslProperties = {
774
811
  * @see {@link https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-quicksight-datasource-starburstparameters.html}
775
812
  */
776
813
  export type StarburstParameters = {
814
+ AuthenticationType?: AuthenticationType;
777
815
  /**
778
816
  * <p>The catalog name for the Starburst data source.</p>
779
817
  * @minLength `0`
780
818
  * @maxLength `128`
781
819
  */
782
820
  Catalog: string;
821
+ /**
822
+ * @minLength `0`
823
+ * @maxLength `128`
824
+ */
825
+ DatabaseAccessControlRole?: string;
783
826
  /**
784
827
  * <p>The host name of the Starburst data source.</p>
785
828
  * @minLength `1`
786
829
  * @maxLength `256`
787
830
  */
788
831
  Host: string;
832
+ OAuthParameters?: OAuthParameters;
789
833
  /**
790
834
  * <p>The port for the Starburst data source.</p>
791
835
  * @min `1`
@@ -1,19 +1,54 @@
1
1
  import { Resource as $Resource } from "@awboost/cfn-template-builder/template/resource";
2
2
  import type { ResourceOptions as $ResourceOptions } from "@awboost/cfn-template-builder/template";
3
3
  /**
4
- * Resource Type definition for AWS::Transfer::User
4
+ * Definition of AWS::Transfer::User Resource Type
5
5
  * @see {@link https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-transfer-user.html}
6
6
  */
7
7
  export type TransferUserProperties = {
8
+ /**
9
+ * @minLength `0`
10
+ * @maxLength `1024`
11
+ * @pattern `^(|/.*)$`
12
+ */
8
13
  HomeDirectory?: string;
14
+ /**
15
+ * @minLength `1`
16
+ * @maxLength `50000`
17
+ */
9
18
  HomeDirectoryMappings?: HomeDirectoryMapEntry[];
10
- HomeDirectoryType?: string;
19
+ HomeDirectoryType?: HomeDirectoryType;
20
+ /**
21
+ * @minLength `0`
22
+ * @maxLength `2048`
23
+ */
11
24
  Policy?: string;
12
25
  PosixProfile?: PosixProfile;
26
+ /**
27
+ * @minLength `20`
28
+ * @maxLength `2048`
29
+ * @pattern `^arn:.*role/\S+$`
30
+ */
13
31
  Role: string;
32
+ /**
33
+ * @minLength `19`
34
+ * @maxLength `19`
35
+ * @pattern `^s-([0-9a-f]{17})$`
36
+ */
14
37
  ServerId: string;
15
- SshPublicKeys?: SshPublicKey[];
38
+ /**
39
+ * This represents the SSH User Public Keys for CloudFormation resource
40
+ */
41
+ SshPublicKeys?: string[];
42
+ /**
43
+ * @minLength `1`
44
+ * @maxLength `50`
45
+ */
16
46
  Tags?: Tag[];
47
+ /**
48
+ * @minLength `3`
49
+ * @maxLength `100`
50
+ * @pattern `^[\w][\w@.-]{2,99}$`
51
+ */
17
52
  UserName: string;
18
53
  };
19
54
  /**
@@ -21,42 +56,81 @@ export type TransferUserProperties = {
21
56
  * @see {@link https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-transfer-user.html#aws-resource-transfer-user-return-values}
22
57
  */
23
58
  export type TransferUserAttributes = {
59
+ /**
60
+ * @minLength `20`
61
+ * @maxLength `1600`
62
+ * @pattern `^arn:\S+$`
63
+ */
24
64
  Arn: string;
25
- Id: string;
26
65
  };
27
66
  /**
28
67
  * Type definition for `AWS::Transfer::User.HomeDirectoryMapEntry`.
29
68
  * @see {@link https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-transfer-user-homedirectorymapentry.html}
30
69
  */
31
70
  export type HomeDirectoryMapEntry = {
71
+ /**
72
+ * @minLength `0`
73
+ * @maxLength `1024`
74
+ * @pattern `^/.*$`
75
+ */
32
76
  Entry: string;
77
+ /**
78
+ * @minLength `0`
79
+ * @maxLength `1024`
80
+ * @pattern `^/.*$`
81
+ */
33
82
  Target: string;
34
- Type?: string;
83
+ Type?: MapType;
35
84
  };
85
+ /**
86
+ * Type definition for `AWS::Transfer::User.HomeDirectoryType`.
87
+ * @see {@link https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-transfer-user-homedirectorytype.html}
88
+ */
89
+ export type HomeDirectoryType = "PATH" | "LOGICAL";
90
+ /**
91
+ * Type definition for `AWS::Transfer::User.MapType`.
92
+ * @see {@link https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-transfer-user-maptype.html}
93
+ */
94
+ export type MapType = "FILE" | "DIRECTORY";
36
95
  /**
37
96
  * Type definition for `AWS::Transfer::User.PosixProfile`.
38
97
  * @see {@link https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-transfer-user-posixprofile.html}
39
98
  */
40
99
  export type PosixProfile = {
100
+ /**
101
+ * @min `0`
102
+ * @max `4294967295`
103
+ */
41
104
  Gid: number;
105
+ /**
106
+ * @minLength `0`
107
+ * @maxLength `16`
108
+ */
42
109
  SecondaryGids?: number[];
110
+ /**
111
+ * @min `0`
112
+ * @max `4294967295`
113
+ */
43
114
  Uid: number;
44
115
  };
45
- /**
46
- * Type definition for `AWS::Transfer::User.SshPublicKey`.
47
- * @see {@link https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-transfer-user-sshpublickey.html}
48
- */
49
- export type SshPublicKey = Record<string, any>;
50
116
  /**
51
117
  * Type definition for `AWS::Transfer::User.Tag`.
52
118
  * @see {@link https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-transfer-user-tag.html}
53
119
  */
54
120
  export type Tag = {
121
+ /**
122
+ * @minLength `0`
123
+ * @maxLength `128`
124
+ */
55
125
  Key: string;
126
+ /**
127
+ * @minLength `0`
128
+ * @maxLength `256`
129
+ */
56
130
  Value: string;
57
131
  };
58
132
  /**
59
- * Resource Type definition for AWS::Transfer::User
133
+ * Definition of AWS::Transfer::User Resource Type
60
134
  * @see {@link https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-transfer-user.html}
61
135
  */
62
136
  export declare class TransferUser extends $Resource<"AWS::Transfer::User", TransferUserProperties, TransferUserAttributes> {
@@ -1,6 +1,6 @@
1
1
  import { Resource as $Resource } from "@awboost/cfn-template-builder/template/resource";
2
2
  /**
3
- * Resource Type definition for AWS::Transfer::User
3
+ * Definition of AWS::Transfer::User Resource Type
4
4
  * @see {@link https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-transfer-user.html}
5
5
  */
6
6
  export class TransferUser extends $Resource {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@awboost/cfn-resource-types",
3
- "version": "0.1.186",
3
+ "version": "0.1.187",
4
4
  "publishConfig": {
5
5
  "access": "public"
6
6
  },