From 0f5960cb5236794a4bb3342cd4e8cdbd4352e270 Mon Sep 17 00:00:00 2001 From: AWS CDK Automation <43080478+aws-cdk-automation@users.noreply.github.com> Date: Wed, 12 Apr 2023 10:33:21 +0100 Subject: [PATCH 1/5] docs(cfnspec): update CloudFormation documentation (#25044) --- .../spec-source/cfn-docs/cfn-docs.json | 86 +++++++++---------- 1 file changed, 43 insertions(+), 43 deletions(-) diff --git a/packages/@aws-cdk/cfnspec/spec-source/cfn-docs/cfn-docs.json b/packages/@aws-cdk/cfnspec/spec-source/cfn-docs/cfn-docs.json index d0ae60cd23dd1..cabc2303a7186 100644 --- a/packages/@aws-cdk/cfnspec/spec-source/cfn-docs/cfn-docs.json +++ b/packages/@aws-cdk/cfnspec/spec-source/cfn-docs/cfn-docs.json @@ -6443,7 +6443,7 @@ "ComputeEnvironmentArn": "Returns the compute environment ARN, such as `batch: *us-east-1* : *111122223333* :compute-environment/ *ComputeEnvironmentName*` .", "Ref": "`Ref` returns the compute environment ARN, such as `batch: *us-east-1* : *555555555555* :compute-environment/ *M4OnDemand*` ." }, - "description": "The `AWS::Batch::ComputeEnvironment` resource defines your AWS Batch compute environment. You can define `MANAGED` or `UNMANAGED` compute environments. `MANAGED` compute environments can use Amazon EC2 or AWS Fargate resources. `UNMANAGED` compute environments can only use EC2 resources. For more information, see [Compute Environments](https://docs.aws.amazon.com/batch/latest/userguide/compute_environments.html) in the ** .\n\nIn a managed compute environment, AWS Batch manages the capacity and instance types of the compute resources within the environment. This is based on the compute resource specification that you define or the [launch template](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-launch-templates.html) that you specify when you create the compute environment. You can choose either to use EC2 On-Demand Instances and EC2 Spot Instances, or to use Fargate and Fargate Spot capacity in your managed compute environment. You can optionally set a maximum price so that Spot Instances only launch when the Spot Instance price is below a specified percentage of the On-Demand price.\n\n> Multi-node parallel jobs are not supported on Spot Instances. \n\nIn an unmanaged compute environment, you can manage your own EC2 compute resources and have a lot of flexibility with how you configure your compute resources. For example, you can use custom AMI. However, you need to verify that your AMI meets the Amazon ECS container instance AMI specification. For more information, see [container instance AMIs](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/container_instance_AMIs.html) in the *Amazon Elastic Container Service Developer Guide* . After you have created your unmanaged compute environment, you can use the [DescribeComputeEnvironments](https://docs.aws.amazon.com/batch/latest/APIReference/API_DescribeComputeEnvironments.html) operation to find the Amazon ECS cluster that is associated with it. Then, manually launch your container instances into that Amazon ECS cluster. For more information, see [Launching an Amazon ECS container instance](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/launch_container_instance.html) in the *Amazon Elastic Container Service Developer Guide* .\n\n> To create a compute environment that uses EKS resources, the caller must have permissions to call `eks:DescribeCluster` . > AWS Batch doesn't upgrade the AMIs in a compute environment after it's created except under specific conditions. For example, it doesn't automatically update the AMIs when a newer version of the Amazon ECS optimized AMI is available. Therefore, you're responsible for the management of the guest operating system (including updates and security patches) and any additional application software or utilities that you install on the compute resources. There are two ways to use a new AMI for your AWS Batch jobs. The original method is to complete these steps:\n> \n> - Create a new compute environment with the new AMI.\n> - Add the compute environment to an existing job queue.\n> - Remove the earlier compute environment from your job queue.\n> - Delete the earlier compute environment.\n> \n> In April 2022, AWS Batch added enhanced support for updating compute environments. For more information, see [Updating compute environments](https://docs.aws.amazon.com/batch/latest/userguide/updating-compute-environments.html) in the *AWS Batch User Guide* . To use the enhanced updating of compute environments to update AMIs, follow these rules:\n> \n> - Either do not set the [ServiceRole](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-batch-computeenvironment.html#cfn-batch-computeenvironment-servicerole) property or set it to the *AWSServiceRoleForBatch* service-linked role.\n> - Set the [AllocationStrategy](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-batch-computeenvironment-computeresources.html#cfn-batch-computeenvironment-computeresources-allocationstrategy) property to `BEST_FIT_PROGRESSIVE` or `SPOT_CAPACITY_OPTIMIZED` .\n> - Set the [ReplaceComputeEnvironment](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-batch-computeenvironment.html#cfn-batch-computeenvironment-replacecomputeenvironment) property to `false` .\n> \n> > Set the `ReplaceComputeEnvironment` property to `false` if the compute environment uses the `BEST_FIT` allocation strategy. > If the `ReplaceComputeEnvironment` property is set to `false` , you might receive an error message when you update the CFN template for a compute environment. This issue occurs if the updated `desiredvcpus` value is less than the current `desiredvcpus` value. As a workaround, delete the `desiredvcpus` value from the updated template or use the `minvcpus` property to manage the number of vCPUs. For information, see [Error message when you update the `DesiredvCpus` setting](https://docs.aws.amazon.com/batch/latest/userguide/troubleshooting.html#error-desired-vcpus-update) .\n> - Set the [UpdateToLatestImageVersion](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-batch-computeenvironment-computeresources.html#cfn-batch-computeenvironment-computeresources-updatetolatestimageversion) property to `true` . This property is used when you update a compute environment. The [UpdateToLatestImageVersion](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-batch-computeenvironment-computeresources.html#cfn-batch-computeenvironment-computeresources-updatetolatestimageversion) property is ignored when you create a compute environment.\n> - Either do not specify an image ID in [ImageId](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-batch-computeenvironment-computeresources.html#cfn-batch-computeenvironment-computeresources-imageid) or [ImageIdOverride](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-batch-computeenvironment-ec2configurationobject.html#cfn-batch-computeenvironment-ec2configurationobject-imageidoverride) properties, or in the launch template identified by the [Launch Template](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-batch-computeenvironment-computeresources.html#cfn-batch-computeenvironment-computeresources-launchtemplate) property. In that case AWS Batch will select the latest Amazon ECS optimized AMI supported by AWS Batch at the time the infrastructure update is initiated. Alternatively you can specify the AMI ID in the `ImageId` or `ImageIdOverride` properties, or the launch template identified by the `LaunchTemplate` properties. Changing any of these properties will trigger an infrastructure update.\n> \n> If these rules are followed, any update that triggers an infrastructure update will cause the AMI ID to be re-selected. If the [Version](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-batch-computeenvironment-launchtemplatespecification.html#cfn-batch-computeenvironment-launchtemplatespecification-version) property of the [LaunchTemplateSpecification](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-batch-computeenvironment-launchtemplatespecification.html) is set to `$Latest` or `$Default` , the latest or default version of the launch template will be evaluated up at the time of the infrastructure update, even if the `LaunchTemplateSpecification` was not updated.", + "description": "The `AWS::Batch::ComputeEnvironment` resource defines your AWS Batch compute environment. You can define `MANAGED` or `UNMANAGED` compute environments. `MANAGED` compute environments can use Amazon EC2 or AWS Fargate resources. `UNMANAGED` compute environments can only use EC2 resources. For more information, see [Compute Environments](https://docs.aws.amazon.com/batch/latest/userguide/compute_environments.html) in the ** .\n\nIn a managed compute environment, AWS Batch manages the capacity and instance types of the compute resources within the environment. This is based on the compute resource specification that you define or the [launch template](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-launch-templates.html) that you specify when you create the compute environment. You can choose either to use EC2 On-Demand Instances and EC2 Spot Instances, or to use Fargate and Fargate Spot capacity in your managed compute environment. You can optionally set a maximum price so that Spot Instances only launch when the Spot Instance price is below a specified percentage of the On-Demand price.\n\n> Multi-node parallel jobs are not supported on Spot Instances. \n\nIn an unmanaged compute environment, you can manage your own EC2 compute resources and have a lot of flexibility with how you configure your compute resources. For example, you can use custom AMI. However, you need to verify that your AMI meets the Amazon ECS container instance AMI specification. For more information, see [container instance AMIs](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/container_instance_AMIs.html) in the *Amazon Elastic Container Service Developer Guide* . After you have created your unmanaged compute environment, you can use the [DescribeComputeEnvironments](https://docs.aws.amazon.com/batch/latest/APIReference/API_DescribeComputeEnvironments.html) operation to find the Amazon ECS cluster that is associated with it. Then, manually launch your container instances into that Amazon ECS cluster. For more information, see [Launching an Amazon ECS container instance](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/launch_container_instance.html) in the *Amazon Elastic Container Service Developer Guide* .\n\n> To create a compute environment that uses EKS resources, the caller must have permissions to call `eks:DescribeCluster` . > AWS Batch doesn't upgrade the AMIs in a compute environment after it's created except under specific conditions. For example, it doesn't automatically update the AMIs when a newer version of the Amazon ECS optimized AMI is available. Therefore, you're responsible for the management of the guest operating system (including updates and security patches) and any additional application software or utilities that you install on the compute resources. There are two ways to use a new AMI for your AWS Batch jobs. The original method is to complete these steps:\n> \n> - Create a new compute environment with the new AMI.\n> - Add the compute environment to an existing job queue.\n> - Remove the earlier compute environment from your job queue.\n> - Delete the earlier compute environment.\n> \n> In April 2022, AWS Batch added enhanced support for updating compute environments. For example, the `UpdateComputeEnvironent` API lets you use the `ReplaceComputeEnvironment` property to dynamically update compute environment parameters such as the launch template or instance type without replacement. For more information, see [Updating compute environments](https://docs.aws.amazon.com/batch/latest/userguide/updating-compute-environments.html) in the *AWS Batch User Guide* .\n> \n> To use the enhanced updating of compute environments to update AMIs, follow these rules:\n> \n> - Either do not set the [ServiceRole](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-batch-computeenvironment.html#cfn-batch-computeenvironment-servicerole) property or set it to the *AWSServiceRoleForBatch* service-linked role.\n> - Set the [AllocationStrategy](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-batch-computeenvironment-computeresources.html#cfn-batch-computeenvironment-computeresources-allocationstrategy) property to `BEST_FIT_PROGRESSIVE` or `SPOT_CAPACITY_OPTIMIZED` .\n> - Set the [ReplaceComputeEnvironment](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-batch-computeenvironment.html#cfn-batch-computeenvironment-replacecomputeenvironment) property to `false` .\n> \n> > Set the `ReplaceComputeEnvironment` property to `false` if the compute environment uses the `BEST_FIT` allocation strategy. > If the `ReplaceComputeEnvironment` property is set to `false` , you might receive an error message when you update the CFN template for a compute environment. This issue occurs if the updated `desiredvcpus` value is less than the current `desiredvcpus` value. As a workaround, delete the `desiredvcpus` value from the updated template or use the `minvcpus` property to manage the number of vCPUs. For information, see [Error message when you update the `DesiredvCpus` setting](https://docs.aws.amazon.com/batch/latest/userguide/troubleshooting.html#error-desired-vcpus-update) .\n> - Set the [UpdateToLatestImageVersion](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-batch-computeenvironment-computeresources.html#cfn-batch-computeenvironment-computeresources-updatetolatestimageversion) property to `true` . This property is used when you update a compute environment. The [UpdateToLatestImageVersion](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-batch-computeenvironment-computeresources.html#cfn-batch-computeenvironment-computeresources-updatetolatestimageversion) property is ignored when you create a compute environment.\n> - Either do not specify an image ID in [ImageId](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-batch-computeenvironment-computeresources.html#cfn-batch-computeenvironment-computeresources-imageid) or [ImageIdOverride](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-batch-computeenvironment-ec2configurationobject.html#cfn-batch-computeenvironment-ec2configurationobject-imageidoverride) properties, or in the launch template identified by the [Launch Template](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-batch-computeenvironment-computeresources.html#cfn-batch-computeenvironment-computeresources-launchtemplate) property. In that case AWS Batch will select the latest Amazon ECS optimized AMI supported by AWS Batch at the time the infrastructure update is initiated. Alternatively you can specify the AMI ID in the `ImageId` or `ImageIdOverride` properties, or the launch template identified by the `LaunchTemplate` properties. Changing any of these properties will trigger an infrastructure update.\n> \n> If these rules are followed, any update that triggers an infrastructure update will cause the AMI ID to be re-selected. If the [Version](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-batch-computeenvironment-launchtemplatespecification.html#cfn-batch-computeenvironment-launchtemplatespecification-version) property of the [LaunchTemplateSpecification](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-batch-computeenvironment-launchtemplatespecification.html) is set to `$Latest` or `$Default` , the latest or default version of the launch template will be evaluated up at the time of the infrastructure update, even if the `LaunchTemplateSpecification` was not updated.", "properties": { "ComputeEnvironmentName": "The name for your compute environment. It can be up to 128 characters long. It can contain uppercase and lowercase letters, numbers, hyphens (-), and underscores (_).", "ComputeResources": "The ComputeResources property type specifies details of the compute resources managed by the compute environment. This parameter is required for managed compute environments. For more information, see [Compute Environments](https://docs.aws.amazon.com/batch/latest/userguide/compute_environments.html) in the ** .", @@ -14406,7 +14406,7 @@ "HostResourceGroupArn": "The ARN of the host resource group in which to launch the instances.\n\nIf you specify this parameter, either omit the *Tenancy* parameter or set it to `host` .\n\nThis parameter is not supported for [CreateFleet](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_CreateFleet) .", "PartitionNumber": "The number of the partition that the instance is in. Valid only if the placement group strategy is set to `partition` .\n\nThis parameter is not supported for [CreateFleet](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_CreateFleet) .", "SpreadDomain": "Reserved for future use.", - "Tenancy": "The tenancy of the instance (if the instance is running in a VPC). An instance with a tenancy of `dedicated` runs on single-tenant hardware.\n\nThis parameter is not supported for [CreateFleet](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_CreateFleet) . The `host` tenancy is not supported for [ImportInstance](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_ImportInstance.html) or for T3 instances that are configured for the `unlimited` CPU credit option." + "Tenancy": "The tenancy of the instance. An instance with a tenancy of `dedicated` runs on single-tenant hardware.\n\nThis parameter is not supported for [CreateFleet](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_CreateFleet) . The `host` tenancy is not supported for [ImportInstance](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_ImportInstance.html) or for T3 instances that are configured for the `unlimited` CPU credit option." } }, "AWS::EC2::EC2Fleet.SpotOptionsRequest": { @@ -14464,9 +14464,9 @@ "PublicIp": "The Elastic IP address.", "Ref": "`Ref` returns the Elastic IP address." }, - "description": "Specifies an Elastic IP (EIP) address and can, optionally, associate it with an Amazon EC2 instance.\n\nYou can allocate an Elastic IP address from an address pool owned by AWS or from an address pool created from a public IPv4 address range that you have brought to AWS for use with your AWS resources using bring your own IP addresses (BYOIP). For more information, see [Bring Your Own IP Addresses (BYOIP)](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-byoip.html) in the *Amazon EC2 User Guide* .\n\n[EC2-VPC] If you release an Elastic IP address, you might be able to recover it. You cannot recover an Elastic IP address that you released after it is allocated to another AWS account. You cannot recover an Elastic IP address for EC2-Classic. To attempt to recover an Elastic IP address that you released, specify it in this operation.\n\nAn Elastic IP address is for use either in the EC2-Classic platform or in a VPC. By default, you can allocate 5 Elastic IP addresses for EC2-Classic per Region and 5 Elastic IP addresses for EC2-VPC per Region.\n\nFor more information, see [Elastic IP Addresses](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/elastic-ip-addresses-eip.html) in the *Amazon EC2 User Guide* .", + "description": "Specifies an Elastic IP (EIP) address and can, optionally, associate it with an Amazon EC2 instance.\n\nYou can allocate an Elastic IP address from an address pool owned by AWS or from an address pool created from a public IPv4 address range that you have brought to AWS for use with your AWS resources using bring your own IP addresses (BYOIP). For more information, see [Bring Your Own IP Addresses (BYOIP)](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-byoip.html) in the *Amazon EC2 User Guide* .\n\nFor more information, see [Elastic IP Addresses](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/elastic-ip-addresses-eip.html) in the *Amazon EC2 User Guide* .", "properties": { - "Domain": "Indicates whether the Elastic IP address is for use with instances in a VPC or instance in EC2-Classic.\n\nDefault: If the Region supports EC2-Classic, the default is `standard` . Otherwise, the default is `vpc` .\n\nUse when allocating an address for use with a VPC if the Region supports EC2-Classic.\n\nIf you define an Elastic IP address and associate it with a VPC that is defined in the same template, you must declare a dependency on the VPC-gateway attachment by using the [DependsOn Attribute](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-attribute-dependson.html) on this resource.", + "Domain": "The network ( `vpc` ).\n\nIf you define an Elastic IP address and associate it with a VPC that is defined in the same template, you must declare a dependency on the VPC-gateway attachment by using the [DependsOn Attribute](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-attribute-dependson.html) on this resource.", "InstanceId": "The ID of the instance.\n\n> Updates to the `InstanceId` property may require *some interruptions* . Updates on an EIP reassociates the address on its associated resource.", "NetworkBorderGroup": "A unique set of Availability Zones, Local Zones, or Wavelength Zones from which AWS advertises IP addresses. Use this parameter to limit the IP address to this location. IP addresses cannot move between network border groups.\n\nUse [DescribeAvailabilityZones](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_DescribeAvailabilityZones.html) to view the network border groups.\n\nYou cannot use a network border group with EC2 Classic. If you attempt this operation on EC2 Classic, you receive an `InvalidParameterCombination` error.", "PublicIpv4Pool": "The ID of an address pool that you own. Use this parameter to let Amazon EC2 select an address from the address pool.\n\n> Updates to the `PublicIpv4Pool` property may require *some interruptions* . Updates on an EIP reassociates the address on its associated resource.", @@ -14478,7 +14478,7 @@ "attributes": { "Ref": "`Ref` returns the resource name." }, - "description": "Associates an Elastic IP address with an instance or a network interface. Before you can use an Elastic IP address, you must allocate it to your account. For more information about working with Elastic IP addresses, see [Elastic IP address concepts and rules](https://docs.aws.amazon.com/vpc/latest/userguide/vpc-eips.html#vpc-eip-overview) .\n\nAn Elastic IP address can be used in EC2-Classic and EC2-VPC accounts. There are differences between an Elastic IP address that you use in a VPC and one that you use in EC2-Classic. For more information, see [Differences between instances in EC2-Classic and a VPC](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-classic-platform.html#differences-ec2-classic-vpc) .\n\n[EC2-VPC] You must specify `AllocationId` and either `InstanceId` , `NetworkInterfaceId` , or `PrivateIpAddress` .\n\n[EC2-Classic] You must specify `EIP` and `InstanceId` .", + "description": "Associates an Elastic IP address with an instance or a network interface. Before you can use an Elastic IP address, you must allocate it to your account. For more information about working with Elastic IP addresses, see [Elastic IP address concepts and rules](https://docs.aws.amazon.com/vpc/latest/userguide/vpc-eips.html#vpc-eip-overview) .\n\nYou must specify `AllocationId` and either `InstanceId` , `NetworkInterfaceId` , or `PrivateIpAddress` .", "properties": { "AllocationId": "The allocation ID. This is required.", "EIP": "Deprecated.", @@ -14755,16 +14755,16 @@ "NetworkInterfaces": "The network interfaces to associate with the instance.\n\n> If you use this property to point to a network interface, you must terminate the original interface before attaching a new one to allow the update of the instance to succeed.\n> \n> If this resource has a public IP address and is also in a VPC that is defined in the same template, you must use the [DependsOn Attribute](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-attribute-dependson.html) to declare a dependency on the VPC-gateway attachment.", "PlacementGroupName": "The name of an existing placement group that you want to launch the instance into (cluster | partition | spread).", "PrivateDnsNameOptions": "The options for the instance hostname.", - "PrivateIpAddress": "[EC2-VPC] The primary IPv4 address. You must specify a value from the IPv4 address range of the subnet.\n\nOnly one private IP address can be designated as primary. You can't specify this option if you've specified the option to designate a private IP address as the primary IP address in a network interface specification. You cannot specify this option if you're launching more than one instance in the request.\n\nYou cannot specify this option and the network interfaces option in the same request.\n\nIf you make an update to an instance that requires replacement, you must assign a new private IP address. During a replacement, AWS CloudFormation creates a new instance but doesn't delete the old instance until the stack has successfully updated. If the stack update fails, AWS CloudFormation uses the old instance to roll back the stack to the previous working state. The old and new instances cannot have the same private IP address.", + "PrivateIpAddress": "The primary IPv4 address. You must specify a value from the IPv4 address range of the subnet.\n\nOnly one private IP address can be designated as primary. You can't specify this option if you've specified the option to designate a private IP address as the primary IP address in a network interface specification. You cannot specify this option if you're launching more than one instance in the request.\n\nYou cannot specify this option and the network interfaces option in the same request.\n\nIf you make an update to an instance that requires replacement, you must assign a new private IP address. During a replacement, AWS CloudFormation creates a new instance but doesn't delete the old instance until the stack has successfully updated. If the stack update fails, AWS CloudFormation uses the old instance to roll back the stack to the previous working state. The old and new instances cannot have the same private IP address.", "PropagateTagsToVolumeOnCreation": "Indicates whether to assign the tags from the instance to all of the volumes attached to the instance at launch. If you specify `true` and you assign tags to the instance, those tags are automatically assigned to all of the volumes that you attach to the instance at launch. If you specify `false` , those tags are not assigned to the attached volumes.", "RamdiskId": "The ID of the RAM disk to select. Some kernels require additional drivers at launch. Check the kernel requirements for information about whether you need to specify a RAM disk. To find kernel requirements, go to the AWS Resource Center and search for the kernel ID.\n\n> We recommend that you use PV-GRUB instead of kernels and RAM disks. For more information, see [PV-GRUB](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/UserProvidedkernels.html) in the *Amazon EC2 User Guide* .", "SecurityGroupIds": "The IDs of the security groups. You can create a security group using [CreateSecurityGroup](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_CreateSecurityGroup.html) .\n\nIf you specify a network interface, you must specify any security groups as part of the network interface.", - "SecurityGroups": "[EC2-Classic, default VPC] The names of the security groups. For a nondefault VPC, you must use security group IDs instead.\n\nYou cannot specify this option and the network interfaces option in the same request. The list can contain both the name of existing Amazon EC2 security groups or references to AWS::EC2::SecurityGroup resources created in the template.\n\nDefault: Amazon EC2 uses the default security group.", + "SecurityGroups": "[Default VPC] The names of the security groups. For a nondefault VPC, you must use security group IDs instead.\n\nYou cannot specify this option and the network interfaces option in the same request. The list can contain both the name of existing Amazon EC2 security groups or references to AWS::EC2::SecurityGroup resources created in the template.\n\nDefault: Amazon EC2 uses the default security group.", "SourceDestCheck": "Enable or disable source/destination checks, which ensure that the instance is either the source or the destination of any traffic that it receives. If the value is `true` , source/destination checks are enabled; otherwise, they are disabled. The default value is `true` . You must disable source/destination checks if the instance runs services such as network address translation, routing, or firewalls.", "SsmAssociations": "The SSM [document](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ssm-document.html) and parameter values in AWS Systems Manager to associate with this instance. To use this property, you must specify an IAM instance profile role for the instance. For more information, see [Create an IAM instance profile for Systems Manager](https://docs.aws.amazon.com/systems-manager/latest/userguide/sysman-configuring-access-role.html) in the *AWS Systems Manager User Guide* .\n\n> You can currently associate only one document with an instance.", "SubnetId": "The ID of the subnet to launch the instance into.\n\nIf you specify a network interface, you must specify any subnets as part of the network interface.", "Tags": "The tags to add to the instance. These tags are not applied to the EBS volumes, such as the root volume, unless [PropagateTagsToVolumeOnCreation](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-instance.html#cfn-ec2-instance-propagatetagstovolumeoncreation) is `true` .", - "Tenancy": "The tenancy of the instance (if the instance is running in a VPC). An instance with a tenancy of `dedicated` runs on single-tenant hardware.", + "Tenancy": "The tenancy of the instance. An instance with a tenancy of `dedicated` runs on single-tenant hardware.", "UserData": "The user data script to make available to the instance. User data is limited to 16 KB. You must provide base64-encoded text. For more information, see [Fn::Base64](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/intrinsic-function-reference-base64.html) .\n\nUser data runs only at instance launch. For more information, see [Run commands on your Linux instance at launch](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/user-data.html) and [Run commands on your Windows instance at launch](https://docs.aws.amazon.com/AWSEC2/latest/WindowsGuide/ec2-windows-user-data.html) .", "Volumes": "The volumes to attach to the instance." } @@ -15282,7 +15282,7 @@ "HostResourceGroupArn": "The ARN of the host resource group in which to launch the instances. If you specify a host resource group ARN, omit the *Tenancy* parameter or set it to `host` .", "PartitionNumber": "The number of the partition the instance should launch in. Valid only if the placement group strategy is set to `partition` .", "SpreadDomain": "Reserved for future use.", - "Tenancy": "The tenancy of the instance (if the instance is running in a VPC). An instance with a tenancy of dedicated runs on single-tenant hardware." + "Tenancy": "The tenancy of the instance. An instance with a tenancy of dedicated runs on single-tenant hardware." } }, "AWS::EC2::LaunchTemplate.PrivateDnsNameOptions": { @@ -15892,7 +15892,7 @@ "attributes": { "Ref": "`Ref` returns the ID of the route." }, - "description": "Specifies a route in a route table within a VPC.\n\nYou must specify either `DestinationCidrBlock` or `DestinationIpv6CidrBlock` , plus the ID of one of the target resources.\n\nIf you create a route that references a transit gateway in the same template where you create the transit gateway, you must declare a dependency on the transit gateway attachment. The route table cannot use the transit gateway until it has successfully attached to the VPC. Add a [DependsOn Attribute](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-attribute-dependson.html) in the `AWS::EC2::Route` resource to explicitly declare a dependency on the `AWS::EC2::TransitGatewayAttachment` resource.", + "description": "Specifies a route in a route table.\n\nYou must specify either `DestinationCidrBlock` or `DestinationIpv6CidrBlock` , plus the ID of one of the target resources.\n\nIf you create a route that references a transit gateway in the same template where you create the transit gateway, you must declare a dependency on the transit gateway attachment. The route table cannot use the transit gateway until it has successfully attached to the VPC. Add a [DependsOn Attribute](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-attribute-dependson.html) in the `AWS::EC2::Route` resource to explicitly declare a dependency on the `AWS::EC2::TransitGatewayAttachment` resource.", "properties": { "CarrierGatewayId": "The ID of the carrier gateway.", "DestinationCidrBlock": "The IPv4 CIDR block used for the destination match.", @@ -15923,7 +15923,7 @@ "AWS::EC2::SecurityGroup": { "attributes": { "GroupId": "The group ID of the specified security group, such as `sg-94b3a1f6` .", - "Ref": "`Ref` returns the resource ID. For security groups that were created without specifying a VPC (EC2-Classic or a default VPC), `Ref` returns the resource name.", + "Ref": "`Ref` returns the resource ID.", "VpcId": "The physical ID of the VPC. You can obtain the physical ID by using a reference to an [AWS::EC2::VPC](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-vpc.html) , such as: `{ \"Ref\" : \"myVPC\" }` ." }, "description": "Specifies a security group. To create a security group, use the [VpcId](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-security-group.html#cfn-ec2-securitygroup-vpcid) property to specify the VPC for which to create the security group.\n\nThis type supports updates. For more information about updating stacks, see [AWS CloudFormation Stacks Updates](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks.html) .\n\n> To cross-reference two security groups in the ingress and egress rules of those security groups, use the [AWS::EC2::SecurityGroupEgress](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-security-group-egress.html) and [AWS::EC2::SecurityGroupIngress](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-security-group-ingress.html) resources to define your rules. Do not use the embedded ingress and egress rules in the `AWS::EC2::SecurityGroup` . Doing so creates a circular dependency, which AWS CloudFormation doesn't allow.", @@ -15938,12 +15938,12 @@ }, "AWS::EC2::SecurityGroup.Egress": { "attributes": {}, - "description": "[EC2-VPC only] Adds the specified egress rules to a security group for use with a VPC.\n\nAn outbound rule permits instances to send traffic to the specified destination IPv4 or IPv6 CIDR address ranges, or to the specified destination security groups for the same VPC.\n\nYou specify a protocol for each rule (for example, TCP). For the TCP and UDP protocols, you must also specify the destination port or port range. For the ICMP protocol, you must also specify the ICMP type and code. You can use -1 for the type or code to mean all types or all codes.\n\nYou must specify only one of the following properties: `CidrIp` , `CidrIpv6` , `DestinationPrefixListId` , or `DestinationSecurityGroupId` .\n\nYou must specify a destination security group ( `DestinationPrefixListId` or `DestinationSecurityGroupId` ) or a CIDR range ( `CidrIp` or `CidrIpv6` ). If you do not specify one of these parameters, the stack will launch successfully but the rule will not be added to the security group.\n\nRule changes are propagated to affected instances as quickly as possible. However, a small delay might occur.\n\nFor more information about VPC security group limits, see [Amazon VPC Limits](https://docs.aws.amazon.com/vpc/latest/userguide/amazon-vpc-limits.html) .\n\nUse `SecurityGroup.Ingress` and `SecurityGroup.Egress` only when necessary, typically to allow security groups to reference each other in ingress and egress rules. Otherwise, use the embedded ingress and egress rules of the security group. For more information, see [Amazon EC2 Security Groups](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/using-network-security.html) .\n\nThe EC2 Security Group Rule is an embedded property of the `AWS::EC2::SecurityGroup` type.", + "description": "Adds the specified egress rules to a security group for use with a VPC.\n\nAn outbound rule permits instances to send traffic to the specified destination IPv4 or IPv6 CIDR address ranges, or to the specified destination security groups for the same VPC.\n\nYou specify a protocol for each rule (for example, TCP). For the TCP and UDP protocols, you must also specify the destination port or port range. For the ICMP protocol, you must also specify the ICMP type and code. You can use -1 for the type or code to mean all types or all codes.\n\nYou must specify only one of the following properties: `CidrIp` , `CidrIpv6` , `DestinationPrefixListId` , or `DestinationSecurityGroupId` .\n\nYou must specify a destination security group ( `DestinationPrefixListId` or `DestinationSecurityGroupId` ) or a CIDR range ( `CidrIp` or `CidrIpv6` ). If you do not specify one of these parameters, the stack will launch successfully but the rule will not be added to the security group.\n\nRule changes are propagated to affected instances as quickly as possible. However, a small delay might occur.\n\nFor more information about VPC security group limits, see [Amazon VPC Limits](https://docs.aws.amazon.com/vpc/latest/userguide/amazon-vpc-limits.html) .\n\nUse `SecurityGroup.Ingress` and `SecurityGroup.Egress` only when necessary, typically to allow security groups to reference each other in ingress and egress rules. Otherwise, use the embedded ingress and egress rules of the security group. For more information, see [Amazon EC2 Security Groups](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/using-network-security.html) .\n\nThe EC2 Security Group Rule is an embedded property of the `AWS::EC2::SecurityGroup` type.", "properties": { "CidrIp": "The IPv4 address range, in CIDR format.\n\nYou must specify a destination security group ( `DestinationPrefixListId` or `DestinationSecurityGroupId` ) or a CIDR range ( `CidrIp` or `CidrIpv6` ).\n\nFor examples of rules that you can add to security groups for specific access scenarios, see [Security group rules for different use cases](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/security-group-rules-reference.html) in the *Amazon EC2 User Guide* .", "CidrIpv6": "The IPv6 address range, in CIDR format.\n\nYou must specify a destination security group ( `DestinationPrefixListId` or `DestinationSecurityGroupId` ) or a CIDR range ( `CidrIp` or `CidrIpv6` ).\n\nFor examples of rules that you can add to security groups for specific access scenarios, see [Security group rules for different use cases](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/security-group-rules-reference.html) in the *Amazon EC2 User Guide* .", "Description": "A description for the security group rule.\n\nConstraints: Up to 255 characters in length. Allowed characters are a-z, A-Z, 0-9, spaces, and ._-:/()#,@[]+=;{}!$*", - "DestinationPrefixListId": "[EC2-VPC only] The prefix list IDs for the destination AWS service. This is the AWS service that you want to access through a VPC endpoint from instances associated with the security group.\n\nYou must specify a destination security group ( `DestinationPrefixListId` or `DestinationSecurityGroupId` ) or a CIDR range ( `CidrIp` or `CidrIpv6` ).", + "DestinationPrefixListId": "The prefix list IDs for the destination AWS service. This is the AWS service that you want to access through a VPC endpoint from instances associated with the security group.\n\nYou must specify a destination security group ( `DestinationPrefixListId` or `DestinationSecurityGroupId` ) or a CIDR range ( `CidrIp` or `CidrIpv6` ).", "DestinationSecurityGroupId": "The ID of the destination VPC security group.\n\nYou must specify a destination security group ( `DestinationPrefixListId` or `DestinationSecurityGroupId` ) or a CIDR range ( `CidrIp` or `CidrIpv6` ).", "FromPort": "If the protocol is TCP or UDP, this is the start of the port range. If the protocol is ICMP or ICMPv6, this is the type number. A value of -1 indicates all ICMP/ICMPv6 types. If you specify all ICMP/ICMPv6 types, you must specify all ICMP/ICMPv6 codes.", "IpProtocol": "The IP protocol name ( `tcp` , `udp` , `icmp` , `icmpv6` ) or number (see [Protocol Numbers](https://docs.aws.amazon.com/http://www.iana.org/assignments/protocol-numbers/protocol-numbers.xhtml) ).\n\n[VPC only] Use `-1` to specify all protocols. When authorizing security group rules, specifying `-1` or a protocol number other than `tcp` , `udp` , `icmp` , or `icmpv6` allows traffic on all ports, regardless of any port range you specify. For `tcp` , `udp` , and `icmp` , you must specify a port range. For `icmpv6` , the port range is optional; if you omit the port range, traffic for all types and codes is allowed.", @@ -15959,9 +15959,9 @@ "Description": "Updates the description of an ingress (inbound) security group rule. You can replace an existing description, or add a description to a rule that did not have one previously.\n\nConstraints: Up to 255 characters in length. Allowed characters are a-z, A-Z, 0-9, spaces, and ._-:/()#,@[]+=;{}!$*", "FromPort": "If the protocol is TCP or UDP, this is the start of the port range. If the protocol is ICMP or ICMPv6, this is the type number. A value of -1 indicates all ICMP/ICMPv6 types. If you specify all ICMP/ICMPv6 types, you must specify all ICMP/ICMPv6 codes.", "IpProtocol": "The IP protocol name ( `tcp` , `udp` , `icmp` , `icmpv6` ) or number (see [Protocol Numbers](https://docs.aws.amazon.com/http://www.iana.org/assignments/protocol-numbers/protocol-numbers.xhtml) ).\n\n[VPC only] Use `-1` to specify all protocols. When authorizing security group rules, specifying `-1` or a protocol number other than `tcp` , `udp` , `icmp` , or `icmpv6` allows traffic on all ports, regardless of any port range you specify. For `tcp` , `udp` , and `icmp` , you must specify a port range. For `icmpv6` , the port range is optional; if you omit the port range, traffic for all types and codes is allowed.", - "SourcePrefixListId": "[EC2-VPC only] The ID of a prefix list.", + "SourcePrefixListId": "The ID of a prefix list.", "SourceSecurityGroupId": "The ID of the security group. You must specify either the security group ID or the security group name in the request. For security groups in a nondefault VPC, you must specify the security group ID.", - "SourceSecurityGroupName": "[EC2-Classic, default VPC] The name of the source security group. You can't specify this parameter in combination with an IP address range. Creates rules that grant full ICMP, UDP, and TCP access.\n\nYou must specify the `GroupName` property or the `GroupId` property. For security groups that are in a VPC, you must use the `GroupId` property.", + "SourceSecurityGroupName": "[Default VPC] The name of the source security group. You must specify either the security group ID or the security group name. You can't specify the group name in combination with an IP address range. Creates rules that grant full ICMP, UDP, and TCP access.\n\nFor security groups in a nondefault VPC, you must specify the group ID.", "SourceSecurityGroupOwnerId": "[nondefault VPC] The AWS account ID for the source security group, if the source security group is in a different account. You can't specify this property with an IP address range. Creates rules that grant full ICMP, UDP, and TCP access.\n\nIf you specify `SourceSecurityGroupName` or `SourceSecurityGroupId` and that security group is owned by a different account than the account creating the stack, you must specify the `SourceSecurityGroupOwnerId` ; otherwise, this property is optional.", "ToPort": "If the protocol is TCP or UDP, this is the end of the port range. If the protocol is ICMP or ICMPv6, this is the code. A value of -1 indicates all ICMP/ICMPv6 codes. If you specify all ICMP/ICMPv6 types, you must specify all ICMP/ICMPv6 codes." } @@ -15970,12 +15970,12 @@ "attributes": { "Ref": "`Ref` returns the name of the security egress rule." }, - "description": "[EC2-VPC only] Adds the specified egress rules to a security group for use with a VPC.\n\nAn outbound rule permits instances to send traffic to the specified destination IPv4 or IPv6 CIDR address ranges, or to the specified destination security groups for the same VPC.\n\nYou specify a protocol for each rule (for example, TCP). For the TCP and UDP protocols, you must also specify the destination port or port range. For the ICMP protocol, you must also specify the ICMP type and code. You can use -1 for the type or code to mean all types or all codes.\n\nYou must specify only one of the following properties: `CidrIp` , `CidrIpv6` , `DestinationPrefixListId` , or `DestinationSecurityGroupId` .\n\nYou must specify a destination security group ( `DestinationPrefixListId` or `DestinationSecurityGroupId` ) or a CIDR range ( `CidrIp` or `CidrIpv6` ). If you do not specify one of these parameters, the stack will launch successfully but the rule will not be added to the security group.\n\nRule changes are propagated to affected instances as quickly as possible. However, a small delay might occur.\n\nFor more information about VPC security group limits, see [Amazon VPC Limits](https://docs.aws.amazon.com/vpc/latest/userguide/amazon-vpc-limits.html) .\n\nUse `AWS::EC2::SecurityGroupIngress` and `AWS::EC2::SecurityGroupEgress` only when necessary, typically to allow security groups to reference each other in ingress and egress rules. Otherwise, use the embedded ingress and egress rules of the security group. For more information, see [Amazon EC2 Security Groups](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/using-network-security.html) .", + "description": "Adds the specified egress rules to a security group.\n\nAn outbound rule permits instances to send traffic to the specified destination IPv4 or IPv6 CIDR address ranges, or to the specified destination security groups for the same VPC.\n\nYou specify a protocol for each rule (for example, TCP). For the TCP and UDP protocols, you must also specify the destination port or port range. For the ICMP protocol, you must also specify the ICMP type and code. You can use -1 for the type or code to mean all types or all codes.\n\nYou must specify only one of the following properties: `CidrIp` , `CidrIpv6` , `DestinationPrefixListId` , or `DestinationSecurityGroupId` .\n\nYou must specify a destination security group ( `DestinationPrefixListId` or `DestinationSecurityGroupId` ) or a CIDR range ( `CidrIp` or `CidrIpv6` ). If you do not specify one of these parameters, the stack will launch successfully but the rule will not be added to the security group.\n\nRule changes are propagated to affected instances as quickly as possible. However, a small delay might occur.\n\nFor more information about VPC security group limits, see [Amazon VPC Limits](https://docs.aws.amazon.com/vpc/latest/userguide/amazon-vpc-limits.html) .\n\nUse `AWS::EC2::SecurityGroupIngress` and `AWS::EC2::SecurityGroupEgress` only when necessary, typically to allow security groups to reference each other in ingress and egress rules. Otherwise, use the embedded ingress and egress rules of the security group. For more information, see [Amazon EC2 Security Groups](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/using-network-security.html) .", "properties": { "CidrIp": "The IPv4 address range, in CIDR format.\n\nYou must specify a destination security group ( `DestinationPrefixListId` or `DestinationSecurityGroupId` ) or a CIDR range ( `CidrIp` or `CidrIpv6` ).\n\nFor examples of rules that you can add to security groups for specific access scenarios, see [Security group rules for different use cases](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/security-group-rules-reference.html) in the *Amazon EC2 User Guide* .", "CidrIpv6": "The IPv6 address range, in CIDR format.\n\nYou must specify a destination security group ( `DestinationPrefixListId` or `DestinationSecurityGroupId` ) or a CIDR range ( `CidrIp` or `CidrIpv6` ).\n\nFor examples of rules that you can add to security groups for specific access scenarios, see [Security group rules for different use cases](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/security-group-rules-reference.html) in the *Amazon EC2 User Guide* .", "Description": "The description of an egress (outbound) security group rule.\n\nConstraints: Up to 255 characters in length. Allowed characters are a-z, A-Z, 0-9, spaces, and ._-:/()#,@[]+=;{}!$*", - "DestinationPrefixListId": "[EC2-VPC only] The prefix list IDs for an AWS service. This is the AWS service that you want to access through a VPC endpoint from instances associated with the security group.\n\nYou must specify a destination security group ( `DestinationPrefixListId` or `DestinationSecurityGroupId` ) or a CIDR range ( `CidrIp` or `CidrIpv6` ).", + "DestinationPrefixListId": "The prefix list IDs for an AWS service. This is the AWS service that you want to access through a VPC endpoint from instances associated with the security group.\n\nYou must specify a destination security group ( `DestinationPrefixListId` or `DestinationSecurityGroupId` ) or a CIDR range ( `CidrIp` or `CidrIpv6` ).", "DestinationSecurityGroupId": "The ID of the security group.\n\nYou must specify a destination security group ( `DestinationPrefixListId` or `DestinationSecurityGroupId` ) or a CIDR range ( `CidrIp` or `CidrIpv6` ).", "FromPort": "If the protocol is TCP or UDP, this is the start of the port range. If the protocol is ICMP or ICMPv6, this is the type number. A value of -1 indicates all ICMP/ICMPv6 types. If you specify all ICMP/ICMPv6 types, you must specify all ICMP/ICMPv6 codes.", "GroupId": "The ID of the security group. You must specify either the security group ID or the security group name in the request. For security groups in a nondefault VPC, you must specify the security group ID.", @@ -15991,12 +15991,12 @@ "CidrIpv6": "The IPv6 address range, in CIDR format.\n\nYou must specify a source security group ( `SourcePrefixListId` or `SourceSecurityGroupId` ) or a CIDR range ( `CidrIp` or `CidrIpv6` ).\n\nFor examples of rules that you can add to security groups for specific access scenarios, see [Security group rules for different use cases](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/security-group-rules-reference.html) in the *Amazon EC2 User Guide* .", "Description": "Updates the description of an ingress (inbound) security group rule. You can replace an existing description, or add a description to a rule that did not have one previously.\n\nConstraints: Up to 255 characters in length. Allowed characters are a-z, A-Z, 0-9, spaces, and ._-:/()#,@[]+=;{}!$*", "FromPort": "The start of port range for the TCP and UDP protocols, or an ICMP/ICMPv6 type number. A value of `-1` indicates all ICMP/ICMPv6 types. If you specify all ICMP/ICMPv6 types, you must specify all codes.\n\nUse this for ICMP and any protocol that uses ports.", - "GroupId": "The ID of the security group. You must specify either the security group ID or the security group name in the request. For security groups in a nondefault VPC, you must specify the security group ID.\n\nYou must specify the `GroupName` property or the `GroupId` property. For security groups that are in a VPC, you must use the `GroupId` property.", + "GroupId": "The ID of the security group.", "GroupName": "The name of the security group.\n\nConstraints: Up to 255 characters in length. Cannot start with `sg-` .\n\nValid characters: a-z, A-Z, 0-9, spaces, and ._-:/()#,@[]+=&;{}!$*", "IpProtocol": "The IP protocol name ( `tcp` , `udp` , `icmp` , `icmpv6` ) or number (see [Protocol Numbers](https://docs.aws.amazon.com/http://www.iana.org/assignments/protocol-numbers/protocol-numbers.xhtml) ).\n\n[VPC only] Use `-1` to specify all protocols. When authorizing security group rules, specifying `-1` or a protocol number other than `tcp` , `udp` , `icmp` , or `icmpv6` allows traffic on all ports, regardless of any port range you specify. For `tcp` , `udp` , and `icmp` , you must specify a port range. For `icmpv6` , the port range is optional; if you omit the port range, traffic for all types and codes is allowed.", - "SourcePrefixListId": "[EC2-VPC only] The ID of a prefix list.", + "SourcePrefixListId": "The ID of a prefix list.", "SourceSecurityGroupId": "The ID of the security group. You must specify either the security group ID or the security group name. For security groups in a nondefault VPC, you must specify the security group ID.", - "SourceSecurityGroupName": "[EC2-Classic, default VPC] The name of the source security group. You can't specify this parameter in combination with an IP address range. Creates rules that grant full ICMP, UDP, and TCP access.\n\nYou must specify the `GroupName` property or the `GroupId` property. For security groups that are in a VPC, you must use the `GroupId` property.", + "SourceSecurityGroupName": "[Default VPC] The name of the source security group. You must specify either the security group ID or the security group name. You can't specify the group name in combination with an IP address range. Creates rules that grant full ICMP, UDP, and TCP access.\n\nFor security groups in a nondefault VPC, you must specify the group ID.", "SourceSecurityGroupOwnerId": "[nondefault VPC] The AWS account ID for the source security group, if the source security group is in a different account. You can't specify this property with an IP address range. Creates rules that grant full ICMP, UDP, and TCP access.\n\nIf you specify `SourceSecurityGroupName` or `SourceSecurityGroupId` and that security group is owned by a different account than the account creating the stack, you must specify `SourceSecurityGroupOwnerId` ; otherwise, this property is optional.", "ToPort": "The end of port range for the TCP and UDP protocols, or an ICMP/ICMPv6 code. A value of `-1` indicates all ICMP/ICMPv6 codes for the specified ICMP type. If you specify all ICMP/ICMPv6 types, you must specify all codes.\n\nUse this for ICMP and any protocol that uses ports." } @@ -58350,10 +58350,10 @@ "attributes": {}, "description": "A collection of settings that apply to spaces created in the Domain.", "properties": { - "ExecutionRole": "The execution role for the space.", + "ExecutionRole": "The ARN of the execution role for the space.", "JupyterServerAppSettings": "The JupyterServer app settings.", "KernelGatewayAppSettings": "The KernelGateway app settings.", - "SecurityGroups": "The security groups for the Amazon Virtual Private Cloud that the space uses for communication." + "SecurityGroups": "The security group IDs for the Amazon Virtual Private Cloud that the space uses for communication." } }, "AWS::SageMaker::Domain.DomainSettings": { @@ -58433,7 +58433,7 @@ "KernelGatewayAppSettings": "The kernel gateway app settings.", "RSessionAppSettings": "A collection of settings that configure the `RSessionGateway` app.", "RStudioServerProAppSettings": "A collection of settings that configure user interaction with the `RStudioServerPro` app.", - "SecurityGroups": "The security groups for the Amazon Virtual Private Cloud (VPC) that Studio uses for communication.\n\nOptional when the `CreateDomain.AppNetworkAccessType` parameter is set to `PublicInternetOnly` .\n\nRequired when the `CreateDomain.AppNetworkAccessType` parameter is set to `VpcOnly` .\n\nAmazon SageMaker adds a security group to allow NFS traffic from SageMaker Studio. Therefore, the number of security groups that you can specify is one less than the maximum number shown.", + "SecurityGroups": "The security groups for the Amazon Virtual Private Cloud (VPC) that Studio uses for communication.\n\nOptional when the `CreateDomain.AppNetworkAccessType` parameter is set to `PublicInternetOnly` .\n\nRequired when the `CreateDomain.AppNetworkAccessType` parameter is set to `VpcOnly` , unless specified as part of the `DefaultUserSettings` for the domain.\n\nAmazon SageMaker adds a security group to allow NFS traffic from SageMaker Studio. Therefore, the number of security groups that you can specify is one less than the maximum number shown.", "SharingSettings": "Specifies options for sharing SageMaker Studio notebooks." } }, @@ -58720,7 +58720,7 @@ "description": "The configuration of an `OfflineStore` .\n\nProvide an `OfflineStoreConfig` in a request to `CreateFeatureGroup` to create an `OfflineStore` .\n\nTo encrypt an `OfflineStore` using at rest data encryption, specify AWS Key Management Service (KMS) key ID, or `KMSKeyId` , in `S3StorageConfig` .", "properties": { "DataCatalogConfig": "The meta data of the Glue table that is autogenerated when an `OfflineStore` is created.", - "DisableGlueTableCreation": "Set to `True` to disable the automatic creation of an AWS Glue table when configuring an `OfflineStore` .", + "DisableGlueTableCreation": "Set to `True` to disable the automatic creation of an AWS Glue table when configuring an `OfflineStore` . If set to `False` , Feature Store will name the `OfflineStore` Glue table following [Athena's naming recommendations](https://docs.aws.amazon.com/athena/latest/ug/tables-databases-columns-names.html) .", "S3StorageConfig": "The Amazon Simple Storage (Amazon S3) location of `OfflineStore` .", "TableFormat": "" } @@ -60485,7 +60485,7 @@ "JupyterServerAppSettings": "The Jupyter server's app settings.", "KernelGatewayAppSettings": "The kernel gateway app settings.", "RStudioServerProAppSettings": "A collection of settings that configure user interaction with the `RStudioServerPro` app.", - "SecurityGroups": "The security groups for the Amazon Virtual Private Cloud (VPC) that Studio uses for communication.\n\nOptional when the `CreateDomain.AppNetworkAccessType` parameter is set to `PublicInternetOnly` .\n\nRequired when the `CreateDomain.AppNetworkAccessType` parameter is set to `VpcOnly` .\n\nAmazon SageMaker adds a security group to allow NFS traffic from SageMaker Studio. Therefore, the number of security groups that you can specify is one less than the maximum number shown.", + "SecurityGroups": "The security groups for the Amazon Virtual Private Cloud (VPC) that Studio uses for communication.\n\nOptional when the `CreateDomain.AppNetworkAccessType` parameter is set to `PublicInternetOnly` .\n\nRequired when the `CreateDomain.AppNetworkAccessType` parameter is set to `VpcOnly` , unless specified as part of the `DefaultUserSettings` for the domain.\n\nAmazon SageMaker adds a security group to allow NFS traffic from SageMaker Studio. Therefore, the number of security groups that you can specify is one less than the maximum number shown.", "SharingSettings": "Specifies options for sharing SageMaker Studio notebooks." } }, @@ -60874,7 +60874,7 @@ "DisableTemplateValidation": "If set to true, AWS Service Catalog stops validating the specified provisioning artifact even if it is invalid.", "Info": "Specify the template source with one of the following options, but not both. Keys accepted: [ `LoadTemplateFromURL` , `ImportFromPhysicalId` ]\n\nThe URL of the AWS CloudFormation template in Amazon S3 in JSON format. Specify the URL in JSON format as follows:\n\n`\"LoadTemplateFromURL\": \"https://s3.amazonaws.com/cf-templates-ozkq9d3hgiq2-us-east-1/...\"`\n\n`ImportFromPhysicalId` : The physical id of the resource that contains the template. Currently only supports AWS CloudFormation stack arn. Specify the physical id in JSON format as follows: `ImportFromPhysicalId: \u201carn:aws:cloudformation:[us-east-1]:[accountId]:stack/[StackName]/[resourceId]`", "Name": "The name of the provisioning artifact (for example, v1 v2beta). No spaces are allowed.", - "Type": "The type of provisioning artifact.\n\n- `CLOUD_FORMATION_TEMPLATE` - AWS CloudFormation template\n- `MARKETPLACE_AMI` - AWS Marketplace AMI\n- `MARKETPLACE_CAR` - AWS Marketplace Clusters and AWS Resources" + "Type": "The type of provisioning artifact.\n\n- `CLOUD_FORMATION_TEMPLATE` - AWS CloudFormation template\n- `MARKETPLACE_AMI` - AWS Marketplace AMI\n- `MARKETPLACE_CAR` - AWS Marketplace Clusters and AWS Resources\n- `TERRAFORM_OPEN_SOURCE` - Terraform open source configuration file" } }, "AWS::ServiceCatalog::CloudFormationProduct.SourceConnection": { @@ -62063,7 +62063,7 @@ "attributes": {}, "description": "Specifies the S3 details for the file being used, such as bucket, ETag, and so forth.", "properties": { - "S3FileLocation": "" + "S3FileLocation": "Specifies the details for the file location for the file that's being used in the workflow. Only applicable if you are using Amazon S3 storage." } }, "AWS::Transfer::Workflow.S3InputFileLocation": { @@ -62076,10 +62076,10 @@ }, "AWS::Transfer::Workflow.S3Tag": { "attributes": {}, - "description": "", + "description": "Specifies the key-value pair that are assigned to a file during the execution of a Tagging step.", "properties": { - "Key": "", - "Value": "" + "Key": "The name assigned to the tag that you create.", + "Value": "The value that corresponds to the key." } }, "AWS::Transfer::Workflow.TagStepDetails": { @@ -63033,7 +63033,7 @@ "attributes": {}, "description": "Inspect the body of the web request. The body immediately follows the request headers.\n\nThis is used to indicate the web request component to inspect, in the `FieldToMatch` specification.", "properties": { - "OversizeHandling": "What AWS WAF should do if the body is larger than AWS WAF can inspect. AWS WAF does not support inspecting the entire contents of the body of a web request when the body exceeds 8 KB (8192 bytes). Only the first 8 KB of the request body are forwarded to AWS WAF by the underlying host service.\n\nThe options for oversize handling are the following:\n\n- `CONTINUE` - Inspect the body normally, according to the rule inspection criteria.\n- `MATCH` - Treat the web request as matching the rule statement. AWS WAF applies the rule action to the request.\n- `NO_MATCH` - Treat the web request as not matching the rule statement.\n\nYou can combine the `MATCH` or `NO_MATCH` settings for oversize handling with your rule and web ACL action settings, so that you block any request whose body is over 8 KB.\n\nDefault: `CONTINUE`" + "OversizeHandling": "What AWS WAF should do if the body is larger than AWS WAF can inspect. AWS WAF does not support inspecting the entire contents of the web request body if the body exceeds the limit for the resource type. If the body is larger than the limit, the underlying host service only forwards the contents that are below the limit to AWS WAF for inspection.\n\nThe default limit is 8 KB (8,192 kilobytes) for regional resources and 16 KB (16,384 kilobytes) for CloudFront distributions. For CloudFront distributions, you can increase the limit in the web ACL `AssociationConfig` , for additional processing fees.\n\nThe options for oversize handling are the following:\n\n- `CONTINUE` - Inspect the body normally, according to the rule inspection criteria.\n- `MATCH` - Treat the web request as matching the rule statement. AWS WAF applies the rule action to the request.\n- `NO_MATCH` - Treat the web request as not matching the rule statement.\n\nYou can combine the `MATCH` or `NO_MATCH` settings for oversize handling with your rule and web ACL action settings, so that you block any request whose body is over the limit.\n\nDefault: `CONTINUE`" } }, "AWS::WAFv2::RuleGroup.ByteMatchStatement": { @@ -63137,10 +63137,10 @@ "description": "The part of the web request that you want AWS WAF to inspect. Include the single `FieldToMatch` type that you want to inspect, with additional specifications as needed, according to the type. You specify a single request component in `FieldToMatch` for each rule statement that requires it. To inspect more than one component of the web request, create a separate rule statement for each component.\n\nExample JSON for a `QueryString` field to match:\n\n`\"FieldToMatch\": { \"QueryString\": {} }`\n\nExample JSON for a `Method` field to match specification:\n\n`\"FieldToMatch\": { \"Method\": { \"Name\": \"DELETE\" } }`", "properties": { "AllQueryArguments": "Inspect all query arguments.", - "Body": "Inspect the request body as plain text. The request body immediately follows the request headers. This is the part of a request that contains any additional data that you want to send to your web server as the HTTP request body, such as data from a form.\n\nOnly the first 8 KB (8192 bytes) of the request body are forwarded to AWS WAF for inspection by the underlying host service. For information about how to handle oversized request bodies, see the `Body` object configuration.", + "Body": "Inspect the request body as plain text. The request body immediately follows the request headers. This is the part of a request that contains any additional data that you want to send to your web server as the HTTP request body, such as data from a form.\n\nA limited amount of the request body is forwarded to AWS WAF for inspection by the underlying host service. For regional resources, the limit is 8 KB (8,192 kilobytes) and for CloudFront distributions, the limit is 16 KB (16,384 kilobytes). For CloudFront distributions, you can increase the limit in the web ACL's `AssociationConfig` , for additional processing fees.\n\nFor information about how to handle oversized request bodies, see the `Body` object configuration.", "Cookies": "Inspect the request cookies. You must configure scope and pattern matching filters in the `Cookies` object, to define the set of cookies and the parts of the cookies that AWS WAF inspects.\n\nOnly the first 8 KB (8192 bytes) of a request's cookies and only the first 200 cookies are forwarded to AWS WAF for inspection by the underlying host service. You must configure how to handle any oversize cookie content in the `Cookies` object. AWS WAF applies the pattern matching filters to the cookies that it receives from the underlying host service.", "Headers": "Inspect the request headers. You must configure scope and pattern matching filters in the `Headers` object, to define the set of headers to and the parts of the headers that AWS WAF inspects.\n\nOnly the first 8 KB (8192 bytes) of a request's headers and only the first 200 headers are forwarded to AWS WAF for inspection by the underlying host service. You must configure how to handle any oversize header content in the `Headers` object. AWS WAF applies the pattern matching filters to the headers that it receives from the underlying host service.", - "JsonBody": "Inspect the request body as JSON. The request body immediately follows the request headers. This is the part of a request that contains any additional data that you want to send to your web server as the HTTP request body, such as data from a form.\n\nOnly the first 8 KB (8192 bytes) of the request body are forwarded to AWS WAF for inspection by the underlying host service. For information about how to handle oversized request bodies, see the `JsonBody` object configuration.", + "JsonBody": "Inspect the request body as JSON. The request body immediately follows the request headers. This is the part of a request that contains any additional data that you want to send to your web server as the HTTP request body, such as data from a form.\n\nA limited amount of the request body is forwarded to AWS WAF for inspection by the underlying host service. For regional resources, the limit is 8 KB (8,192 kilobytes) and for CloudFront distributions, the limit is 16 KB (16,384 kilobytes). For CloudFront distributions, you can increase the limit in the web ACL's `AssociationConfig` , for additional processing fees.\n\nFor information about how to handle oversized request bodies, see the `JsonBody` object configuration.", "Method": "Inspect the HTTP method. The method indicates the type of operation that the request is asking the origin to perform.", "QueryString": "Inspect the query string. This is the part of a URL that appears after a `?` character, if any.", "SingleHeader": "Inspect a single header. Provide the name of the header to inspect, for example, `User-Agent` or `Referer` . This setting isn't case sensitive.\n\nExample JSON: `\"SingleHeader\": { \"Name\": \"haystack\" }`\n\nAlternately, you can filter and inspect all headers with the `Headers` `FieldToMatch` setting.", @@ -63213,7 +63213,7 @@ "InvalidFallbackBehavior": "What AWS WAF should do if it fails to completely parse the JSON body. The options are the following:\n\n- `EVALUATE_AS_STRING` - Inspect the body as plain text. AWS WAF applies the text transformations and inspection criteria that you defined for the JSON inspection to the body text string.\n- `MATCH` - Treat the web request as matching the rule statement. AWS WAF applies the rule action to the request.\n- `NO_MATCH` - Treat the web request as not matching the rule statement.\n\nIf you don't provide this setting, AWS WAF parses and evaluates the content only up to the first parsing failure that it encounters.\n\nAWS WAF does its best to parse the entire JSON body, but might be forced to stop for reasons such as invalid characters, duplicate keys, truncation, and any content whose root node isn't an object or an array.\n\nAWS WAF parses the JSON in the following examples as two valid key, value pairs:\n\n- Missing comma: `{\"key1\":\"value1\"\"key2\":\"value2\"}`\n- Missing colon: `{\"key1\":\"value1\",\"key2\"\"value2\"}`\n- Extra colons: `{\"key1\"::\"value1\",\"key2\"\"value2\"}`", "MatchPattern": "The patterns to look for in the JSON body. AWS WAF inspects the results of these pattern matches against the rule inspection criteria.", "MatchScope": "The parts of the JSON to match against using the `MatchPattern` . If you specify `All` , AWS WAF matches against keys and values.", - "OversizeHandling": "What AWS WAF should do if the body is larger than AWS WAF can inspect. AWS WAF does not support inspecting the entire contents of the body of a web request when the body exceeds 8 KB (8192 bytes). Only the first 8 KB of the request body are forwarded to AWS WAF by the underlying host service.\n\nThe options for oversize handling are the following:\n\n- `CONTINUE` - Inspect the body normally, according to the rule inspection criteria.\n- `MATCH` - Treat the web request as matching the rule statement. AWS WAF applies the rule action to the request.\n- `NO_MATCH` - Treat the web request as not matching the rule statement.\n\nYou can combine the `MATCH` or `NO_MATCH` settings for oversize handling with your rule and web ACL action settings, so that you block any request whose body is over 8 KB.\n\nDefault: `CONTINUE`" + "OversizeHandling": "What AWS WAF should do if the body is larger than AWS WAF can inspect. AWS WAF does not support inspecting the entire contents of the web request body if the body exceeds the limit for the resource type. If the body is larger than the limit, the underlying host service only forwards the contents that are below the limit to AWS WAF for inspection.\n\nThe default limit is 8 KB (8,192 kilobytes) for regional resources and 16 KB (16,384 kilobytes) for CloudFront distributions. For CloudFront distributions, you can increase the limit in the web ACL `AssociationConfig` , for additional processing fees.\n\nThe options for oversize handling are the following:\n\n- `CONTINUE` - Inspect the body normally, according to the rule inspection criteria.\n- `MATCH` - Treat the web request as matching the rule statement. AWS WAF applies the rule action to the request.\n- `NO_MATCH` - Treat the web request as not matching the rule statement.\n\nYou can combine the `MATCH` or `NO_MATCH` settings for oversize handling with your rule and web ACL action settings, so that you block any request whose body is over the limit.\n\nDefault: `CONTINUE`" } }, "AWS::WAFv2::RuleGroup.JsonMatchPattern": { @@ -63329,7 +63329,7 @@ }, "AWS::WAFv2::RuleGroup.SizeConstraintStatement": { "attributes": {}, - "description": "A rule statement that compares a number of bytes against the size of a request component, using a comparison operator, such as greater than (>) or less than (<). For example, you can use a size constraint statement to look for query strings that are longer than 100 bytes.\n\nIf you configure AWS WAF to inspect the request body, AWS WAF inspects only the first 8192 bytes (8 KB). If the request body for your web requests never exceeds 8192 bytes, you could use a size constraint statement to block requests that have a request body greater than 8192 bytes.\n\nIf you choose URI for the value of Part of the request to filter on, the slash (/) in the URI counts as one character. For example, the URI `/logo.jpg` is nine characters long.", + "description": "A rule statement that compares a number of bytes against the size of a request component, using a comparison operator, such as greater than (>) or less than (<). For example, you can use a size constraint statement to look for query strings that are longer than 100 bytes.\n\nIf you configure AWS WAF to inspect the request body, AWS WAF inspects only the number of bytes of the body up to the limit for the web ACL. By default, for regional web ACLs, this limit is 8 KB (8,192 kilobytes) and for CloudFront web ACLs, this limit is 16 KB (16,384 kilobytes). For CloudFront web ACLs, you can increase the limit in the web ACL `AssociationConfig` , for additional fees. If you know that the request body for your web requests should never exceed the inspection limit, you could use a size constraint statement to block requests that have a larger request body size.\n\nIf you choose URI for the value of Part of the request to filter on, the slash (/) in the URI counts as one character. For example, the URI `/logo.jpg` is nine characters long.", "properties": { "ComparisonOperator": "The operator to use to compare the request part to the size setting.", "FieldToMatch": "The part of the web request that you want AWS WAF to inspect.", @@ -63360,7 +63360,7 @@ "RateBasedStatement": "A rate-based rule tracks the rate of requests for each originating IP address, and triggers the rule action when the rate exceeds a limit that you specify on the number of requests in any 5-minute time span. You can use this to put a temporary block on requests from an IP address that is sending excessive requests.\n\nAWS WAF tracks and manages web requests separately for each instance of a rate-based rule that you use. For example, if you provide the same rate-based rule settings in two web ACLs, each of the two rule statements represents a separate instance of the rate-based rule and gets its own tracking and management by AWS WAF . If you define a rate-based rule inside a rule group, and then use that rule group in multiple places, each use creates a separate instance of the rate-based rule that gets its own tracking and management by AWS WAF .\n\nWhen the rule action triggers, AWS WAF blocks additional requests from the IP address until the request rate falls below the limit.\n\nYou can optionally nest another statement inside the rate-based statement, to narrow the scope of the rule so that it only counts requests that match the nested statement. For example, based on recent requests that you have seen from an attacker, you might create a rate-based rule with a nested AND rule statement that contains the following nested statements:\n\n- An IP match statement with an IP set that specifies the address 192.0.2.44.\n- A string match statement that searches in the User-Agent header for the string BadBot.\n\nIn this rate-based rule, you also define a rate limit. For this example, the rate limit is 1,000. Requests that meet the criteria of both of the nested statements are counted. If the count exceeds 1,000 requests per five minutes, the rule action triggers. Requests that do not meet the criteria of both of the nested statements are not counted towards the rate limit and are not affected by this rule.\n\nYou cannot nest a `RateBasedStatement` inside another statement, for example inside a `NotStatement` or `OrStatement` . You can define a `RateBasedStatement` inside a web ACL and inside a rule group.", "RegexMatchStatement": "A rule statement used to search web request components for a match against a single regular expression.", "RegexPatternSetReferenceStatement": "A rule statement used to search web request components for matches with regular expressions. To use this, create a `RegexPatternSet` that specifies the expressions that you want to detect, then use the ARN of that set in this statement. A web request matches the pattern set rule statement if the request component matches any of the patterns in the set.\n\nEach regex pattern set rule statement references a regex pattern set. You create and maintain the set independent of your rules. This allows you to use the single set in multiple rules. When you update the referenced set, AWS WAF automatically updates all rules that reference it.", - "SizeConstraintStatement": "A rule statement that compares a number of bytes against the size of a request component, using a comparison operator, such as greater than (>) or less than (<). For example, you can use a size constraint statement to look for query strings that are longer than 100 bytes.\n\nIf you configure AWS WAF to inspect the request body, AWS WAF inspects only the first 8192 bytes (8 KB). If the request body for your web requests never exceeds 8192 bytes, you could use a size constraint statement to block requests that have a request body greater than 8192 bytes.\n\nIf you choose URI for the value of Part of the request to filter on, the slash (/) in the URI counts as one character. For example, the URI `/logo.jpg` is nine characters long.", + "SizeConstraintStatement": "A rule statement that compares a number of bytes against the size of a request component, using a comparison operator, such as greater than (>) or less than (<). For example, you can use a size constraint statement to look for query strings that are longer than 100 bytes.\n\nIf you configure AWS WAF to inspect the request body, AWS WAF inspects only the number of bytes of the body up to the limit for the web ACL. By default, for regional web ACLs, this limit is 8 KB (8,192 kilobytes) and for CloudFront web ACLs, this limit is 16 KB (16,384 kilobytes). For CloudFront web ACLs, you can increase the limit in the web ACL `AssociationConfig` , for additional fees. If you know that the request body for your web requests should never exceed the inspection limit, you could use a size constraint statement to block requests that have a larger request body size.\n\nIf you choose URI for the value of Part of the request to filter on, the slash (/) in the URI counts as one character. For example, the URI `/logo.jpg` is nine characters long.", "SqliMatchStatement": "A rule statement that inspects for malicious SQL code. Attackers insert malicious SQL code into web requests to do things like modify your database or extract data from it.", "XssMatchStatement": "A rule statement that inspects for cross-site scripting (XSS) attacks. In XSS attacks, the attacker uses vulnerabilities in a benign website as a vehicle to inject malicious client-site scripts into other legitimate web browsers." } @@ -63454,7 +63454,7 @@ "attributes": {}, "description": "Inspect the body of the web request. The body immediately follows the request headers.\n\nThis is used to indicate the web request component to inspect, in the `FieldToMatch` specification.", "properties": { - "OversizeHandling": "What AWS WAF should do if the body is larger than AWS WAF can inspect. AWS WAF does not support inspecting the entire contents of the body of a web request when the body exceeds 8 KB (8192 bytes). Only the first 8 KB of the request body are forwarded to AWS WAF by the underlying host service.\n\nThe options for oversize handling are the following:\n\n- `CONTINUE` - Inspect the body normally, according to the rule inspection criteria.\n- `MATCH` - Treat the web request as matching the rule statement. AWS WAF applies the rule action to the request.\n- `NO_MATCH` - Treat the web request as not matching the rule statement.\n\nYou can combine the `MATCH` or `NO_MATCH` settings for oversize handling with your rule and web ACL action settings, so that you block any request whose body is over 8 KB.\n\nDefault: `CONTINUE`" + "OversizeHandling": "What AWS WAF should do if the body is larger than AWS WAF can inspect. AWS WAF does not support inspecting the entire contents of the web request body if the body exceeds the limit for the resource type. If the body is larger than the limit, the underlying host service only forwards the contents that are below the limit to AWS WAF for inspection.\n\nThe default limit is 8 KB (8,192 kilobytes) for regional resources and 16 KB (16,384 kilobytes) for CloudFront distributions. For CloudFront distributions, you can increase the limit in the web ACL `AssociationConfig` , for additional processing fees.\n\nThe options for oversize handling are the following:\n\n- `CONTINUE` - Inspect the body normally, according to the rule inspection criteria.\n- `MATCH` - Treat the web request as matching the rule statement. AWS WAF applies the rule action to the request.\n- `NO_MATCH` - Treat the web request as not matching the rule statement.\n\nYou can combine the `MATCH` or `NO_MATCH` settings for oversize handling with your rule and web ACL action settings, so that you block any request whose body is over the limit.\n\nDefault: `CONTINUE`" } }, "AWS::WAFv2::WebACL.ByteMatchStatement": { @@ -63580,10 +63580,10 @@ "description": "The part of the web request that you want AWS WAF to inspect. Include the single `FieldToMatch` type that you want to inspect, with additional specifications as needed, according to the type. You specify a single request component in `FieldToMatch` for each rule statement that requires it. To inspect more than one component of the web request, create a separate rule statement for each component.\n\nExample JSON for a `QueryString` field to match:\n\n`\"FieldToMatch\": { \"QueryString\": {} }`\n\nExample JSON for a `Method` field to match specification:\n\n`\"FieldToMatch\": { \"Method\": { \"Name\": \"DELETE\" } }`", "properties": { "AllQueryArguments": "Inspect all query arguments.", - "Body": "Inspect the request body as plain text. The request body immediately follows the request headers. This is the part of a request that contains any additional data that you want to send to your web server as the HTTP request body, such as data from a form.\n\nOnly the first 8 KB (8192 bytes) of the request body are forwarded to AWS WAF for inspection by the underlying host service. For information about how to handle oversized request bodies, see the `Body` object configuration.", + "Body": "Inspect the request body as plain text. The request body immediately follows the request headers. This is the part of a request that contains any additional data that you want to send to your web server as the HTTP request body, such as data from a form.\n\nA limited amount of the request body is forwarded to AWS WAF for inspection by the underlying host service. For regional resources, the limit is 8 KB (8,192 kilobytes) and for CloudFront distributions, the limit is 16 KB (16,384 kilobytes). For CloudFront distributions, you can increase the limit in the web ACL's `AssociationConfig` , for additional processing fees.\n\nFor information about how to handle oversized request bodies, see the `Body` object configuration.", "Cookies": "Inspect the request cookies. You must configure scope and pattern matching filters in the `Cookies` object, to define the set of cookies and the parts of the cookies that AWS WAF inspects.\n\nOnly the first 8 KB (8192 bytes) of a request's cookies and only the first 200 cookies are forwarded to AWS WAF for inspection by the underlying host service. You must configure how to handle any oversize cookie content in the `Cookies` object. AWS WAF applies the pattern matching filters to the cookies that it receives from the underlying host service.", "Headers": "Inspect the request headers. You must configure scope and pattern matching filters in the `Headers` object, to define the set of headers to and the parts of the headers that AWS WAF inspects.\n\nOnly the first 8 KB (8192 bytes) of a request's headers and only the first 200 headers are forwarded to AWS WAF for inspection by the underlying host service. You must configure how to handle any oversize header content in the `Headers` object. AWS WAF applies the pattern matching filters to the headers that it receives from the underlying host service.", - "JsonBody": "Inspect the request body as JSON. The request body immediately follows the request headers. This is the part of a request that contains any additional data that you want to send to your web server as the HTTP request body, such as data from a form.\n\nOnly the first 8 KB (8192 bytes) of the request body are forwarded to AWS WAF for inspection by the underlying host service. For information about how to handle oversized request bodies, see the `JsonBody` object configuration.", + "JsonBody": "Inspect the request body as JSON. The request body immediately follows the request headers. This is the part of a request that contains any additional data that you want to send to your web server as the HTTP request body, such as data from a form.\n\nA limited amount of the request body is forwarded to AWS WAF for inspection by the underlying host service. For regional resources, the limit is 8 KB (8,192 kilobytes) and for CloudFront distributions, the limit is 16 KB (16,384 kilobytes). For CloudFront distributions, you can increase the limit in the web ACL's `AssociationConfig` , for additional processing fees.\n\nFor information about how to handle oversized request bodies, see the `JsonBody` object configuration.", "Method": "Inspect the HTTP method. The method indicates the type of operation that the request is asking the origin to perform.", "QueryString": "Inspect the query string. This is the part of a URL that appears after a `?` character, if any.", "SingleHeader": "Inspect a single header. Provide the name of the header to inspect, for example, `User-Agent` or `Referer` . This setting isn't case sensitive.\n\nExample JSON: `\"SingleHeader\": { \"Name\": \"haystack\" }`\n\nAlternately, you can filter and inspect all headers with the `Headers` `FieldToMatch` setting.", @@ -63656,7 +63656,7 @@ "InvalidFallbackBehavior": "What AWS WAF should do if it fails to completely parse the JSON body. The options are the following:\n\n- `EVALUATE_AS_STRING` - Inspect the body as plain text. AWS WAF applies the text transformations and inspection criteria that you defined for the JSON inspection to the body text string.\n- `MATCH` - Treat the web request as matching the rule statement. AWS WAF applies the rule action to the request.\n- `NO_MATCH` - Treat the web request as not matching the rule statement.\n\nIf you don't provide this setting, AWS WAF parses and evaluates the content only up to the first parsing failure that it encounters.\n\nAWS WAF does its best to parse the entire JSON body, but might be forced to stop for reasons such as invalid characters, duplicate keys, truncation, and any content whose root node isn't an object or an array.\n\nAWS WAF parses the JSON in the following examples as two valid key, value pairs:\n\n- Missing comma: `{\"key1\":\"value1\"\"key2\":\"value2\"}`\n- Missing colon: `{\"key1\":\"value1\",\"key2\"\"value2\"}`\n- Extra colons: `{\"key1\"::\"value1\",\"key2\"\"value2\"}`", "MatchPattern": "The patterns to look for in the JSON body. AWS WAF inspects the results of these pattern matches against the rule inspection criteria.", "MatchScope": "The parts of the JSON to match against using the `MatchPattern` . If you specify `All` , AWS WAF matches against keys and values.", - "OversizeHandling": "What AWS WAF should do if the body is larger than AWS WAF can inspect. AWS WAF does not support inspecting the entire contents of the body of a web request when the body exceeds 8 KB (8192 bytes). Only the first 8 KB of the request body are forwarded to AWS WAF by the underlying host service.\n\nThe options for oversize handling are the following:\n\n- `CONTINUE` - Inspect the body normally, according to the rule inspection criteria.\n- `MATCH` - Treat the web request as matching the rule statement. AWS WAF applies the rule action to the request.\n- `NO_MATCH` - Treat the web request as not matching the rule statement.\n\nYou can combine the `MATCH` or `NO_MATCH` settings for oversize handling with your rule and web ACL action settings, so that you block any request whose body is over 8 KB.\n\nDefault: `CONTINUE`" + "OversizeHandling": "What AWS WAF should do if the body is larger than AWS WAF can inspect. AWS WAF does not support inspecting the entire contents of the web request body if the body exceeds the limit for the resource type. If the body is larger than the limit, the underlying host service only forwards the contents that are below the limit to AWS WAF for inspection.\n\nThe default limit is 8 KB (8,192 kilobytes) for regional resources and 16 KB (16,384 kilobytes) for CloudFront distributions. For CloudFront distributions, you can increase the limit in the web ACL `AssociationConfig` , for additional processing fees.\n\nThe options for oversize handling are the following:\n\n- `CONTINUE` - Inspect the body normally, according to the rule inspection criteria.\n- `MATCH` - Treat the web request as matching the rule statement. AWS WAF applies the rule action to the request.\n- `NO_MATCH` - Treat the web request as not matching the rule statement.\n\nYou can combine the `MATCH` or `NO_MATCH` settings for oversize handling with your rule and web ACL action settings, so that you block any request whose body is over the limit.\n\nDefault: `CONTINUE`" } }, "AWS::WAFv2::WebACL.JsonMatchPattern": { @@ -63869,7 +63869,7 @@ }, "AWS::WAFv2::WebACL.SizeConstraintStatement": { "attributes": {}, - "description": "A rule statement that compares a number of bytes against the size of a request component, using a comparison operator, such as greater than (>) or less than (<). For example, you can use a size constraint statement to look for query strings that are longer than 100 bytes.\n\nIf you configure AWS WAF to inspect the request body, AWS WAF inspects only the first 8192 bytes (8 KB). If the request body for your web requests never exceeds 8192 bytes, you could use a size constraint statement to block requests that have a request body greater than 8192 bytes.\n\nIf you choose URI for the value of Part of the request to filter on, the slash (/) in the URI counts as one character. For example, the URI `/logo.jpg` is nine characters long.", + "description": "A rule statement that compares a number of bytes against the size of a request component, using a comparison operator, such as greater than (>) or less than (<). For example, you can use a size constraint statement to look for query strings that are longer than 100 bytes.\n\nIf you configure AWS WAF to inspect the request body, AWS WAF inspects only the number of bytes of the body up to the limit for the web ACL. By default, for regional web ACLs, this limit is 8 KB (8,192 kilobytes) and for CloudFront web ACLs, this limit is 16 KB (16,384 kilobytes). For CloudFront web ACLs, you can increase the limit in the web ACL `AssociationConfig` , for additional fees. If you know that the request body for your web requests should never exceed the inspection limit, you could use a size constraint statement to block requests that have a larger request body size.\n\nIf you choose URI for the value of Part of the request to filter on, the slash (/) in the URI counts as one character. For example, the URI `/logo.jpg` is nine characters long.", "properties": { "ComparisonOperator": "The operator to use to compare the request part to the size setting.", "FieldToMatch": "The part of the web request that you want AWS WAF to inspect.", @@ -63902,7 +63902,7 @@ "RegexMatchStatement": "A rule statement used to search web request components for a match against a single regular expression.", "RegexPatternSetReferenceStatement": "A rule statement used to search web request components for matches with regular expressions. To use this, create a `RegexPatternSet` that specifies the expressions that you want to detect, then use the ARN of that set in this statement. A web request matches the pattern set rule statement if the request component matches any of the patterns in the set.\n\nEach regex pattern set rule statement references a regex pattern set. You create and maintain the set independent of your rules. This allows you to use the single set in multiple rules. When you update the referenced set, AWS WAF automatically updates all rules that reference it.", "RuleGroupReferenceStatement": "A rule statement used to run the rules that are defined in a `RuleGroup` . To use this, create a rule group with your rules, then provide the ARN of the rule group in this statement.\n\nYou cannot nest a `RuleGroupReferenceStatement` , for example for use inside a `NotStatement` or `OrStatement` . You can only use a rule group reference statement at the top level inside a web ACL.", - "SizeConstraintStatement": "A rule statement that compares a number of bytes against the size of a request component, using a comparison operator, such as greater than (>) or less than (<). For example, you can use a size constraint statement to look for query strings that are longer than 100 bytes.\n\nIf you configure AWS WAF to inspect the request body, AWS WAF inspects only the first 8192 bytes (8 KB). If the request body for your web requests never exceeds 8192 bytes, you could use a size constraint statement to block requests that have a request body greater than 8192 bytes.\n\nIf you choose URI for the value of Part of the request to filter on, the slash (/) in the URI counts as one character. For example, the URI `/logo.jpg` is nine characters long.", + "SizeConstraintStatement": "A rule statement that compares a number of bytes against the size of a request component, using a comparison operator, such as greater than (>) or less than (<). For example, you can use a size constraint statement to look for query strings that are longer than 100 bytes.\n\nIf you configure AWS WAF to inspect the request body, AWS WAF inspects only the number of bytes of the body up to the limit for the web ACL. By default, for regional web ACLs, this limit is 8 KB (8,192 kilobytes) and for CloudFront web ACLs, this limit is 16 KB (16,384 kilobytes). For CloudFront web ACLs, you can increase the limit in the web ACL `AssociationConfig` , for additional fees. If you know that the request body for your web requests should never exceed the inspection limit, you could use a size constraint statement to block requests that have a larger request body size.\n\nIf you choose URI for the value of Part of the request to filter on, the slash (/) in the URI counts as one character. For example, the URI `/logo.jpg` is nine characters long.", "SqliMatchStatement": "A rule statement that inspects for malicious SQL code. Attackers insert malicious SQL code into web requests to do things like modify your database or extract data from it.", "XssMatchStatement": "A rule statement that inspects for cross-site scripting (XSS) attacks. In XSS attacks, the attacker uses vulnerabilities in a benign website as a vehicle to inject malicious client-site scripts into other legitimate web browsers." } @@ -63938,7 +63938,7 @@ }, "description": "> This is the latest version of *AWS WAF* , named AWS WAF V2, released in November, 2019. For information, including how to migrate your AWS WAF resources from the prior release, see the [AWS WAF Developer Guide](https://docs.aws.amazon.com/waf/latest/developerguide/waf-chapter.html) . \n\nUse a web ACL association to define an association between a web ACL and a regional application resource, to protect the resource. A regional application can be an Application Load Balancer (ALB), an Amazon API Gateway REST API, an AWS AppSync GraphQL API, an Amazon Cognito user pool, or an AWS App Runner service.\n\nFor Amazon CloudFront , don't use this resource. Instead, use your CloudFront distribution configuration. To associate a web ACL with a distribution, provide the Amazon Resource Name (ARN) of the `WebACL` to your CloudFront distribution configuration. To disassociate a web ACL, provide an empty ARN. For information, see [AWS::CloudFront::Distribution](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloudfront-distribution.html) .\n\nWhen you create a web ACL or make changes to a web ACL or web ACL components, like rules and rule groups, AWS WAF propagates the changes everywhere that the web ACL and its components are stored and used. Your changes are applied within seconds, but there might be a brief period of inconsistency when the changes have arrived in some places and not in others. So, for example, if you change a rule action setting, the action might be the old action in one area and the new action in another area. Or if you add an IP address to an IP set used in a blocking rule, the new address might briefly be blocked in one area while still allowed in another. This temporary inconsistency can occur when you first associate a web ACL with an AWS resource and when you change a web ACL that is already associated with a resource. Generally, any inconsistencies of this type last only a few seconds.", "properties": { - "ResourceArn": "The Amazon Resource Name (ARN) of the resource to associate with the web ACL.\n\nThe ARN must be in one of the following formats:\n\n- For an Application Load Balancer: `arn:aws:elasticloadbalancing: *region* : *account-id* :loadbalancer/app/ *load-balancer-name* / *load-balancer-id*`\n- For an Amazon API Gateway REST API: `arn:aws:apigateway: *region* ::/restapis/ *api-id* /stages/ *stage-name*`\n- For an AWS AppSync GraphQL API: `arn:aws:appsync: *region* : *account-id* :apis/ *GraphQLApiId*`\n- For an Amazon Cognito user pool: `arn:aws:cognito-idp: *region* : *account-id* :userpool/ *user-pool-id*`\n- For an AWS App Runner service: `arn:aws:apprunner: *region* : *account-id* :service/ *apprunner-service-name* / *apprunner-service-id*`", + "ResourceArn": "The Amazon Resource Name (ARN) of the resource to associate with the web ACL.\n\nThe ARN must be in one of the following formats:\n\n- For an Application Load Balancer: `arn: *partition* :elasticloadbalancing: *region* : *account-id* :loadbalancer/app/ *load-balancer-name* / *load-balancer-id*`\n- For an Amazon API Gateway REST API: `arn: *partition* :apigateway: *region* ::/restapis/ *api-id* /stages/ *stage-name*`\n- For an AWS AppSync GraphQL API: `arn: *partition* :appsync: *region* : *account-id* :apis/ *GraphQLApiId*`\n- For an Amazon Cognito user pool: `arn: *partition* :cognito-idp: *region* : *account-id* :userpool/ *user-pool-id*`\n- For an AWS App Runner service: `arn: *partition* :apprunner: *region* : *account-id* :service/ *apprunner-service-name* / *apprunner-service-id*`", "WebACLArn": "The Amazon Resource Name (ARN) of the web ACL that you want to associate with the resource." } }, From 6b4f58adc09abce90678b7977a222d32b3d19cf2 Mon Sep 17 00:00:00 2001 From: Rico Hermans Date: Wed, 12 Apr 2023 12:39:21 +0200 Subject: [PATCH 2/5] chore(region-info): turn into a `cdk-copy`ed package (#25029) This package is a piece of `aws-cdk-lib` that is exported separately. Deduplicate the source files by using `cdk-copy`. ---- *By submitting this pull request, I confirm that my contribution is made under the terms of the Apache-2.0 license* --- packages/@aws-cdk/region-info/.eslintrc.js | 3 - packages/@aws-cdk/region-info/.gitignore | 27 +- packages/@aws-cdk/region-info/README.md | 92 -- .../region-info/build-tools/fact-tables.ts | 1236 ----------------- .../build-tools/generate-static-data.ts | 159 --- .../region-info/build-tools/generate.sh | 24 - packages/@aws-cdk/region-info/lib/.gitignore | 1 - .../@aws-cdk/region-info/lib/aws-entities.ts | 138 -- packages/@aws-cdk/region-info/lib/default.ts | 127 -- packages/@aws-cdk/region-info/lib/fact.ts | 206 --- packages/@aws-cdk/region-info/lib/index.ts | 8 - .../@aws-cdk/region-info/lib/region-info.ts | 181 --- packages/@aws-cdk/region-info/package.json | 5 +- .../region-info/rosetta/default.ts-fixture | 11 - .../__snapshots__/region-info.test.js.snap | 1161 ---------------- .../@aws-cdk/region-info/test/default.test.ts | 84 -- .../@aws-cdk/region-info/test/fact.test.ts | 92 -- .../region-info/test/region-info.test.ts | 64 - packages/aws-cdk-lib/package.json | 2 +- .../region-info/build-tools/generate.sh | 24 - .../@aws-cdk/cdk-build-tools/bin/cdk-copy.ts | 30 +- 21 files changed, 29 insertions(+), 3646 deletions(-) delete mode 100644 packages/@aws-cdk/region-info/.eslintrc.js delete mode 100644 packages/@aws-cdk/region-info/README.md delete mode 100644 packages/@aws-cdk/region-info/build-tools/fact-tables.ts delete mode 100644 packages/@aws-cdk/region-info/build-tools/generate-static-data.ts delete mode 100644 packages/@aws-cdk/region-info/build-tools/generate.sh delete mode 100644 packages/@aws-cdk/region-info/lib/.gitignore delete mode 100644 packages/@aws-cdk/region-info/lib/aws-entities.ts delete mode 100644 packages/@aws-cdk/region-info/lib/default.ts delete mode 100644 packages/@aws-cdk/region-info/lib/fact.ts delete mode 100644 packages/@aws-cdk/region-info/lib/index.ts delete mode 100644 packages/@aws-cdk/region-info/lib/region-info.ts delete mode 100644 packages/@aws-cdk/region-info/rosetta/default.ts-fixture delete mode 100644 packages/@aws-cdk/region-info/test/__snapshots__/region-info.test.js.snap delete mode 100644 packages/@aws-cdk/region-info/test/default.test.ts delete mode 100644 packages/@aws-cdk/region-info/test/fact.test.ts delete mode 100644 packages/@aws-cdk/region-info/test/region-info.test.ts delete mode 100644 packages/aws-cdk-lib/region-info/build-tools/generate.sh diff --git a/packages/@aws-cdk/region-info/.eslintrc.js b/packages/@aws-cdk/region-info/.eslintrc.js deleted file mode 100644 index 2658ee8727166..0000000000000 --- a/packages/@aws-cdk/region-info/.eslintrc.js +++ /dev/null @@ -1,3 +0,0 @@ -const baseConfig = require('@aws-cdk/cdk-build-tools/config/eslintrc'); -baseConfig.parserOptions.project = __dirname + '/tsconfig.json'; -module.exports = baseConfig; diff --git a/packages/@aws-cdk/region-info/.gitignore b/packages/@aws-cdk/region-info/.gitignore index 982066f26e361..660bc9140823c 100644 --- a/packages/@aws-cdk/region-info/.gitignore +++ b/packages/@aws-cdk/region-info/.gitignore @@ -1,21 +1,10 @@ - -dist -tsconfig.json -.LAST_PACKAGE -.LAST_BUILD -.jsii -*.d.ts -*.js -*.snk - -.nyc_output -coverage -nyc.config.js -!.eslintrc.js +# This package is copied from aws-cdk-lib/region-info, ignore everything +# except package.json +* +!package.json +!.npmignore !jest.config.js +!LICENSE +!NOTICE +!CONTRIBUTING.md -junit.xml -!**/*.snapshot/**/asset.*/*.js -!**/*.snapshot/**/asset.*/*.d.ts - -!**/*.snapshot/**/asset.*/** diff --git a/packages/@aws-cdk/region-info/README.md b/packages/@aws-cdk/region-info/README.md deleted file mode 100644 index b8d75339c3320..0000000000000 --- a/packages/@aws-cdk/region-info/README.md +++ /dev/null @@ -1,92 +0,0 @@ -# AWS Region-Specific Information Directory - - ---- - -![cdk-constructs: Stable](https://img.shields.io/badge/cdk--constructs-stable-success.svg?style=for-the-badge) - ---- - - - -## Usage - -Some information used in CDK Applications differs from one AWS region to -another, such as service principals used in IAM policies, S3 static website -endpoints, ... - -### The `RegionInfo` class - -The library offers a simple interface to obtain region specific information in -the form of the `RegionInfo` class. This is the preferred way to interact with -the regional information database: - -```ts -// Get the information for "eu-west-1": -const region = regionInfo.RegionInfo.get('eu-west-1'); - -// Access attributes: -region.s3StaticWebsiteEndpoint; // s3-website-eu-west-1.amazonaws.com -region.servicePrincipal('logs.amazonaws.com'); // logs.eu-west-1.amazonaws.com -``` - -The `RegionInfo` layer is built on top of the Low-Level API, which is described -below and can be used to register additional data, including user-defined facts -that are not available through the `RegionInfo` interface. - -### Low-Level API - -This library offers a primitive database of such information so that CDK -constructs can easily access regional information. The `FactName` class provides -a list of known fact names, which can then be used with the `RegionInfo` to -retrieve a particular value: - -```ts -const codeDeployPrincipal = regionInfo.Fact.find('us-east-1', regionInfo.FactName.servicePrincipal('codedeploy.amazonaws.com')); -// => codedeploy.us-east-1.amazonaws.com - -const staticWebsite = regionInfo.Fact.find('ap-northeast-1', regionInfo.FactName.S3_STATIC_WEBSITE_ENDPOINT); -// => s3-website-ap-northeast-1.amazonaws.com -``` - -## Supplying new or missing information - -As new regions are released, it might happen that a particular fact you need is -missing from the library. In such cases, the `Fact.register` method can be used -to inject FactName into the database: - -```ts -class MyFact implements regionInfo.IFact { - public readonly region = 'bermuda-triangle-1'; - public readonly name = regionInfo.FactName.servicePrincipal('s3.amazonaws.com'); - public readonly value = 's3-website.bermuda-triangle-1.nowhere.com'; -} - -regionInfo.Fact.register(new MyFact()); -``` - -## Overriding incorrect information - -In the event information provided by the library is incorrect, it can be -overridden using the same `Fact.register` method demonstrated above, simply -adding an extra boolean argument: - -```ts -class MyFact implements regionInfo.IFact { - public readonly region = 'us-east-1'; - public readonly name = regionInfo.FactName.servicePrincipal('service.amazonaws.com'); - public readonly value = 'the-correct-principal.amazonaws.com'; -} - -regionInfo.Fact.register(new MyFact(), true /* Allow overriding information */); -``` - -If you happen to have stumbled upon incorrect data built into this library, it -is always a good idea to report your findings in a [GitHub issue], so we can fix -it for everyone else! - -[GitHub issue]: https://github.com/aws/aws-cdk/issues - ---- - -This module is part of the [AWS Cloud Development Kit](https://github.com/aws/aws-cdk) project. diff --git a/packages/@aws-cdk/region-info/build-tools/fact-tables.ts b/packages/@aws-cdk/region-info/build-tools/fact-tables.ts deleted file mode 100644 index f7f7bd911d226..0000000000000 --- a/packages/@aws-cdk/region-info/build-tools/fact-tables.ts +++ /dev/null @@ -1,1236 +0,0 @@ -export const AWS_CDK_METADATA = new Set([ - 'us-east-2', - 'us-east-1', - 'us-west-1', - 'us-west-2', - // 'us-gov-east-1', - // 'us-gov-west-1', - // 'us-iso-east-1', - // 'us-isob-east-1', - 'af-south-1', - 'ap-south-1', - 'ap-east-1', - // 'ap-northeast-3', - 'ap-northeast-2', - 'ap-southeast-1', - 'ap-southeast-2', - 'ap-northeast-1', - 'ca-central-1', - 'cn-north-1', - 'cn-northwest-1', - 'eu-central-1', - 'eu-west-1', - 'eu-west-2', - 'eu-west-3', - 'eu-north-1', - 'eu-south-1', - // 'eu-south-2', - 'me-south-1', - // 'me-central-1', - 'sa-east-1', - // 'ap-south-2', - // 'eu-central-2', -]); - -/** - * The hosted zone Id if using an alias record in Route53. - * - * @see https://docs.aws.amazon.com/general/latest/gr/s3.html#s3_region - */ -export const ROUTE_53_BUCKET_WEBSITE_ZONE_IDS: { [region: string]: string } = { - 'af-south-1': 'Z11KHD8FBVPUYU', - 'ap-east-1': 'ZNB98KWMFR0R6', - 'ap-northeast-1': 'Z2M4EHUR26P7ZW', - 'ap-northeast-2': 'Z3W03O7B5YMIYP', - 'ap-northeast-3': 'Z2YQB5RD63NC85', - 'ap-south-1': 'Z11RGJOFQNVJUP', - 'ap-south-2': 'Z02976202B4EZMXIPMXF7', - 'ap-southeast-1': 'Z3O0J2DXBE1FTB', - 'ap-southeast-2': 'Z1WCIGYICN2BYD', - 'ap-southeast-3': 'Z01846753K324LI26A3VV', - 'ca-central-1': 'Z1QDHH18159H29', - 'cn-northwest-1': 'Z282HJ1KT0DH03', - 'eu-central-1': 'Z21DNDUVLTQW6Q', - 'eu-central-2': 'Z030506016YDQGETNASS', - 'eu-north-1': 'Z3BAZG2TWCNX0D', - 'eu-south-1': 'Z3IXVV8C73GIO3', - 'eu-south-2': 'Z0081959F7139GRJC19J', - 'eu-west-1': 'Z1BKCTXD74EZPE', - 'eu-west-2': 'Z3GKZC51ZF0DB4', - 'eu-west-3': 'Z3R1K369G5AVDG', - 'me-south-1': 'Z1MPMWCPA7YB62', - 'me-central-1': 'Z06143092I8HRXZRUZROF', - 'sa-east-1': 'Z7KQH4QJS55SO', - 'us-east-1': 'Z3AQBSTGFYJSTF', - 'us-east-2': 'Z2O1EMRO9K5GLX', - 'us-gov-east-1': 'Z2NIFVYYW2VKV1', - 'us-gov-west-1': 'Z31GFT0UA1I2HV', - 'us-west-1': 'Z2F56UZL2M1ACD', - 'us-west-2': 'Z3BJ6K6RIION7M', -}; - -/** - * The hosted zone Id of the Elastic Beanstalk environment. - * - * @see https://docs.aws.amazon.com/general/latest/gr/elasticbeanstalk.html - */ -export const EBS_ENV_ENDPOINT_HOSTED_ZONE_IDS: { [region: string]: string } = { - 'af-south-1': 'Z1EI3BVKMKK4AM', - 'ap-east-1': 'ZPWYUBWRU171A', - 'ap-northeast-1': 'Z1R25G3KIG2GBW', - 'ap-northeast-2': 'Z3JE5OI70TWKCP', - 'ap-northeast-3': 'ZNE5GEY1TIAGY', - 'ap-south-1': 'Z18NTBI3Y7N9TZ', - 'ap-southeast-1': 'Z16FZ9L249IFLT', - 'ap-southeast-2': 'Z2PCDNR3VC2G1N', - 'ca-central-1': 'ZJFCZL7SSZB5I', - 'eu-central-1': 'Z1FRNW7UH4DEZJ', - 'eu-north-1': 'Z23GO28BZ5AETM', - 'eu-south-1': 'Z10VDYYOA2JFKM', - 'eu-west-1': 'Z2NYPWQ7DFZAZH', - 'eu-west-2': 'Z1GKAAAUGATPF1', - 'eu-west-3': 'Z5WN6GAYWG5OB', - 'me-south-1': 'Z2BBTEKR2I36N2', - 'sa-east-1': 'Z10X7K2B4QSOFV', - 'us-east-1': 'Z117KPS5GTRQ2G', - 'us-east-2': 'Z14LCN19Q5QHIC', - 'us-gov-east-1': 'Z35TSARG0EJ4VU', - 'us-gov-west-1': 'Z4KAURWC4UUUG', - 'us-west-1': 'Z1LQECGX5PH1X', - 'us-west-2': 'Z38NKT9BP95V3O', -}; - -interface Region { partition: string, domainSuffix: string } - -export const PARTITION_MAP: { [region: string]: Region } = { - 'default': { partition: 'aws', domainSuffix: 'amazonaws.com' }, - 'cn-': { partition: 'aws-cn', domainSuffix: 'amazonaws.com.cn' }, - 'us-gov-': { partition: 'aws-us-gov', domainSuffix: 'amazonaws.com' }, - 'us-iso-': { partition: 'aws-iso', domainSuffix: 'c2s.ic.gov' }, - 'us-isob-': { partition: 'aws-iso-b', domainSuffix: 'sc2s.sgov.gov' }, -}; - -// https://docs.aws.amazon.com/elasticloadbalancing/latest/application/load-balancer-access-logs.html#access-logging-bucket-permissions -// https://docs.aws.amazon.com/elasticloadbalancing/latest/classic/enable-access-logs.html#attach-bucket-policy -// Any not listed regions use the service principal "logdelivery.elasticloadbalancing.amazonaws.com" -export const ELBV2_ACCOUNTS: { [region: string]: string } = { - 'af-south-1': '098369216593', - 'ap-east-1': '754344448648', - 'ap-northeast-1': '582318560864', - 'ap-northeast-2': '600734575887', - 'ap-northeast-3': '383597477331', - 'ap-south-1': '718504428378', - 'ap-southeast-1': '114774131450', - 'ap-southeast-2': '783225319266', - 'ap-southeast-3': '589379963580', - 'ca-central-1': '985666609251', - 'cn-north-1': '638102146993', - 'cn-northwest-1': '037604701340', - 'eu-central-1': '054676820928', - 'eu-north-1': '897822967062', - 'eu-south-1': '635631232127', - 'eu-west-1': '156460612806', - 'eu-west-2': '652711504416', - 'eu-west-3': '009996457667', - 'me-south-1': '076674570225', - 'sa-east-1': '507241528517', - 'us-east-1': '127311923021', - 'us-east-2': '033677994240', - 'us-gov-east-1': '190560391635', - 'us-gov-west-1': '048591011584', - 'us-west-1': '027434742980', - 'us-west-2': '797873946194', - 'us-iso-east-1': '770363063475', - 'us-iso-west-1': '121062877647', - 'us-isob-east-1': '740734521339', -}; - -// https://aws.amazon.com/releasenotes/available-deep-learning-containers-images -export const DLC_REPOSITORY_ACCOUNTS: { [region: string]: string } = { - 'ap-east-1': '871362719292', - 'ap-northeast-1': '763104351884', - 'ap-northeast-2': '763104351884', - 'ap-south-1': '763104351884', - 'ap-southeast-1': '763104351884', - 'ap-southeast-2': '763104351884', - 'ca-central-1': '763104351884', - 'cn-north-1': '727897471807', - 'cn-northwest-1': '727897471807', - 'eu-central-1': '763104351884', - 'eu-north-1': '763104351884', - 'eu-west-1': '763104351884', - 'eu-west-2': '763104351884', - 'eu-west-3': '763104351884', - 'me-south-1': '217643126080', - 'sa-east-1': '763104351884', - 'us-east-1': '763104351884', - 'us-east-2': '763104351884', - 'us-west-1': '763104351884', - 'us-west-2': '763104351884', -}; - -// https://docs.aws.amazon.com/app-mesh/latest/userguide/envoy.html -// https://docs.amazonaws.cn/app-mesh/latest/userguide/envoy.html -export const APPMESH_ECR_ACCOUNTS: { [region: string]: string } = { - 'af-south-1': '924023996002', - 'ap-east-1': '856666278305', - 'ap-northeast-1': '840364872350', - 'ap-northeast-2': '840364872350', - 'ap-northeast-3': '840364872350', - 'ap-south-1': '840364872350', - 'ap-southeast-1': '840364872350', - 'ap-southeast-2': '840364872350', - 'ap-southeast-3': '909464085924', - 'ca-central-1': '840364872350', - 'cn-north-1': '919366029133', - 'cn-northwest-1': '919830735681', - 'eu-central-1': '840364872350', - 'eu-north-1': '840364872350', - 'eu-south-1': '422531588944', - 'eu-west-1': '840364872350', - 'eu-west-2': '840364872350', - 'eu-west-3': '840364872350', - 'me-south-1': '772975370895', - 'sa-east-1': '840364872350', - 'us-east-1': '840364872350', - 'us-east-2': '840364872350', - 'us-west-1': '840364872350', - 'us-west-2': '840364872350', -}; - -// https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/Lambda-Insights-extension-versions.html -export const CLOUDWATCH_LAMBDA_INSIGHTS_ARNS: { [key: string]: any } = { - '1.0.178.0': { - x86_64: { - // Asia Pacific (Hyderabad) - 'ap-south-2': 'arn:aws:lambda:ap-south-2:891564319516:layer:LambdaInsightsExtension:6', - // Asia Pacific (Jakarta) - 'ap-southeast-3': 'arn:aws:lambda:ap-southeast-3:439286490199:layer:LambdaInsightsExtension:8', - // Europe (Spain) - 'eu-south-2': 'arn:aws:lambda:eu-south-2:352183217350:layer:LambdaInsightsExtension:2', - // Europe (Zurich) - 'eu-central-2': 'arn:aws:lambda:eu-central-2:033019950311:layer:LambdaInsightsExtension:7', - // Middle East (UAE) - 'me-central-1': 'arn:aws:lambda:me-central-1:732604637566:layer:LambdaInsightsExtension:6', - }, - }, - '1.0.143.0': { - x86_64: { - // US East (N. Virginia) - 'us-east-1': 'arn:aws:lambda:us-east-1:580247275435:layer:LambdaInsightsExtension:21', - // US East (Ohio) - 'us-east-2': 'arn:aws:lambda:us-east-2:580247275435:layer:LambdaInsightsExtension:21', - // US West (N. California) - 'us-west-1': 'arn:aws:lambda:us-west-1:580247275435:layer:LambdaInsightsExtension:20', - // US West (Oregon) - 'us-west-2': 'arn:aws:lambda:us-west-2:580247275435:layer:LambdaInsightsExtension:21', - // Africa (Cape Town) - 'af-south-1': 'arn:aws:lambda:af-south-1:012438385374:layer:LambdaInsightsExtension:13', - // Asia Pacific (Hong Kong) - 'ap-east-1': 'arn:aws:lambda:ap-east-1:519774774795:layer:LambdaInsightsExtension:13', - // Asia Pacific (Mumbai) - 'ap-south-1': 'arn:aws:lambda:ap-south-1:580247275435:layer:LambdaInsightsExtension:21', - // Asia Pacific (Osaka) - 'ap-northeast-3': 'arn:aws:lambda:ap-northeast-3:194566237122:layer:LambdaInsightsExtension:2', - // Asia Pacific (Seoul) - 'ap-northeast-2': 'arn:aws:lambda:ap-northeast-2:580247275435:layer:LambdaInsightsExtension:20', - // Asia Pacific (Singapore) - 'ap-southeast-1': 'arn:aws:lambda:ap-southeast-1:580247275435:layer:LambdaInsightsExtension:21', - // Asia Pacific (Sydney) - 'ap-southeast-2': 'arn:aws:lambda:ap-southeast-2:580247275435:layer:LambdaInsightsExtension:21', - // Asia Pacific (Tokyo) - 'ap-northeast-1': 'arn:aws:lambda:ap-northeast-1:580247275435:layer:LambdaInsightsExtension:31', - // Canada (Central) - 'ca-central-1': 'arn:aws:lambda:ca-central-1:580247275435:layer:LambdaInsightsExtension:20', - // China (Beijing) - 'cn-north-1': 'arn:aws-cn:lambda:cn-north-1:488211338238:layer:LambdaInsightsExtension:14', - // China (Ningxia) - 'cn-northwest-1': 'arn:aws-cn:lambda:cn-northwest-1:488211338238:layer:LambdaInsightsExtension:14', - // Europe (Frankfurt) - 'eu-central-1': 'arn:aws:lambda:eu-central-1:580247275435:layer:LambdaInsightsExtension:21', - // Europe (Ireland) - 'eu-west-1': 'arn:aws:lambda:eu-west-1:580247275435:layer:LambdaInsightsExtension:21', - // Europe (London) - 'eu-west-2': 'arn:aws:lambda:eu-west-2:580247275435:layer:LambdaInsightsExtension:21', - // Europe (Milan) - 'eu-south-1': 'arn:aws:lambda:eu-south-1:339249233099:layer:LambdaInsightsExtension:13', - // Europe (Paris) - 'eu-west-3': 'arn:aws:lambda:eu-west-3:580247275435:layer:LambdaInsightsExtension:20', - // Europe (Stockholm) - 'eu-north-1': 'arn:aws:lambda:eu-north-1:580247275435:layer:LambdaInsightsExtension:20', - // Middle East (Bahrain) - 'me-south-1': 'arn:aws:lambda:me-south-1:285320876703:layer:LambdaInsightsExtension:13', - // South America (Sao Paulo) - 'sa-east-1': 'arn:aws:lambda:sa-east-1:580247275435:layer:LambdaInsightsExtension:20', - }, - }, - '1.0.135.0': { - arm64: { - // US East (N. Virginia) - 'us-east-1': 'arn:aws:lambda:us-east-1:580247275435:layer:LambdaInsightsExtension-Arm64:2', - // US East (Ohio) - 'us-east-2': 'arn:aws:lambda:us-east-2:580247275435:layer:LambdaInsightsExtension-Arm64:2', - // US West (Oregon) - 'us-west-2': 'arn:aws:lambda:us-west-2:580247275435:layer:LambdaInsightsExtension-Arm64:2', - // Asia Pacific (Mumbai) - 'ap-south-1': 'arn:aws:lambda:ap-south-1:580247275435:layer:LambdaInsightsExtension-Arm64:2', - // Asia Pacific (Singapore) - 'ap-southeast-1': 'arn:aws:lambda:ap-southeast-1:580247275435:layer:LambdaInsightsExtension-Arm64:2', - // Asia Pacific (Sydney) - 'ap-southeast-2': 'arn:aws:lambda:ap-southeast-2:580247275435:layer:LambdaInsightsExtension-Arm64:2', - // Asia Pacific (Tokyo) - 'ap-northeast-1': 'arn:aws:lambda:ap-northeast-1:580247275435:layer:LambdaInsightsExtension-Arm64:2', - // Europe (Frankfurt) - 'eu-central-1': 'arn:aws:lambda:eu-central-1:580247275435:layer:LambdaInsightsExtension-Arm64:2', - // Europe (Ireland) - 'eu-west-1': 'arn:aws:lambda:eu-west-1:580247275435:layer:LambdaInsightsExtension-Arm64:2', - // Europe (London) - 'eu-west-2': 'arn:aws:lambda:eu-west-2:580247275435:layer:LambdaInsightsExtension-Arm64:2', - }, - x86_64: { - // US East (N. Virginia) - 'us-east-1': 'arn:aws:lambda:us-east-1:580247275435:layer:LambdaInsightsExtension:18', - // US East (Ohio) - 'us-east-2': 'arn:aws:lambda:us-east-2:580247275435:layer:LambdaInsightsExtension:18', - // US West (N. California) - 'us-west-1': 'arn:aws:lambda:us-west-1:580247275435:layer:LambdaInsightsExtension:18', - // US West (Oregon) - 'us-west-2': 'arn:aws:lambda:us-west-2:580247275435:layer:LambdaInsightsExtension:18', - // Africa (Cape Town) - 'af-south-1': 'arn:aws:lambda:af-south-1:012438385374:layer:LambdaInsightsExtension:11', - // Asia Pacific (Hong Kong) - 'ap-east-1': 'arn:aws:lambda:ap-east-1:519774774795:layer:LambdaInsightsExtension:11', - // Asia Pacific (Mumbai) - 'ap-south-1': 'arn:aws:lambda:ap-south-1:580247275435:layer:LambdaInsightsExtension:18', - // Asia Pacific (Osaka) - 'ap-northeast-3': 'arn:aws:lambda:ap-northeast-3:194566237122:layer:LambdaInsightsExtension:1', - // Asia Pacific (Seoul) - 'ap-northeast-2': 'arn:aws:lambda:ap-northeast-2:580247275435:layer:LambdaInsightsExtension:18', - // Asia Pacific (Singapore) - 'ap-southeast-1': 'arn:aws:lambda:ap-southeast-1:580247275435:layer:LambdaInsightsExtension:18', - // Asia Pacific (Sydney) - 'ap-southeast-2': 'arn:aws:lambda:ap-southeast-2:580247275435:layer:LambdaInsightsExtension:18', - // Asia Pacific (Tokyo) - 'ap-northeast-1': 'arn:aws:lambda:ap-northeast-1:580247275435:layer:LambdaInsightsExtension:25', - // Canada (Central) - 'ca-central-1': 'arn:aws:lambda:ca-central-1:580247275435:layer:LambdaInsightsExtension:18', - // China (Beijing) - 'cn-north-1': 'arn:aws-cn:lambda:cn-north-1:488211338238:layer:LambdaInsightsExtension:11', - // China (Ningxia) - 'cn-northwest-1': 'arn:aws-cn:lambda:cn-northwest-1:488211338238:layer:LambdaInsightsExtension:11', - // Europe (Frankfurt) - 'eu-central-1': 'arn:aws:lambda:eu-central-1:580247275435:layer:LambdaInsightsExtension:18', - // Europe (Ireland) - 'eu-west-1': 'arn:aws:lambda:eu-west-1:580247275435:layer:LambdaInsightsExtension:18', - // Europe (London) - 'eu-west-2': 'arn:aws:lambda:eu-west-2:580247275435:layer:LambdaInsightsExtension:18', - // Europe (Milan) - 'eu-south-1': 'arn:aws:lambda:eu-south-1:339249233099:layer:LambdaInsightsExtension:11', - // Europe (Paris) - 'eu-west-3': 'arn:aws:lambda:eu-west-3:580247275435:layer:LambdaInsightsExtension:18', - // Europe (Stockholm) - 'eu-north-1': 'arn:aws:lambda:eu-north-1:580247275435:layer:LambdaInsightsExtension:18', - // Middle East (Bahrain) - 'me-south-1': 'arn:aws:lambda:me-south-1:285320876703:layer:LambdaInsightsExtension:11', - // South America (Sao Paulo) - 'sa-east-1': 'arn:aws:lambda:sa-east-1:580247275435:layer:LambdaInsightsExtension:18', - }, - }, - '1.0.119.0': { - arm64: { - // US East (N. Virginia) - 'us-east-1': 'arn:aws:lambda:us-east-1:580247275435:layer:LambdaInsightsExtension-Arm64:1', - // US East (Ohio) - 'us-east-2': 'arn:aws:lambda:us-east-2:580247275435:layer:LambdaInsightsExtension-Arm64:1', - // US West (Oregon) - 'us-west-2': 'arn:aws:lambda:us-west-2:580247275435:layer:LambdaInsightsExtension-Arm64:1', - // Asia Pacific (Mumbai) - 'ap-south-1': 'arn:aws:lambda:ap-south-1:580247275435:layer:LambdaInsightsExtension-Arm64:1', - // Asia Pacific (Singapore) - 'ap-southeast-1': 'arn:aws:lambda:ap-southeast-1:580247275435:layer:LambdaInsightsExtension-Arm64:1', - // Asia Pacific (Sydney) - 'ap-southeast-2': 'arn:aws:lambda:ap-southeast-2:580247275435:layer:LambdaInsightsExtension-Arm64:1', - // Asia Pacific (Tokyo) - 'ap-northeast-1': 'arn:aws:lambda:ap-northeast-1:580247275435:layer:LambdaInsightsExtension-Arm64:1', - // Europe (Frankfurt) - 'eu-central-1': 'arn:aws:lambda:eu-central-1:580247275435:layer:LambdaInsightsExtension-Arm64:1', - // Europe (Ireland) - 'eu-west-1': 'arn:aws:lambda:eu-west-1:580247275435:layer:LambdaInsightsExtension-Arm64:1', - // Europe (London) - 'eu-west-2': 'arn:aws:lambda:eu-west-2:580247275435:layer:LambdaInsightsExtension-Arm64:1', - }, - x86_64: { - // US East (N. Virginia) - 'us-east-1': 'arn:aws:lambda:us-east-1:580247275435:layer:LambdaInsightsExtension:16', - // US East (Ohio) - 'us-east-2': 'arn:aws:lambda:us-east-2:580247275435:layer:LambdaInsightsExtension:16', - // US West (N. California) - 'us-west-1': 'arn:aws:lambda:us-west-1:580247275435:layer:LambdaInsightsExtension:16', - // US West (Oregon) - 'us-west-2': 'arn:aws:lambda:us-west-2:580247275435:layer:LambdaInsightsExtension:16', - // Africa (Cape Town) - 'af-south-1': 'arn:aws:lambda:af-south-1:012438385374:layer:LambdaInsightsExtension:9', - // Asia Pacific (Hong Kong) - 'ap-east-1': 'arn:aws:lambda:ap-east-1:519774774795:layer:LambdaInsightsExtension:9', - // Asia Pacific (Mumbai) - 'ap-south-1': 'arn:aws:lambda:ap-south-1:580247275435:layer:LambdaInsightsExtension:16', - // Asia Pacific (Seoul) - 'ap-northeast-2': 'arn:aws:lambda:ap-northeast-2:580247275435:layer:LambdaInsightsExtension:16', - // Asia Pacific (Singapore) - 'ap-southeast-1': 'arn:aws:lambda:ap-southeast-1:580247275435:layer:LambdaInsightsExtension:16', - // Asia Pacific (Sydney) - 'ap-southeast-2': 'arn:aws:lambda:ap-southeast-2:580247275435:layer:LambdaInsightsExtension:16', - // Asia Pacific (Tokyo) - 'ap-northeast-1': 'arn:aws:lambda:ap-northeast-1:580247275435:layer:LambdaInsightsExtension:23', - // Canada (Central) - 'ca-central-1': 'arn:aws:lambda:ca-central-1:580247275435:layer:LambdaInsightsExtension:16', - // China (Beijing) - 'cn-north-1': 'arn:aws-cn:lambda:cn-north-1:488211338238:layer:LambdaInsightsExtension:9', - // China (Ningxia) - 'cn-northwest-1': 'arn:aws-cn:lambda:cn-northwest-1:488211338238:layer:LambdaInsightsExtension:9', - // Europe (Frankfurt) - 'eu-central-1': 'arn:aws:lambda:eu-central-1:580247275435:layer:LambdaInsightsExtension:16', - // Europe (Ireland) - 'eu-west-1': 'arn:aws:lambda:eu-west-1:580247275435:layer:LambdaInsightsExtension:16', - // Europe (London) - 'eu-west-2': 'arn:aws:lambda:eu-west-2:580247275435:layer:LambdaInsightsExtension:16', - // Europe (Milan) - 'eu-south-1': 'arn:aws:lambda:eu-south-1:339249233099:layer:LambdaInsightsExtension:9', - // Europe (Paris) - 'eu-west-3': 'arn:aws:lambda:eu-west-3:580247275435:layer:LambdaInsightsExtension:16', - // Europe (Stockholm) - 'eu-north-1': 'arn:aws:lambda:eu-north-1:580247275435:layer:LambdaInsightsExtension:16', - // Middle East (Bahrain) - 'me-south-1': 'arn:aws:lambda:me-south-1:285320876703:layer:LambdaInsightsExtension:9', - // South America (Sao Paulo) - 'sa-east-1': 'arn:aws:lambda:sa-east-1:580247275435:layer:LambdaInsightsExtension:16', - }, - }, - '1.0.98.0': { - x86_64: { - 'us-east-1': 'arn:aws:lambda:us-east-1:580247275435:layer:LambdaInsightsExtension:14', - 'us-east-2': 'arn:aws:lambda:us-east-2:580247275435:layer:LambdaInsightsExtension:14', - 'us-west-1': 'arn:aws:lambda:us-west-1:580247275435:layer:LambdaInsightsExtension:14', - 'us-west-2': 'arn:aws:lambda:us-west-2:580247275435:layer:LambdaInsightsExtension:14', - 'af-south-1': 'arn:aws:lambda:af-south-1:012438385374:layer:LambdaInsightsExtension:8', - 'ap-east-1': 'arn:aws:lambda:ap-east-1:519774774795:layer:LambdaInsightsExtension:8', - 'ap-south-1': 'arn:aws:lambda:ap-south-1:580247275435:layer:LambdaInsightsExtension:14', - 'ap-northeast-2': 'arn:aws:lambda:ap-northeast-2:580247275435:layer:LambdaInsightsExtension:14', - 'ap-southeast-1': 'arn:aws:lambda:ap-southeast-1:580247275435:layer:LambdaInsightsExtension:14', - 'ap-southeast-2': 'arn:aws:lambda:ap-southeast-2:580247275435:layer:LambdaInsightsExtension:14', - 'ap-northeast-1': 'arn:aws:lambda:ap-northeast-1:580247275435:layer:LambdaInsightsExtension:14', - 'ca-central-1': 'arn:aws:lambda:ca-central-1:580247275435:layer:LambdaInsightsExtension:14', - 'cn-north-1': 'arn:aws-cn:lambda:cn-north-1:488211338238:layer:LambdaInsightsExtension:8', - 'cn-northwest-1': 'arn:aws-cn:lambda:cn-northwest-1:488211338238:layer:LambdaInsightsExtension:8', - 'eu-central-1': 'arn:aws:lambda:eu-central-1:580247275435:layer:LambdaInsightsExtension:14', - 'eu-west-1': 'arn:aws:lambda:eu-west-1:580247275435:layer:LambdaInsightsExtension:14', - 'eu-west-2': 'arn:aws:lambda:eu-west-2:580247275435:layer:LambdaInsightsExtension:14', - 'eu-south-1': 'arn:aws:lambda:eu-south-1:339249233099:layer:LambdaInsightsExtension:8', - 'eu-west-3': 'arn:aws:lambda:eu-west-3:580247275435:layer:LambdaInsightsExtension:14', - 'eu-north-1': 'arn:aws:lambda:eu-north-1:580247275435:layer:LambdaInsightsExtension:14', - 'me-south-1': 'arn:aws:lambda:me-south-1:285320876703:layer:LambdaInsightsExtension:8', - 'sa-east-1': 'arn:aws:lambda:sa-east-1:580247275435:layer:LambdaInsightsExtension:14', - }, - }, - '1.0.89.0': { - x86_64: { - 'us-east-1': 'arn:aws:lambda:us-east-1:580247275435:layer:LambdaInsightsExtension:12', - 'us-east-2': 'arn:aws:lambda:us-east-2:580247275435:layer:LambdaInsightsExtension:12', - 'us-west-1': 'arn:aws:lambda:us-west-1:580247275435:layer:LambdaInsightsExtension:12', - 'us-west-2': 'arn:aws:lambda:us-west-2:580247275435:layer:LambdaInsightsExtension:12', - 'ap-south-1': 'arn:aws:lambda:ap-south-1:580247275435:layer:LambdaInsightsExtension:12', - 'ap-northeast-2': 'arn:aws:lambda:ap-northeast-2:580247275435:layer:LambdaInsightsExtension:12', - 'ap-southeast-1': 'arn:aws:lambda:ap-southeast-1:580247275435:layer:LambdaInsightsExtension:12', - 'ap-southeast-2': 'arn:aws:lambda:ap-southeast-2:580247275435:layer:LambdaInsightsExtension:12', - 'ap-northeast-1': 'arn:aws:lambda:ap-northeast-1:580247275435:layer:LambdaInsightsExtension:12', - 'ca-central-1': 'arn:aws:lambda:ca-central-1:580247275435:layer:LambdaInsightsExtension:12', - 'eu-central-1': 'arn:aws:lambda:eu-central-1:580247275435:layer:LambdaInsightsExtension:12', - 'eu-west-1': 'arn:aws:lambda:eu-west-1:580247275435:layer:LambdaInsightsExtension:12', - 'eu-west-2': 'arn:aws:lambda:eu-west-2:580247275435:layer:LambdaInsightsExtension:12', - 'eu-west-3': 'arn:aws:lambda:eu-west-3:580247275435:layer:LambdaInsightsExtension:12', - 'eu-north-1': 'arn:aws:lambda:eu-north-1:580247275435:layer:LambdaInsightsExtension:12', - 'sa-east-1': 'arn:aws:lambda:sa-east-1:580247275435:layer:LambdaInsightsExtension:12', - }, - }, - '1.0.86.0': { - x86_64: { - 'us-east-1': 'arn:aws:lambda:us-east-1:580247275435:layer:LambdaInsightsExtension:11', - 'us-east-2': 'arn:aws:lambda:us-east-2:580247275435:layer:LambdaInsightsExtension:11', - 'us-west-1': 'arn:aws:lambda:us-west-1:580247275435:layer:LambdaInsightsExtension:11', - 'us-west-2': 'arn:aws:lambda:us-west-2:580247275435:layer:LambdaInsightsExtension:11', - 'ap-south-1': 'arn:aws:lambda:ap-south-1:580247275435:layer:LambdaInsightsExtension:11', - 'ap-northeast-2': 'arn:aws:lambda:ap-northeast-2:580247275435:layer:LambdaInsightsExtension:11', - 'ap-southeast-1': 'arn:aws:lambda:ap-southeast-1:580247275435:layer:LambdaInsightsExtension:11', - 'ap-southeast-2': 'arn:aws:lambda:ap-southeast-2:580247275435:layer:LambdaInsightsExtension:11', - 'ap-northeast-1': 'arn:aws:lambda:ap-northeast-1:580247275435:layer:LambdaInsightsExtension:11', - 'ca-central-1': 'arn:aws:lambda:ca-central-1:580247275435:layer:LambdaInsightsExtension:11', - 'eu-central-1': 'arn:aws:lambda:eu-central-1:580247275435:layer:LambdaInsightsExtension:11', - 'eu-west-1': 'arn:aws:lambda:eu-west-1:580247275435:layer:LambdaInsightsExtension:11', - 'eu-west-2': 'arn:aws:lambda:eu-west-2:580247275435:layer:LambdaInsightsExtension:11', - 'eu-west-3': 'arn:aws:lambda:eu-west-3:580247275435:layer:LambdaInsightsExtension:11', - 'eu-north-1': 'arn:aws:lambda:eu-north-1:580247275435:layer:LambdaInsightsExtension:11', - 'sa-east-1': 'arn:aws:lambda:sa-east-1:580247275435:layer:LambdaInsightsExtension:11', - }, - }, - '1.0.54.0': { - x86_64: { - 'us-east-1': 'arn:aws:lambda:us-east-1:580247275435:layer:LambdaInsightsExtension:2', - 'us-east-2': 'arn:aws:lambda:us-east-2:580247275435:layer:LambdaInsightsExtension:2', - 'us-west-1': 'arn:aws:lambda:us-west-1:580247275435:layer:LambdaInsightsExtension:2', - 'us-west-2': 'arn:aws:lambda:us-west-2:580247275435:layer:LambdaInsightsExtension:2', - 'ap-south-1': 'arn:aws:lambda:ap-south-1:580247275435:layer:LambdaInsightsExtension:2', - 'ap-northeast-2': 'arn:aws:lambda:ap-northeast-2:580247275435:layer:LambdaInsightsExtension:2', - 'ap-southeast-1': 'arn:aws:lambda:ap-southeast-1:580247275435:layer:LambdaInsightsExtension:2', - 'ap-southeast-2': 'arn:aws:lambda:ap-southeast-2:580247275435:layer:LambdaInsightsExtension:2', - 'ap-northeast-1': 'arn:aws:lambda:ap-northeast-1:580247275435:layer:LambdaInsightsExtension:2', - 'ca-central-1': 'arn:aws:lambda:ca-central-1:580247275435:layer:LambdaInsightsExtension:2', - 'eu-central-1': 'arn:aws:lambda:eu-central-1:580247275435:layer:LambdaInsightsExtension:2', - 'eu-west-1': 'arn:aws:lambda:eu-west-1:580247275435:layer:LambdaInsightsExtension:2', - 'eu-west-2': 'arn:aws:lambda:eu-west-2:580247275435:layer:LambdaInsightsExtension:2', - 'eu-west-3': 'arn:aws:lambda:eu-west-3:580247275435:layer:LambdaInsightsExtension:2', - 'eu-north-1': 'arn:aws:lambda:eu-north-1:580247275435:layer:LambdaInsightsExtension:2', - 'sa-east-1': 'arn:aws:lambda:sa-east-1:580247275435:layer:LambdaInsightsExtension:2', - }, - }, -}; - -// https://docs.aws.amazon.com/firehose/latest/dev/controlling-access.html#using-iam-rs-vpc -export const FIREHOSE_CIDR_BLOCKS: { [region: string]: string } = { - 'af-south-1': '13.244.121.224', - 'ap-east-1': '18.162.221.32', - 'ap-northeast-1': '13.113.196.224', - 'ap-northeast-2': '13.209.1.64', - 'ap-northeast-3': '13.208.177.192', - 'ap-south-1': '13.232.67.32', - 'ap-southeast-1': '13.228.64.192', - 'ap-southeast-2': '13.210.67.224', - 'ap-southeast-3': '108.136.221.64', - 'ca-central-1': '35.183.92.128', - 'cn-north-1': '52.81.151.32', - 'cn-northwest-1': '161.189.23.64', - 'eu-central-1': '35.158.127.160', - 'eu-central-2': '16.62.183.32', - 'eu-north-1': '13.53.63.224', - 'eu-south-1': '15.161.135.128', - 'eu-south-2': '18.100.71.96', - 'eu-west-1': '52.19.239.192', - 'eu-west-2': '18.130.1.96', - 'eu-west-3': '35.180.1.96', - 'me-south-1': '15.185.91.0', - 'sa-east-1': '18.228.1.128', - 'us-east-1': '52.70.63.192', - 'us-east-2': '13.58.135.96', - 'us-gov-east-1': '18.253.138.96', - 'us-gov-west-1': '52.61.204.160', - 'us-west-1': '13.57.135.192', - 'us-west-2': '52.89.255.224', -}; - -const ADOT_LAMBDA_LAYER_JAVA_SDK_ARNS: { [version: string]: { [arch: string]: { [region: string]: string } } } = { - '1.23.0': { - x86_64: { - 'ap-northeast-1': 'arn:aws:lambda:ap-northeast-1:901920570463:layer:aws-otel-java-wrapper-amd64-ver-1-23-0:1', - 'ap-northeast-2': 'arn:aws:lambda:ap-northeast-2:901920570463:layer:aws-otel-java-wrapper-amd64-ver-1-23-0:1', - 'ap-south-1': 'arn:aws:lambda:ap-south-1:901920570463:layer:aws-otel-java-wrapper-amd64-ver-1-23-0:1', - 'ap-southeast-1': 'arn:aws:lambda:ap-southeast-1:901920570463:layer:aws-otel-java-wrapper-amd64-ver-1-23-0:1', - 'ap-southeast-2': 'arn:aws:lambda:ap-southeast-2:901920570463:layer:aws-otel-java-wrapper-amd64-ver-1-23-0:1', - 'ca-central-1': 'arn:aws:lambda:ca-central-1:901920570463:layer:aws-otel-java-wrapper-amd64-ver-1-23-0:1', - 'eu-central-1': 'arn:aws:lambda:eu-central-1:901920570463:layer:aws-otel-java-wrapper-amd64-ver-1-23-0:1', - 'eu-north-1': 'arn:aws:lambda:eu-north-1:901920570463:layer:aws-otel-java-wrapper-amd64-ver-1-23-0:1', - 'eu-west-1': 'arn:aws:lambda:eu-west-1:901920570463:layer:aws-otel-java-wrapper-amd64-ver-1-23-0:1', - 'eu-west-2': 'arn:aws:lambda:eu-west-2:901920570463:layer:aws-otel-java-wrapper-amd64-ver-1-23-0:1', - 'eu-west-3': 'arn:aws:lambda:eu-west-3:901920570463:layer:aws-otel-java-wrapper-amd64-ver-1-23-0:1', - 'sa-east-1': 'arn:aws:lambda:sa-east-1:901920570463:layer:aws-otel-java-wrapper-amd64-ver-1-23-0:1', - 'us-east-1': 'arn:aws:lambda:us-east-1:901920570463:layer:aws-otel-java-wrapper-amd64-ver-1-23-0:1', - 'us-east-2': 'arn:aws:lambda:us-east-2:901920570463:layer:aws-otel-java-wrapper-amd64-ver-1-23-0:1', - 'us-west-1': 'arn:aws:lambda:us-west-1:901920570463:layer:aws-otel-java-wrapper-amd64-ver-1-23-0:1', - 'us-west-2': 'arn:aws:lambda:us-west-2:901920570463:layer:aws-otel-java-wrapper-amd64-ver-1-23-0:1', - }, - arm64: { - 'ap-northeast-1': 'arn:aws:lambda:ap-northeast-1:901920570463:layer:aws-otel-java-wrapper-arm64-ver-1-23-0:1', - 'ap-northeast-2': 'arn:aws:lambda:ap-northeast-2:901920570463:layer:aws-otel-java-wrapper-arm64-ver-1-23-0:1', - 'ap-south-1': 'arn:aws:lambda:ap-south-1:901920570463:layer:aws-otel-java-wrapper-arm64-ver-1-23-0:1', - 'ap-southeast-1': 'arn:aws:lambda:ap-southeast-1:901920570463:layer:aws-otel-java-wrapper-arm64-ver-1-23-0:1', - 'ap-southeast-2': 'arn:aws:lambda:ap-southeast-2:901920570463:layer:aws-otel-java-wrapper-arm64-ver-1-23-0:1', - 'ca-central-1': 'arn:aws:lambda:ca-central-1:901920570463:layer:aws-otel-java-wrapper-arm64-ver-1-23-0:1', - 'eu-central-1': 'arn:aws:lambda:eu-central-1:901920570463:layer:aws-otel-java-wrapper-arm64-ver-1-23-0:1', - 'eu-north-1': 'arn:aws:lambda:eu-north-1:901920570463:layer:aws-otel-java-wrapper-arm64-ver-1-23-0:1', - 'eu-west-1': 'arn:aws:lambda:eu-west-1:901920570463:layer:aws-otel-java-wrapper-arm64-ver-1-23-0:1', - 'eu-west-2': 'arn:aws:lambda:eu-west-2:901920570463:layer:aws-otel-java-wrapper-arm64-ver-1-23-0:1', - 'eu-west-3': 'arn:aws:lambda:eu-west-3:901920570463:layer:aws-otel-java-wrapper-arm64-ver-1-23-0:1', - 'sa-east-1': 'arn:aws:lambda:sa-east-1:901920570463:layer:aws-otel-java-wrapper-arm64-ver-1-23-0:1', - 'us-east-1': 'arn:aws:lambda:us-east-1:901920570463:layer:aws-otel-java-wrapper-arm64-ver-1-23-0:1', - 'us-east-2': 'arn:aws:lambda:us-east-2:901920570463:layer:aws-otel-java-wrapper-arm64-ver-1-23-0:1', - 'us-west-1': 'arn:aws:lambda:us-west-1:901920570463:layer:aws-otel-java-wrapper-arm64-ver-1-23-0:1', - 'us-west-2': 'arn:aws:lambda:us-west-2:901920570463:layer:aws-otel-java-wrapper-arm64-ver-1-23-0:1', - }, - }, - '1.21.1': { - x86_64: { - 'ap-northeast-1': 'arn:aws:lambda:ap-northeast-1:901920570463:layer:aws-otel-java-wrapper-amd64-ver-1-21-1:1', - 'ap-northeast-2': 'arn:aws:lambda:ap-northeast-2:901920570463:layer:aws-otel-java-wrapper-amd64-ver-1-21-1:1', - 'ap-south-1': 'arn:aws:lambda:ap-south-1:901920570463:layer:aws-otel-java-wrapper-amd64-ver-1-21-1:1', - 'ap-southeast-1': 'arn:aws:lambda:ap-southeast-1:901920570463:layer:aws-otel-java-wrapper-amd64-ver-1-21-1:1', - 'ap-southeast-2': 'arn:aws:lambda:ap-southeast-2:901920570463:layer:aws-otel-java-wrapper-amd64-ver-1-21-1:1', - 'ca-central-1': 'arn:aws:lambda:ca-central-1:901920570463:layer:aws-otel-java-wrapper-amd64-ver-1-21-1:1', - 'eu-central-1': 'arn:aws:lambda:eu-central-1:901920570463:layer:aws-otel-java-wrapper-amd64-ver-1-21-1:1', - 'eu-north-1': 'arn:aws:lambda:eu-north-1:901920570463:layer:aws-otel-java-wrapper-amd64-ver-1-21-1:1', - 'eu-west-1': 'arn:aws:lambda:eu-west-1:901920570463:layer:aws-otel-java-wrapper-amd64-ver-1-21-1:1', - 'eu-west-2': 'arn:aws:lambda:eu-west-2:901920570463:layer:aws-otel-java-wrapper-amd64-ver-1-21-1:1', - 'eu-west-3': 'arn:aws:lambda:eu-west-3:901920570463:layer:aws-otel-java-wrapper-amd64-ver-1-21-1:1', - 'sa-east-1': 'arn:aws:lambda:sa-east-1:901920570463:layer:aws-otel-java-wrapper-amd64-ver-1-21-1:1', - 'us-east-1': 'arn:aws:lambda:us-east-1:901920570463:layer:aws-otel-java-wrapper-amd64-ver-1-21-1:1', - 'us-east-2': 'arn:aws:lambda:us-east-2:901920570463:layer:aws-otel-java-wrapper-amd64-ver-1-21-1:1', - 'us-west-1': 'arn:aws:lambda:us-west-1:901920570463:layer:aws-otel-java-wrapper-amd64-ver-1-21-1:1', - 'us-west-2': 'arn:aws:lambda:us-west-2:901920570463:layer:aws-otel-java-wrapper-amd64-ver-1-21-1:1', - }, - arm64: { - 'ap-northeast-1': 'arn:aws:lambda:ap-northeast-1:901920570463:layer:aws-otel-java-wrapper-arm64-ver-1-21-1:1', - 'ap-northeast-2': 'arn:aws:lambda:ap-northeast-2:901920570463:layer:aws-otel-java-wrapper-arm64-ver-1-21-1:1', - 'ap-south-1': 'arn:aws:lambda:ap-south-1:901920570463:layer:aws-otel-java-wrapper-arm64-ver-1-21-1:1', - 'ap-southeast-1': 'arn:aws:lambda:ap-southeast-1:901920570463:layer:aws-otel-java-wrapper-arm64-ver-1-21-1:1', - 'ap-southeast-2': 'arn:aws:lambda:ap-southeast-2:901920570463:layer:aws-otel-java-wrapper-arm64-ver-1-21-1:1', - 'ca-central-1': 'arn:aws:lambda:ca-central-1:901920570463:layer:aws-otel-java-wrapper-arm64-ver-1-21-1:1', - 'eu-central-1': 'arn:aws:lambda:eu-central-1:901920570463:layer:aws-otel-java-wrapper-arm64-ver-1-21-1:1', - 'eu-north-1': 'arn:aws:lambda:eu-north-1:901920570463:layer:aws-otel-java-wrapper-arm64-ver-1-21-1:1', - 'eu-west-1': 'arn:aws:lambda:eu-west-1:901920570463:layer:aws-otel-java-wrapper-arm64-ver-1-21-1:1', - 'eu-west-2': 'arn:aws:lambda:eu-west-2:901920570463:layer:aws-otel-java-wrapper-arm64-ver-1-21-1:1', - 'eu-west-3': 'arn:aws:lambda:eu-west-3:901920570463:layer:aws-otel-java-wrapper-arm64-ver-1-21-1:1', - 'sa-east-1': 'arn:aws:lambda:sa-east-1:901920570463:layer:aws-otel-java-wrapper-arm64-ver-1-21-1:1', - 'us-east-1': 'arn:aws:lambda:us-east-1:901920570463:layer:aws-otel-java-wrapper-arm64-ver-1-21-1:1', - 'us-east-2': 'arn:aws:lambda:us-east-2:901920570463:layer:aws-otel-java-wrapper-arm64-ver-1-21-1:1', - 'us-west-1': 'arn:aws:lambda:us-west-1:901920570463:layer:aws-otel-java-wrapper-arm64-ver-1-21-1:1', - 'us-west-2': 'arn:aws:lambda:us-west-2:901920570463:layer:aws-otel-java-wrapper-arm64-ver-1-21-1:1', - }, - }, - '1.21.0': { - x86_64: { - 'ap-northeast-1': 'arn:aws:lambda:ap-northeast-1:901920570463:layer:aws-otel-java-wrapper-amd64-ver-1-21-0:1', - 'ap-northeast-2': 'arn:aws:lambda:ap-northeast-2:901920570463:layer:aws-otel-java-wrapper-amd64-ver-1-21-0:1', - 'ap-south-1': 'arn:aws:lambda:ap-south-1:901920570463:layer:aws-otel-java-wrapper-amd64-ver-1-21-0:1', - 'ap-southeast-1': 'arn:aws:lambda:ap-southeast-1:901920570463:layer:aws-otel-java-wrapper-amd64-ver-1-21-0:1', - 'ap-southeast-2': 'arn:aws:lambda:ap-southeast-2:901920570463:layer:aws-otel-java-wrapper-amd64-ver-1-21-0:1', - 'ca-central-1': 'arn:aws:lambda:ca-central-1:901920570463:layer:aws-otel-java-wrapper-amd64-ver-1-21-0:1', - 'eu-central-1': 'arn:aws:lambda:eu-central-1:901920570463:layer:aws-otel-java-wrapper-amd64-ver-1-21-0:1', - 'eu-north-1': 'arn:aws:lambda:eu-north-1:901920570463:layer:aws-otel-java-wrapper-amd64-ver-1-21-0:1', - 'eu-west-1': 'arn:aws:lambda:eu-west-1:901920570463:layer:aws-otel-java-wrapper-amd64-ver-1-21-0:1', - 'eu-west-2': 'arn:aws:lambda:eu-west-2:901920570463:layer:aws-otel-java-wrapper-amd64-ver-1-21-0:1', - 'eu-west-3': 'arn:aws:lambda:eu-west-3:901920570463:layer:aws-otel-java-wrapper-amd64-ver-1-21-0:1', - 'sa-east-1': 'arn:aws:lambda:sa-east-1:901920570463:layer:aws-otel-java-wrapper-amd64-ver-1-21-0:1', - 'us-east-1': 'arn:aws:lambda:us-east-1:901920570463:layer:aws-otel-java-wrapper-amd64-ver-1-21-0:1', - 'us-east-2': 'arn:aws:lambda:us-east-2:901920570463:layer:aws-otel-java-wrapper-amd64-ver-1-21-0:1', - 'us-west-1': 'arn:aws:lambda:us-west-1:901920570463:layer:aws-otel-java-wrapper-amd64-ver-1-21-0:1', - 'us-west-2': 'arn:aws:lambda:us-west-2:901920570463:layer:aws-otel-java-wrapper-amd64-ver-1-21-0:1', - }, - arm64: { - 'ap-northeast-1': 'arn:aws:lambda:ap-northeast-1:901920570463:layer:aws-otel-java-wrapper-arm64-ver-1-21-0:1', - 'ap-northeast-2': 'arn:aws:lambda:ap-northeast-2:901920570463:layer:aws-otel-java-wrapper-arm64-ver-1-21-0:1', - 'ap-south-1': 'arn:aws:lambda:ap-south-1:901920570463:layer:aws-otel-java-wrapper-arm64-ver-1-21-0:1', - 'ap-southeast-1': 'arn:aws:lambda:ap-southeast-1:901920570463:layer:aws-otel-java-wrapper-arm64-ver-1-21-0:1', - 'ap-southeast-2': 'arn:aws:lambda:ap-southeast-2:901920570463:layer:aws-otel-java-wrapper-arm64-ver-1-21-0:1', - 'ca-central-1': 'arn:aws:lambda:ca-central-1:901920570463:layer:aws-otel-java-wrapper-arm64-ver-1-21-0:1', - 'eu-central-1': 'arn:aws:lambda:eu-central-1:901920570463:layer:aws-otel-java-wrapper-arm64-ver-1-21-0:1', - 'eu-north-1': 'arn:aws:lambda:eu-north-1:901920570463:layer:aws-otel-java-wrapper-arm64-ver-1-21-0:1', - 'eu-west-1': 'arn:aws:lambda:eu-west-1:901920570463:layer:aws-otel-java-wrapper-arm64-ver-1-21-0:1', - 'eu-west-2': 'arn:aws:lambda:eu-west-2:901920570463:layer:aws-otel-java-wrapper-arm64-ver-1-21-0:1', - 'eu-west-3': 'arn:aws:lambda:eu-west-3:901920570463:layer:aws-otel-java-wrapper-arm64-ver-1-21-0:1', - 'sa-east-1': 'arn:aws:lambda:sa-east-1:901920570463:layer:aws-otel-java-wrapper-arm64-ver-1-21-0:1', - 'us-east-1': 'arn:aws:lambda:us-east-1:901920570463:layer:aws-otel-java-wrapper-arm64-ver-1-21-0:1', - 'us-east-2': 'arn:aws:lambda:us-east-2:901920570463:layer:aws-otel-java-wrapper-arm64-ver-1-21-0:1', - 'us-west-1': 'arn:aws:lambda:us-west-1:901920570463:layer:aws-otel-java-wrapper-arm64-ver-1-21-0:1', - 'us-west-2': 'arn:aws:lambda:us-west-2:901920570463:layer:aws-otel-java-wrapper-arm64-ver-1-21-0:1', - }, - }, - '1.19.0': { - x86_64: { - 'ap-northeast-1': 'arn:aws:lambda:ap-northeast-1:901920570463:layer:aws-otel-java-wrapper-amd64-ver-1-19-0:1', - 'ap-northeast-2': 'arn:aws:lambda:ap-northeast-2:901920570463:layer:aws-otel-java-wrapper-amd64-ver-1-19-0:1', - 'ap-south-1': 'arn:aws:lambda:ap-south-1:901920570463:layer:aws-otel-java-wrapper-amd64-ver-1-19-0:1', - 'ap-southeast-1': 'arn:aws:lambda:ap-southeast-1:901920570463:layer:aws-otel-java-wrapper-amd64-ver-1-19-0:1', - 'ap-southeast-2': 'arn:aws:lambda:ap-southeast-2:901920570463:layer:aws-otel-java-wrapper-amd64-ver-1-19-0:1', - 'ca-central-1': 'arn:aws:lambda:ca-central-1:901920570463:layer:aws-otel-java-wrapper-amd64-ver-1-19-0:1', - 'eu-central-1': 'arn:aws:lambda:eu-central-1:901920570463:layer:aws-otel-java-wrapper-amd64-ver-1-19-0:1', - 'eu-north-1': 'arn:aws:lambda:eu-north-1:901920570463:layer:aws-otel-java-wrapper-amd64-ver-1-19-0:1', - 'eu-west-1': 'arn:aws:lambda:eu-west-1:901920570463:layer:aws-otel-java-wrapper-amd64-ver-1-19-0:1', - 'eu-west-2': 'arn:aws:lambda:eu-west-2:901920570463:layer:aws-otel-java-wrapper-amd64-ver-1-19-0:1', - 'eu-west-3': 'arn:aws:lambda:eu-west-3:901920570463:layer:aws-otel-java-wrapper-amd64-ver-1-19-0:1', - 'sa-east-1': 'arn:aws:lambda:sa-east-1:901920570463:layer:aws-otel-java-wrapper-amd64-ver-1-19-0:1', - 'us-east-1': 'arn:aws:lambda:us-east-1:901920570463:layer:aws-otel-java-wrapper-amd64-ver-1-19-0:1', - 'us-east-2': 'arn:aws:lambda:us-east-2:901920570463:layer:aws-otel-java-wrapper-amd64-ver-1-19-0:1', - 'us-west-1': 'arn:aws:lambda:us-west-1:901920570463:layer:aws-otel-java-wrapper-amd64-ver-1-19-0:1', - 'us-west-2': 'arn:aws:lambda:us-west-2:901920570463:layer:aws-otel-java-wrapper-amd64-ver-1-19-0:1', - }, - arm64: { - 'ap-northeast-1': 'arn:aws:lambda:ap-northeast-1:901920570463:layer:aws-otel-java-wrapper-arm64-ver-1-19-0:1', - 'ap-northeast-2': 'arn:aws:lambda:ap-northeast-2:901920570463:layer:aws-otel-java-wrapper-arm64-ver-1-19-0:1', - 'ap-south-1': 'arn:aws:lambda:ap-south-1:901920570463:layer:aws-otel-java-wrapper-arm64-ver-1-19-0:1', - 'ap-southeast-1': 'arn:aws:lambda:ap-southeast-1:901920570463:layer:aws-otel-java-wrapper-arm64-ver-1-19-0:1', - 'ap-southeast-2': 'arn:aws:lambda:ap-southeast-2:901920570463:layer:aws-otel-java-wrapper-arm64-ver-1-19-0:1', - 'ca-central-1': 'arn:aws:lambda:ca-central-1:901920570463:layer:aws-otel-java-wrapper-arm64-ver-1-19-0:2', - 'eu-central-1': 'arn:aws:lambda:eu-central-1:901920570463:layer:aws-otel-java-wrapper-arm64-ver-1-19-0:1', - 'eu-north-1': 'arn:aws:lambda:eu-north-1:901920570463:layer:aws-otel-java-wrapper-arm64-ver-1-19-0:1', - 'eu-west-1': 'arn:aws:lambda:eu-west-1:901920570463:layer:aws-otel-java-wrapper-arm64-ver-1-19-0:1', - 'eu-west-2': 'arn:aws:lambda:eu-west-2:901920570463:layer:aws-otel-java-wrapper-arm64-ver-1-19-0:1', - 'eu-west-3': 'arn:aws:lambda:eu-west-3:901920570463:layer:aws-otel-java-wrapper-arm64-ver-1-19-0:1', - 'sa-east-1': 'arn:aws:lambda:sa-east-1:901920570463:layer:aws-otel-java-wrapper-arm64-ver-1-19-0:1', - 'us-east-1': 'arn:aws:lambda:us-east-1:901920570463:layer:aws-otel-java-wrapper-arm64-ver-1-19-0:1', - 'us-east-2': 'arn:aws:lambda:us-east-2:901920570463:layer:aws-otel-java-wrapper-arm64-ver-1-19-0:1', - 'us-west-1': 'arn:aws:lambda:us-west-1:901920570463:layer:aws-otel-java-wrapper-arm64-ver-1-19-0:1', - 'us-west-2': 'arn:aws:lambda:us-west-2:901920570463:layer:aws-otel-java-wrapper-arm64-ver-1-19-0:1', - }, - }, -}; - -const ADOT_LAMBDA_LAYER_JAVA_AUTO_INSTRUMENTATION_ARNS: { - [version: string]: { [arch: string]: { [region: string]: string } }; -} = { - '1.23.0': { - x86_64: { - 'ap-northeast-1': 'arn:aws:lambda:ap-northeast-1:901920570463:layer:aws-otel-java-agent-amd64-ver-1-23-0:1', - 'ap-northeast-2': 'arn:aws:lambda:ap-northeast-2:901920570463:layer:aws-otel-java-agent-amd64-ver-1-23-0:1', - 'ap-south-1': 'arn:aws:lambda:ap-south-1:901920570463:layer:aws-otel-java-agent-amd64-ver-1-23-0:1', - 'ap-southeast-1': 'arn:aws:lambda:ap-southeast-1:901920570463:layer:aws-otel-java-agent-amd64-ver-1-23-0:1', - 'ap-southeast-2': 'arn:aws:lambda:ap-southeast-2:901920570463:layer:aws-otel-java-agent-amd64-ver-1-23-0:1', - 'ca-central-1': 'arn:aws:lambda:ca-central-1:901920570463:layer:aws-otel-java-agent-amd64-ver-1-23-0:1', - 'eu-central-1': 'arn:aws:lambda:eu-central-1:901920570463:layer:aws-otel-java-agent-amd64-ver-1-23-0:1', - 'eu-north-1': 'arn:aws:lambda:eu-north-1:901920570463:layer:aws-otel-java-agent-amd64-ver-1-23-0:1', - 'eu-west-1': 'arn:aws:lambda:eu-west-1:901920570463:layer:aws-otel-java-agent-amd64-ver-1-23-0:1', - 'eu-west-2': 'arn:aws:lambda:eu-west-2:901920570463:layer:aws-otel-java-agent-amd64-ver-1-23-0:1', - 'eu-west-3': 'arn:aws:lambda:eu-west-3:901920570463:layer:aws-otel-java-agent-amd64-ver-1-23-0:1', - 'sa-east-1': 'arn:aws:lambda:sa-east-1:901920570463:layer:aws-otel-java-agent-amd64-ver-1-23-0:1', - 'us-east-1': 'arn:aws:lambda:us-east-1:901920570463:layer:aws-otel-java-agent-amd64-ver-1-23-0:1', - 'us-east-2': 'arn:aws:lambda:us-east-2:901920570463:layer:aws-otel-java-agent-amd64-ver-1-23-0:1', - 'us-west-1': 'arn:aws:lambda:us-west-1:901920570463:layer:aws-otel-java-agent-amd64-ver-1-23-0:1', - 'us-west-2': 'arn:aws:lambda:us-west-2:901920570463:layer:aws-otel-java-agent-amd64-ver-1-23-0:1', - }, - arm64: { - 'ap-northeast-1': 'arn:aws:lambda:ap-northeast-1:901920570463:layer:aws-otel-java-agent-arm64-ver-1-23-0:1', - 'ap-northeast-2': 'arn:aws:lambda:ap-northeast-2:901920570463:layer:aws-otel-java-agent-arm64-ver-1-23-0:1', - 'ap-south-1': 'arn:aws:lambda:ap-south-1:901920570463:layer:aws-otel-java-agent-arm64-ver-1-23-0:1', - 'ap-southeast-1': 'arn:aws:lambda:ap-southeast-1:901920570463:layer:aws-otel-java-agent-arm64-ver-1-23-0:1', - 'ap-southeast-2': 'arn:aws:lambda:ap-southeast-2:901920570463:layer:aws-otel-java-agent-arm64-ver-1-23-0:1', - 'ca-central-1': 'arn:aws:lambda:ca-central-1:901920570463:layer:aws-otel-java-agent-arm64-ver-1-23-0:1', - 'eu-central-1': 'arn:aws:lambda:eu-central-1:901920570463:layer:aws-otel-java-agent-arm64-ver-1-23-0:1', - 'eu-north-1': 'arn:aws:lambda:eu-north-1:901920570463:layer:aws-otel-java-agent-arm64-ver-1-23-0:1', - 'eu-west-1': 'arn:aws:lambda:eu-west-1:901920570463:layer:aws-otel-java-agent-arm64-ver-1-23-0:1', - 'eu-west-2': 'arn:aws:lambda:eu-west-2:901920570463:layer:aws-otel-java-agent-arm64-ver-1-23-0:1', - 'eu-west-3': 'arn:aws:lambda:eu-west-3:901920570463:layer:aws-otel-java-agent-arm64-ver-1-23-0:1', - 'sa-east-1': 'arn:aws:lambda:sa-east-1:901920570463:layer:aws-otel-java-agent-arm64-ver-1-23-0:1', - 'us-east-1': 'arn:aws:lambda:us-east-1:901920570463:layer:aws-otel-java-agent-arm64-ver-1-23-0:1', - 'us-east-2': 'arn:aws:lambda:us-east-2:901920570463:layer:aws-otel-java-agent-arm64-ver-1-23-0:1', - 'us-west-1': 'arn:aws:lambda:us-west-1:901920570463:layer:aws-otel-java-agent-arm64-ver-1-23-0:1', - 'us-west-2': 'arn:aws:lambda:us-west-2:901920570463:layer:aws-otel-java-agent-arm64-ver-1-23-0:1', - }, - }, - '1.21.1': { - x86_64: { - 'ap-northeast-1': 'arn:aws:lambda:ap-northeast-1:901920570463:layer:aws-otel-java-agent-amd64-ver-1-21-1:1', - 'ap-northeast-2': 'arn:aws:lambda:ap-northeast-2:901920570463:layer:aws-otel-java-agent-amd64-ver-1-21-1:1', - 'ap-south-1': 'arn:aws:lambda:ap-south-1:901920570463:layer:aws-otel-java-agent-amd64-ver-1-21-1:1', - 'ap-southeast-1': 'arn:aws:lambda:ap-southeast-1:901920570463:layer:aws-otel-java-agent-amd64-ver-1-21-1:1', - 'ap-southeast-2': 'arn:aws:lambda:ap-southeast-2:901920570463:layer:aws-otel-java-agent-amd64-ver-1-21-1:1', - 'ca-central-1': 'arn:aws:lambda:ca-central-1:901920570463:layer:aws-otel-java-agent-amd64-ver-1-21-1:1', - 'eu-central-1': 'arn:aws:lambda:eu-central-1:901920570463:layer:aws-otel-java-agent-amd64-ver-1-21-1:1', - 'eu-north-1': 'arn:aws:lambda:eu-north-1:901920570463:layer:aws-otel-java-agent-amd64-ver-1-21-1:1', - 'eu-west-1': 'arn:aws:lambda:eu-west-1:901920570463:layer:aws-otel-java-agent-amd64-ver-1-21-1:1', - 'eu-west-2': 'arn:aws:lambda:eu-west-2:901920570463:layer:aws-otel-java-agent-amd64-ver-1-21-1:1', - 'eu-west-3': 'arn:aws:lambda:eu-west-3:901920570463:layer:aws-otel-java-agent-amd64-ver-1-21-1:1', - 'sa-east-1': 'arn:aws:lambda:sa-east-1:901920570463:layer:aws-otel-java-agent-amd64-ver-1-21-1:1', - 'us-east-1': 'arn:aws:lambda:us-east-1:901920570463:layer:aws-otel-java-agent-amd64-ver-1-21-1:1', - 'us-east-2': 'arn:aws:lambda:us-east-2:901920570463:layer:aws-otel-java-agent-amd64-ver-1-21-1:1', - 'us-west-1': 'arn:aws:lambda:us-west-1:901920570463:layer:aws-otel-java-agent-amd64-ver-1-21-1:1', - 'us-west-2': 'arn:aws:lambda:us-west-2:901920570463:layer:aws-otel-java-agent-amd64-ver-1-21-1:1', - }, - arm64: { - 'ap-northeast-1': 'arn:aws:lambda:ap-northeast-1:901920570463:layer:aws-otel-java-agent-arm64-ver-1-21-1:1', - 'ap-northeast-2': 'arn:aws:lambda:ap-northeast-2:901920570463:layer:aws-otel-java-agent-arm64-ver-1-21-1:1', - 'ap-south-1': 'arn:aws:lambda:ap-south-1:901920570463:layer:aws-otel-java-agent-arm64-ver-1-21-1:1', - 'ap-southeast-1': 'arn:aws:lambda:ap-southeast-1:901920570463:layer:aws-otel-java-agent-arm64-ver-1-21-1:1', - 'ap-southeast-2': 'arn:aws:lambda:ap-southeast-2:901920570463:layer:aws-otel-java-agent-arm64-ver-1-21-1:1', - 'ca-central-1': 'arn:aws:lambda:ca-central-1:901920570463:layer:aws-otel-java-agent-arm64-ver-1-21-1:1', - 'eu-central-1': 'arn:aws:lambda:eu-central-1:901920570463:layer:aws-otel-java-agent-arm64-ver-1-21-1:1', - 'eu-north-1': 'arn:aws:lambda:eu-north-1:901920570463:layer:aws-otel-java-agent-arm64-ver-1-21-1:1', - 'eu-west-1': 'arn:aws:lambda:eu-west-1:901920570463:layer:aws-otel-java-agent-arm64-ver-1-21-1:1', - 'eu-west-2': 'arn:aws:lambda:eu-west-2:901920570463:layer:aws-otel-java-agent-arm64-ver-1-21-1:1', - 'eu-west-3': 'arn:aws:lambda:eu-west-3:901920570463:layer:aws-otel-java-agent-arm64-ver-1-21-1:1', - 'sa-east-1': 'arn:aws:lambda:sa-east-1:901920570463:layer:aws-otel-java-agent-arm64-ver-1-21-1:1', - 'us-east-1': 'arn:aws:lambda:us-east-1:901920570463:layer:aws-otel-java-agent-arm64-ver-1-21-1:1', - 'us-east-2': 'arn:aws:lambda:us-east-2:901920570463:layer:aws-otel-java-agent-arm64-ver-1-21-1:1', - 'us-west-1': 'arn:aws:lambda:us-west-1:901920570463:layer:aws-otel-java-agent-arm64-ver-1-21-1:1', - 'us-west-2': 'arn:aws:lambda:us-west-2:901920570463:layer:aws-otel-java-agent-arm64-ver-1-21-1:1', - }, - }, - '1.21.0': { - x86_64: { - 'ap-northeast-1': 'arn:aws:lambda:ap-northeast-1:901920570463:layer:aws-otel-java-agent-amd64-ver-1-21-0:1', - 'ap-northeast-2': 'arn:aws:lambda:ap-northeast-2:901920570463:layer:aws-otel-java-agent-amd64-ver-1-21-0:1', - 'ap-south-1': 'arn:aws:lambda:ap-south-1:901920570463:layer:aws-otel-java-agent-amd64-ver-1-21-0:1', - 'ap-southeast-1': 'arn:aws:lambda:ap-southeast-1:901920570463:layer:aws-otel-java-agent-amd64-ver-1-21-0:1', - 'ap-southeast-2': 'arn:aws:lambda:ap-southeast-2:901920570463:layer:aws-otel-java-agent-amd64-ver-1-21-0:1', - 'ca-central-1': 'arn:aws:lambda:ca-central-1:901920570463:layer:aws-otel-java-agent-amd64-ver-1-21-0:1', - 'eu-central-1': 'arn:aws:lambda:eu-central-1:901920570463:layer:aws-otel-java-agent-amd64-ver-1-21-0:1', - 'eu-north-1': 'arn:aws:lambda:eu-north-1:901920570463:layer:aws-otel-java-agent-amd64-ver-1-21-0:1', - 'eu-west-1': 'arn:aws:lambda:eu-west-1:901920570463:layer:aws-otel-java-agent-amd64-ver-1-21-0:1', - 'eu-west-2': 'arn:aws:lambda:eu-west-2:901920570463:layer:aws-otel-java-agent-amd64-ver-1-21-0:1', - 'eu-west-3': 'arn:aws:lambda:eu-west-3:901920570463:layer:aws-otel-java-agent-amd64-ver-1-21-0:1', - 'sa-east-1': 'arn:aws:lambda:sa-east-1:901920570463:layer:aws-otel-java-agent-amd64-ver-1-21-0:1', - 'us-east-1': 'arn:aws:lambda:us-east-1:901920570463:layer:aws-otel-java-agent-amd64-ver-1-21-0:1', - 'us-east-2': 'arn:aws:lambda:us-east-2:901920570463:layer:aws-otel-java-agent-amd64-ver-1-21-0:1', - 'us-west-1': 'arn:aws:lambda:us-west-1:901920570463:layer:aws-otel-java-agent-amd64-ver-1-21-0:1', - 'us-west-2': 'arn:aws:lambda:us-west-2:901920570463:layer:aws-otel-java-agent-amd64-ver-1-21-0:1', - }, - arm64: { - 'ap-northeast-1': 'arn:aws:lambda:ap-northeast-1:901920570463:layer:aws-otel-java-agent-arm64-ver-1-21-0:1', - 'ap-northeast-2': 'arn:aws:lambda:ap-northeast-2:901920570463:layer:aws-otel-java-agent-arm64-ver-1-21-0:1', - 'ap-south-1': 'arn:aws:lambda:ap-south-1:901920570463:layer:aws-otel-java-agent-arm64-ver-1-21-0:1', - 'ap-southeast-1': 'arn:aws:lambda:ap-southeast-1:901920570463:layer:aws-otel-java-agent-arm64-ver-1-21-0:1', - 'ap-southeast-2': 'arn:aws:lambda:ap-southeast-2:901920570463:layer:aws-otel-java-agent-arm64-ver-1-21-0:1', - 'ca-central-1': 'arn:aws:lambda:ca-central-1:901920570463:layer:aws-otel-java-agent-arm64-ver-1-21-0:1', - 'eu-central-1': 'arn:aws:lambda:eu-central-1:901920570463:layer:aws-otel-java-agent-arm64-ver-1-21-0:1', - 'eu-north-1': 'arn:aws:lambda:eu-north-1:901920570463:layer:aws-otel-java-agent-arm64-ver-1-21-0:1', - 'eu-west-1': 'arn:aws:lambda:eu-west-1:901920570463:layer:aws-otel-java-agent-arm64-ver-1-21-0:1', - 'eu-west-2': 'arn:aws:lambda:eu-west-2:901920570463:layer:aws-otel-java-agent-arm64-ver-1-21-0:1', - 'eu-west-3': 'arn:aws:lambda:eu-west-3:901920570463:layer:aws-otel-java-agent-arm64-ver-1-21-0:1', - 'sa-east-1': 'arn:aws:lambda:sa-east-1:901920570463:layer:aws-otel-java-agent-arm64-ver-1-21-0:1', - 'us-east-1': 'arn:aws:lambda:us-east-1:901920570463:layer:aws-otel-java-agent-arm64-ver-1-21-0:1', - 'us-east-2': 'arn:aws:lambda:us-east-2:901920570463:layer:aws-otel-java-agent-arm64-ver-1-21-0:1', - 'us-west-1': 'arn:aws:lambda:us-west-1:901920570463:layer:aws-otel-java-agent-arm64-ver-1-21-0:1', - 'us-west-2': 'arn:aws:lambda:us-west-2:901920570463:layer:aws-otel-java-agent-arm64-ver-1-21-0:1', - }, - }, - '1.19.2': { - x86_64: { - 'ap-northeast-1': 'arn:aws:lambda:ap-northeast-1:901920570463:layer:aws-otel-java-agent-amd64-ver-1-19-2:1', - 'ap-northeast-2': 'arn:aws:lambda:ap-northeast-2:901920570463:layer:aws-otel-java-agent-amd64-ver-1-19-2:1', - 'ap-south-1': 'arn:aws:lambda:ap-south-1:901920570463:layer:aws-otel-java-agent-amd64-ver-1-19-2:1', - 'ap-southeast-1': 'arn:aws:lambda:ap-southeast-1:901920570463:layer:aws-otel-java-agent-amd64-ver-1-19-2:1', - 'ap-southeast-2': 'arn:aws:lambda:ap-southeast-2:901920570463:layer:aws-otel-java-agent-amd64-ver-1-19-2:1', - 'ca-central-1': 'arn:aws:lambda:ca-central-1:901920570463:layer:aws-otel-java-agent-amd64-ver-1-19-2:1', - 'eu-central-1': 'arn:aws:lambda:eu-central-1:901920570463:layer:aws-otel-java-agent-amd64-ver-1-19-2:1', - 'eu-north-1': 'arn:aws:lambda:eu-north-1:901920570463:layer:aws-otel-java-agent-amd64-ver-1-19-2:1', - 'eu-west-1': 'arn:aws:lambda:eu-west-1:901920570463:layer:aws-otel-java-agent-amd64-ver-1-19-2:1', - 'eu-west-2': 'arn:aws:lambda:eu-west-2:901920570463:layer:aws-otel-java-agent-amd64-ver-1-19-2:1', - 'eu-west-3': 'arn:aws:lambda:eu-west-3:901920570463:layer:aws-otel-java-agent-amd64-ver-1-19-2:1', - 'sa-east-1': 'arn:aws:lambda:sa-east-1:901920570463:layer:aws-otel-java-agent-amd64-ver-1-19-2:1', - 'us-east-1': 'arn:aws:lambda:us-east-1:901920570463:layer:aws-otel-java-agent-amd64-ver-1-19-2:1', - 'us-east-2': 'arn:aws:lambda:us-east-2:901920570463:layer:aws-otel-java-agent-amd64-ver-1-19-2:1', - 'us-west-1': 'arn:aws:lambda:us-west-1:901920570463:layer:aws-otel-java-agent-amd64-ver-1-19-2:1', - 'us-west-2': 'arn:aws:lambda:us-west-2:901920570463:layer:aws-otel-java-agent-amd64-ver-1-19-2:1', - }, - arm64: { - 'ap-northeast-1': 'arn:aws:lambda:ap-northeast-1:901920570463:layer:aws-otel-java-agent-arm64-ver-1-19-2:1', - 'ap-northeast-2': 'arn:aws:lambda:ap-northeast-2:901920570463:layer:aws-otel-java-agent-arm64-ver-1-19-2:1', - 'ap-south-1': 'arn:aws:lambda:ap-south-1:901920570463:layer:aws-otel-java-agent-arm64-ver-1-19-2:1', - 'ap-southeast-1': 'arn:aws:lambda:ap-southeast-1:901920570463:layer:aws-otel-java-agent-arm64-ver-1-19-2:1', - 'ap-southeast-2': 'arn:aws:lambda:ap-southeast-2:901920570463:layer:aws-otel-java-agent-arm64-ver-1-19-2:1', - 'ca-central-1': 'arn:aws:lambda:ca-central-1:901920570463:layer:aws-otel-java-agent-arm64-ver-1-19-2:1', - 'eu-central-1': 'arn:aws:lambda:eu-central-1:901920570463:layer:aws-otel-java-agent-arm64-ver-1-19-2:1', - 'eu-north-1': 'arn:aws:lambda:eu-north-1:901920570463:layer:aws-otel-java-agent-arm64-ver-1-19-2:1', - 'eu-west-1': 'arn:aws:lambda:eu-west-1:901920570463:layer:aws-otel-java-agent-arm64-ver-1-19-2:1', - 'eu-west-2': 'arn:aws:lambda:eu-west-2:901920570463:layer:aws-otel-java-agent-arm64-ver-1-19-2:1', - 'eu-west-3': 'arn:aws:lambda:eu-west-3:901920570463:layer:aws-otel-java-agent-arm64-ver-1-19-2:1', - 'sa-east-1': 'arn:aws:lambda:sa-east-1:901920570463:layer:aws-otel-java-agent-arm64-ver-1-19-2:1', - 'us-east-1': 'arn:aws:lambda:us-east-1:901920570463:layer:aws-otel-java-agent-arm64-ver-1-19-2:1', - 'us-east-2': 'arn:aws:lambda:us-east-2:901920570463:layer:aws-otel-java-agent-arm64-ver-1-19-2:1', - 'us-west-1': 'arn:aws:lambda:us-west-1:901920570463:layer:aws-otel-java-agent-arm64-ver-1-19-2:1', - 'us-west-2': 'arn:aws:lambda:us-west-2:901920570463:layer:aws-otel-java-agent-arm64-ver-1-19-2:1', - }, - }, -}; - -const ADOT_LAMBDA_LAYER_JAVASCRIPT_SDK_ARNS: { [version: string]: { [arch: string]: { [region: string]: string } } } = { - '1.9.1': { - x86_64: { - 'ap-northeast-1': 'arn:aws:lambda:ap-northeast-1:901920570463:layer:aws-otel-nodejs-amd64-ver-1-9-1:2', - 'ap-northeast-2': 'arn:aws:lambda:ap-northeast-2:901920570463:layer:aws-otel-nodejs-amd64-ver-1-9-1:2', - 'ap-south-1': 'arn:aws:lambda:ap-south-1:901920570463:layer:aws-otel-nodejs-amd64-ver-1-9-1:2', - 'ap-southeast-1': 'arn:aws:lambda:ap-southeast-1:901920570463:layer:aws-otel-nodejs-amd64-ver-1-9-1:2', - 'ap-southeast-2': 'arn:aws:lambda:ap-southeast-2:901920570463:layer:aws-otel-nodejs-amd64-ver-1-9-1:2', - 'ca-central-1': 'arn:aws:lambda:ca-central-1:901920570463:layer:aws-otel-nodejs-amd64-ver-1-9-1:2', - 'eu-central-1': 'arn:aws:lambda:eu-central-1:901920570463:layer:aws-otel-nodejs-amd64-ver-1-9-1:2', - 'eu-north-1': 'arn:aws:lambda:eu-north-1:901920570463:layer:aws-otel-nodejs-amd64-ver-1-9-1:2', - 'eu-west-1': 'arn:aws:lambda:eu-west-1:901920570463:layer:aws-otel-nodejs-amd64-ver-1-9-1:2', - 'eu-west-2': 'arn:aws:lambda:eu-west-2:901920570463:layer:aws-otel-nodejs-amd64-ver-1-9-1:2', - 'eu-west-3': 'arn:aws:lambda:eu-west-3:901920570463:layer:aws-otel-nodejs-amd64-ver-1-9-1:2', - 'sa-east-1': 'arn:aws:lambda:sa-east-1:901920570463:layer:aws-otel-nodejs-amd64-ver-1-9-1:2', - 'us-east-1': 'arn:aws:lambda:us-east-1:901920570463:layer:aws-otel-nodejs-amd64-ver-1-9-1:2', - 'us-east-2': 'arn:aws:lambda:us-east-2:901920570463:layer:aws-otel-nodejs-amd64-ver-1-9-1:2', - 'us-west-1': 'arn:aws:lambda:us-west-1:901920570463:layer:aws-otel-nodejs-amd64-ver-1-9-1:2', - 'us-west-2': 'arn:aws:lambda:us-west-2:901920570463:layer:aws-otel-nodejs-amd64-ver-1-9-1:2', - }, - arm64: { - 'ap-northeast-1': 'arn:aws:lambda:ap-northeast-1:901920570463:layer:aws-otel-nodejs-arm64-ver-1-9-1:2', - 'ap-northeast-2': 'arn:aws:lambda:ap-northeast-2:901920570463:layer:aws-otel-nodejs-arm64-ver-1-9-1:2', - 'ap-south-1': 'arn:aws:lambda:ap-south-1:901920570463:layer:aws-otel-nodejs-arm64-ver-1-9-1:2', - 'ap-southeast-1': 'arn:aws:lambda:ap-southeast-1:901920570463:layer:aws-otel-nodejs-arm64-ver-1-9-1:2', - 'ap-southeast-2': 'arn:aws:lambda:ap-southeast-2:901920570463:layer:aws-otel-nodejs-arm64-ver-1-9-1:2', - 'ca-central-1': 'arn:aws:lambda:ca-central-1:901920570463:layer:aws-otel-nodejs-arm64-ver-1-9-1:2', - 'eu-central-1': 'arn:aws:lambda:eu-central-1:901920570463:layer:aws-otel-nodejs-arm64-ver-1-9-1:2', - 'eu-north-1': 'arn:aws:lambda:eu-north-1:901920570463:layer:aws-otel-nodejs-arm64-ver-1-9-1:2', - 'eu-west-1': 'arn:aws:lambda:eu-west-1:901920570463:layer:aws-otel-nodejs-arm64-ver-1-9-1:2', - 'eu-west-2': 'arn:aws:lambda:eu-west-2:901920570463:layer:aws-otel-nodejs-arm64-ver-1-9-1:2', - 'eu-west-3': 'arn:aws:lambda:eu-west-3:901920570463:layer:aws-otel-nodejs-arm64-ver-1-9-1:2', - 'sa-east-1': 'arn:aws:lambda:sa-east-1:901920570463:layer:aws-otel-nodejs-arm64-ver-1-9-1:2', - 'us-east-1': 'arn:aws:lambda:us-east-1:901920570463:layer:aws-otel-nodejs-arm64-ver-1-9-1:2', - 'us-east-2': 'arn:aws:lambda:us-east-2:901920570463:layer:aws-otel-nodejs-arm64-ver-1-9-1:2', - 'us-west-1': 'arn:aws:lambda:us-west-1:901920570463:layer:aws-otel-nodejs-arm64-ver-1-9-1:2', - 'us-west-2': 'arn:aws:lambda:us-west-2:901920570463:layer:aws-otel-nodejs-arm64-ver-1-9-1:2', - }, - }, - '1.8.0': { - x86_64: { - 'ap-northeast-1': 'arn:aws:lambda:ap-northeast-1:901920570463:layer:aws-otel-nodejs-amd64-ver-1-8-0:2', - 'ap-northeast-2': 'arn:aws:lambda:ap-northeast-2:901920570463:layer:aws-otel-nodejs-amd64-ver-1-8-0:2', - 'ap-south-1': 'arn:aws:lambda:ap-south-1:901920570463:layer:aws-otel-nodejs-amd64-ver-1-8-0:2', - 'ap-southeast-1': 'arn:aws:lambda:ap-southeast-1:901920570463:layer:aws-otel-nodejs-amd64-ver-1-8-0:2', - 'ap-southeast-2': 'arn:aws:lambda:ap-southeast-2:901920570463:layer:aws-otel-nodejs-amd64-ver-1-8-0:2', - 'ca-central-1': 'arn:aws:lambda:ca-central-1:901920570463:layer:aws-otel-nodejs-amd64-ver-1-8-0:2', - 'eu-central-1': 'arn:aws:lambda:eu-central-1:901920570463:layer:aws-otel-nodejs-amd64-ver-1-8-0:2', - 'eu-north-1': 'arn:aws:lambda:eu-north-1:901920570463:layer:aws-otel-nodejs-amd64-ver-1-8-0:2', - 'eu-west-1': 'arn:aws:lambda:eu-west-1:901920570463:layer:aws-otel-nodejs-amd64-ver-1-8-0:2', - 'eu-west-2': 'arn:aws:lambda:eu-west-2:901920570463:layer:aws-otel-nodejs-amd64-ver-1-8-0:2', - 'eu-west-3': 'arn:aws:lambda:eu-west-3:901920570463:layer:aws-otel-nodejs-amd64-ver-1-8-0:2', - 'sa-east-1': 'arn:aws:lambda:sa-east-1:901920570463:layer:aws-otel-nodejs-amd64-ver-1-8-0:2', - 'us-east-1': 'arn:aws:lambda:us-east-1:901920570463:layer:aws-otel-nodejs-amd64-ver-1-8-0:2', - 'us-east-2': 'arn:aws:lambda:us-east-2:901920570463:layer:aws-otel-nodejs-amd64-ver-1-8-0:2', - 'us-west-1': 'arn:aws:lambda:us-west-1:901920570463:layer:aws-otel-nodejs-amd64-ver-1-8-0:2', - 'us-west-2': 'arn:aws:lambda:us-west-2:901920570463:layer:aws-otel-nodejs-amd64-ver-1-8-0:2', - }, - arm64: { - 'ap-northeast-1': 'arn:aws:lambda:ap-northeast-1:901920570463:layer:aws-otel-nodejs-arm64-ver-1-8-0:2', - 'ap-northeast-2': 'arn:aws:lambda:ap-northeast-2:901920570463:layer:aws-otel-nodejs-arm64-ver-1-8-0:2', - 'ap-south-1': 'arn:aws:lambda:ap-south-1:901920570463:layer:aws-otel-nodejs-arm64-ver-1-8-0:2', - 'ap-southeast-1': 'arn:aws:lambda:ap-southeast-1:901920570463:layer:aws-otel-nodejs-arm64-ver-1-8-0:2', - 'ap-southeast-2': 'arn:aws:lambda:ap-southeast-2:901920570463:layer:aws-otel-nodejs-arm64-ver-1-8-0:2', - 'ca-central-1': 'arn:aws:lambda:ca-central-1:901920570463:layer:aws-otel-nodejs-arm64-ver-1-8-0:2', - 'eu-central-1': 'arn:aws:lambda:eu-central-1:901920570463:layer:aws-otel-nodejs-arm64-ver-1-8-0:2', - 'eu-north-1': 'arn:aws:lambda:eu-north-1:901920570463:layer:aws-otel-nodejs-arm64-ver-1-8-0:2', - 'eu-west-1': 'arn:aws:lambda:eu-west-1:901920570463:layer:aws-otel-nodejs-arm64-ver-1-8-0:2', - 'eu-west-2': 'arn:aws:lambda:eu-west-2:901920570463:layer:aws-otel-nodejs-arm64-ver-1-8-0:2', - 'eu-west-3': 'arn:aws:lambda:eu-west-3:901920570463:layer:aws-otel-nodejs-arm64-ver-1-8-0:2', - 'sa-east-1': 'arn:aws:lambda:sa-east-1:901920570463:layer:aws-otel-nodejs-arm64-ver-1-8-0:2', - 'us-east-1': 'arn:aws:lambda:us-east-1:901920570463:layer:aws-otel-nodejs-arm64-ver-1-8-0:2', - 'us-east-2': 'arn:aws:lambda:us-east-2:901920570463:layer:aws-otel-nodejs-arm64-ver-1-8-0:2', - 'us-west-1': 'arn:aws:lambda:us-west-1:901920570463:layer:aws-otel-nodejs-arm64-ver-1-8-0:2', - 'us-west-2': 'arn:aws:lambda:us-west-2:901920570463:layer:aws-otel-nodejs-arm64-ver-1-8-0:2', - }, - }, - '1.7.0': { - x86_64: { - 'ap-northeast-1': 'arn:aws:lambda:ap-northeast-1:901920570463:layer:aws-otel-nodejs-amd64-ver-1-7-0:2', - 'ap-northeast-2': 'arn:aws:lambda:ap-northeast-2:901920570463:layer:aws-otel-nodejs-amd64-ver-1-7-0:2', - 'ap-south-1': 'arn:aws:lambda:ap-south-1:901920570463:layer:aws-otel-nodejs-amd64-ver-1-7-0:2', - 'ap-southeast-1': 'arn:aws:lambda:ap-southeast-1:901920570463:layer:aws-otel-nodejs-amd64-ver-1-7-0:2', - 'ap-southeast-2': 'arn:aws:lambda:ap-southeast-2:901920570463:layer:aws-otel-nodejs-amd64-ver-1-7-0:2', - 'ca-central-1': 'arn:aws:lambda:ca-central-1:901920570463:layer:aws-otel-nodejs-amd64-ver-1-7-0:2', - 'eu-central-1': 'arn:aws:lambda:eu-central-1:901920570463:layer:aws-otel-nodejs-amd64-ver-1-7-0:2', - 'eu-north-1': 'arn:aws:lambda:eu-north-1:901920570463:layer:aws-otel-nodejs-amd64-ver-1-7-0:2', - 'eu-west-1': 'arn:aws:lambda:eu-west-1:901920570463:layer:aws-otel-nodejs-amd64-ver-1-7-0:2', - 'eu-west-2': 'arn:aws:lambda:eu-west-2:901920570463:layer:aws-otel-nodejs-amd64-ver-1-7-0:2', - 'eu-west-3': 'arn:aws:lambda:eu-west-3:901920570463:layer:aws-otel-nodejs-amd64-ver-1-7-0:2', - 'sa-east-1': 'arn:aws:lambda:sa-east-1:901920570463:layer:aws-otel-nodejs-amd64-ver-1-7-0:2', - 'us-east-1': 'arn:aws:lambda:us-east-1:901920570463:layer:aws-otel-nodejs-amd64-ver-1-7-0:2', - 'us-east-2': 'arn:aws:lambda:us-east-2:901920570463:layer:aws-otel-nodejs-amd64-ver-1-7-0:2', - 'us-west-1': 'arn:aws:lambda:us-west-1:901920570463:layer:aws-otel-nodejs-amd64-ver-1-7-0:2', - 'us-west-2': 'arn:aws:lambda:us-west-2:901920570463:layer:aws-otel-nodejs-amd64-ver-1-7-0:2', - }, - arm64: { - 'ap-northeast-1': 'arn:aws:lambda:ap-northeast-1:901920570463:layer:aws-otel-nodejs-arm64-ver-1-7-0:2', - 'ap-northeast-2': 'arn:aws:lambda:ap-northeast-2:901920570463:layer:aws-otel-nodejs-arm64-ver-1-7-0:1', - 'ap-south-1': 'arn:aws:lambda:ap-south-1:901920570463:layer:aws-otel-nodejs-arm64-ver-1-7-0:2', - 'ap-southeast-1': 'arn:aws:lambda:ap-southeast-1:901920570463:layer:aws-otel-nodejs-arm64-ver-1-7-0:2', - 'ap-southeast-2': 'arn:aws:lambda:ap-southeast-2:901920570463:layer:aws-otel-nodejs-arm64-ver-1-7-0:2', - 'ca-central-1': 'arn:aws:lambda:ca-central-1:901920570463:layer:aws-otel-nodejs-arm64-ver-1-7-0:1', - 'eu-central-1': 'arn:aws:lambda:eu-central-1:901920570463:layer:aws-otel-nodejs-arm64-ver-1-7-0:2', - 'eu-north-1': 'arn:aws:lambda:eu-north-1:901920570463:layer:aws-otel-nodejs-arm64-ver-1-7-0:1', - 'eu-west-1': 'arn:aws:lambda:eu-west-1:901920570463:layer:aws-otel-nodejs-arm64-ver-1-7-0:2', - 'eu-west-2': 'arn:aws:lambda:eu-west-2:901920570463:layer:aws-otel-nodejs-arm64-ver-1-7-0:2', - 'eu-west-3': 'arn:aws:lambda:eu-west-3:901920570463:layer:aws-otel-nodejs-arm64-ver-1-7-0:1', - 'sa-east-1': 'arn:aws:lambda:sa-east-1:901920570463:layer:aws-otel-nodejs-arm64-ver-1-7-0:1', - 'us-east-1': 'arn:aws:lambda:us-east-1:901920570463:layer:aws-otel-nodejs-arm64-ver-1-7-0:2', - 'us-east-2': 'arn:aws:lambda:us-east-2:901920570463:layer:aws-otel-nodejs-arm64-ver-1-7-0:2', - 'us-west-1': 'arn:aws:lambda:us-west-1:901920570463:layer:aws-otel-nodejs-arm64-ver-1-7-0:1', - 'us-west-2': 'arn:aws:lambda:us-west-2:901920570463:layer:aws-otel-nodejs-arm64-ver-1-7-0:2', - }, - }, -}; - -const ADOT_LAMBDA_LAYER_PYTHON_SDK_ARNS: { [version: string]: { [arch: string]: { [region: string]: string } } } = { - '1.16.0': { - x86_64: { - 'ap-northeast-1': 'arn:aws:lambda:ap-northeast-1:901920570463:layer:aws-otel-python-amd64-ver-1-16-0:2', - 'ap-northeast-2': 'arn:aws:lambda:ap-northeast-2:901920570463:layer:aws-otel-python-amd64-ver-1-16-0:2', - 'ap-south-1': 'arn:aws:lambda:ap-south-1:901920570463:layer:aws-otel-python-amd64-ver-1-16-0:2', - 'ap-southeast-1': 'arn:aws:lambda:ap-southeast-1:901920570463:layer:aws-otel-python-amd64-ver-1-16-0:2', - 'ap-southeast-2': 'arn:aws:lambda:ap-southeast-2:901920570463:layer:aws-otel-python-amd64-ver-1-16-0:2', - 'ca-central-1': 'arn:aws:lambda:ca-central-1:901920570463:layer:aws-otel-python-amd64-ver-1-16-0:2', - 'eu-central-1': 'arn:aws:lambda:eu-central-1:901920570463:layer:aws-otel-python-amd64-ver-1-16-0:2', - 'eu-north-1': 'arn:aws:lambda:eu-north-1:901920570463:layer:aws-otel-python-amd64-ver-1-16-0:2', - 'eu-west-1': 'arn:aws:lambda:eu-west-1:901920570463:layer:aws-otel-python-amd64-ver-1-16-0:2', - 'eu-west-2': 'arn:aws:lambda:eu-west-2:901920570463:layer:aws-otel-python-amd64-ver-1-16-0:2', - 'eu-west-3': 'arn:aws:lambda:eu-west-3:901920570463:layer:aws-otel-python-amd64-ver-1-16-0:2', - 'sa-east-1': 'arn:aws:lambda:sa-east-1:901920570463:layer:aws-otel-python-amd64-ver-1-16-0:2', - 'us-east-1': 'arn:aws:lambda:us-east-1:901920570463:layer:aws-otel-python-amd64-ver-1-16-0:2', - 'us-east-2': 'arn:aws:lambda:us-east-2:901920570463:layer:aws-otel-python-amd64-ver-1-16-0:2', - 'us-west-1': 'arn:aws:lambda:us-west-1:901920570463:layer:aws-otel-python-amd64-ver-1-16-0:2', - 'us-west-2': 'arn:aws:lambda:us-west-2:901920570463:layer:aws-otel-python-amd64-ver-1-16-0:2', - }, - arm64: { - 'ap-northeast-1': 'arn:aws:lambda:ap-northeast-1:901920570463:layer:aws-otel-python-arm64-ver-1-16-0:2', - 'ap-northeast-2': 'arn:aws:lambda:ap-northeast-2:901920570463:layer:aws-otel-python-arm64-ver-1-16-0:2', - 'ap-south-1': 'arn:aws:lambda:ap-south-1:901920570463:layer:aws-otel-python-arm64-ver-1-16-0:2', - 'ap-southeast-1': 'arn:aws:lambda:ap-southeast-1:901920570463:layer:aws-otel-python-arm64-ver-1-16-0:2', - 'ap-southeast-2': 'arn:aws:lambda:ap-southeast-2:901920570463:layer:aws-otel-python-arm64-ver-1-16-0:2', - 'ca-central-1': 'arn:aws:lambda:ca-central-1:901920570463:layer:aws-otel-python-arm64-ver-1-16-0:2', - 'eu-central-1': 'arn:aws:lambda:eu-central-1:901920570463:layer:aws-otel-python-arm64-ver-1-16-0:2', - 'eu-north-1': 'arn:aws:lambda:eu-north-1:901920570463:layer:aws-otel-python-arm64-ver-1-16-0:2', - 'eu-west-1': 'arn:aws:lambda:eu-west-1:901920570463:layer:aws-otel-python-arm64-ver-1-16-0:2', - 'eu-west-2': 'arn:aws:lambda:eu-west-2:901920570463:layer:aws-otel-python-arm64-ver-1-16-0:2', - 'eu-west-3': 'arn:aws:lambda:eu-west-3:901920570463:layer:aws-otel-python-arm64-ver-1-16-0:2', - 'sa-east-1': 'arn:aws:lambda:sa-east-1:901920570463:layer:aws-otel-python-arm64-ver-1-16-0:2', - 'us-east-1': 'arn:aws:lambda:us-east-1:901920570463:layer:aws-otel-python-arm64-ver-1-16-0:2', - 'us-east-2': 'arn:aws:lambda:us-east-2:901920570463:layer:aws-otel-python-arm64-ver-1-16-0:2', - 'us-west-1': 'arn:aws:lambda:us-west-1:901920570463:layer:aws-otel-python-arm64-ver-1-16-0:2', - 'us-west-2': 'arn:aws:lambda:us-west-2:901920570463:layer:aws-otel-python-arm64-ver-1-16-0:2', - }, - }, - '1.15.0': { - x86_64: { - 'ap-northeast-1': 'arn:aws:lambda:ap-northeast-1:901920570463:layer:aws-otel-python-amd64-ver-1-15-0:2', - 'ap-northeast-2': 'arn:aws:lambda:ap-northeast-2:901920570463:layer:aws-otel-python-amd64-ver-1-15-0:2', - 'ap-south-1': 'arn:aws:lambda:ap-south-1:901920570463:layer:aws-otel-python-amd64-ver-1-15-0:2', - 'ap-southeast-1': 'arn:aws:lambda:ap-southeast-1:901920570463:layer:aws-otel-python-amd64-ver-1-15-0:2', - 'ap-southeast-2': 'arn:aws:lambda:ap-southeast-2:901920570463:layer:aws-otel-python-amd64-ver-1-15-0:2', - 'ca-central-1': 'arn:aws:lambda:ca-central-1:901920570463:layer:aws-otel-python-amd64-ver-1-15-0:2', - 'eu-central-1': 'arn:aws:lambda:eu-central-1:901920570463:layer:aws-otel-python-amd64-ver-1-15-0:2', - 'eu-north-1': 'arn:aws:lambda:eu-north-1:901920570463:layer:aws-otel-python-amd64-ver-1-15-0:2', - 'eu-west-1': 'arn:aws:lambda:eu-west-1:901920570463:layer:aws-otel-python-amd64-ver-1-15-0:2', - 'eu-west-2': 'arn:aws:lambda:eu-west-2:901920570463:layer:aws-otel-python-amd64-ver-1-15-0:2', - 'eu-west-3': 'arn:aws:lambda:eu-west-3:901920570463:layer:aws-otel-python-amd64-ver-1-15-0:2', - 'sa-east-1': 'arn:aws:lambda:sa-east-1:901920570463:layer:aws-otel-python-amd64-ver-1-15-0:2', - 'us-east-1': 'arn:aws:lambda:us-east-1:901920570463:layer:aws-otel-python-amd64-ver-1-15-0:2', - 'us-east-2': 'arn:aws:lambda:us-east-2:901920570463:layer:aws-otel-python-amd64-ver-1-15-0:2', - 'us-west-1': 'arn:aws:lambda:us-west-1:901920570463:layer:aws-otel-python-amd64-ver-1-15-0:2', - 'us-west-2': 'arn:aws:lambda:us-west-2:901920570463:layer:aws-otel-python-amd64-ver-1-15-0:2', - }, - arm64: { - 'ap-northeast-1': 'arn:aws:lambda:ap-northeast-1:901920570463:layer:aws-otel-python-arm64-ver-1-15-0:2', - 'ap-northeast-2': 'arn:aws:lambda:ap-northeast-2:901920570463:layer:aws-otel-python-arm64-ver-1-15-0:2', - 'ap-south-1': 'arn:aws:lambda:ap-south-1:901920570463:layer:aws-otel-python-arm64-ver-1-15-0:2', - 'ap-southeast-1': 'arn:aws:lambda:ap-southeast-1:901920570463:layer:aws-otel-python-arm64-ver-1-15-0:2', - 'ap-southeast-2': 'arn:aws:lambda:ap-southeast-2:901920570463:layer:aws-otel-python-arm64-ver-1-15-0:2', - 'ca-central-1': 'arn:aws:lambda:ca-central-1:901920570463:layer:aws-otel-python-arm64-ver-1-15-0:2', - 'eu-central-1': 'arn:aws:lambda:eu-central-1:901920570463:layer:aws-otel-python-arm64-ver-1-15-0:2', - 'eu-north-1': 'arn:aws:lambda:eu-north-1:901920570463:layer:aws-otel-python-arm64-ver-1-15-0:2', - 'eu-west-1': 'arn:aws:lambda:eu-west-1:901920570463:layer:aws-otel-python-arm64-ver-1-15-0:2', - 'eu-west-2': 'arn:aws:lambda:eu-west-2:901920570463:layer:aws-otel-python-arm64-ver-1-15-0:2', - 'eu-west-3': 'arn:aws:lambda:eu-west-3:901920570463:layer:aws-otel-python-arm64-ver-1-15-0:2', - 'sa-east-1': 'arn:aws:lambda:sa-east-1:901920570463:layer:aws-otel-python-arm64-ver-1-15-0:2', - 'us-east-1': 'arn:aws:lambda:us-east-1:901920570463:layer:aws-otel-python-arm64-ver-1-15-0:2', - 'us-east-2': 'arn:aws:lambda:us-east-2:901920570463:layer:aws-otel-python-arm64-ver-1-15-0:2', - 'us-west-1': 'arn:aws:lambda:us-west-1:901920570463:layer:aws-otel-python-arm64-ver-1-15-0:2', - 'us-west-2': 'arn:aws:lambda:us-west-2:901920570463:layer:aws-otel-python-arm64-ver-1-15-0:2', - }, - }, - '1.13.0': { - x86_64: { - 'ap-northeast-1': 'arn:aws:lambda:ap-northeast-1:901920570463:layer:aws-otel-python-amd64-ver-1-13-0:1', - 'ap-northeast-2': 'arn:aws:lambda:ap-northeast-2:901920570463:layer:aws-otel-python-amd64-ver-1-13-0:1', - 'ap-south-1': 'arn:aws:lambda:ap-south-1:901920570463:layer:aws-otel-python-amd64-ver-1-13-0:1', - 'ap-southeast-1': 'arn:aws:lambda:ap-southeast-1:901920570463:layer:aws-otel-python-amd64-ver-1-13-0:1', - 'ap-southeast-2': 'arn:aws:lambda:ap-southeast-2:901920570463:layer:aws-otel-python-amd64-ver-1-13-0:1', - 'ca-central-1': 'arn:aws:lambda:ca-central-1:901920570463:layer:aws-otel-python-amd64-ver-1-13-0:1', - 'eu-central-1': 'arn:aws:lambda:eu-central-1:901920570463:layer:aws-otel-python-amd64-ver-1-13-0:1', - 'eu-north-1': 'arn:aws:lambda:eu-north-1:901920570463:layer:aws-otel-python-amd64-ver-1-13-0:1', - 'eu-west-1': 'arn:aws:lambda:eu-west-1:901920570463:layer:aws-otel-python-amd64-ver-1-13-0:1', - 'eu-west-2': 'arn:aws:lambda:eu-west-2:901920570463:layer:aws-otel-python-amd64-ver-1-13-0:1', - 'eu-west-3': 'arn:aws:lambda:eu-west-3:901920570463:layer:aws-otel-python-amd64-ver-1-13-0:1', - 'sa-east-1': 'arn:aws:lambda:sa-east-1:901920570463:layer:aws-otel-python-amd64-ver-1-13-0:1', - 'us-east-1': 'arn:aws:lambda:us-east-1:901920570463:layer:aws-otel-python-amd64-ver-1-13-0:1', - 'us-east-2': 'arn:aws:lambda:us-east-2:901920570463:layer:aws-otel-python-amd64-ver-1-13-0:1', - 'us-west-1': 'arn:aws:lambda:us-west-1:901920570463:layer:aws-otel-python-amd64-ver-1-13-0:1', - 'us-west-2': 'arn:aws:lambda:us-west-2:901920570463:layer:aws-otel-python-amd64-ver-1-13-0:1', - }, - arm64: { - 'ap-northeast-1': 'arn:aws:lambda:ap-northeast-1:901920570463:layer:aws-otel-python-arm64-ver-1-13-0:1', - 'ap-northeast-2': 'arn:aws:lambda:ap-northeast-2:901920570463:layer:aws-otel-python-arm64-ver-1-13-0:1', - 'ap-south-1': 'arn:aws:lambda:ap-south-1:901920570463:layer:aws-otel-python-arm64-ver-1-13-0:1', - 'ap-southeast-1': 'arn:aws:lambda:ap-southeast-1:901920570463:layer:aws-otel-python-arm64-ver-1-13-0:1', - 'ap-southeast-2': 'arn:aws:lambda:ap-southeast-2:901920570463:layer:aws-otel-python-arm64-ver-1-13-0:1', - 'ca-central-1': 'arn:aws:lambda:ca-central-1:901920570463:layer:aws-otel-python-arm64-ver-1-13-0:1', - 'eu-central-1': 'arn:aws:lambda:eu-central-1:901920570463:layer:aws-otel-python-arm64-ver-1-13-0:1', - 'eu-north-1': 'arn:aws:lambda:eu-north-1:901920570463:layer:aws-otel-python-arm64-ver-1-13-0:1', - 'eu-west-1': 'arn:aws:lambda:eu-west-1:901920570463:layer:aws-otel-python-arm64-ver-1-13-0:1', - 'eu-west-2': 'arn:aws:lambda:eu-west-2:901920570463:layer:aws-otel-python-arm64-ver-1-13-0:1', - 'eu-west-3': 'arn:aws:lambda:eu-west-3:901920570463:layer:aws-otel-python-arm64-ver-1-13-0:1', - 'sa-east-1': 'arn:aws:lambda:sa-east-1:901920570463:layer:aws-otel-python-arm64-ver-1-13-0:1', - 'us-east-1': 'arn:aws:lambda:us-east-1:901920570463:layer:aws-otel-python-arm64-ver-1-13-0:1', - 'us-east-2': 'arn:aws:lambda:us-east-2:901920570463:layer:aws-otel-python-arm64-ver-1-13-0:1', - 'us-west-1': 'arn:aws:lambda:us-west-1:901920570463:layer:aws-otel-python-arm64-ver-1-13-0:1', - 'us-west-2': 'arn:aws:lambda:us-west-2:901920570463:layer:aws-otel-python-arm64-ver-1-13-0:1', - }, - }, -}; - -const ADOT_LAMBDA_LAYER_GENERIC_ARNS: { [version: string]: { [arch: string]: { [region: string]: string } } } = { - '0.72.0': { - x86_64: { - 'ap-northeast-1': 'arn:aws:lambda:ap-northeast-1:901920570463:layer:aws-otel-collector-amd64-ver-0-72-0:1', - 'ap-northeast-2': 'arn:aws:lambda:ap-northeast-2:901920570463:layer:aws-otel-collector-amd64-ver-0-72-0:1', - 'ap-south-1': 'arn:aws:lambda:ap-south-1:901920570463:layer:aws-otel-collector-amd64-ver-0-72-0:1', - 'ap-southeast-1': 'arn:aws:lambda:ap-southeast-1:901920570463:layer:aws-otel-collector-amd64-ver-0-72-0:1', - 'ap-southeast-2': 'arn:aws:lambda:ap-southeast-2:901920570463:layer:aws-otel-collector-amd64-ver-0-72-0:1', - 'ca-central-1': 'arn:aws:lambda:ca-central-1:901920570463:layer:aws-otel-collector-amd64-ver-0-72-0:1', - 'eu-central-1': 'arn:aws:lambda:eu-central-1:901920570463:layer:aws-otel-collector-amd64-ver-0-72-0:1', - 'eu-north-1': 'arn:aws:lambda:eu-north-1:901920570463:layer:aws-otel-collector-amd64-ver-0-72-0:1', - 'eu-west-1': 'arn:aws:lambda:eu-west-1:901920570463:layer:aws-otel-collector-amd64-ver-0-72-0:1', - 'eu-west-2': 'arn:aws:lambda:eu-west-2:901920570463:layer:aws-otel-collector-amd64-ver-0-72-0:1', - 'eu-west-3': 'arn:aws:lambda:eu-west-3:901920570463:layer:aws-otel-collector-amd64-ver-0-72-0:1', - 'sa-east-1': 'arn:aws:lambda:sa-east-1:901920570463:layer:aws-otel-collector-amd64-ver-0-72-0:1', - 'us-east-1': 'arn:aws:lambda:us-east-1:901920570463:layer:aws-otel-collector-amd64-ver-0-72-0:1', - 'us-east-2': 'arn:aws:lambda:us-east-2:901920570463:layer:aws-otel-collector-amd64-ver-0-72-0:1', - 'us-west-1': 'arn:aws:lambda:us-west-1:901920570463:layer:aws-otel-collector-amd64-ver-0-72-0:1', - 'us-west-2': 'arn:aws:lambda:us-west-2:901920570463:layer:aws-otel-collector-amd64-ver-0-72-0:1', - }, - arm64: { - 'ap-northeast-1': 'arn:aws:lambda:ap-northeast-1:901920570463:layer:aws-otel-collector-arm64-ver-0-72-0:1', - 'ap-northeast-2': 'arn:aws:lambda:ap-northeast-2:901920570463:layer:aws-otel-collector-arm64-ver-0-72-0:1', - 'ap-south-1': 'arn:aws:lambda:ap-south-1:901920570463:layer:aws-otel-collector-arm64-ver-0-72-0:1', - 'ap-southeast-1': 'arn:aws:lambda:ap-southeast-1:901920570463:layer:aws-otel-collector-arm64-ver-0-72-0:1', - 'ap-southeast-2': 'arn:aws:lambda:ap-southeast-2:901920570463:layer:aws-otel-collector-arm64-ver-0-72-0:1', - 'ca-central-1': 'arn:aws:lambda:ca-central-1:901920570463:layer:aws-otel-collector-arm64-ver-0-72-0:1', - 'eu-central-1': 'arn:aws:lambda:eu-central-1:901920570463:layer:aws-otel-collector-arm64-ver-0-72-0:1', - 'eu-north-1': 'arn:aws:lambda:eu-north-1:901920570463:layer:aws-otel-collector-arm64-ver-0-72-0:1', - 'eu-west-1': 'arn:aws:lambda:eu-west-1:901920570463:layer:aws-otel-collector-arm64-ver-0-72-0:1', - 'eu-west-2': 'arn:aws:lambda:eu-west-2:901920570463:layer:aws-otel-collector-arm64-ver-0-72-0:1', - 'eu-west-3': 'arn:aws:lambda:eu-west-3:901920570463:layer:aws-otel-collector-arm64-ver-0-72-0:1', - 'sa-east-1': 'arn:aws:lambda:sa-east-1:901920570463:layer:aws-otel-collector-arm64-ver-0-72-0:1', - 'us-east-1': 'arn:aws:lambda:us-east-1:901920570463:layer:aws-otel-collector-arm64-ver-0-72-0:1', - 'us-east-2': 'arn:aws:lambda:us-east-2:901920570463:layer:aws-otel-collector-arm64-ver-0-72-0:1', - 'us-west-1': 'arn:aws:lambda:us-west-1:901920570463:layer:aws-otel-collector-arm64-ver-0-72-0:1', - 'us-west-2': 'arn:aws:lambda:us-west-2:901920570463:layer:aws-otel-collector-arm64-ver-0-72-0:1', - }, - }, - '0.70.0': { - x86_64: { - 'ap-northeast-1': 'arn:aws:lambda:ap-northeast-1:901920570463:layer:aws-otel-collector-amd64-ver-0-70-0:4', - 'ap-northeast-2': 'arn:aws:lambda:ap-northeast-2:901920570463:layer:aws-otel-collector-amd64-ver-0-70-0:4', - 'ap-south-1': 'arn:aws:lambda:ap-south-1:901920570463:layer:aws-otel-collector-amd64-ver-0-70-0:4', - 'ap-southeast-1': 'arn:aws:lambda:ap-southeast-1:901920570463:layer:aws-otel-collector-amd64-ver-0-70-0:4', - 'ap-southeast-2': 'arn:aws:lambda:ap-southeast-2:901920570463:layer:aws-otel-collector-amd64-ver-0-70-0:4', - 'ca-central-1': 'arn:aws:lambda:ca-central-1:901920570463:layer:aws-otel-collector-amd64-ver-0-70-0:4', - 'eu-central-1': 'arn:aws:lambda:eu-central-1:901920570463:layer:aws-otel-collector-amd64-ver-0-70-0:4', - 'eu-north-1': 'arn:aws:lambda:eu-north-1:901920570463:layer:aws-otel-collector-amd64-ver-0-70-0:4', - 'eu-west-1': 'arn:aws:lambda:eu-west-1:901920570463:layer:aws-otel-collector-amd64-ver-0-70-0:4', - 'eu-west-2': 'arn:aws:lambda:eu-west-2:901920570463:layer:aws-otel-collector-amd64-ver-0-70-0:4', - 'eu-west-3': 'arn:aws:lambda:eu-west-3:901920570463:layer:aws-otel-collector-amd64-ver-0-70-0:4', - 'sa-east-1': 'arn:aws:lambda:sa-east-1:901920570463:layer:aws-otel-collector-amd64-ver-0-70-0:4', - 'us-east-1': 'arn:aws:lambda:us-east-1:901920570463:layer:aws-otel-collector-amd64-ver-0-70-0:4', - 'us-east-2': 'arn:aws:lambda:us-east-2:901920570463:layer:aws-otel-collector-amd64-ver-0-70-0:4', - 'us-west-1': 'arn:aws:lambda:us-west-1:901920570463:layer:aws-otel-collector-amd64-ver-0-70-0:4', - 'us-west-2': 'arn:aws:lambda:us-west-2:901920570463:layer:aws-otel-collector-amd64-ver-0-70-0:4', - }, - arm64: { - 'ap-northeast-1': 'arn:aws:lambda:ap-northeast-1:901920570463:layer:aws-otel-collector-arm64-ver-0-70-0:4', - 'ap-northeast-2': 'arn:aws:lambda:ap-northeast-2:901920570463:layer:aws-otel-collector-arm64-ver-0-70-0:4', - 'ap-south-1': 'arn:aws:lambda:ap-south-1:901920570463:layer:aws-otel-collector-arm64-ver-0-70-0:4', - 'ap-southeast-1': 'arn:aws:lambda:ap-southeast-1:901920570463:layer:aws-otel-collector-arm64-ver-0-70-0:4', - 'ap-southeast-2': 'arn:aws:lambda:ap-southeast-2:901920570463:layer:aws-otel-collector-arm64-ver-0-70-0:4', - 'ca-central-1': 'arn:aws:lambda:ca-central-1:901920570463:layer:aws-otel-collector-arm64-ver-0-70-0:4', - 'eu-central-1': 'arn:aws:lambda:eu-central-1:901920570463:layer:aws-otel-collector-arm64-ver-0-70-0:4', - 'eu-north-1': 'arn:aws:lambda:eu-north-1:901920570463:layer:aws-otel-collector-arm64-ver-0-70-0:4', - 'eu-west-1': 'arn:aws:lambda:eu-west-1:901920570463:layer:aws-otel-collector-arm64-ver-0-70-0:4', - 'eu-west-2': 'arn:aws:lambda:eu-west-2:901920570463:layer:aws-otel-collector-arm64-ver-0-70-0:4', - 'eu-west-3': 'arn:aws:lambda:eu-west-3:901920570463:layer:aws-otel-collector-arm64-ver-0-70-0:4', - 'sa-east-1': 'arn:aws:lambda:sa-east-1:901920570463:layer:aws-otel-collector-arm64-ver-0-70-0:4', - 'us-east-1': 'arn:aws:lambda:us-east-1:901920570463:layer:aws-otel-collector-arm64-ver-0-70-0:4', - 'us-east-2': 'arn:aws:lambda:us-east-2:901920570463:layer:aws-otel-collector-arm64-ver-0-70-0:4', - 'us-west-1': 'arn:aws:lambda:us-west-1:901920570463:layer:aws-otel-collector-arm64-ver-0-70-0:4', - 'us-west-2': 'arn:aws:lambda:us-west-2:901920570463:layer:aws-otel-collector-arm64-ver-0-70-0:4', - }, - }, - '0.68.0': { - x86_64: { - 'ap-northeast-1': 'arn:aws:lambda:ap-northeast-1:901920570463:layer:aws-otel-collector-amd64-ver-0-68-0:1', - 'ap-northeast-2': 'arn:aws:lambda:ap-northeast-2:901920570463:layer:aws-otel-collector-amd64-ver-0-68-0:1', - 'ap-south-1': 'arn:aws:lambda:ap-south-1:901920570463:layer:aws-otel-collector-amd64-ver-0-68-0:1', - 'ap-southeast-1': 'arn:aws:lambda:ap-southeast-1:901920570463:layer:aws-otel-collector-amd64-ver-0-68-0:1', - 'ap-southeast-2': 'arn:aws:lambda:ap-southeast-2:901920570463:layer:aws-otel-collector-amd64-ver-0-68-0:1', - 'ca-central-1': 'arn:aws:lambda:ca-central-1:901920570463:layer:aws-otel-collector-amd64-ver-0-68-0:1', - 'eu-central-1': 'arn:aws:lambda:eu-central-1:901920570463:layer:aws-otel-collector-amd64-ver-0-68-0:1', - 'eu-north-1': 'arn:aws:lambda:eu-north-1:901920570463:layer:aws-otel-collector-amd64-ver-0-68-0:1', - 'eu-west-1': 'arn:aws:lambda:eu-west-1:901920570463:layer:aws-otel-collector-amd64-ver-0-68-0:1', - 'eu-west-2': 'arn:aws:lambda:eu-west-2:901920570463:layer:aws-otel-collector-amd64-ver-0-68-0:1', - 'eu-west-3': 'arn:aws:lambda:eu-west-3:901920570463:layer:aws-otel-collector-amd64-ver-0-68-0:1', - 'sa-east-1': 'arn:aws:lambda:sa-east-1:901920570463:layer:aws-otel-collector-amd64-ver-0-68-0:1', - 'us-east-1': 'arn:aws:lambda:us-east-1:901920570463:layer:aws-otel-collector-amd64-ver-0-68-0:1', - 'us-east-2': 'arn:aws:lambda:us-east-2:901920570463:layer:aws-otel-collector-amd64-ver-0-68-0:1', - 'us-west-1': 'arn:aws:lambda:us-west-1:901920570463:layer:aws-otel-collector-amd64-ver-0-68-0:1', - 'us-west-2': 'arn:aws:lambda:us-west-2:901920570463:layer:aws-otel-collector-amd64-ver-0-68-0:1', - }, - arm64: { - 'ap-northeast-1': 'arn:aws:lambda:ap-northeast-1:901920570463:layer:aws-otel-collector-arm64-ver-0-68-0:1', - 'ap-northeast-2': 'arn:aws:lambda:ap-northeast-2:901920570463:layer:aws-otel-collector-arm64-ver-0-68-0:1', - 'ap-south-1': 'arn:aws:lambda:ap-south-1:901920570463:layer:aws-otel-collector-arm64-ver-0-68-0:1', - 'ap-southeast-1': 'arn:aws:lambda:ap-southeast-1:901920570463:layer:aws-otel-collector-arm64-ver-0-68-0:1', - 'ap-southeast-2': 'arn:aws:lambda:ap-southeast-2:901920570463:layer:aws-otel-collector-arm64-ver-0-68-0:1', - 'ca-central-1': 'arn:aws:lambda:ca-central-1:901920570463:layer:aws-otel-collector-arm64-ver-0-68-0:1', - 'eu-central-1': 'arn:aws:lambda:eu-central-1:901920570463:layer:aws-otel-collector-arm64-ver-0-68-0:1', - 'eu-north-1': 'arn:aws:lambda:eu-north-1:901920570463:layer:aws-otel-collector-arm64-ver-0-68-0:1', - 'eu-west-1': 'arn:aws:lambda:eu-west-1:901920570463:layer:aws-otel-collector-arm64-ver-0-68-0:1', - 'eu-west-2': 'arn:aws:lambda:eu-west-2:901920570463:layer:aws-otel-collector-arm64-ver-0-68-0:1', - 'eu-west-3': 'arn:aws:lambda:eu-west-3:901920570463:layer:aws-otel-collector-arm64-ver-0-68-0:1', - 'sa-east-1': 'arn:aws:lambda:sa-east-1:901920570463:layer:aws-otel-collector-arm64-ver-0-68-0:1', - 'us-east-1': 'arn:aws:lambda:us-east-1:901920570463:layer:aws-otel-collector-arm64-ver-0-68-0:1', - 'us-east-2': 'arn:aws:lambda:us-east-2:901920570463:layer:aws-otel-collector-arm64-ver-0-68-0:1', - 'us-west-1': 'arn:aws:lambda:us-west-1:901920570463:layer:aws-otel-collector-arm64-ver-0-68-0:1', - 'us-west-2': 'arn:aws:lambda:us-west-2:901920570463:layer:aws-otel-collector-arm64-ver-0-68-0:1', - }, - }, - '0.62.1': { - x86_64: { - 'ap-northeast-1': 'arn:aws:lambda:ap-northeast-1:901920570463:layer:aws-otel-collector-amd64-ver-0-62-1:1', - 'ap-northeast-2': 'arn:aws:lambda:ap-northeast-2:901920570463:layer:aws-otel-collector-amd64-ver-0-62-1:1', - 'ap-south-1': 'arn:aws:lambda:ap-south-1:901920570463:layer:aws-otel-collector-amd64-ver-0-62-1:1', - 'ap-southeast-1': 'arn:aws:lambda:ap-southeast-1:901920570463:layer:aws-otel-collector-amd64-ver-0-62-1:1', - 'ap-southeast-2': 'arn:aws:lambda:ap-southeast-2:901920570463:layer:aws-otel-collector-amd64-ver-0-62-1:1', - 'ca-central-1': 'arn:aws:lambda:ca-central-1:901920570463:layer:aws-otel-collector-amd64-ver-0-62-1:1', - 'eu-central-1': 'arn:aws:lambda:eu-central-1:901920570463:layer:aws-otel-collector-amd64-ver-0-62-1:1', - 'eu-north-1': 'arn:aws:lambda:eu-north-1:901920570463:layer:aws-otel-collector-amd64-ver-0-62-1:1', - 'eu-west-1': 'arn:aws:lambda:eu-west-1:901920570463:layer:aws-otel-collector-amd64-ver-0-62-1:1', - 'eu-west-2': 'arn:aws:lambda:eu-west-2:901920570463:layer:aws-otel-collector-amd64-ver-0-62-1:1', - 'eu-west-3': 'arn:aws:lambda:eu-west-3:901920570463:layer:aws-otel-collector-amd64-ver-0-62-1:1', - 'sa-east-1': 'arn:aws:lambda:sa-east-1:901920570463:layer:aws-otel-collector-amd64-ver-0-62-1:1', - 'us-east-1': 'arn:aws:lambda:us-east-1:901920570463:layer:aws-otel-collector-amd64-ver-0-62-1:1', - 'us-east-2': 'arn:aws:lambda:us-east-2:901920570463:layer:aws-otel-collector-amd64-ver-0-62-1:1', - 'us-west-1': 'arn:aws:lambda:us-west-1:901920570463:layer:aws-otel-collector-amd64-ver-0-62-1:1', - 'us-west-2': 'arn:aws:lambda:us-west-2:901920570463:layer:aws-otel-collector-amd64-ver-0-62-1:1', - }, - arm64: { - 'ap-northeast-1': 'arn:aws:lambda:ap-northeast-1:901920570463:layer:aws-otel-collector-arm64-ver-0-62-1:1', - 'ap-northeast-2': 'arn:aws:lambda:ap-northeast-2:901920570463:layer:aws-otel-collector-arm64-ver-0-62-1:1', - 'ap-south-1': 'arn:aws:lambda:ap-south-1:901920570463:layer:aws-otel-collector-arm64-ver-0-62-1:1', - 'ap-southeast-1': 'arn:aws:lambda:ap-southeast-1:901920570463:layer:aws-otel-collector-arm64-ver-0-62-1:1', - 'ap-southeast-2': 'arn:aws:lambda:ap-southeast-2:901920570463:layer:aws-otel-collector-arm64-ver-0-62-1:1', - 'ca-central-1': 'arn:aws:lambda:ca-central-1:901920570463:layer:aws-otel-collector-arm64-ver-0-62-1:1', - 'eu-central-1': 'arn:aws:lambda:eu-central-1:901920570463:layer:aws-otel-collector-arm64-ver-0-62-1:1', - 'eu-north-1': 'arn:aws:lambda:eu-north-1:901920570463:layer:aws-otel-collector-arm64-ver-0-62-1:1', - 'eu-west-1': 'arn:aws:lambda:eu-west-1:901920570463:layer:aws-otel-collector-arm64-ver-0-62-1:1', - 'eu-west-2': 'arn:aws:lambda:eu-west-2:901920570463:layer:aws-otel-collector-arm64-ver-0-62-1:1', - 'eu-west-3': 'arn:aws:lambda:eu-west-3:901920570463:layer:aws-otel-collector-arm64-ver-0-62-1:1', - 'sa-east-1': 'arn:aws:lambda:sa-east-1:901920570463:layer:aws-otel-collector-arm64-ver-0-62-1:1', - 'us-east-1': 'arn:aws:lambda:us-east-1:901920570463:layer:aws-otel-collector-arm64-ver-0-62-1:1', - 'us-east-2': 'arn:aws:lambda:us-east-2:901920570463:layer:aws-otel-collector-arm64-ver-0-62-1:1', - 'us-west-1': 'arn:aws:lambda:us-west-1:901920570463:layer:aws-otel-collector-arm64-ver-0-62-1:1', - 'us-west-2': 'arn:aws:lambda:us-west-2:901920570463:layer:aws-otel-collector-arm64-ver-0-62-1:1', - }, - }, -}; - -export const ADOT_LAMBDA_LAYER_ARNS: { [key: string]: any } = { - JAVA_SDK: ADOT_LAMBDA_LAYER_JAVA_SDK_ARNS, - JAVA_AUTO_INSTRUMENTATION: ADOT_LAMBDA_LAYER_JAVA_AUTO_INSTRUMENTATION_ARNS, - JAVASCRIPT_SDK: ADOT_LAMBDA_LAYER_JAVASCRIPT_SDK_ARNS, - PYTHON_SDK: ADOT_LAMBDA_LAYER_PYTHON_SDK_ARNS, - GENERIC: ADOT_LAMBDA_LAYER_GENERIC_ARNS, -}; diff --git a/packages/@aws-cdk/region-info/build-tools/generate-static-data.ts b/packages/@aws-cdk/region-info/build-tools/generate-static-data.ts deleted file mode 100644 index 4db884ef2d892..0000000000000 --- a/packages/@aws-cdk/region-info/build-tools/generate-static-data.ts +++ /dev/null @@ -1,159 +0,0 @@ -import * as path from 'path'; -import * as fs from 'fs-extra'; -import { - APPMESH_ECR_ACCOUNTS, AWS_CDK_METADATA, CLOUDWATCH_LAMBDA_INSIGHTS_ARNS, DLC_REPOSITORY_ACCOUNTS, - ELBV2_ACCOUNTS, FIREHOSE_CIDR_BLOCKS, PARTITION_MAP, ROUTE_53_BUCKET_WEBSITE_ZONE_IDS, EBS_ENV_ENDPOINT_HOSTED_ZONE_IDS, ADOT_LAMBDA_LAYER_ARNS, -} from './fact-tables'; -import { - AWS_REGIONS, - AWS_SERVICES, - before, - RULE_S3_WEBSITE_REGIONAL_SUBDOMAIN, - RULE_CLASSIC_PARTITION_BECOMES_OPT_IN, -} from '../lib/aws-entities'; -import { Default } from '../lib/default'; - -export async function main(): Promise { - checkRegions(APPMESH_ECR_ACCOUNTS); - checkRegions(DLC_REPOSITORY_ACCOUNTS); - checkRegions(ELBV2_ACCOUNTS); - checkRegions(FIREHOSE_CIDR_BLOCKS); - checkRegions(ROUTE_53_BUCKET_WEBSITE_ZONE_IDS); - checkRegionsSubMap(CLOUDWATCH_LAMBDA_INSIGHTS_ARNS); - - const lines = [ - "import { Fact, FactName } from './fact';", - '', - '/* eslint-disable quote-props */', - '/* eslint-disable max-len */', - '', - '/**', - ' * Built-in regional information, re-generated by `npm run build`.', - ' *', - ` * @generated ${new Date().toISOString()}`, - ' */', - 'export class BuiltIns {', - ' /**', - ' * Registers all the built in regional data in the RegionInfo database.', - ' */', - ' public static register(): void {', - ]; - - const defaultMap = 'default'; - - for (const region of AWS_REGIONS) { - let partition = PARTITION_MAP[defaultMap].partition; - let domainSuffix = PARTITION_MAP[defaultMap].domainSuffix; - - for (const key in PARTITION_MAP) { - if (region.startsWith(key)) { - partition = PARTITION_MAP[key].partition; - domainSuffix = PARTITION_MAP[key].domainSuffix; - } - } - - registerFact(region, 'PARTITION', partition); - registerFact(region, 'DOMAIN_SUFFIX', domainSuffix); - - registerFact(region, 'CDK_METADATA_RESOURCE_AVAILABLE', AWS_CDK_METADATA.has(region) ? 'YES' : 'NO'); - - registerFact(region, 'IS_OPT_IN_REGION', partition === 'aws' && after(region, RULE_CLASSIC_PARTITION_BECOMES_OPT_IN) ? 'YES' : 'NO'); - - registerFact(region, 'S3_STATIC_WEBSITE_ENDPOINT', before(region, RULE_S3_WEBSITE_REGIONAL_SUBDOMAIN) - ? `s3-website-${region}.${domainSuffix}` - : `s3-website.${region}.${domainSuffix}`); - - registerFact(region, 'S3_STATIC_WEBSITE_ZONE_53_HOSTED_ZONE_ID', ROUTE_53_BUCKET_WEBSITE_ZONE_IDS[region] || ''); - - registerFact(region, 'EBS_ENV_ENDPOINT_HOSTED_ZONE_ID', EBS_ENV_ENDPOINT_HOSTED_ZONE_IDS[region] || ''); - - registerFact(region, 'ELBV2_ACCOUNT', ELBV2_ACCOUNTS[region]); - - registerFact(region, 'DLC_REPOSITORY_ACCOUNT', DLC_REPOSITORY_ACCOUNTS[region]); - - registerFact(region, 'APPMESH_ECR_ACCOUNT', APPMESH_ECR_ACCOUNTS[region]); - - const firehoseCidrBlock = FIREHOSE_CIDR_BLOCKS[region]; - if (firehoseCidrBlock) { - registerFact(region, 'FIREHOSE_CIDR_BLOCK', `${FIREHOSE_CIDR_BLOCKS[region]}/27`); - } - - const vpcEndpointServiceNamePrefix = `${domainSuffix.split('.').reverse().join('.')}.vpce`; - registerFact(region, 'VPC_ENDPOINT_SERVICE_NAME_PREFIX', vpcEndpointServiceNamePrefix); - - for (const service of AWS_SERVICES) { - registerFact(region, ['servicePrincipal', service], Default.servicePrincipal(service, region, domainSuffix)); - } - - for (const version in CLOUDWATCH_LAMBDA_INSIGHTS_ARNS) { - for (const arch in CLOUDWATCH_LAMBDA_INSIGHTS_ARNS[version]) { - registerFact(region, ['cloudwatchLambdaInsightsVersion', version, arch], CLOUDWATCH_LAMBDA_INSIGHTS_ARNS[version][arch][region]); - - } - } - - for (const type in ADOT_LAMBDA_LAYER_ARNS) { - for (const version in ADOT_LAMBDA_LAYER_ARNS[type]) { - for (const arch in ADOT_LAMBDA_LAYER_ARNS[type][version]) { - registerFact( - region, - ['adotLambdaLayer', type, version, arch], - ADOT_LAMBDA_LAYER_ARNS[type][version][arch][region], - ); - } - } - } - } - lines.push(' }'); - lines.push(''); - lines.push(' private constructor() {}'); - lines.push('}'); - - await fs.writeFile(path.resolve(__dirname, '..', 'lib', 'built-ins.generated.ts'), lines.join('\n')); - - function registerFact(region: string, name: string | string[], value: string) { - const factName = typeof name === 'string' ? name : `${name[0]}(${name.slice(1).map(s => JSON.stringify(s)).join(', ')})`; - lines.push(` Fact.register({ region: ${JSON.stringify(region)}, name: FactName.${factName}, value: ${JSON.stringify(value)} });`); - } -} - -/** - * Verifies that the provided map of region to fact does not contain an entry - * for a region that was not registered in `AWS_REGIONS`. - */ -function checkRegions(map: Record) { - const allRegions = new Set(AWS_REGIONS); - for (const region of Object.keys(map)) { - if (!allRegions.has(region)) { - throw new Error(`Un-registered region fact found: ${region}. Add to AWS_REGIONS list!`); - } - } -} - -/** - * Verifies that the provided map of to region to fact does not contain an entry - * for a region that was not registered in `AWS_REGIONS`. - */ -function checkRegionsSubMap(map: Record>>) { - const allRegions = new Set(AWS_REGIONS); - for (const key of Object.keys(map)) { - for (const subKey of Object.keys(map[key])) { - for (const region of Object.keys(map[key][subKey])) { - if (!allRegions.has(region)) { - throw new Error(`Un-registered region fact found: ${region}. Add to AWS_REGIONS list!`); - } - } - - } - } -} - -export function after(region: string, ruleOrRegion: string | symbol) { - return region !== ruleOrRegion && !before(region, ruleOrRegion); -} - -main().catch(e => { - // eslint-disable-next-line no-console - console.error(e); - process.exit(-1); -}); diff --git a/packages/@aws-cdk/region-info/build-tools/generate.sh b/packages/@aws-cdk/region-info/build-tools/generate.sh deleted file mode 100644 index 66bb576070aa0..0000000000000 --- a/packages/@aws-cdk/region-info/build-tools/generate.sh +++ /dev/null @@ -1,24 +0,0 @@ -#!/bin/bash -set -euo pipefail - -echo "⏳ Compiling static data generator..." -tsc \ - --alwaysStrict \ - --lib ES2017 \ - --module CommonJS \ - --noFallthroughCasesInSwitch \ - --noImplicitAny \ - --noImplicitReturns \ - --noImplicitThis \ - --noUnusedLocals \ - --noUnusedParameters \ - --resolveJsonModule \ - --strict \ - --strictNullChecks \ - --target ES2020 \ - build-tools/*.ts - -echo "⌛️ Generating the static data..." -node build-tools/generate-static-data.js - -echo "🍻 Pre-Build Complete!" diff --git a/packages/@aws-cdk/region-info/lib/.gitignore b/packages/@aws-cdk/region-info/lib/.gitignore deleted file mode 100644 index c61f4a4a4be27..0000000000000 --- a/packages/@aws-cdk/region-info/lib/.gitignore +++ /dev/null @@ -1 +0,0 @@ -*.generated.ts diff --git a/packages/@aws-cdk/region-info/lib/aws-entities.ts b/packages/@aws-cdk/region-info/lib/aws-entities.ts deleted file mode 100644 index 1a3e8895c25ee..0000000000000 --- a/packages/@aws-cdk/region-info/lib/aws-entities.ts +++ /dev/null @@ -1,138 +0,0 @@ -/** - * After this point, S3 website domains look like `s3-website.REGION.s3.amazonaws.com` - * - * Before this point, S3 website domains look like `s3-website-REGION.s3.amazonaws.com`. - */ -export const RULE_S3_WEBSITE_REGIONAL_SUBDOMAIN = Symbol('S3_WEBSITE_REGIONAL_SUBDOMAIN'); - -/** - * After this point, all regions in the 'aws' partition are opt-in. - */ -export const RULE_CLASSIC_PARTITION_BECOMES_OPT_IN = Symbol('CLASSIC_PARTITION_BECOMES_OPT_IN'); - -/** - * List of AWS region, ordered by launch date (oldest to newest) - * - * The significance of this is that standards and conventions change over time. - * Generally, as rules are changed they only apply to new regions, and old - * regions are left as-is. - * - * We mix the list of regions with a list of rules that were introduced over - * time (rules are symbols). - * - * Therefore, if we want to know if a rule applies to a certain region, we - * only need to check its position in the list and compare it to when a - * rule was introduced. - */ -export const AWS_REGIONS_AND_RULES: readonly (string | symbol)[] = [ - 'us-east-1', // US East (N. Virginia) - 'eu-west-1', // Europe (Ireland) - 'us-west-1', // US West (N. California) - 'ap-southeast-1', // Asia Pacific (Singapore) - 'ap-northeast-1', // Asia Pacific (Tokyo) - 'us-gov-west-1', // AWS GovCloud (US-West) - 'us-west-2', // US West (Oregon) - 'sa-east-1', // South America (São Paulo) - 'ap-southeast-2', // Asia Pacific (Sydney) - RULE_S3_WEBSITE_REGIONAL_SUBDOMAIN, - 'cn-north-1', // China (Beijing) - 'us-iso-east-1', // AWS ISO - 'eu-central-1', // Europe (Frankfurt) - 'ap-northeast-2', // Asia Pacific (Seoul) - 'ap-south-1', // Asia Pacific (Mumbai) - 'us-east-2', // US East (Ohio) - 'ca-central-1', // Canada (Central) - 'eu-west-2', // Europe (London) - 'us-isob-east-1', // AWS ISO-B - 'cn-northwest-1', // China (Ningxia) - 'eu-west-3', // Europe (Paris) - 'ap-northeast-3', // Asia Pacific (Osaka) - 'us-gov-east-1', // AWS GovCloud (US-East) - 'eu-north-1', // Europe (Stockholm) - RULE_CLASSIC_PARTITION_BECOMES_OPT_IN, - 'ap-east-1', // Asia Pacific (Hong Kong) - 'me-south-1', // Middle East (Bahrain) - 'eu-south-1', // Europe (Milan) - 'af-south-1', // Africa (Cape Town) - 'us-iso-west-1', // US ISO West - 'eu-south-2', // Europe (Spain) - 'ap-southeast-3', // Asia Pacific (Jakarta) - 'me-central-1', // Middle East (UAE) - 'ap-south-2', // Asia Pacific (Hyderabad) - 'eu-central-2', // Europe (Zurich) -]; - -/** - * The names of all (known) AWS regions - * - * Not in the list ==> no built-in data for that region. - */ -export const AWS_REGIONS = AWS_REGIONS_AND_RULES - .filter((x) => typeof x === 'string') - .sort() as readonly string[]; - -/** - * Possibly non-exhaustive list of all service names, used to locate service principals. - * - * Not in the list ==> default service principal mappings. - */ -export const AWS_SERVICES: readonly string[] = [ - 'application-autoscaling', - 'autoscaling', - 'codedeploy', - 'ec2', - 'events', - 'lambda', - 'logs', - 's3', - 'ssm', - 'sns', - 'sqs', - 'states', -].sort(); - -/** - * Whether or not a region predates a given rule (or region). - * - * Unknown region => we have to assume no. - */ -export function before(region: string, ruleOrRegion: string | symbol) { - const ruleIx = AWS_REGIONS_AND_RULES.indexOf(ruleOrRegion); - if (ruleIx === -1) { - throw new Error(`Unknown rule: ${String(ruleOrRegion)}`); - } - const regionIx = AWS_REGIONS_AND_RULES.indexOf(region); - return regionIx === -1 ? false : regionIx < ruleIx; -} - -/** - * Return all regions before a given rule was introduced (or region) - */ -export function regionsBefore(ruleOrRegion: string | symbol): string[] { - const ruleIx = AWS_REGIONS_AND_RULES.indexOf(ruleOrRegion); - if (ruleIx === -1) { - throw new Error(`Unknown rule: ${String(ruleOrRegion)}`); - } - return AWS_REGIONS_AND_RULES.slice(0, ruleIx) - .filter((entry) => typeof entry === 'string') - .sort() as string[]; -} - -export interface Region { readonly partition: string, readonly domainSuffix: string } - -const PARTITION_MAP: {readonly [region: string]: Region } = { - 'default': { partition: 'aws', domainSuffix: 'amazonaws.com' }, - 'cn-': { partition: 'aws-cn', domainSuffix: 'amazonaws.com.cn' }, - 'us-gov-': { partition: 'aws-us-gov', domainSuffix: 'amazonaws.com' }, - 'us-iso-': { partition: 'aws-iso', domainSuffix: 'c2s.ic.gov' }, - 'us-isob-': { partition: 'aws-iso-b', domainSuffix: 'sc2s.sgov.gov' }, -}; - -export function partitionInformation(region: string): Region { - for (const [prefix, info] of Object.entries(PARTITION_MAP)) { - if (region.startsWith(prefix)) { - return info; - } - } - return PARTITION_MAP.default; -} diff --git a/packages/@aws-cdk/region-info/lib/default.ts b/packages/@aws-cdk/region-info/lib/default.ts deleted file mode 100644 index ded4f1d36551b..0000000000000 --- a/packages/@aws-cdk/region-info/lib/default.ts +++ /dev/null @@ -1,127 +0,0 @@ -/** - * Provides default values for certain regional information points. - */ -export class Default { - - /** - * The default value for a VPC Endpoint Service name prefix, useful if you do - * not have a synthesize-time region literal available (all you have is - * `{ "Ref": "AWS::Region" }`) - */ - public static readonly VPC_ENDPOINT_SERVICE_NAME_PREFIX = 'com.amazonaws.vpce'; - - /** - * Computes a "standard" AWS Service principal for a given service, region and suffix. This is useful for example when - * you need to compute a service principal name, but you do not have a synthesize-time region literal available (so - * all you have is `{ "Ref": "AWS::Region" }`). This way you get the same defaulting behavior that is normally used - * for built-in data. - * - * @param serviceFqn the name of the service (s3, s3.amazonaws.com, ...) - * @param region the region in which the service principal is needed. - * @param urlSuffix deprecated and ignored. - */ - public static servicePrincipal(serviceFqn: string, region: string, urlSuffix: string): string { - // NOTE: this whole method is deprecated, and should not be used or updated anymore. The global service - // principal is always correct, when referenced from within a region. - // (As a note, regional principals (`..amazonaws.com`) are required in - // case of a cross-region reference to an opt-in region, but that's the only case, and that is not - // controlled here). - // - // (It cannot be actually @deprecated since many of our tests use it :D) - - const serviceName = extractSimpleName(serviceFqn); - if (!serviceName) { - // Return "service" if it does not look like any of the following: - // - s3 - // - s3.amazonaws.com - // - s3.amazonaws.com.cn - // - s3.c2s.ic.gov - // - s3.sc2s.sgov.gov - return serviceFqn; - } - - function determineConfiguration(service: string): (service: string, region: string, urlSuffix: string) => string { - function universal(s: string) { return `${s}.amazonaws.com`; } - function partitional(s: string, _: string, u: string) { return `${s}.${u}`; } - function regional(s: string, r: string) { return `${s}.${r}.amazonaws.com`; } - function regionalPartitional(s: string, r: string, u: string) { return `${s}.${r}.${u}`; } - - // Exceptions for Service Principals in us-iso-* - const US_ISO_EXCEPTIONS = new Set([ - 'cloudhsm', - 'config', - 'states', - 'workspaces', - ]); - - // Account for idiosyncratic Service Principals in `us-iso-*` regions - if (region.startsWith('us-iso-') && US_ISO_EXCEPTIONS.has(service)) { - switch (service) { - // Services with universal principal - case ('states'): - return universal; - - // Services with a partitional principal - default: - return partitional; - } - } - - // Exceptions for Service Principals in us-isob-* - const US_ISOB_EXCEPTIONS = new Set([ - 'dms', - 'states', - ]); - - // Account for idiosyncratic Service Principals in `us-isob-*` regions - if (region.startsWith('us-isob-') && US_ISOB_EXCEPTIONS.has(service)) { - switch (service) { - // Services with universal principal - case ('states'): - return universal; - - // Services with a partitional principal - default: - return partitional; - } - } - - switch (service) { - // CodeDeploy is regional+partitional in CN, only regional everywhere else - case 'codedeploy': - return region.startsWith('cn-') - ? regionalPartitional - // ...except in the isolated regions, where it's universal - : (region.startsWith('us-iso') ? universal : regional); - - // Services with a regional AND partitional principal - case 'logs': - return regionalPartitional; - - // Services with a regional principal - case 'states': - return regional; - - case 'elasticmapreduce': - return region.startsWith('cn-') - ? partitional - : universal; - - // Services with a universal principal across all regions/partitions (the default case) - default: - return universal; - - } - }; - - const configuration = determineConfiguration(serviceName); - return configuration(serviceName, region, urlSuffix); - } - - private constructor() { } -} - -function extractSimpleName(serviceFqn: string) { - const matches = serviceFqn.match(/^([^.]+)(?:(?:\.amazonaws\.com(?:\.cn)?)|(?:\.c2s\.ic\.gov)|(?:\.sc2s\.sgov\.gov))?$/); - return matches ? matches[1] : undefined; -} diff --git a/packages/@aws-cdk/region-info/lib/fact.ts b/packages/@aws-cdk/region-info/lib/fact.ts deleted file mode 100644 index efd9932e31908..0000000000000 --- a/packages/@aws-cdk/region-info/lib/fact.ts +++ /dev/null @@ -1,206 +0,0 @@ -import { AWS_REGIONS } from './aws-entities'; - -/** - * A database of regional information. - */ -export class Fact { - /** - * @returns the list of names of AWS regions for which there is at least one registered fact. This - * may not be an exhaustive list of all available AWS regions. - */ - public static get regions(): string[] { - // Return by copy to ensure no modifications can be made to the undelying constant. - return Array.from(AWS_REGIONS); - } - - /** - * Retrieves a fact from this Fact database. - * - * @param region the name of the region (e.g: `us-east-1`) - * @param name the name of the fact being looked up (see the `FactName` class for details) - * - * @returns the fact value if it is known, and `undefined` otherwise. - */ - public static find(region: string, name: string): string | undefined { - const regionFacts = this.database[region]; - return regionFacts && regionFacts[name]; - } - - /** - * Retrieve a fact from the Fact database. (retrieval will fail if the specified region or - * fact name does not exist.) - * - * @param region the name of the region (e.g: `us-east-1`) - * @param name the name of the fact being looked up (see the `FactName` class for details) - */ - public static requireFact(region: string, name: string): string { - const foundFact = this.find(region, name); - - if (!foundFact) { - throw new Error(`No fact ${name} could be found for region: ${region} and name: ${name}`); - } - - return foundFact; - } - - /** - * Registers a new fact in this Fact database. - * - * @param fact the new fact to be registered. - * @param allowReplacing whether new facts can replace existing facts or not. - */ - public static register(fact: IFact, allowReplacing = false): void { - const regionFacts = this.database[fact.region] || (this.database[fact.region] = {}); - if (fact.name in regionFacts && regionFacts[fact.name] !== fact.value && !allowReplacing) { - throw new Error(`Region ${fact.region} already has a fact ${fact.name}, with value ${regionFacts[fact.name]}`); - } - if (fact.value !== undefined) { - regionFacts[fact.name] = fact.value; - } - } - - /** - * Removes a fact from the database. - * @param region the region for which the fact is to be removed. - * @param name the name of the fact to remove. - * @param value the value that should be removed (removal will fail if the value is specified, but does not match the - * current stored value). - */ - public static unregister(region: string, name: string, value?: string): void { - const regionFacts = this.database[region] || {}; - if (name in regionFacts && value && regionFacts[name] !== value) { - throw new Error(`Attempted to remove ${name} from ${region} with value ${value}, but the fact's value is ${regionFacts[name]}`); - } - delete regionFacts[name]; - } - - private static readonly database: { [region: string]: { [name: string]: string } } = {}; - - private constructor() { - throw new Error('Use the static methods of Fact instead!'); - } -} - -/** - * A fact that can be registered about a particular region. - */ -export interface IFact { - /** - * The region for which this fact applies. - */ - readonly region: string; - - /** - * The name of this fact. Standardized values are provided by the `Facts` class. - */ - readonly name: string; - - /** - * The value of this fact. - */ - readonly value: string | undefined; -} - -/** - * All standardized fact names. - */ -export class FactName { - /** - * The name of the partition for a region (e.g: 'aws', 'aws-cn', ...) - */ - public static readonly PARTITION = 'partition'; - - /** - * The domain suffix for a region (e.g: 'amazonaws.com`) - */ - public static readonly DOMAIN_SUFFIX = 'domainSuffix'; - - /** - * Whether the AWS::CDK::Metadata CloudFormation Resource is available in-region or not. The value is a boolean - * modelled as `YES` or `NO`. - */ - public static readonly CDK_METADATA_RESOURCE_AVAILABLE = 'cdk:metadata-resource:available'; - - /** - * Whether the given region is an opt-in region or not. The value is a boolean - * modelled as `YES` or `NO`. - */ - public static readonly IS_OPT_IN_REGION = 'aws:is-opt-in-region'; - - /** - * The endpoint used for hosting S3 static websites - */ - public static readonly S3_STATIC_WEBSITE_ENDPOINT = 's3-static-website:endpoint'; - - /** - * The endpoint used for aliasing S3 static websites in Route 53 - */ - public static readonly S3_STATIC_WEBSITE_ZONE_53_HOSTED_ZONE_ID = 's3-static-website:route-53-hosted-zone-id'; - - /** - * The hosted zone ID used by Route 53 to alias a EBS environment endpoint in this region (e.g: Z2O1EMRO9K5GLX) - */ - public static readonly EBS_ENV_ENDPOINT_HOSTED_ZONE_ID = 'ebs-environment:route-53-hosted-zone-id'; - - /** - * The prefix for VPC Endpoint Service names, - * cn.com.amazonaws.vpce for China regions, - * com.amazonaws.vpce otherwise. - */ - public static readonly VPC_ENDPOINT_SERVICE_NAME_PREFIX = 'vpcEndpointServiceNamePrefix'; - - /** - * The account for ELBv2 in this region - */ - public static readonly ELBV2_ACCOUNT = 'elbv2Account'; - - /** - * The ID of the AWS account that owns the public ECR repository that contains the - * AWS Deep Learning Containers images in a given region. - */ - public static readonly DLC_REPOSITORY_ACCOUNT = 'dlcRepositoryAccount'; - - /** - * The ID of the AWS account that owns the public ECR repository that contains the - * AWS App Mesh Envoy Proxy images in a given region. - */ - public static readonly APPMESH_ECR_ACCOUNT = 'appMeshRepositoryAccount'; - - /** - * The CIDR block used by Kinesis Data Firehose servers. - */ - public static readonly FIREHOSE_CIDR_BLOCK = 'firehoseCidrBlock'; - - /** - * The ARN of CloudWatch Lambda Insights for a version (e.g. 1.0.98.0) - */ - public static cloudwatchLambdaInsightsVersion(version: string, arch?: string) { - // if we are provided an architecture use that, otherwise - // default to x86_64 for backwards compatibility - const suffix = version.split('.').join('_') + `_${arch ?? 'x86_64'}`; - return `cloudwatch-lambda-insights-version:${suffix}`; - } - - /** - * The name of the regional service principal for a given service. - * - * @param service the service name, either simple (e.g: `s3`, `codedeploy`) or qualified (e.g: `s3.amazonaws.com`). - * The `.amazonaws.com` and `.amazonaws.com.cn` domains are stripped from service names, so they are - * canonicalized in that respect. - */ - public static servicePrincipal(service: string): string { - return `service-principal:${service.replace(/\.amazonaws\.com(\.cn)?$/, '')}`; - } - - /** - * The ARN of Amazon Distro for OpenTelemetry (ADOT) Lambda layer for a given lambda type, version and architecture. - * - * @param type the type of the ADOT lambda layer - * @param version the layer version. - * @param architecture the Lambda Function architecture (e.g. 'x86_64' or 'arm64') - */ - public static adotLambdaLayer(type: string, version: string, architecture: string): string { - const suffix = type + '_' + version.split('.').join('_') + '_' + architecture; - return `adot-lambda-layer:${suffix}`; - } -} diff --git a/packages/@aws-cdk/region-info/lib/index.ts b/packages/@aws-cdk/region-info/lib/index.ts deleted file mode 100644 index 88d63dffc1c7d..0000000000000 --- a/packages/@aws-cdk/region-info/lib/index.ts +++ /dev/null @@ -1,8 +0,0 @@ -export * from './default'; - -export * from './fact'; -export * from './region-info'; - -import { BuiltIns } from './built-ins.generated'; - -BuiltIns.register(); diff --git a/packages/@aws-cdk/region-info/lib/region-info.ts b/packages/@aws-cdk/region-info/lib/region-info.ts deleted file mode 100644 index 099218434c2c7..0000000000000 --- a/packages/@aws-cdk/region-info/lib/region-info.ts +++ /dev/null @@ -1,181 +0,0 @@ -import { partitionInformation } from './aws-entities'; -import { Fact, FactName } from './fact'; - -/** - * Information pertaining to an AWS region. - */ -export class RegionInfo { - /** - * @returns the list of names of AWS regions for which there is at least one registered fact. This - * may not be an exaustive list of all available AWS regions. - */ - public static get regions(): RegionInfo[] { - return Fact.regions.map(RegionInfo.get); - } - - /** - * Retrieves a collection of all fact values for all regions that fact is defined in. - * - * @param factName the name of the fact to retrieve values for. - * For a list of common fact names, see the FactName class - * @returns a mapping with AWS region codes as the keys, - * and the fact in the given region as the value for that key - */ - public static regionMap(factName: string): { [region: string]: string } { - const ret: { [region: string]: string } = {}; - for (const regionInfo of RegionInfo.regions) { - const fact = Fact.find(regionInfo.name, factName); - if (fact) { - ret[regionInfo.name] = fact; - } - } - return ret; - } - - /** - * Retrieves a collection of all fact values for all regions, limited to some partitions - * - * @param factName the name of the fact to retrieve values for. - * For a list of common fact names, see the FactName class - * @param partitions list of partitions to retrieve facts for. Defaults - * to `['aws', 'aws-cn']`. - * @returns a mapping with AWS region codes as the keys, - * and the fact in the given region as the value for that key - */ - public static limitedRegionMap(factName: string, partitions: string[]): { [region: string]: string } { - const ret: Record = {}; - for (const [region, value] of Object.entries(RegionInfo.regionMap(factName))) { - if (partitions.includes(partitionInformation(region).partition)) { - ret[region] = value; - } - } - return ret; - } - - /** - * Obtain region info for a given region name. - * - * @param name the name of the region (e.g: us-east-1) - */ - public static get(name: string): RegionInfo { - return new RegionInfo(name); - } - - private constructor(public readonly name: string) {} - - /** - * Whether the `AWS::CDK::Metadata` CloudFormation Resource is available in this region or not. - */ - public get cdkMetadataResourceAvailable(): boolean { - return Fact.find(this.name, FactName.CDK_METADATA_RESOURCE_AVAILABLE) === 'YES'; - } - - /** - * Whether the given region is an opt-in region - */ - public get isOptInRegion(): boolean { - return Fact.find(this.name, FactName.IS_OPT_IN_REGION) === 'YES'; - } - - /** - * The domain name suffix (e.g: amazonaws.com) for this region. - */ - public get domainSuffix(): string | undefined { - return Fact.find(this.name, FactName.DOMAIN_SUFFIX); - } - - /** - * The name of the ARN partition for this region (e.g: aws). - */ - public get partition(): string | undefined { - return Fact.find(this.name, FactName.PARTITION); - } - - /** - * The endpoint used by S3 static website hosting in this region (e.g: s3-static-website-us-east-1.amazonaws.com) - */ - public get s3StaticWebsiteEndpoint(): string | undefined { - return Fact.find(this.name, FactName.S3_STATIC_WEBSITE_ENDPOINT); - } - - /** - * The hosted zone ID used by Route 53 to alias a S3 static website in this region (e.g: Z2O1EMRO9K5GLX) - */ - public get s3StaticWebsiteHostedZoneId(): string | undefined { - return Fact.find(this.name, FactName.S3_STATIC_WEBSITE_ZONE_53_HOSTED_ZONE_ID); - } - - /** - * The hosted zone ID used by Route 53 to alias a EBS environment endpoint in this region (e.g: Z2O1EMRO9K5GLX) - */ - public get ebsEnvEndpointHostedZoneId(): string | undefined { - return Fact.find(this.name, FactName.EBS_ENV_ENDPOINT_HOSTED_ZONE_ID); - } - - /** - * The prefix for VPC Endpoint Service names, - * cn.com.amazonaws.vpce for China regions, - * com.amazonaws.vpce otherwise. - */ - public get vpcEndpointServiceNamePrefix(): string | undefined { - return Fact.find(this.name, FactName.VPC_ENDPOINT_SERVICE_NAME_PREFIX); - } - - /** - * The name of the service principal for a given service in this region. - * @param service the service name (e.g: s3.amazonaws.com) - */ - public servicePrincipal(service: string): string | undefined { - return Fact.find(this.name, FactName.servicePrincipal(service)); - } - - /** - * The account ID for ELBv2 in this region - */ - public get elbv2Account(): string | undefined { - return Fact.find(this.name, FactName.ELBV2_ACCOUNT); - } - - /** - * The ID of the AWS account that owns the public ECR repository containing the - * AWS Deep Learning Containers images in this region. - */ - public get dlcRepositoryAccount(): string | undefined { - return Fact.find(this.name, FactName.DLC_REPOSITORY_ACCOUNT); - } - - /** - * The ARN of the CloudWatch Lambda Insights extension, for the given version. - * @param insightsVersion the version (e.g. 1.0.98.0) - * @param architecture the Lambda Function architecture (e.g. 'x86_64' or 'arm64') - */ - public cloudwatchLambdaInsightsArn(insightsVersion: string, architecture?: string): string | undefined { - return Fact.find(this.name, FactName.cloudwatchLambdaInsightsVersion(insightsVersion, architecture)); - } - - /** - * The ID of the AWS account that owns the public ECR repository that contains the - * AWS App Mesh Envoy Proxy images in a given region. - */ - public get appMeshRepositoryAccount(): string | undefined { - return Fact.find(this.name, FactName.APPMESH_ECR_ACCOUNT); - } - - /** - * The CIDR block used by Kinesis Data Firehose servers. - */ - public get firehoseCidrBlock(): string | undefined { - return Fact.find(this.name, FactName.FIREHOSE_CIDR_BLOCK); - } - - /** - * The ARN of the ADOT Lambda layer, for the given layer type, version and architecture. - * - * @param type the type of the ADOT lambda layer - * @param version the layer version. - * @param architecture the Lambda Function architecture (e.g. 'x86_64' or 'arm64') - */ - public adotLambdaLayerArn(type: string, version: string, architecture: string): string | undefined { - return Fact.find(this.name, FactName.adotLambdaLayer(type, version, architecture)); - } -} diff --git a/packages/@aws-cdk/region-info/package.json b/packages/@aws-cdk/region-info/package.json index 287d18115aa18..0ff705c652d4e 100644 --- a/packages/@aws-cdk/region-info/package.json +++ b/packages/@aws-cdk/region-info/package.json @@ -38,8 +38,8 @@ } }, "scripts": { - "gen": "bash build-tools/generate.sh", - "build": "cdk-build", + "build": "yarn gen && cdk-build --skip-lint", + "gen": "cdk-copy region-info", "watch": "cdk-watch", "lint": "cdk-lint", "test": "cdk-test", @@ -62,6 +62,7 @@ "devDependencies": { "@aws-cdk/cdk-build-tools": "0.0.0", "@aws-cdk/pkglint": "0.0.0", + "aws-cdk-lib": "0.0.0", "@types/fs-extra": "^9.0.13", "@types/jest": "^27.5.2", "fs-extra": "^9.1.0" diff --git a/packages/@aws-cdk/region-info/rosetta/default.ts-fixture b/packages/@aws-cdk/region-info/rosetta/default.ts-fixture deleted file mode 100644 index 8ba0e3cb1f461..0000000000000 --- a/packages/@aws-cdk/region-info/rosetta/default.ts-fixture +++ /dev/null @@ -1,11 +0,0 @@ -// Fixture with packages imported, but nothing else -import { Stack } from 'aws-cdk-lib'; -import { Construct } from 'constructs'; -import * as regionInfo from '@aws-cdk/region-info'; - -class Fixture extends Stack { - constructor(scope: Construct, id: string) { - super(scope, id); - /// here - } -} diff --git a/packages/@aws-cdk/region-info/test/__snapshots__/region-info.test.js.snap b/packages/@aws-cdk/region-info/test/__snapshots__/region-info.test.js.snap deleted file mode 100644 index d3d67ac32bcd7..0000000000000 --- a/packages/@aws-cdk/region-info/test/__snapshots__/region-info.test.js.snap +++ /dev/null @@ -1,1161 +0,0 @@ -// Jest Snapshot v1, https://goo.gl/fbAQLP - -exports[`built-in data is correct 1`] = ` -Object { - "af-south-1": Object { - "cdkMetadataResourceAvailable": true, - "domainSuffix": "amazonaws.com", - "lambdaInsightsArmVersions": Object { - "1.0.119.0": undefined, - "1.0.135.0": undefined, - }, - "lambdaInsightsVersions": Object { - "1.0.119.0": "arn:aws:lambda:af-south-1:012438385374:layer:LambdaInsightsExtension:9", - "1.0.135.0": "arn:aws:lambda:af-south-1:012438385374:layer:LambdaInsightsExtension:11", - "1.0.143.0": "arn:aws:lambda:af-south-1:012438385374:layer:LambdaInsightsExtension:13", - "1.0.178.0": undefined, - "1.0.54.0": undefined, - "1.0.86.0": undefined, - "1.0.89.0": undefined, - "1.0.98.0": "arn:aws:lambda:af-south-1:012438385374:layer:LambdaInsightsExtension:8", - }, - "partition": "aws", - "s3StaticWebsiteEndpoint": "s3-website.af-south-1.amazonaws.com", - "servicePrincipals": Object { - "application-autoscaling": "application-autoscaling.amazonaws.com", - "autoscaling": "autoscaling.amazonaws.com", - "codedeploy": "codedeploy.af-south-1.amazonaws.com", - "ec2": "ec2.amazonaws.com", - "events": "events.amazonaws.com", - "lambda": "lambda.amazonaws.com", - "logs": "logs.af-south-1.amazonaws.com", - "s3": "s3.amazonaws.com", - "sns": "sns.amazonaws.com", - "sqs": "sqs.amazonaws.com", - "ssm": "ssm.amazonaws.com", - "states": "states.af-south-1.amazonaws.com", - }, - "vpcEndPointServiceNamePrefix": "com.amazonaws.vpce", - }, - "ap-east-1": Object { - "cdkMetadataResourceAvailable": true, - "domainSuffix": "amazonaws.com", - "lambdaInsightsArmVersions": Object { - "1.0.119.0": undefined, - "1.0.135.0": undefined, - }, - "lambdaInsightsVersions": Object { - "1.0.119.0": "arn:aws:lambda:ap-east-1:519774774795:layer:LambdaInsightsExtension:9", - "1.0.135.0": "arn:aws:lambda:ap-east-1:519774774795:layer:LambdaInsightsExtension:11", - "1.0.143.0": "arn:aws:lambda:ap-east-1:519774774795:layer:LambdaInsightsExtension:13", - "1.0.178.0": undefined, - "1.0.54.0": undefined, - "1.0.86.0": undefined, - "1.0.89.0": undefined, - "1.0.98.0": "arn:aws:lambda:ap-east-1:519774774795:layer:LambdaInsightsExtension:8", - }, - "partition": "aws", - "s3StaticWebsiteEndpoint": "s3-website.ap-east-1.amazonaws.com", - "servicePrincipals": Object { - "application-autoscaling": "application-autoscaling.amazonaws.com", - "autoscaling": "autoscaling.amazonaws.com", - "codedeploy": "codedeploy.ap-east-1.amazonaws.com", - "ec2": "ec2.amazonaws.com", - "events": "events.amazonaws.com", - "lambda": "lambda.amazonaws.com", - "logs": "logs.ap-east-1.amazonaws.com", - "s3": "s3.amazonaws.com", - "sns": "sns.amazonaws.com", - "sqs": "sqs.amazonaws.com", - "ssm": "ssm.amazonaws.com", - "states": "states.ap-east-1.amazonaws.com", - }, - "vpcEndPointServiceNamePrefix": "com.amazonaws.vpce", - }, - "ap-northeast-1": Object { - "cdkMetadataResourceAvailable": true, - "domainSuffix": "amazonaws.com", - "lambdaInsightsArmVersions": Object { - "1.0.119.0": "arn:aws:lambda:ap-northeast-1:580247275435:layer:LambdaInsightsExtension-Arm64:1", - "1.0.135.0": "arn:aws:lambda:ap-northeast-1:580247275435:layer:LambdaInsightsExtension-Arm64:2", - }, - "lambdaInsightsVersions": Object { - "1.0.119.0": "arn:aws:lambda:ap-northeast-1:580247275435:layer:LambdaInsightsExtension:23", - "1.0.135.0": "arn:aws:lambda:ap-northeast-1:580247275435:layer:LambdaInsightsExtension:25", - "1.0.143.0": "arn:aws:lambda:ap-northeast-1:580247275435:layer:LambdaInsightsExtension:31", - "1.0.178.0": undefined, - "1.0.54.0": "arn:aws:lambda:ap-northeast-1:580247275435:layer:LambdaInsightsExtension:2", - "1.0.86.0": "arn:aws:lambda:ap-northeast-1:580247275435:layer:LambdaInsightsExtension:11", - "1.0.89.0": "arn:aws:lambda:ap-northeast-1:580247275435:layer:LambdaInsightsExtension:12", - "1.0.98.0": "arn:aws:lambda:ap-northeast-1:580247275435:layer:LambdaInsightsExtension:14", - }, - "partition": "aws", - "s3StaticWebsiteEndpoint": "s3-website-ap-northeast-1.amazonaws.com", - "servicePrincipals": Object { - "application-autoscaling": "application-autoscaling.amazonaws.com", - "autoscaling": "autoscaling.amazonaws.com", - "codedeploy": "codedeploy.ap-northeast-1.amazonaws.com", - "ec2": "ec2.amazonaws.com", - "events": "events.amazonaws.com", - "lambda": "lambda.amazonaws.com", - "logs": "logs.ap-northeast-1.amazonaws.com", - "s3": "s3.amazonaws.com", - "sns": "sns.amazonaws.com", - "sqs": "sqs.amazonaws.com", - "ssm": "ssm.amazonaws.com", - "states": "states.ap-northeast-1.amazonaws.com", - }, - "vpcEndPointServiceNamePrefix": "com.amazonaws.vpce", - }, - "ap-northeast-2": Object { - "cdkMetadataResourceAvailable": true, - "domainSuffix": "amazonaws.com", - "lambdaInsightsArmVersions": Object { - "1.0.119.0": undefined, - "1.0.135.0": undefined, - }, - "lambdaInsightsVersions": Object { - "1.0.119.0": "arn:aws:lambda:ap-northeast-2:580247275435:layer:LambdaInsightsExtension:16", - "1.0.135.0": "arn:aws:lambda:ap-northeast-2:580247275435:layer:LambdaInsightsExtension:18", - "1.0.143.0": "arn:aws:lambda:ap-northeast-2:580247275435:layer:LambdaInsightsExtension:20", - "1.0.178.0": undefined, - "1.0.54.0": "arn:aws:lambda:ap-northeast-2:580247275435:layer:LambdaInsightsExtension:2", - "1.0.86.0": "arn:aws:lambda:ap-northeast-2:580247275435:layer:LambdaInsightsExtension:11", - "1.0.89.0": "arn:aws:lambda:ap-northeast-2:580247275435:layer:LambdaInsightsExtension:12", - "1.0.98.0": "arn:aws:lambda:ap-northeast-2:580247275435:layer:LambdaInsightsExtension:14", - }, - "partition": "aws", - "s3StaticWebsiteEndpoint": "s3-website.ap-northeast-2.amazonaws.com", - "servicePrincipals": Object { - "application-autoscaling": "application-autoscaling.amazonaws.com", - "autoscaling": "autoscaling.amazonaws.com", - "codedeploy": "codedeploy.ap-northeast-2.amazonaws.com", - "ec2": "ec2.amazonaws.com", - "events": "events.amazonaws.com", - "lambda": "lambda.amazonaws.com", - "logs": "logs.ap-northeast-2.amazonaws.com", - "s3": "s3.amazonaws.com", - "sns": "sns.amazonaws.com", - "sqs": "sqs.amazonaws.com", - "ssm": "ssm.amazonaws.com", - "states": "states.ap-northeast-2.amazonaws.com", - }, - "vpcEndPointServiceNamePrefix": "com.amazonaws.vpce", - }, - "ap-northeast-3": Object { - "cdkMetadataResourceAvailable": false, - "domainSuffix": "amazonaws.com", - "lambdaInsightsArmVersions": Object { - "1.0.119.0": undefined, - "1.0.135.0": undefined, - }, - "lambdaInsightsVersions": Object { - "1.0.119.0": undefined, - "1.0.135.0": "arn:aws:lambda:ap-northeast-3:194566237122:layer:LambdaInsightsExtension:1", - "1.0.143.0": "arn:aws:lambda:ap-northeast-3:194566237122:layer:LambdaInsightsExtension:2", - "1.0.178.0": undefined, - "1.0.54.0": undefined, - "1.0.86.0": undefined, - "1.0.89.0": undefined, - "1.0.98.0": undefined, - }, - "partition": "aws", - "s3StaticWebsiteEndpoint": "s3-website.ap-northeast-3.amazonaws.com", - "servicePrincipals": Object { - "application-autoscaling": "application-autoscaling.amazonaws.com", - "autoscaling": "autoscaling.amazonaws.com", - "codedeploy": "codedeploy.ap-northeast-3.amazonaws.com", - "ec2": "ec2.amazonaws.com", - "events": "events.amazonaws.com", - "lambda": "lambda.amazonaws.com", - "logs": "logs.ap-northeast-3.amazonaws.com", - "s3": "s3.amazonaws.com", - "sns": "sns.amazonaws.com", - "sqs": "sqs.amazonaws.com", - "ssm": "ssm.amazonaws.com", - "states": "states.ap-northeast-3.amazonaws.com", - }, - "vpcEndPointServiceNamePrefix": "com.amazonaws.vpce", - }, - "ap-south-1": Object { - "cdkMetadataResourceAvailable": true, - "domainSuffix": "amazonaws.com", - "lambdaInsightsArmVersions": Object { - "1.0.119.0": "arn:aws:lambda:ap-south-1:580247275435:layer:LambdaInsightsExtension-Arm64:1", - "1.0.135.0": "arn:aws:lambda:ap-south-1:580247275435:layer:LambdaInsightsExtension-Arm64:2", - }, - "lambdaInsightsVersions": Object { - "1.0.119.0": "arn:aws:lambda:ap-south-1:580247275435:layer:LambdaInsightsExtension:16", - "1.0.135.0": "arn:aws:lambda:ap-south-1:580247275435:layer:LambdaInsightsExtension:18", - "1.0.143.0": "arn:aws:lambda:ap-south-1:580247275435:layer:LambdaInsightsExtension:21", - "1.0.178.0": undefined, - "1.0.54.0": "arn:aws:lambda:ap-south-1:580247275435:layer:LambdaInsightsExtension:2", - "1.0.86.0": "arn:aws:lambda:ap-south-1:580247275435:layer:LambdaInsightsExtension:11", - "1.0.89.0": "arn:aws:lambda:ap-south-1:580247275435:layer:LambdaInsightsExtension:12", - "1.0.98.0": "arn:aws:lambda:ap-south-1:580247275435:layer:LambdaInsightsExtension:14", - }, - "partition": "aws", - "s3StaticWebsiteEndpoint": "s3-website.ap-south-1.amazonaws.com", - "servicePrincipals": Object { - "application-autoscaling": "application-autoscaling.amazonaws.com", - "autoscaling": "autoscaling.amazonaws.com", - "codedeploy": "codedeploy.ap-south-1.amazonaws.com", - "ec2": "ec2.amazonaws.com", - "events": "events.amazonaws.com", - "lambda": "lambda.amazonaws.com", - "logs": "logs.ap-south-1.amazonaws.com", - "s3": "s3.amazonaws.com", - "sns": "sns.amazonaws.com", - "sqs": "sqs.amazonaws.com", - "ssm": "ssm.amazonaws.com", - "states": "states.ap-south-1.amazonaws.com", - }, - "vpcEndPointServiceNamePrefix": "com.amazonaws.vpce", - }, - "ap-south-2": Object { - "cdkMetadataResourceAvailable": false, - "domainSuffix": "amazonaws.com", - "lambdaInsightsArmVersions": Object { - "1.0.119.0": undefined, - "1.0.135.0": undefined, - }, - "lambdaInsightsVersions": Object { - "1.0.119.0": undefined, - "1.0.135.0": undefined, - "1.0.143.0": undefined, - "1.0.178.0": "arn:aws:lambda:ap-south-2:891564319516:layer:LambdaInsightsExtension:6", - "1.0.54.0": undefined, - "1.0.86.0": undefined, - "1.0.89.0": undefined, - "1.0.98.0": undefined, - }, - "partition": "aws", - "s3StaticWebsiteEndpoint": "s3-website.ap-south-2.amazonaws.com", - "servicePrincipals": Object { - "application-autoscaling": "application-autoscaling.amazonaws.com", - "autoscaling": "autoscaling.amazonaws.com", - "codedeploy": "codedeploy.ap-south-2.amazonaws.com", - "ec2": "ec2.amazonaws.com", - "events": "events.amazonaws.com", - "lambda": "lambda.amazonaws.com", - "logs": "logs.ap-south-2.amazonaws.com", - "s3": "s3.amazonaws.com", - "sns": "sns.amazonaws.com", - "sqs": "sqs.amazonaws.com", - "ssm": "ssm.amazonaws.com", - "states": "states.ap-south-2.amazonaws.com", - }, - "vpcEndPointServiceNamePrefix": "com.amazonaws.vpce", - }, - "ap-southeast-1": Object { - "cdkMetadataResourceAvailable": true, - "domainSuffix": "amazonaws.com", - "lambdaInsightsArmVersions": Object { - "1.0.119.0": "arn:aws:lambda:ap-southeast-1:580247275435:layer:LambdaInsightsExtension-Arm64:1", - "1.0.135.0": "arn:aws:lambda:ap-southeast-1:580247275435:layer:LambdaInsightsExtension-Arm64:2", - }, - "lambdaInsightsVersions": Object { - "1.0.119.0": "arn:aws:lambda:ap-southeast-1:580247275435:layer:LambdaInsightsExtension:16", - "1.0.135.0": "arn:aws:lambda:ap-southeast-1:580247275435:layer:LambdaInsightsExtension:18", - "1.0.143.0": "arn:aws:lambda:ap-southeast-1:580247275435:layer:LambdaInsightsExtension:21", - "1.0.178.0": undefined, - "1.0.54.0": "arn:aws:lambda:ap-southeast-1:580247275435:layer:LambdaInsightsExtension:2", - "1.0.86.0": "arn:aws:lambda:ap-southeast-1:580247275435:layer:LambdaInsightsExtension:11", - "1.0.89.0": "arn:aws:lambda:ap-southeast-1:580247275435:layer:LambdaInsightsExtension:12", - "1.0.98.0": "arn:aws:lambda:ap-southeast-1:580247275435:layer:LambdaInsightsExtension:14", - }, - "partition": "aws", - "s3StaticWebsiteEndpoint": "s3-website-ap-southeast-1.amazonaws.com", - "servicePrincipals": Object { - "application-autoscaling": "application-autoscaling.amazonaws.com", - "autoscaling": "autoscaling.amazonaws.com", - "codedeploy": "codedeploy.ap-southeast-1.amazonaws.com", - "ec2": "ec2.amazonaws.com", - "events": "events.amazonaws.com", - "lambda": "lambda.amazonaws.com", - "logs": "logs.ap-southeast-1.amazonaws.com", - "s3": "s3.amazonaws.com", - "sns": "sns.amazonaws.com", - "sqs": "sqs.amazonaws.com", - "ssm": "ssm.amazonaws.com", - "states": "states.ap-southeast-1.amazonaws.com", - }, - "vpcEndPointServiceNamePrefix": "com.amazonaws.vpce", - }, - "ap-southeast-2": Object { - "cdkMetadataResourceAvailable": true, - "domainSuffix": "amazonaws.com", - "lambdaInsightsArmVersions": Object { - "1.0.119.0": "arn:aws:lambda:ap-southeast-2:580247275435:layer:LambdaInsightsExtension-Arm64:1", - "1.0.135.0": "arn:aws:lambda:ap-southeast-2:580247275435:layer:LambdaInsightsExtension-Arm64:2", - }, - "lambdaInsightsVersions": Object { - "1.0.119.0": "arn:aws:lambda:ap-southeast-2:580247275435:layer:LambdaInsightsExtension:16", - "1.0.135.0": "arn:aws:lambda:ap-southeast-2:580247275435:layer:LambdaInsightsExtension:18", - "1.0.143.0": "arn:aws:lambda:ap-southeast-2:580247275435:layer:LambdaInsightsExtension:21", - "1.0.178.0": undefined, - "1.0.54.0": "arn:aws:lambda:ap-southeast-2:580247275435:layer:LambdaInsightsExtension:2", - "1.0.86.0": "arn:aws:lambda:ap-southeast-2:580247275435:layer:LambdaInsightsExtension:11", - "1.0.89.0": "arn:aws:lambda:ap-southeast-2:580247275435:layer:LambdaInsightsExtension:12", - "1.0.98.0": "arn:aws:lambda:ap-southeast-2:580247275435:layer:LambdaInsightsExtension:14", - }, - "partition": "aws", - "s3StaticWebsiteEndpoint": "s3-website-ap-southeast-2.amazonaws.com", - "servicePrincipals": Object { - "application-autoscaling": "application-autoscaling.amazonaws.com", - "autoscaling": "autoscaling.amazonaws.com", - "codedeploy": "codedeploy.ap-southeast-2.amazonaws.com", - "ec2": "ec2.amazonaws.com", - "events": "events.amazonaws.com", - "lambda": "lambda.amazonaws.com", - "logs": "logs.ap-southeast-2.amazonaws.com", - "s3": "s3.amazonaws.com", - "sns": "sns.amazonaws.com", - "sqs": "sqs.amazonaws.com", - "ssm": "ssm.amazonaws.com", - "states": "states.ap-southeast-2.amazonaws.com", - }, - "vpcEndPointServiceNamePrefix": "com.amazonaws.vpce", - }, - "ap-southeast-3": Object { - "cdkMetadataResourceAvailable": false, - "domainSuffix": "amazonaws.com", - "lambdaInsightsArmVersions": Object { - "1.0.119.0": undefined, - "1.0.135.0": undefined, - }, - "lambdaInsightsVersions": Object { - "1.0.119.0": undefined, - "1.0.135.0": undefined, - "1.0.143.0": undefined, - "1.0.178.0": "arn:aws:lambda:ap-southeast-3:439286490199:layer:LambdaInsightsExtension:8", - "1.0.54.0": undefined, - "1.0.86.0": undefined, - "1.0.89.0": undefined, - "1.0.98.0": undefined, - }, - "partition": "aws", - "s3StaticWebsiteEndpoint": "s3-website.ap-southeast-3.amazonaws.com", - "servicePrincipals": Object { - "application-autoscaling": "application-autoscaling.amazonaws.com", - "autoscaling": "autoscaling.amazonaws.com", - "codedeploy": "codedeploy.ap-southeast-3.amazonaws.com", - "ec2": "ec2.amazonaws.com", - "events": "events.amazonaws.com", - "lambda": "lambda.amazonaws.com", - "logs": "logs.ap-southeast-3.amazonaws.com", - "s3": "s3.amazonaws.com", - "sns": "sns.amazonaws.com", - "sqs": "sqs.amazonaws.com", - "ssm": "ssm.amazonaws.com", - "states": "states.ap-southeast-3.amazonaws.com", - }, - "vpcEndPointServiceNamePrefix": "com.amazonaws.vpce", - }, - "ca-central-1": Object { - "cdkMetadataResourceAvailable": true, - "domainSuffix": "amazonaws.com", - "lambdaInsightsArmVersions": Object { - "1.0.119.0": undefined, - "1.0.135.0": undefined, - }, - "lambdaInsightsVersions": Object { - "1.0.119.0": "arn:aws:lambda:ca-central-1:580247275435:layer:LambdaInsightsExtension:16", - "1.0.135.0": "arn:aws:lambda:ca-central-1:580247275435:layer:LambdaInsightsExtension:18", - "1.0.143.0": "arn:aws:lambda:ca-central-1:580247275435:layer:LambdaInsightsExtension:20", - "1.0.178.0": undefined, - "1.0.54.0": "arn:aws:lambda:ca-central-1:580247275435:layer:LambdaInsightsExtension:2", - "1.0.86.0": "arn:aws:lambda:ca-central-1:580247275435:layer:LambdaInsightsExtension:11", - "1.0.89.0": "arn:aws:lambda:ca-central-1:580247275435:layer:LambdaInsightsExtension:12", - "1.0.98.0": "arn:aws:lambda:ca-central-1:580247275435:layer:LambdaInsightsExtension:14", - }, - "partition": "aws", - "s3StaticWebsiteEndpoint": "s3-website.ca-central-1.amazonaws.com", - "servicePrincipals": Object { - "application-autoscaling": "application-autoscaling.amazonaws.com", - "autoscaling": "autoscaling.amazonaws.com", - "codedeploy": "codedeploy.ca-central-1.amazonaws.com", - "ec2": "ec2.amazonaws.com", - "events": "events.amazonaws.com", - "lambda": "lambda.amazonaws.com", - "logs": "logs.ca-central-1.amazonaws.com", - "s3": "s3.amazonaws.com", - "sns": "sns.amazonaws.com", - "sqs": "sqs.amazonaws.com", - "ssm": "ssm.amazonaws.com", - "states": "states.ca-central-1.amazonaws.com", - }, - "vpcEndPointServiceNamePrefix": "com.amazonaws.vpce", - }, - "cn-north-1": Object { - "cdkMetadataResourceAvailable": true, - "domainSuffix": "amazonaws.com.cn", - "lambdaInsightsArmVersions": Object { - "1.0.119.0": undefined, - "1.0.135.0": undefined, - }, - "lambdaInsightsVersions": Object { - "1.0.119.0": "arn:aws-cn:lambda:cn-north-1:488211338238:layer:LambdaInsightsExtension:9", - "1.0.135.0": "arn:aws-cn:lambda:cn-north-1:488211338238:layer:LambdaInsightsExtension:11", - "1.0.143.0": "arn:aws-cn:lambda:cn-north-1:488211338238:layer:LambdaInsightsExtension:14", - "1.0.178.0": undefined, - "1.0.54.0": undefined, - "1.0.86.0": undefined, - "1.0.89.0": undefined, - "1.0.98.0": "arn:aws-cn:lambda:cn-north-1:488211338238:layer:LambdaInsightsExtension:8", - }, - "partition": "aws-cn", - "s3StaticWebsiteEndpoint": "s3-website.cn-north-1.amazonaws.com.cn", - "servicePrincipals": Object { - "application-autoscaling": "application-autoscaling.amazonaws.com", - "autoscaling": "autoscaling.amazonaws.com", - "codedeploy": "codedeploy.cn-north-1.amazonaws.com.cn", - "ec2": "ec2.amazonaws.com", - "events": "events.amazonaws.com", - "lambda": "lambda.amazonaws.com", - "logs": "logs.cn-north-1.amazonaws.com.cn", - "s3": "s3.amazonaws.com", - "sns": "sns.amazonaws.com", - "sqs": "sqs.amazonaws.com", - "ssm": "ssm.amazonaws.com", - "states": "states.cn-north-1.amazonaws.com", - }, - "vpcEndPointServiceNamePrefix": "cn.com.amazonaws.vpce", - }, - "cn-northwest-1": Object { - "cdkMetadataResourceAvailable": true, - "domainSuffix": "amazonaws.com.cn", - "lambdaInsightsArmVersions": Object { - "1.0.119.0": undefined, - "1.0.135.0": undefined, - }, - "lambdaInsightsVersions": Object { - "1.0.119.0": "arn:aws-cn:lambda:cn-northwest-1:488211338238:layer:LambdaInsightsExtension:9", - "1.0.135.0": "arn:aws-cn:lambda:cn-northwest-1:488211338238:layer:LambdaInsightsExtension:11", - "1.0.143.0": "arn:aws-cn:lambda:cn-northwest-1:488211338238:layer:LambdaInsightsExtension:14", - "1.0.178.0": undefined, - "1.0.54.0": undefined, - "1.0.86.0": undefined, - "1.0.89.0": undefined, - "1.0.98.0": "arn:aws-cn:lambda:cn-northwest-1:488211338238:layer:LambdaInsightsExtension:8", - }, - "partition": "aws-cn", - "s3StaticWebsiteEndpoint": "s3-website.cn-northwest-1.amazonaws.com.cn", - "servicePrincipals": Object { - "application-autoscaling": "application-autoscaling.amazonaws.com", - "autoscaling": "autoscaling.amazonaws.com", - "codedeploy": "codedeploy.cn-northwest-1.amazonaws.com.cn", - "ec2": "ec2.amazonaws.com", - "events": "events.amazonaws.com", - "lambda": "lambda.amazonaws.com", - "logs": "logs.cn-northwest-1.amazonaws.com.cn", - "s3": "s3.amazonaws.com", - "sns": "sns.amazonaws.com", - "sqs": "sqs.amazonaws.com", - "ssm": "ssm.amazonaws.com", - "states": "states.cn-northwest-1.amazonaws.com", - }, - "vpcEndPointServiceNamePrefix": "cn.com.amazonaws.vpce", - }, - "eu-central-1": Object { - "cdkMetadataResourceAvailable": true, - "domainSuffix": "amazonaws.com", - "lambdaInsightsArmVersions": Object { - "1.0.119.0": "arn:aws:lambda:eu-central-1:580247275435:layer:LambdaInsightsExtension-Arm64:1", - "1.0.135.0": "arn:aws:lambda:eu-central-1:580247275435:layer:LambdaInsightsExtension-Arm64:2", - }, - "lambdaInsightsVersions": Object { - "1.0.119.0": "arn:aws:lambda:eu-central-1:580247275435:layer:LambdaInsightsExtension:16", - "1.0.135.0": "arn:aws:lambda:eu-central-1:580247275435:layer:LambdaInsightsExtension:18", - "1.0.143.0": "arn:aws:lambda:eu-central-1:580247275435:layer:LambdaInsightsExtension:21", - "1.0.178.0": undefined, - "1.0.54.0": "arn:aws:lambda:eu-central-1:580247275435:layer:LambdaInsightsExtension:2", - "1.0.86.0": "arn:aws:lambda:eu-central-1:580247275435:layer:LambdaInsightsExtension:11", - "1.0.89.0": "arn:aws:lambda:eu-central-1:580247275435:layer:LambdaInsightsExtension:12", - "1.0.98.0": "arn:aws:lambda:eu-central-1:580247275435:layer:LambdaInsightsExtension:14", - }, - "partition": "aws", - "s3StaticWebsiteEndpoint": "s3-website.eu-central-1.amazonaws.com", - "servicePrincipals": Object { - "application-autoscaling": "application-autoscaling.amazonaws.com", - "autoscaling": "autoscaling.amazonaws.com", - "codedeploy": "codedeploy.eu-central-1.amazonaws.com", - "ec2": "ec2.amazonaws.com", - "events": "events.amazonaws.com", - "lambda": "lambda.amazonaws.com", - "logs": "logs.eu-central-1.amazonaws.com", - "s3": "s3.amazonaws.com", - "sns": "sns.amazonaws.com", - "sqs": "sqs.amazonaws.com", - "ssm": "ssm.amazonaws.com", - "states": "states.eu-central-1.amazonaws.com", - }, - "vpcEndPointServiceNamePrefix": "com.amazonaws.vpce", - }, - "eu-central-2": Object { - "cdkMetadataResourceAvailable": false, - "domainSuffix": "amazonaws.com", - "lambdaInsightsArmVersions": Object { - "1.0.119.0": undefined, - "1.0.135.0": undefined, - }, - "lambdaInsightsVersions": Object { - "1.0.119.0": undefined, - "1.0.135.0": undefined, - "1.0.143.0": undefined, - "1.0.178.0": "arn:aws:lambda:eu-central-2:033019950311:layer:LambdaInsightsExtension:7", - "1.0.54.0": undefined, - "1.0.86.0": undefined, - "1.0.89.0": undefined, - "1.0.98.0": undefined, - }, - "partition": "aws", - "s3StaticWebsiteEndpoint": "s3-website.eu-central-2.amazonaws.com", - "servicePrincipals": Object { - "application-autoscaling": "application-autoscaling.amazonaws.com", - "autoscaling": "autoscaling.amazonaws.com", - "codedeploy": "codedeploy.eu-central-2.amazonaws.com", - "ec2": "ec2.amazonaws.com", - "events": "events.amazonaws.com", - "lambda": "lambda.amazonaws.com", - "logs": "logs.eu-central-2.amazonaws.com", - "s3": "s3.amazonaws.com", - "sns": "sns.amazonaws.com", - "sqs": "sqs.amazonaws.com", - "ssm": "ssm.amazonaws.com", - "states": "states.eu-central-2.amazonaws.com", - }, - "vpcEndPointServiceNamePrefix": "com.amazonaws.vpce", - }, - "eu-north-1": Object { - "cdkMetadataResourceAvailable": true, - "domainSuffix": "amazonaws.com", - "lambdaInsightsArmVersions": Object { - "1.0.119.0": undefined, - "1.0.135.0": undefined, - }, - "lambdaInsightsVersions": Object { - "1.0.119.0": "arn:aws:lambda:eu-north-1:580247275435:layer:LambdaInsightsExtension:16", - "1.0.135.0": "arn:aws:lambda:eu-north-1:580247275435:layer:LambdaInsightsExtension:18", - "1.0.143.0": "arn:aws:lambda:eu-north-1:580247275435:layer:LambdaInsightsExtension:20", - "1.0.178.0": undefined, - "1.0.54.0": "arn:aws:lambda:eu-north-1:580247275435:layer:LambdaInsightsExtension:2", - "1.0.86.0": "arn:aws:lambda:eu-north-1:580247275435:layer:LambdaInsightsExtension:11", - "1.0.89.0": "arn:aws:lambda:eu-north-1:580247275435:layer:LambdaInsightsExtension:12", - "1.0.98.0": "arn:aws:lambda:eu-north-1:580247275435:layer:LambdaInsightsExtension:14", - }, - "partition": "aws", - "s3StaticWebsiteEndpoint": "s3-website.eu-north-1.amazonaws.com", - "servicePrincipals": Object { - "application-autoscaling": "application-autoscaling.amazonaws.com", - "autoscaling": "autoscaling.amazonaws.com", - "codedeploy": "codedeploy.eu-north-1.amazonaws.com", - "ec2": "ec2.amazonaws.com", - "events": "events.amazonaws.com", - "lambda": "lambda.amazonaws.com", - "logs": "logs.eu-north-1.amazonaws.com", - "s3": "s3.amazonaws.com", - "sns": "sns.amazonaws.com", - "sqs": "sqs.amazonaws.com", - "ssm": "ssm.amazonaws.com", - "states": "states.eu-north-1.amazonaws.com", - }, - "vpcEndPointServiceNamePrefix": "com.amazonaws.vpce", - }, - "eu-south-1": Object { - "cdkMetadataResourceAvailable": true, - "domainSuffix": "amazonaws.com", - "lambdaInsightsArmVersions": Object { - "1.0.119.0": undefined, - "1.0.135.0": undefined, - }, - "lambdaInsightsVersions": Object { - "1.0.119.0": "arn:aws:lambda:eu-south-1:339249233099:layer:LambdaInsightsExtension:9", - "1.0.135.0": "arn:aws:lambda:eu-south-1:339249233099:layer:LambdaInsightsExtension:11", - "1.0.143.0": "arn:aws:lambda:eu-south-1:339249233099:layer:LambdaInsightsExtension:13", - "1.0.178.0": undefined, - "1.0.54.0": undefined, - "1.0.86.0": undefined, - "1.0.89.0": undefined, - "1.0.98.0": "arn:aws:lambda:eu-south-1:339249233099:layer:LambdaInsightsExtension:8", - }, - "partition": "aws", - "s3StaticWebsiteEndpoint": "s3-website.eu-south-1.amazonaws.com", - "servicePrincipals": Object { - "application-autoscaling": "application-autoscaling.amazonaws.com", - "autoscaling": "autoscaling.amazonaws.com", - "codedeploy": "codedeploy.eu-south-1.amazonaws.com", - "ec2": "ec2.amazonaws.com", - "events": "events.amazonaws.com", - "lambda": "lambda.amazonaws.com", - "logs": "logs.eu-south-1.amazonaws.com", - "s3": "s3.amazonaws.com", - "sns": "sns.amazonaws.com", - "sqs": "sqs.amazonaws.com", - "ssm": "ssm.amazonaws.com", - "states": "states.eu-south-1.amazonaws.com", - }, - "vpcEndPointServiceNamePrefix": "com.amazonaws.vpce", - }, - "eu-south-2": Object { - "cdkMetadataResourceAvailable": false, - "domainSuffix": "amazonaws.com", - "lambdaInsightsArmVersions": Object { - "1.0.119.0": undefined, - "1.0.135.0": undefined, - }, - "lambdaInsightsVersions": Object { - "1.0.119.0": undefined, - "1.0.135.0": undefined, - "1.0.143.0": undefined, - "1.0.178.0": "arn:aws:lambda:eu-south-2:352183217350:layer:LambdaInsightsExtension:2", - "1.0.54.0": undefined, - "1.0.86.0": undefined, - "1.0.89.0": undefined, - "1.0.98.0": undefined, - }, - "partition": "aws", - "s3StaticWebsiteEndpoint": "s3-website.eu-south-2.amazonaws.com", - "servicePrincipals": Object { - "application-autoscaling": "application-autoscaling.amazonaws.com", - "autoscaling": "autoscaling.amazonaws.com", - "codedeploy": "codedeploy.eu-south-2.amazonaws.com", - "ec2": "ec2.amazonaws.com", - "events": "events.amazonaws.com", - "lambda": "lambda.amazonaws.com", - "logs": "logs.eu-south-2.amazonaws.com", - "s3": "s3.amazonaws.com", - "sns": "sns.amazonaws.com", - "sqs": "sqs.amazonaws.com", - "ssm": "ssm.amazonaws.com", - "states": "states.eu-south-2.amazonaws.com", - }, - "vpcEndPointServiceNamePrefix": "com.amazonaws.vpce", - }, - "eu-west-1": Object { - "cdkMetadataResourceAvailable": true, - "domainSuffix": "amazonaws.com", - "lambdaInsightsArmVersions": Object { - "1.0.119.0": "arn:aws:lambda:eu-west-1:580247275435:layer:LambdaInsightsExtension-Arm64:1", - "1.0.135.0": "arn:aws:lambda:eu-west-1:580247275435:layer:LambdaInsightsExtension-Arm64:2", - }, - "lambdaInsightsVersions": Object { - "1.0.119.0": "arn:aws:lambda:eu-west-1:580247275435:layer:LambdaInsightsExtension:16", - "1.0.135.0": "arn:aws:lambda:eu-west-1:580247275435:layer:LambdaInsightsExtension:18", - "1.0.143.0": "arn:aws:lambda:eu-west-1:580247275435:layer:LambdaInsightsExtension:21", - "1.0.178.0": undefined, - "1.0.54.0": "arn:aws:lambda:eu-west-1:580247275435:layer:LambdaInsightsExtension:2", - "1.0.86.0": "arn:aws:lambda:eu-west-1:580247275435:layer:LambdaInsightsExtension:11", - "1.0.89.0": "arn:aws:lambda:eu-west-1:580247275435:layer:LambdaInsightsExtension:12", - "1.0.98.0": "arn:aws:lambda:eu-west-1:580247275435:layer:LambdaInsightsExtension:14", - }, - "partition": "aws", - "s3StaticWebsiteEndpoint": "s3-website-eu-west-1.amazonaws.com", - "servicePrincipals": Object { - "application-autoscaling": "application-autoscaling.amazonaws.com", - "autoscaling": "autoscaling.amazonaws.com", - "codedeploy": "codedeploy.eu-west-1.amazonaws.com", - "ec2": "ec2.amazonaws.com", - "events": "events.amazonaws.com", - "lambda": "lambda.amazonaws.com", - "logs": "logs.eu-west-1.amazonaws.com", - "s3": "s3.amazonaws.com", - "sns": "sns.amazonaws.com", - "sqs": "sqs.amazonaws.com", - "ssm": "ssm.amazonaws.com", - "states": "states.eu-west-1.amazonaws.com", - }, - "vpcEndPointServiceNamePrefix": "com.amazonaws.vpce", - }, - "eu-west-2": Object { - "cdkMetadataResourceAvailable": true, - "domainSuffix": "amazonaws.com", - "lambdaInsightsArmVersions": Object { - "1.0.119.0": "arn:aws:lambda:eu-west-2:580247275435:layer:LambdaInsightsExtension-Arm64:1", - "1.0.135.0": "arn:aws:lambda:eu-west-2:580247275435:layer:LambdaInsightsExtension-Arm64:2", - }, - "lambdaInsightsVersions": Object { - "1.0.119.0": "arn:aws:lambda:eu-west-2:580247275435:layer:LambdaInsightsExtension:16", - "1.0.135.0": "arn:aws:lambda:eu-west-2:580247275435:layer:LambdaInsightsExtension:18", - "1.0.143.0": "arn:aws:lambda:eu-west-2:580247275435:layer:LambdaInsightsExtension:21", - "1.0.178.0": undefined, - "1.0.54.0": "arn:aws:lambda:eu-west-2:580247275435:layer:LambdaInsightsExtension:2", - "1.0.86.0": "arn:aws:lambda:eu-west-2:580247275435:layer:LambdaInsightsExtension:11", - "1.0.89.0": "arn:aws:lambda:eu-west-2:580247275435:layer:LambdaInsightsExtension:12", - "1.0.98.0": "arn:aws:lambda:eu-west-2:580247275435:layer:LambdaInsightsExtension:14", - }, - "partition": "aws", - "s3StaticWebsiteEndpoint": "s3-website.eu-west-2.amazonaws.com", - "servicePrincipals": Object { - "application-autoscaling": "application-autoscaling.amazonaws.com", - "autoscaling": "autoscaling.amazonaws.com", - "codedeploy": "codedeploy.eu-west-2.amazonaws.com", - "ec2": "ec2.amazonaws.com", - "events": "events.amazonaws.com", - "lambda": "lambda.amazonaws.com", - "logs": "logs.eu-west-2.amazonaws.com", - "s3": "s3.amazonaws.com", - "sns": "sns.amazonaws.com", - "sqs": "sqs.amazonaws.com", - "ssm": "ssm.amazonaws.com", - "states": "states.eu-west-2.amazonaws.com", - }, - "vpcEndPointServiceNamePrefix": "com.amazonaws.vpce", - }, - "eu-west-3": Object { - "cdkMetadataResourceAvailable": true, - "domainSuffix": "amazonaws.com", - "lambdaInsightsArmVersions": Object { - "1.0.119.0": undefined, - "1.0.135.0": undefined, - }, - "lambdaInsightsVersions": Object { - "1.0.119.0": "arn:aws:lambda:eu-west-3:580247275435:layer:LambdaInsightsExtension:16", - "1.0.135.0": "arn:aws:lambda:eu-west-3:580247275435:layer:LambdaInsightsExtension:18", - "1.0.143.0": "arn:aws:lambda:eu-west-3:580247275435:layer:LambdaInsightsExtension:20", - "1.0.178.0": undefined, - "1.0.54.0": "arn:aws:lambda:eu-west-3:580247275435:layer:LambdaInsightsExtension:2", - "1.0.86.0": "arn:aws:lambda:eu-west-3:580247275435:layer:LambdaInsightsExtension:11", - "1.0.89.0": "arn:aws:lambda:eu-west-3:580247275435:layer:LambdaInsightsExtension:12", - "1.0.98.0": "arn:aws:lambda:eu-west-3:580247275435:layer:LambdaInsightsExtension:14", - }, - "partition": "aws", - "s3StaticWebsiteEndpoint": "s3-website.eu-west-3.amazonaws.com", - "servicePrincipals": Object { - "application-autoscaling": "application-autoscaling.amazonaws.com", - "autoscaling": "autoscaling.amazonaws.com", - "codedeploy": "codedeploy.eu-west-3.amazonaws.com", - "ec2": "ec2.amazonaws.com", - "events": "events.amazonaws.com", - "lambda": "lambda.amazonaws.com", - "logs": "logs.eu-west-3.amazonaws.com", - "s3": "s3.amazonaws.com", - "sns": "sns.amazonaws.com", - "sqs": "sqs.amazonaws.com", - "ssm": "ssm.amazonaws.com", - "states": "states.eu-west-3.amazonaws.com", - }, - "vpcEndPointServiceNamePrefix": "com.amazonaws.vpce", - }, - "me-central-1": Object { - "cdkMetadataResourceAvailable": false, - "domainSuffix": "amazonaws.com", - "lambdaInsightsArmVersions": Object { - "1.0.119.0": undefined, - "1.0.135.0": undefined, - }, - "lambdaInsightsVersions": Object { - "1.0.119.0": undefined, - "1.0.135.0": undefined, - "1.0.143.0": undefined, - "1.0.178.0": "arn:aws:lambda:me-central-1:732604637566:layer:LambdaInsightsExtension:6", - "1.0.54.0": undefined, - "1.0.86.0": undefined, - "1.0.89.0": undefined, - "1.0.98.0": undefined, - }, - "partition": "aws", - "s3StaticWebsiteEndpoint": "s3-website.me-central-1.amazonaws.com", - "servicePrincipals": Object { - "application-autoscaling": "application-autoscaling.amazonaws.com", - "autoscaling": "autoscaling.amazonaws.com", - "codedeploy": "codedeploy.me-central-1.amazonaws.com", - "ec2": "ec2.amazonaws.com", - "events": "events.amazonaws.com", - "lambda": "lambda.amazonaws.com", - "logs": "logs.me-central-1.amazonaws.com", - "s3": "s3.amazonaws.com", - "sns": "sns.amazonaws.com", - "sqs": "sqs.amazonaws.com", - "ssm": "ssm.amazonaws.com", - "states": "states.me-central-1.amazonaws.com", - }, - "vpcEndPointServiceNamePrefix": "com.amazonaws.vpce", - }, - "me-south-1": Object { - "cdkMetadataResourceAvailable": true, - "domainSuffix": "amazonaws.com", - "lambdaInsightsArmVersions": Object { - "1.0.119.0": undefined, - "1.0.135.0": undefined, - }, - "lambdaInsightsVersions": Object { - "1.0.119.0": "arn:aws:lambda:me-south-1:285320876703:layer:LambdaInsightsExtension:9", - "1.0.135.0": "arn:aws:lambda:me-south-1:285320876703:layer:LambdaInsightsExtension:11", - "1.0.143.0": "arn:aws:lambda:me-south-1:285320876703:layer:LambdaInsightsExtension:13", - "1.0.178.0": undefined, - "1.0.54.0": undefined, - "1.0.86.0": undefined, - "1.0.89.0": undefined, - "1.0.98.0": "arn:aws:lambda:me-south-1:285320876703:layer:LambdaInsightsExtension:8", - }, - "partition": "aws", - "s3StaticWebsiteEndpoint": "s3-website.me-south-1.amazonaws.com", - "servicePrincipals": Object { - "application-autoscaling": "application-autoscaling.amazonaws.com", - "autoscaling": "autoscaling.amazonaws.com", - "codedeploy": "codedeploy.me-south-1.amazonaws.com", - "ec2": "ec2.amazonaws.com", - "events": "events.amazonaws.com", - "lambda": "lambda.amazonaws.com", - "logs": "logs.me-south-1.amazonaws.com", - "s3": "s3.amazonaws.com", - "sns": "sns.amazonaws.com", - "sqs": "sqs.amazonaws.com", - "ssm": "ssm.amazonaws.com", - "states": "states.me-south-1.amazonaws.com", - }, - "vpcEndPointServiceNamePrefix": "com.amazonaws.vpce", - }, - "sa-east-1": Object { - "cdkMetadataResourceAvailable": true, - "domainSuffix": "amazonaws.com", - "lambdaInsightsArmVersions": Object { - "1.0.119.0": undefined, - "1.0.135.0": undefined, - }, - "lambdaInsightsVersions": Object { - "1.0.119.0": "arn:aws:lambda:sa-east-1:580247275435:layer:LambdaInsightsExtension:16", - "1.0.135.0": "arn:aws:lambda:sa-east-1:580247275435:layer:LambdaInsightsExtension:18", - "1.0.143.0": "arn:aws:lambda:sa-east-1:580247275435:layer:LambdaInsightsExtension:20", - "1.0.178.0": undefined, - "1.0.54.0": "arn:aws:lambda:sa-east-1:580247275435:layer:LambdaInsightsExtension:2", - "1.0.86.0": "arn:aws:lambda:sa-east-1:580247275435:layer:LambdaInsightsExtension:11", - "1.0.89.0": "arn:aws:lambda:sa-east-1:580247275435:layer:LambdaInsightsExtension:12", - "1.0.98.0": "arn:aws:lambda:sa-east-1:580247275435:layer:LambdaInsightsExtension:14", - }, - "partition": "aws", - "s3StaticWebsiteEndpoint": "s3-website-sa-east-1.amazonaws.com", - "servicePrincipals": Object { - "application-autoscaling": "application-autoscaling.amazonaws.com", - "autoscaling": "autoscaling.amazonaws.com", - "codedeploy": "codedeploy.sa-east-1.amazonaws.com", - "ec2": "ec2.amazonaws.com", - "events": "events.amazonaws.com", - "lambda": "lambda.amazonaws.com", - "logs": "logs.sa-east-1.amazonaws.com", - "s3": "s3.amazonaws.com", - "sns": "sns.amazonaws.com", - "sqs": "sqs.amazonaws.com", - "ssm": "ssm.amazonaws.com", - "states": "states.sa-east-1.amazonaws.com", - }, - "vpcEndPointServiceNamePrefix": "com.amazonaws.vpce", - }, - "us-east-1": Object { - "cdkMetadataResourceAvailable": true, - "domainSuffix": "amazonaws.com", - "lambdaInsightsArmVersions": Object { - "1.0.119.0": "arn:aws:lambda:us-east-1:580247275435:layer:LambdaInsightsExtension-Arm64:1", - "1.0.135.0": "arn:aws:lambda:us-east-1:580247275435:layer:LambdaInsightsExtension-Arm64:2", - }, - "lambdaInsightsVersions": Object { - "1.0.119.0": "arn:aws:lambda:us-east-1:580247275435:layer:LambdaInsightsExtension:16", - "1.0.135.0": "arn:aws:lambda:us-east-1:580247275435:layer:LambdaInsightsExtension:18", - "1.0.143.0": "arn:aws:lambda:us-east-1:580247275435:layer:LambdaInsightsExtension:21", - "1.0.178.0": undefined, - "1.0.54.0": "arn:aws:lambda:us-east-1:580247275435:layer:LambdaInsightsExtension:2", - "1.0.86.0": "arn:aws:lambda:us-east-1:580247275435:layer:LambdaInsightsExtension:11", - "1.0.89.0": "arn:aws:lambda:us-east-1:580247275435:layer:LambdaInsightsExtension:12", - "1.0.98.0": "arn:aws:lambda:us-east-1:580247275435:layer:LambdaInsightsExtension:14", - }, - "partition": "aws", - "s3StaticWebsiteEndpoint": "s3-website-us-east-1.amazonaws.com", - "servicePrincipals": Object { - "application-autoscaling": "application-autoscaling.amazonaws.com", - "autoscaling": "autoscaling.amazonaws.com", - "codedeploy": "codedeploy.us-east-1.amazonaws.com", - "ec2": "ec2.amazonaws.com", - "events": "events.amazonaws.com", - "lambda": "lambda.amazonaws.com", - "logs": "logs.us-east-1.amazonaws.com", - "s3": "s3.amazonaws.com", - "sns": "sns.amazonaws.com", - "sqs": "sqs.amazonaws.com", - "ssm": "ssm.amazonaws.com", - "states": "states.us-east-1.amazonaws.com", - }, - "vpcEndPointServiceNamePrefix": "com.amazonaws.vpce", - }, - "us-east-2": Object { - "cdkMetadataResourceAvailable": true, - "domainSuffix": "amazonaws.com", - "lambdaInsightsArmVersions": Object { - "1.0.119.0": "arn:aws:lambda:us-east-2:580247275435:layer:LambdaInsightsExtension-Arm64:1", - "1.0.135.0": "arn:aws:lambda:us-east-2:580247275435:layer:LambdaInsightsExtension-Arm64:2", - }, - "lambdaInsightsVersions": Object { - "1.0.119.0": "arn:aws:lambda:us-east-2:580247275435:layer:LambdaInsightsExtension:16", - "1.0.135.0": "arn:aws:lambda:us-east-2:580247275435:layer:LambdaInsightsExtension:18", - "1.0.143.0": "arn:aws:lambda:us-east-2:580247275435:layer:LambdaInsightsExtension:21", - "1.0.178.0": undefined, - "1.0.54.0": "arn:aws:lambda:us-east-2:580247275435:layer:LambdaInsightsExtension:2", - "1.0.86.0": "arn:aws:lambda:us-east-2:580247275435:layer:LambdaInsightsExtension:11", - "1.0.89.0": "arn:aws:lambda:us-east-2:580247275435:layer:LambdaInsightsExtension:12", - "1.0.98.0": "arn:aws:lambda:us-east-2:580247275435:layer:LambdaInsightsExtension:14", - }, - "partition": "aws", - "s3StaticWebsiteEndpoint": "s3-website.us-east-2.amazonaws.com", - "servicePrincipals": Object { - "application-autoscaling": "application-autoscaling.amazonaws.com", - "autoscaling": "autoscaling.amazonaws.com", - "codedeploy": "codedeploy.us-east-2.amazonaws.com", - "ec2": "ec2.amazonaws.com", - "events": "events.amazonaws.com", - "lambda": "lambda.amazonaws.com", - "logs": "logs.us-east-2.amazonaws.com", - "s3": "s3.amazonaws.com", - "sns": "sns.amazonaws.com", - "sqs": "sqs.amazonaws.com", - "ssm": "ssm.amazonaws.com", - "states": "states.us-east-2.amazonaws.com", - }, - "vpcEndPointServiceNamePrefix": "com.amazonaws.vpce", - }, - "us-gov-east-1": Object { - "cdkMetadataResourceAvailable": false, - "domainSuffix": "amazonaws.com", - "lambdaInsightsArmVersions": Object { - "1.0.119.0": undefined, - "1.0.135.0": undefined, - }, - "lambdaInsightsVersions": Object { - "1.0.119.0": undefined, - "1.0.135.0": undefined, - "1.0.143.0": undefined, - "1.0.178.0": undefined, - "1.0.54.0": undefined, - "1.0.86.0": undefined, - "1.0.89.0": undefined, - "1.0.98.0": undefined, - }, - "partition": "aws-us-gov", - "s3StaticWebsiteEndpoint": "s3-website.us-gov-east-1.amazonaws.com", - "servicePrincipals": Object { - "application-autoscaling": "application-autoscaling.amazonaws.com", - "autoscaling": "autoscaling.amazonaws.com", - "codedeploy": "codedeploy.us-gov-east-1.amazonaws.com", - "ec2": "ec2.amazonaws.com", - "events": "events.amazonaws.com", - "lambda": "lambda.amazonaws.com", - "logs": "logs.us-gov-east-1.amazonaws.com", - "s3": "s3.amazonaws.com", - "sns": "sns.amazonaws.com", - "sqs": "sqs.amazonaws.com", - "ssm": "ssm.amazonaws.com", - "states": "states.us-gov-east-1.amazonaws.com", - }, - "vpcEndPointServiceNamePrefix": "com.amazonaws.vpce", - }, - "us-gov-west-1": Object { - "cdkMetadataResourceAvailable": false, - "domainSuffix": "amazonaws.com", - "lambdaInsightsArmVersions": Object { - "1.0.119.0": undefined, - "1.0.135.0": undefined, - }, - "lambdaInsightsVersions": Object { - "1.0.119.0": undefined, - "1.0.135.0": undefined, - "1.0.143.0": undefined, - "1.0.178.0": undefined, - "1.0.54.0": undefined, - "1.0.86.0": undefined, - "1.0.89.0": undefined, - "1.0.98.0": undefined, - }, - "partition": "aws-us-gov", - "s3StaticWebsiteEndpoint": "s3-website-us-gov-west-1.amazonaws.com", - "servicePrincipals": Object { - "application-autoscaling": "application-autoscaling.amazonaws.com", - "autoscaling": "autoscaling.amazonaws.com", - "codedeploy": "codedeploy.us-gov-west-1.amazonaws.com", - "ec2": "ec2.amazonaws.com", - "events": "events.amazonaws.com", - "lambda": "lambda.amazonaws.com", - "logs": "logs.us-gov-west-1.amazonaws.com", - "s3": "s3.amazonaws.com", - "sns": "sns.amazonaws.com", - "sqs": "sqs.amazonaws.com", - "ssm": "ssm.amazonaws.com", - "states": "states.us-gov-west-1.amazonaws.com", - }, - "vpcEndPointServiceNamePrefix": "com.amazonaws.vpce", - }, - "us-iso-east-1": Object { - "cdkMetadataResourceAvailable": false, - "domainSuffix": "c2s.ic.gov", - "lambdaInsightsArmVersions": Object { - "1.0.119.0": undefined, - "1.0.135.0": undefined, - }, - "lambdaInsightsVersions": Object { - "1.0.119.0": undefined, - "1.0.135.0": undefined, - "1.0.143.0": undefined, - "1.0.178.0": undefined, - "1.0.54.0": undefined, - "1.0.86.0": undefined, - "1.0.89.0": undefined, - "1.0.98.0": undefined, - }, - "partition": "aws-iso", - "s3StaticWebsiteEndpoint": "s3-website.us-iso-east-1.c2s.ic.gov", - "servicePrincipals": Object { - "application-autoscaling": "application-autoscaling.amazonaws.com", - "autoscaling": "autoscaling.amazonaws.com", - "codedeploy": "codedeploy.amazonaws.com", - "ec2": "ec2.amazonaws.com", - "events": "events.amazonaws.com", - "lambda": "lambda.amazonaws.com", - "logs": "logs.us-iso-east-1.c2s.ic.gov", - "s3": "s3.amazonaws.com", - "sns": "sns.amazonaws.com", - "sqs": "sqs.amazonaws.com", - "ssm": "ssm.amazonaws.com", - "states": "states.amazonaws.com", - }, - "vpcEndPointServiceNamePrefix": "gov.ic.c2s.vpce", - }, - "us-iso-west-1": Object { - "cdkMetadataResourceAvailable": false, - "domainSuffix": "c2s.ic.gov", - "lambdaInsightsArmVersions": Object { - "1.0.119.0": undefined, - "1.0.135.0": undefined, - }, - "lambdaInsightsVersions": Object { - "1.0.119.0": undefined, - "1.0.135.0": undefined, - "1.0.143.0": undefined, - "1.0.178.0": undefined, - "1.0.54.0": undefined, - "1.0.86.0": undefined, - "1.0.89.0": undefined, - "1.0.98.0": undefined, - }, - "partition": "aws-iso", - "s3StaticWebsiteEndpoint": "s3-website.us-iso-west-1.c2s.ic.gov", - "servicePrincipals": Object { - "application-autoscaling": "application-autoscaling.amazonaws.com", - "autoscaling": "autoscaling.amazonaws.com", - "codedeploy": "codedeploy.amazonaws.com", - "ec2": "ec2.amazonaws.com", - "events": "events.amazonaws.com", - "lambda": "lambda.amazonaws.com", - "logs": "logs.us-iso-west-1.c2s.ic.gov", - "s3": "s3.amazonaws.com", - "sns": "sns.amazonaws.com", - "sqs": "sqs.amazonaws.com", - "ssm": "ssm.amazonaws.com", - "states": "states.amazonaws.com", - }, - "vpcEndPointServiceNamePrefix": "gov.ic.c2s.vpce", - }, - "us-isob-east-1": Object { - "cdkMetadataResourceAvailable": false, - "domainSuffix": "sc2s.sgov.gov", - "lambdaInsightsArmVersions": Object { - "1.0.119.0": undefined, - "1.0.135.0": undefined, - }, - "lambdaInsightsVersions": Object { - "1.0.119.0": undefined, - "1.0.135.0": undefined, - "1.0.143.0": undefined, - "1.0.178.0": undefined, - "1.0.54.0": undefined, - "1.0.86.0": undefined, - "1.0.89.0": undefined, - "1.0.98.0": undefined, - }, - "partition": "aws-iso-b", - "s3StaticWebsiteEndpoint": "s3-website.us-isob-east-1.sc2s.sgov.gov", - "servicePrincipals": Object { - "application-autoscaling": "application-autoscaling.amazonaws.com", - "autoscaling": "autoscaling.amazonaws.com", - "codedeploy": "codedeploy.amazonaws.com", - "ec2": "ec2.amazonaws.com", - "events": "events.amazonaws.com", - "lambda": "lambda.amazonaws.com", - "logs": "logs.us-isob-east-1.sc2s.sgov.gov", - "s3": "s3.amazonaws.com", - "sns": "sns.amazonaws.com", - "sqs": "sqs.amazonaws.com", - "ssm": "ssm.amazonaws.com", - "states": "states.amazonaws.com", - }, - "vpcEndPointServiceNamePrefix": "gov.sgov.sc2s.vpce", - }, - "us-west-1": Object { - "cdkMetadataResourceAvailable": true, - "domainSuffix": "amazonaws.com", - "lambdaInsightsArmVersions": Object { - "1.0.119.0": undefined, - "1.0.135.0": undefined, - }, - "lambdaInsightsVersions": Object { - "1.0.119.0": "arn:aws:lambda:us-west-1:580247275435:layer:LambdaInsightsExtension:16", - "1.0.135.0": "arn:aws:lambda:us-west-1:580247275435:layer:LambdaInsightsExtension:18", - "1.0.143.0": "arn:aws:lambda:us-west-1:580247275435:layer:LambdaInsightsExtension:20", - "1.0.178.0": undefined, - "1.0.54.0": "arn:aws:lambda:us-west-1:580247275435:layer:LambdaInsightsExtension:2", - "1.0.86.0": "arn:aws:lambda:us-west-1:580247275435:layer:LambdaInsightsExtension:11", - "1.0.89.0": "arn:aws:lambda:us-west-1:580247275435:layer:LambdaInsightsExtension:12", - "1.0.98.0": "arn:aws:lambda:us-west-1:580247275435:layer:LambdaInsightsExtension:14", - }, - "partition": "aws", - "s3StaticWebsiteEndpoint": "s3-website-us-west-1.amazonaws.com", - "servicePrincipals": Object { - "application-autoscaling": "application-autoscaling.amazonaws.com", - "autoscaling": "autoscaling.amazonaws.com", - "codedeploy": "codedeploy.us-west-1.amazonaws.com", - "ec2": "ec2.amazonaws.com", - "events": "events.amazonaws.com", - "lambda": "lambda.amazonaws.com", - "logs": "logs.us-west-1.amazonaws.com", - "s3": "s3.amazonaws.com", - "sns": "sns.amazonaws.com", - "sqs": "sqs.amazonaws.com", - "ssm": "ssm.amazonaws.com", - "states": "states.us-west-1.amazonaws.com", - }, - "vpcEndPointServiceNamePrefix": "com.amazonaws.vpce", - }, - "us-west-2": Object { - "cdkMetadataResourceAvailable": true, - "domainSuffix": "amazonaws.com", - "lambdaInsightsArmVersions": Object { - "1.0.119.0": "arn:aws:lambda:us-west-2:580247275435:layer:LambdaInsightsExtension-Arm64:1", - "1.0.135.0": "arn:aws:lambda:us-west-2:580247275435:layer:LambdaInsightsExtension-Arm64:2", - }, - "lambdaInsightsVersions": Object { - "1.0.119.0": "arn:aws:lambda:us-west-2:580247275435:layer:LambdaInsightsExtension:16", - "1.0.135.0": "arn:aws:lambda:us-west-2:580247275435:layer:LambdaInsightsExtension:18", - "1.0.143.0": "arn:aws:lambda:us-west-2:580247275435:layer:LambdaInsightsExtension:21", - "1.0.178.0": undefined, - "1.0.54.0": "arn:aws:lambda:us-west-2:580247275435:layer:LambdaInsightsExtension:2", - "1.0.86.0": "arn:aws:lambda:us-west-2:580247275435:layer:LambdaInsightsExtension:11", - "1.0.89.0": "arn:aws:lambda:us-west-2:580247275435:layer:LambdaInsightsExtension:12", - "1.0.98.0": "arn:aws:lambda:us-west-2:580247275435:layer:LambdaInsightsExtension:14", - }, - "partition": "aws", - "s3StaticWebsiteEndpoint": "s3-website-us-west-2.amazonaws.com", - "servicePrincipals": Object { - "application-autoscaling": "application-autoscaling.amazonaws.com", - "autoscaling": "autoscaling.amazonaws.com", - "codedeploy": "codedeploy.us-west-2.amazonaws.com", - "ec2": "ec2.amazonaws.com", - "events": "events.amazonaws.com", - "lambda": "lambda.amazonaws.com", - "logs": "logs.us-west-2.amazonaws.com", - "s3": "s3.amazonaws.com", - "sns": "sns.amazonaws.com", - "sqs": "sqs.amazonaws.com", - "ssm": "ssm.amazonaws.com", - "states": "states.us-west-2.amazonaws.com", - }, - "vpcEndPointServiceNamePrefix": "com.amazonaws.vpce", - }, -} -`; diff --git a/packages/@aws-cdk/region-info/test/default.test.ts b/packages/@aws-cdk/region-info/test/default.test.ts deleted file mode 100644 index 7c5a0e64ec9ac..0000000000000 --- a/packages/@aws-cdk/region-info/test/default.test.ts +++ /dev/null @@ -1,84 +0,0 @@ -import { Default } from '../lib'; - -const region = 'bermuda-triangle-42'; -const urlSuffix = '.nowhere.null'; - -describe('servicePrincipal', () => { - for (const suffix of ['', '.amazonaws.com', '.amazonaws.com.cn']) { - for (const service of ['codedeploy', 'states']) { - test(`${service}${suffix}`, () => { - expect(Default.servicePrincipal(`${service}${suffix}`, region, urlSuffix)).toBe(`${service}.${region}.amazonaws.com`); - }); - } - for (const service of ['logs']) { - test(`${service}${suffix}`, () => { - expect(Default.servicePrincipal(`${service}${suffix}`, region, urlSuffix)).toBe(`${service}.${region}.${urlSuffix}`); - }); - } - - for (const service of ['ec2']) { - test(`${service}${suffix}`, () => { - expect(Default.servicePrincipal(`${service}${suffix}`, region, urlSuffix)).toBe(`${service}.amazonaws.com`); - }); - } - - for (const service of ['autoscaling', 'lambda', 'events', 'sns', 'sqs', 'foo-service']) { - test(`${service}${suffix}`, () => { - expect(Default.servicePrincipal(`${service}${suffix}`, region, urlSuffix)).toBe(`${service}.amazonaws.com`); - }); - } - - } - - test('with an "exotic" DNS suffix (.local)', () => { - expect(Default.servicePrincipal('foo-service.local', region, urlSuffix)).toBe('foo-service.local'); - }); - - test('Exceptions: states in us-iso-east-1', () => { - expect(Default.servicePrincipal('states.amazonaws.com', 'us-iso-east-1', 'c2s.ic.gov')).toBe('states.amazonaws.com'); - }); - - test('Exceptions: states in us-isob-east-1', () => { - expect(Default.servicePrincipal('states.amazonaws.com', 'us-isob-east-1', 'sc2s.sgov.gov')).toBe('states.amazonaws.com'); - }); - - for (const service of ['cloudhsm', 'config', 'workspaces']) { - test(`Exceptions: ${service}.amazonaws.com is us-iso-east-1`, () => { - expect(Default.servicePrincipal(`${service}.amazonaws.com`, 'us-iso-east-1', 'c2s.ic.gov')).toBe(`${service}.c2s.ic.gov`); - }); - } - - for (const cnRegion of ['cn-north-1', 'cn-northwest-1']) { - test(`Exceptions: codedeploy in ${cnRegion}`, () => { - expect(Default.servicePrincipal('codedeploy', cnRegion, 'amazonaws.com.cn')).toBe(`codedeploy.${cnRegion}.amazonaws.com.cn`); - }); - } -}); - - -describe('spot-check some service principals', () => { - test('ssm', () => { - // SSM has advertised in its documentation that it is regional after a certain point, but that - // documentation only applies to SSM Inventory, not SSM Automation. Plus, there is no need for - // a different service principal, as all accounts are (at least currently) included in the global - // one. - expectServicePrincipals('ssm.amazonaws.com', { - 'us-east-1': 'ssm.amazonaws.com', - 'eu-north-1': 'ssm.amazonaws.com', - 'ap-east-1': 'ssm.amazonaws.com', - 'eu-south-1': 'ssm.amazonaws.com', - }); - }); - - test('EMR', () => { - expectServicePrincipals('elasticmapreduce.amazonaws.com', { - 'us-east-1': 'elasticmapreduce.amazonaws.com', - 'cn-north-1': 'elasticmapreduce.EXTENSION', // amazonaws.com.cn in China - 'us-iso-east-1': 'elasticmapreduce.amazonaws.com', - }); - }); - - function expectServicePrincipals(principal: string, regionMap: Record) { - expect(Object.fromEntries(Object.keys(regionMap).map(reg => [reg, Default.servicePrincipal(principal, reg, 'EXTENSION')]))).toEqual(regionMap); - } -}); \ No newline at end of file diff --git a/packages/@aws-cdk/region-info/test/fact.test.ts b/packages/@aws-cdk/region-info/test/fact.test.ts deleted file mode 100644 index b3e3bab7fdab7..0000000000000 --- a/packages/@aws-cdk/region-info/test/fact.test.ts +++ /dev/null @@ -1,92 +0,0 @@ -import { Fact, FactName } from '../lib'; -import { AWS_REGIONS } from '../lib/aws-entities'; - -describe('find', () => { - test('returns undefined for an unknown fact', () => { - expect(Fact.find(AWS_REGIONS[0], 'not:a:known:fact')).toBe(undefined); - }); - - test('returns undefined for an unknown region', () => { - expect(Fact.find('bermuda-triangle-42', FactName.PARTITION)).toBe(undefined); - }); -}); - -describe('requireFact', () => { - test('throws error for an unknown fact', () => { - expect(() => Fact.requireFact(AWS_REGIONS[0], 'not:a:known:fact')).toThrowError(); - }); - - test('throws error for an unknown region', () => { - expect(() => Fact.requireFact('bermuda-triangle-42', FactName.PARTITION)).toThrowError(); - }); -}); - -describe('register', () => { - test('allows registering an arbitrary fact', () => { - // GIVEN - const region = AWS_REGIONS[0]; - const name = 'my:custom:fact'; - const value = '1337'; - - // WHEN - expect(Fact.find(region, name)).toBe(undefined); - expect(() => Fact.register({ region, name, value })).not.toThrowError(); - - // THEN - expect(Fact.find(region, name)).toBe(value); - - // Cleanup - Fact.unregister(region, name); - }); - - test('allows re-registering a fact with the same value', () => { - // GIVEN - const region = AWS_REGIONS[0]; - const name = 'my:custom:fact'; - const value = '1337'; - - // WHEN - expect(Fact.find(region, name)).toBe(undefined); - expect(() => Fact.register({ region, name, value })).not.toThrowError(); - - // THEN - expect(() => Fact.register({ region, name, value })).not.toThrowError(); - expect(Fact.find(region, name)).toBe(value); - - // Cleanup - Fact.unregister(region, name); - }); - - test('disallows re-registering a fact with a different value', () => { - // GIVEN - const region = AWS_REGIONS[0]; - const name = FactName.PARTITION; - const value = '1337'; - - // WHEN - expect(Fact.find(region, name)).not.toBe(value); - - // THEN - expect(() => Fact.register({ region, name, value })) - .toThrowError(/already has a fact/); - }); - - test('allows overriding an arbitrary fact', () => { - // GIVEN - const region = AWS_REGIONS[0]; - const name = 'my:custom:fact'; - const value = '1337'; - - // WHEN - expect(Fact.find(region, name)).toBe(undefined); - expect(() => Fact.register({ region, name, value })).not.toThrowError(); - expect(Fact.find(region, name)).toBe(value); - - // THEN - expect(() => Fact.register({ region, name, value: 'Foo' }, true)).not.toThrowError(); - expect(Fact.find(region, name)).toBe('Foo'); - - // Cleanup - Fact.unregister(region, name); - }); -}); diff --git a/packages/@aws-cdk/region-info/test/region-info.test.ts b/packages/@aws-cdk/region-info/test/region-info.test.ts deleted file mode 100644 index ef2d92e4cd8a8..0000000000000 --- a/packages/@aws-cdk/region-info/test/region-info.test.ts +++ /dev/null @@ -1,64 +0,0 @@ -import { CLOUDWATCH_LAMBDA_INSIGHTS_ARNS } from '../build-tools/fact-tables'; -import { FactName, RegionInfo } from '../lib'; -import { AWS_REGIONS, AWS_SERVICES } from '../lib/aws-entities'; - -test('built-in data is correct', () => { - const snapshot: any = {}; - for (const name of AWS_REGIONS) { - const region = RegionInfo.get(name); - - const servicePrincipals: { [service: string]: string | undefined } = {}; - const lambdaInsightsVersions: { [service: string]: string | undefined } = {}; - const lambdaInsightsArmVersions: { [service: string]: string | undefined } = {}; - - AWS_SERVICES.forEach(service => servicePrincipals[service] = region.servicePrincipal(service)); - - for (const version in CLOUDWATCH_LAMBDA_INSIGHTS_ARNS) { - lambdaInsightsVersions[version] = region.cloudwatchLambdaInsightsArn(version); - - if ('arm64' in CLOUDWATCH_LAMBDA_INSIGHTS_ARNS[version]) { - lambdaInsightsArmVersions[version] = region.cloudwatchLambdaInsightsArn(version, 'arm64'); - } - }; - - snapshot[name] = { - cdkMetadataResourceAvailable: region.cdkMetadataResourceAvailable, - domainSuffix: region.domainSuffix, - partition: region.partition, - s3StaticWebsiteEndpoint: region.s3StaticWebsiteEndpoint, - vpcEndPointServiceNamePrefix: region.vpcEndpointServiceNamePrefix, - servicePrincipals, - lambdaInsightsVersions, - lambdaInsightsArmVersions, - }; - } - expect(snapshot).toMatchSnapshot(); -}); - -test('built-in data features known regions', () => { - const regions = RegionInfo.regions; - - for (const expected of AWS_REGIONS) { - expect(regions.map(region => region.name)).toContain(expected); - } -}); - -test('limitedRegionMap only returns information for certain regions', () => { - - const map = RegionInfo.limitedRegionMap(FactName.ELBV2_ACCOUNT, ['aws']); - expect(map['us-east-1']).toBeDefined(); - expect(map['cn-north-1']).not.toBeDefined(); - - const map2 = RegionInfo.limitedRegionMap(FactName.ELBV2_ACCOUNT, ['aws-cn']); - expect(map2['us-east-1']).not.toBeDefined(); - expect(map2['cn-north-1']).toBeDefined(); -}); - - -test.each([ - ['us-east-1', false], - ['me-south-1', true], - ['us-iso-west-1', false], -])('%p should be opt-in: %p', (region, expected) => { - expect(RegionInfo.get(region).isOptInRegion).toEqual(expected); -}); \ No newline at end of file diff --git a/packages/aws-cdk-lib/package.json b/packages/aws-cdk-lib/package.json index d590571ee28c6..c42aa5f61f98f 100644 --- a/packages/aws-cdk-lib/package.json +++ b/packages/aws-cdk-lib/package.json @@ -48,7 +48,7 @@ "ts-node ./cx-api/build-tools/flag-report.ts" ], "pre": [ - "npx ts-node region-info/build-tools/generate-static-data.ts", + "npx ts-node -P tsconfig.dev.json region-info/build-tools/generate-static-data.ts", "node aws-events-targets/build-tools/gen.js", "(cp -f $(node -p 'require.resolve(\"aws-sdk/apis/metadata.json\")') custom-resources/lib/aws-custom-resource/sdk-api-metadata.json && rm -rf custom-resources/test/aws-custom-resource/cdk.out)", "(rm -rf core/test/fs/fixtures && cd core/test/fs && tar -xzf fixtures.tar.gz)", diff --git a/packages/aws-cdk-lib/region-info/build-tools/generate.sh b/packages/aws-cdk-lib/region-info/build-tools/generate.sh deleted file mode 100644 index 66bb576070aa0..0000000000000 --- a/packages/aws-cdk-lib/region-info/build-tools/generate.sh +++ /dev/null @@ -1,24 +0,0 @@ -#!/bin/bash -set -euo pipefail - -echo "⏳ Compiling static data generator..." -tsc \ - --alwaysStrict \ - --lib ES2017 \ - --module CommonJS \ - --noFallthroughCasesInSwitch \ - --noImplicitAny \ - --noImplicitReturns \ - --noImplicitThis \ - --noUnusedLocals \ - --noUnusedParameters \ - --resolveJsonModule \ - --strict \ - --strictNullChecks \ - --target ES2020 \ - build-tools/*.ts - -echo "⌛️ Generating the static data..." -node build-tools/generate-static-data.js - -echo "🍻 Pre-Build Complete!" diff --git a/tools/@aws-cdk/cdk-build-tools/bin/cdk-copy.ts b/tools/@aws-cdk/cdk-build-tools/bin/cdk-copy.ts index 41ecb39637b74..ad94b6037d499 100644 --- a/tools/@aws-cdk/cdk-build-tools/bin/cdk-copy.ts +++ b/tools/@aws-cdk/cdk-build-tools/bin/cdk-copy.ts @@ -67,27 +67,31 @@ interface DuplicateConfig { async function duplicateModule(config: DuplicateConfig) { const sourceModuleDirectory = path.resolve(config.sourcePackageDir, config.moduleName); const targetModuleDirectory = path.resolve(config.outDir); - const filesPattern = path.join(sourceModuleDirectory, '**', '*'); - const files = await glob(filesPattern, { + + await copyAndRewrite(sourceModuleDirectory, targetModuleDirectory, config.ignore); + + const sourceRosettaDirectory = path.resolve(config.sourcePackageDir, 'rosetta', config.moduleName.replace(/-/g, '_')); + const targetRosettaDirectory = path.resolve(config.outDir, 'rosetta'); + + await copyAndRewrite(sourceRosettaDirectory, targetRosettaDirectory, config.ignore); +} + +async function copyAndRewrite(sourceDirectory: string, targetDirectory: string, ignore: string[]) { + const files = await glob(path.join(sourceDirectory, '**', '*'), { ignore: [ - ...autoIgnore(sourceModuleDirectory), - ...config.ignore, + ...autoIgnore(sourceDirectory), + ...ignore, ], }); - // Copy all files to new destination and rewrite imports if needed await Promise.all( files.map(async (filePath: string) => { const stat = await fs.stat(filePath); - const relativePath = filePath.replace(sourceModuleDirectory, ''); - const newPath = path.join(targetModuleDirectory, relativePath); - // Create missing directories if needed - if (stat.isDirectory()) { - if (!fs.existsSync(newPath)) { - await fs.mkdir(newPath, { recursive: true }); - } - } else { + const relativePath = filePath.replace(sourceDirectory, ''); + const newPath = path.join(targetDirectory, relativePath); + if (stat.isFile()) { + await fs.mkdir(path.dirname(newPath), { recursive: true }); if (fs.existsSync(newPath)) { await fs.remove(newPath); } From eaf2243fefe13118a470bfb104fdf6ce73c778d0 Mon Sep 17 00:00:00 2001 From: Rico Hermans Date: Wed, 12 Apr 2023 13:10:43 +0200 Subject: [PATCH 3/5] =?UTF-8?q?chore:=20rename=20aws-neptune=20=E2=86=92?= =?UTF-8?q?=20aws-neptune-alpha=20(#25077)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit This PR is part of a refactor to make all directory names equal to the package name of the package inside it. It is a re-roll of #24930, but split into parts (one PR per package), so that we will cut down on merge conflicts. ---- *By submitting this pull request, I confirm that my contribution is made under the terms of the Apache-2.0 license* --- .../@aws-cdk/{aws-neptune => aws-neptune-alpha}/.eslintrc.js | 0 packages/@aws-cdk/{aws-neptune => aws-neptune-alpha}/.gitignore | 0 packages/@aws-cdk/{aws-neptune => aws-neptune-alpha}/.npmignore | 0 packages/@aws-cdk/{aws-neptune => aws-neptune-alpha}/LICENSE | 0 packages/@aws-cdk/{aws-neptune => aws-neptune-alpha}/NOTICE | 0 packages/@aws-cdk/{aws-neptune => aws-neptune-alpha}/README.md | 0 .../@aws-cdk/{aws-neptune => aws-neptune-alpha}/jest.config.js | 0 .../@aws-cdk/{aws-neptune => aws-neptune-alpha}/lib/cluster.ts | 0 .../@aws-cdk/{aws-neptune => aws-neptune-alpha}/lib/endpoint.ts | 0 .../@aws-cdk/{aws-neptune => aws-neptune-alpha}/lib/index.ts | 0 .../@aws-cdk/{aws-neptune => aws-neptune-alpha}/lib/instance.ts | 0 .../{aws-neptune => aws-neptune-alpha}/lib/parameter-group.ts | 0 .../{aws-neptune => aws-neptune-alpha}/lib/subnet-group.ts | 0 .../@aws-cdk/{aws-neptune => aws-neptune-alpha}/package.json | 2 +- .../rosetta/default.ts-fixture | 0 .../rosetta/with-cluster.ts-fixture | 0 .../{aws-neptune => aws-neptune-alpha}/test/cluster.test.ts | 0 .../{aws-neptune => aws-neptune-alpha}/test/endpoint.test.ts | 0 .../{aws-neptune => aws-neptune-alpha}/test/instance.test.ts | 0 .../ClusterTestDefaultTestDeployAssert6A1BBA9D.assets.json | 0 .../ClusterTestDefaultTestDeployAssert6A1BBA9D.template.json | 0 .../aws-cdk-neptune-integ.assets.json | 0 .../aws-cdk-neptune-integ.template.json | 0 .../test/integ.cluster-ev12.js.snapshot/cdk.out | 0 .../test/integ.cluster-ev12.js.snapshot/integ.json | 0 .../test/integ.cluster-ev12.js.snapshot/manifest.json | 0 .../test/integ.cluster-ev12.js.snapshot/tree.json | 0 .../test/integ.cluster-ev12.ts | 0 .../ClusterTestDefaultTestDeployAssert6A1BBA9D.assets.json | 0 .../ClusterTestDefaultTestDeployAssert6A1BBA9D.template.json | 0 .../index.d.ts | 0 .../index.js | 0 .../index.ts | 0 .../integ.cluster.js.snapshot/aws-cdk-neptune-integ.assets.json | 0 .../aws-cdk-neptune-integ.template.json | 0 .../test/integ.cluster.js.snapshot/cdk.out | 0 .../test/integ.cluster.js.snapshot/integ.json | 0 .../test/integ.cluster.js.snapshot/manifest.json | 0 .../test/integ.cluster.js.snapshot/tree.json | 0 .../{aws-neptune => aws-neptune-alpha}/test/integ.cluster.ts | 0 .../test/parameter-group.test.ts | 0 .../test/subnet-group.test.ts | 0 42 files changed, 1 insertion(+), 1 deletion(-) rename packages/@aws-cdk/{aws-neptune => aws-neptune-alpha}/.eslintrc.js (100%) rename packages/@aws-cdk/{aws-neptune => aws-neptune-alpha}/.gitignore (100%) rename packages/@aws-cdk/{aws-neptune => aws-neptune-alpha}/.npmignore (100%) rename packages/@aws-cdk/{aws-neptune => aws-neptune-alpha}/LICENSE (100%) rename packages/@aws-cdk/{aws-neptune => aws-neptune-alpha}/NOTICE (100%) rename packages/@aws-cdk/{aws-neptune => aws-neptune-alpha}/README.md (100%) rename packages/@aws-cdk/{aws-neptune => aws-neptune-alpha}/jest.config.js (100%) rename packages/@aws-cdk/{aws-neptune => aws-neptune-alpha}/lib/cluster.ts (100%) rename packages/@aws-cdk/{aws-neptune => aws-neptune-alpha}/lib/endpoint.ts (100%) rename packages/@aws-cdk/{aws-neptune => aws-neptune-alpha}/lib/index.ts (100%) rename packages/@aws-cdk/{aws-neptune => aws-neptune-alpha}/lib/instance.ts (100%) rename packages/@aws-cdk/{aws-neptune => aws-neptune-alpha}/lib/parameter-group.ts (100%) rename packages/@aws-cdk/{aws-neptune => aws-neptune-alpha}/lib/subnet-group.ts (100%) rename packages/@aws-cdk/{aws-neptune => aws-neptune-alpha}/package.json (98%) rename packages/@aws-cdk/{aws-neptune => aws-neptune-alpha}/rosetta/default.ts-fixture (100%) rename packages/@aws-cdk/{aws-neptune => aws-neptune-alpha}/rosetta/with-cluster.ts-fixture (100%) rename packages/@aws-cdk/{aws-neptune => aws-neptune-alpha}/test/cluster.test.ts (100%) rename packages/@aws-cdk/{aws-neptune => aws-neptune-alpha}/test/endpoint.test.ts (100%) rename packages/@aws-cdk/{aws-neptune => aws-neptune-alpha}/test/instance.test.ts (100%) rename packages/@aws-cdk/{aws-neptune => aws-neptune-alpha}/test/integ.cluster-ev12.js.snapshot/ClusterTestDefaultTestDeployAssert6A1BBA9D.assets.json (100%) rename packages/@aws-cdk/{aws-neptune => aws-neptune-alpha}/test/integ.cluster-ev12.js.snapshot/ClusterTestDefaultTestDeployAssert6A1BBA9D.template.json (100%) rename packages/@aws-cdk/{aws-neptune => aws-neptune-alpha}/test/integ.cluster-ev12.js.snapshot/aws-cdk-neptune-integ.assets.json (100%) rename packages/@aws-cdk/{aws-neptune => aws-neptune-alpha}/test/integ.cluster-ev12.js.snapshot/aws-cdk-neptune-integ.template.json (100%) rename packages/@aws-cdk/{aws-neptune => aws-neptune-alpha}/test/integ.cluster-ev12.js.snapshot/cdk.out (100%) rename packages/@aws-cdk/{aws-neptune => aws-neptune-alpha}/test/integ.cluster-ev12.js.snapshot/integ.json (100%) rename packages/@aws-cdk/{aws-neptune => aws-neptune-alpha}/test/integ.cluster-ev12.js.snapshot/manifest.json (100%) rename packages/@aws-cdk/{aws-neptune => aws-neptune-alpha}/test/integ.cluster-ev12.js.snapshot/tree.json (100%) rename packages/@aws-cdk/{aws-neptune => aws-neptune-alpha}/test/integ.cluster-ev12.ts (100%) rename packages/@aws-cdk/{aws-neptune => aws-neptune-alpha}/test/integ.cluster.js.snapshot/ClusterTestDefaultTestDeployAssert6A1BBA9D.assets.json (100%) rename packages/@aws-cdk/{aws-neptune => aws-neptune-alpha}/test/integ.cluster.js.snapshot/ClusterTestDefaultTestDeployAssert6A1BBA9D.template.json (100%) rename packages/@aws-cdk/{aws-neptune => aws-neptune-alpha}/test/integ.cluster.js.snapshot/asset.d01c24641c7d8cb6488393ffceaefff282370a9a522bf9d77b21da73fa257347/index.d.ts (100%) rename packages/@aws-cdk/{aws-neptune => aws-neptune-alpha}/test/integ.cluster.js.snapshot/asset.d01c24641c7d8cb6488393ffceaefff282370a9a522bf9d77b21da73fa257347/index.js (100%) rename packages/@aws-cdk/{aws-neptune => aws-neptune-alpha}/test/integ.cluster.js.snapshot/asset.d01c24641c7d8cb6488393ffceaefff282370a9a522bf9d77b21da73fa257347/index.ts (100%) rename packages/@aws-cdk/{aws-neptune => aws-neptune-alpha}/test/integ.cluster.js.snapshot/aws-cdk-neptune-integ.assets.json (100%) rename packages/@aws-cdk/{aws-neptune => aws-neptune-alpha}/test/integ.cluster.js.snapshot/aws-cdk-neptune-integ.template.json (100%) rename packages/@aws-cdk/{aws-neptune => aws-neptune-alpha}/test/integ.cluster.js.snapshot/cdk.out (100%) rename packages/@aws-cdk/{aws-neptune => aws-neptune-alpha}/test/integ.cluster.js.snapshot/integ.json (100%) rename packages/@aws-cdk/{aws-neptune => aws-neptune-alpha}/test/integ.cluster.js.snapshot/manifest.json (100%) rename packages/@aws-cdk/{aws-neptune => aws-neptune-alpha}/test/integ.cluster.js.snapshot/tree.json (100%) rename packages/@aws-cdk/{aws-neptune => aws-neptune-alpha}/test/integ.cluster.ts (100%) rename packages/@aws-cdk/{aws-neptune => aws-neptune-alpha}/test/parameter-group.test.ts (100%) rename packages/@aws-cdk/{aws-neptune => aws-neptune-alpha}/test/subnet-group.test.ts (100%) diff --git a/packages/@aws-cdk/aws-neptune/.eslintrc.js b/packages/@aws-cdk/aws-neptune-alpha/.eslintrc.js similarity index 100% rename from packages/@aws-cdk/aws-neptune/.eslintrc.js rename to packages/@aws-cdk/aws-neptune-alpha/.eslintrc.js diff --git a/packages/@aws-cdk/aws-neptune/.gitignore b/packages/@aws-cdk/aws-neptune-alpha/.gitignore similarity index 100% rename from packages/@aws-cdk/aws-neptune/.gitignore rename to packages/@aws-cdk/aws-neptune-alpha/.gitignore diff --git a/packages/@aws-cdk/aws-neptune/.npmignore b/packages/@aws-cdk/aws-neptune-alpha/.npmignore similarity index 100% rename from packages/@aws-cdk/aws-neptune/.npmignore rename to packages/@aws-cdk/aws-neptune-alpha/.npmignore diff --git a/packages/@aws-cdk/aws-neptune/LICENSE b/packages/@aws-cdk/aws-neptune-alpha/LICENSE similarity index 100% rename from packages/@aws-cdk/aws-neptune/LICENSE rename to packages/@aws-cdk/aws-neptune-alpha/LICENSE diff --git a/packages/@aws-cdk/aws-neptune/NOTICE b/packages/@aws-cdk/aws-neptune-alpha/NOTICE similarity index 100% rename from packages/@aws-cdk/aws-neptune/NOTICE rename to packages/@aws-cdk/aws-neptune-alpha/NOTICE diff --git a/packages/@aws-cdk/aws-neptune/README.md b/packages/@aws-cdk/aws-neptune-alpha/README.md similarity index 100% rename from packages/@aws-cdk/aws-neptune/README.md rename to packages/@aws-cdk/aws-neptune-alpha/README.md diff --git a/packages/@aws-cdk/aws-neptune/jest.config.js b/packages/@aws-cdk/aws-neptune-alpha/jest.config.js similarity index 100% rename from packages/@aws-cdk/aws-neptune/jest.config.js rename to packages/@aws-cdk/aws-neptune-alpha/jest.config.js diff --git a/packages/@aws-cdk/aws-neptune/lib/cluster.ts b/packages/@aws-cdk/aws-neptune-alpha/lib/cluster.ts similarity index 100% rename from packages/@aws-cdk/aws-neptune/lib/cluster.ts rename to packages/@aws-cdk/aws-neptune-alpha/lib/cluster.ts diff --git a/packages/@aws-cdk/aws-neptune/lib/endpoint.ts b/packages/@aws-cdk/aws-neptune-alpha/lib/endpoint.ts similarity index 100% rename from packages/@aws-cdk/aws-neptune/lib/endpoint.ts rename to packages/@aws-cdk/aws-neptune-alpha/lib/endpoint.ts diff --git a/packages/@aws-cdk/aws-neptune/lib/index.ts b/packages/@aws-cdk/aws-neptune-alpha/lib/index.ts similarity index 100% rename from packages/@aws-cdk/aws-neptune/lib/index.ts rename to packages/@aws-cdk/aws-neptune-alpha/lib/index.ts diff --git a/packages/@aws-cdk/aws-neptune/lib/instance.ts b/packages/@aws-cdk/aws-neptune-alpha/lib/instance.ts similarity index 100% rename from packages/@aws-cdk/aws-neptune/lib/instance.ts rename to packages/@aws-cdk/aws-neptune-alpha/lib/instance.ts diff --git a/packages/@aws-cdk/aws-neptune/lib/parameter-group.ts b/packages/@aws-cdk/aws-neptune-alpha/lib/parameter-group.ts similarity index 100% rename from packages/@aws-cdk/aws-neptune/lib/parameter-group.ts rename to packages/@aws-cdk/aws-neptune-alpha/lib/parameter-group.ts diff --git a/packages/@aws-cdk/aws-neptune/lib/subnet-group.ts b/packages/@aws-cdk/aws-neptune-alpha/lib/subnet-group.ts similarity index 100% rename from packages/@aws-cdk/aws-neptune/lib/subnet-group.ts rename to packages/@aws-cdk/aws-neptune-alpha/lib/subnet-group.ts diff --git a/packages/@aws-cdk/aws-neptune/package.json b/packages/@aws-cdk/aws-neptune-alpha/package.json similarity index 98% rename from packages/@aws-cdk/aws-neptune/package.json rename to packages/@aws-cdk/aws-neptune-alpha/package.json index e3fa2e7c3f855..609e991dabcd7 100644 --- a/packages/@aws-cdk/aws-neptune/package.json +++ b/packages/@aws-cdk/aws-neptune-alpha/package.json @@ -45,7 +45,7 @@ "repository": { "type": "git", "url": "https://github.com/aws/aws-cdk.git", - "directory": "packages/@aws-cdk/aws-neptune" + "directory": "packages/@aws-cdk/aws-neptune-alpha" }, "homepage": "https://github.com/aws/aws-cdk", "scripts": { diff --git a/packages/@aws-cdk/aws-neptune/rosetta/default.ts-fixture b/packages/@aws-cdk/aws-neptune-alpha/rosetta/default.ts-fixture similarity index 100% rename from packages/@aws-cdk/aws-neptune/rosetta/default.ts-fixture rename to packages/@aws-cdk/aws-neptune-alpha/rosetta/default.ts-fixture diff --git a/packages/@aws-cdk/aws-neptune/rosetta/with-cluster.ts-fixture b/packages/@aws-cdk/aws-neptune-alpha/rosetta/with-cluster.ts-fixture similarity index 100% rename from packages/@aws-cdk/aws-neptune/rosetta/with-cluster.ts-fixture rename to packages/@aws-cdk/aws-neptune-alpha/rosetta/with-cluster.ts-fixture diff --git a/packages/@aws-cdk/aws-neptune/test/cluster.test.ts b/packages/@aws-cdk/aws-neptune-alpha/test/cluster.test.ts similarity index 100% rename from packages/@aws-cdk/aws-neptune/test/cluster.test.ts rename to packages/@aws-cdk/aws-neptune-alpha/test/cluster.test.ts diff --git a/packages/@aws-cdk/aws-neptune/test/endpoint.test.ts b/packages/@aws-cdk/aws-neptune-alpha/test/endpoint.test.ts similarity index 100% rename from packages/@aws-cdk/aws-neptune/test/endpoint.test.ts rename to packages/@aws-cdk/aws-neptune-alpha/test/endpoint.test.ts diff --git a/packages/@aws-cdk/aws-neptune/test/instance.test.ts b/packages/@aws-cdk/aws-neptune-alpha/test/instance.test.ts similarity index 100% rename from packages/@aws-cdk/aws-neptune/test/instance.test.ts rename to packages/@aws-cdk/aws-neptune-alpha/test/instance.test.ts diff --git a/packages/@aws-cdk/aws-neptune/test/integ.cluster-ev12.js.snapshot/ClusterTestDefaultTestDeployAssert6A1BBA9D.assets.json b/packages/@aws-cdk/aws-neptune-alpha/test/integ.cluster-ev12.js.snapshot/ClusterTestDefaultTestDeployAssert6A1BBA9D.assets.json similarity index 100% rename from packages/@aws-cdk/aws-neptune/test/integ.cluster-ev12.js.snapshot/ClusterTestDefaultTestDeployAssert6A1BBA9D.assets.json rename to packages/@aws-cdk/aws-neptune-alpha/test/integ.cluster-ev12.js.snapshot/ClusterTestDefaultTestDeployAssert6A1BBA9D.assets.json diff --git a/packages/@aws-cdk/aws-neptune/test/integ.cluster-ev12.js.snapshot/ClusterTestDefaultTestDeployAssert6A1BBA9D.template.json b/packages/@aws-cdk/aws-neptune-alpha/test/integ.cluster-ev12.js.snapshot/ClusterTestDefaultTestDeployAssert6A1BBA9D.template.json similarity index 100% rename from packages/@aws-cdk/aws-neptune/test/integ.cluster-ev12.js.snapshot/ClusterTestDefaultTestDeployAssert6A1BBA9D.template.json rename to packages/@aws-cdk/aws-neptune-alpha/test/integ.cluster-ev12.js.snapshot/ClusterTestDefaultTestDeployAssert6A1BBA9D.template.json diff --git a/packages/@aws-cdk/aws-neptune/test/integ.cluster-ev12.js.snapshot/aws-cdk-neptune-integ.assets.json b/packages/@aws-cdk/aws-neptune-alpha/test/integ.cluster-ev12.js.snapshot/aws-cdk-neptune-integ.assets.json similarity index 100% rename from packages/@aws-cdk/aws-neptune/test/integ.cluster-ev12.js.snapshot/aws-cdk-neptune-integ.assets.json rename to packages/@aws-cdk/aws-neptune-alpha/test/integ.cluster-ev12.js.snapshot/aws-cdk-neptune-integ.assets.json diff --git a/packages/@aws-cdk/aws-neptune/test/integ.cluster-ev12.js.snapshot/aws-cdk-neptune-integ.template.json b/packages/@aws-cdk/aws-neptune-alpha/test/integ.cluster-ev12.js.snapshot/aws-cdk-neptune-integ.template.json similarity index 100% rename from packages/@aws-cdk/aws-neptune/test/integ.cluster-ev12.js.snapshot/aws-cdk-neptune-integ.template.json rename to packages/@aws-cdk/aws-neptune-alpha/test/integ.cluster-ev12.js.snapshot/aws-cdk-neptune-integ.template.json diff --git a/packages/@aws-cdk/aws-neptune/test/integ.cluster-ev12.js.snapshot/cdk.out b/packages/@aws-cdk/aws-neptune-alpha/test/integ.cluster-ev12.js.snapshot/cdk.out similarity index 100% rename from packages/@aws-cdk/aws-neptune/test/integ.cluster-ev12.js.snapshot/cdk.out rename to packages/@aws-cdk/aws-neptune-alpha/test/integ.cluster-ev12.js.snapshot/cdk.out diff --git a/packages/@aws-cdk/aws-neptune/test/integ.cluster-ev12.js.snapshot/integ.json b/packages/@aws-cdk/aws-neptune-alpha/test/integ.cluster-ev12.js.snapshot/integ.json similarity index 100% rename from packages/@aws-cdk/aws-neptune/test/integ.cluster-ev12.js.snapshot/integ.json rename to packages/@aws-cdk/aws-neptune-alpha/test/integ.cluster-ev12.js.snapshot/integ.json diff --git a/packages/@aws-cdk/aws-neptune/test/integ.cluster-ev12.js.snapshot/manifest.json b/packages/@aws-cdk/aws-neptune-alpha/test/integ.cluster-ev12.js.snapshot/manifest.json similarity index 100% rename from packages/@aws-cdk/aws-neptune/test/integ.cluster-ev12.js.snapshot/manifest.json rename to packages/@aws-cdk/aws-neptune-alpha/test/integ.cluster-ev12.js.snapshot/manifest.json diff --git a/packages/@aws-cdk/aws-neptune/test/integ.cluster-ev12.js.snapshot/tree.json b/packages/@aws-cdk/aws-neptune-alpha/test/integ.cluster-ev12.js.snapshot/tree.json similarity index 100% rename from packages/@aws-cdk/aws-neptune/test/integ.cluster-ev12.js.snapshot/tree.json rename to packages/@aws-cdk/aws-neptune-alpha/test/integ.cluster-ev12.js.snapshot/tree.json diff --git a/packages/@aws-cdk/aws-neptune/test/integ.cluster-ev12.ts b/packages/@aws-cdk/aws-neptune-alpha/test/integ.cluster-ev12.ts similarity index 100% rename from packages/@aws-cdk/aws-neptune/test/integ.cluster-ev12.ts rename to packages/@aws-cdk/aws-neptune-alpha/test/integ.cluster-ev12.ts diff --git a/packages/@aws-cdk/aws-neptune/test/integ.cluster.js.snapshot/ClusterTestDefaultTestDeployAssert6A1BBA9D.assets.json b/packages/@aws-cdk/aws-neptune-alpha/test/integ.cluster.js.snapshot/ClusterTestDefaultTestDeployAssert6A1BBA9D.assets.json similarity index 100% rename from packages/@aws-cdk/aws-neptune/test/integ.cluster.js.snapshot/ClusterTestDefaultTestDeployAssert6A1BBA9D.assets.json rename to packages/@aws-cdk/aws-neptune-alpha/test/integ.cluster.js.snapshot/ClusterTestDefaultTestDeployAssert6A1BBA9D.assets.json diff --git a/packages/@aws-cdk/aws-neptune/test/integ.cluster.js.snapshot/ClusterTestDefaultTestDeployAssert6A1BBA9D.template.json b/packages/@aws-cdk/aws-neptune-alpha/test/integ.cluster.js.snapshot/ClusterTestDefaultTestDeployAssert6A1BBA9D.template.json similarity index 100% rename from packages/@aws-cdk/aws-neptune/test/integ.cluster.js.snapshot/ClusterTestDefaultTestDeployAssert6A1BBA9D.template.json rename to packages/@aws-cdk/aws-neptune-alpha/test/integ.cluster.js.snapshot/ClusterTestDefaultTestDeployAssert6A1BBA9D.template.json diff --git a/packages/@aws-cdk/aws-neptune/test/integ.cluster.js.snapshot/asset.d01c24641c7d8cb6488393ffceaefff282370a9a522bf9d77b21da73fa257347/index.d.ts b/packages/@aws-cdk/aws-neptune-alpha/test/integ.cluster.js.snapshot/asset.d01c24641c7d8cb6488393ffceaefff282370a9a522bf9d77b21da73fa257347/index.d.ts similarity index 100% rename from packages/@aws-cdk/aws-neptune/test/integ.cluster.js.snapshot/asset.d01c24641c7d8cb6488393ffceaefff282370a9a522bf9d77b21da73fa257347/index.d.ts rename to packages/@aws-cdk/aws-neptune-alpha/test/integ.cluster.js.snapshot/asset.d01c24641c7d8cb6488393ffceaefff282370a9a522bf9d77b21da73fa257347/index.d.ts diff --git a/packages/@aws-cdk/aws-neptune/test/integ.cluster.js.snapshot/asset.d01c24641c7d8cb6488393ffceaefff282370a9a522bf9d77b21da73fa257347/index.js b/packages/@aws-cdk/aws-neptune-alpha/test/integ.cluster.js.snapshot/asset.d01c24641c7d8cb6488393ffceaefff282370a9a522bf9d77b21da73fa257347/index.js similarity index 100% rename from packages/@aws-cdk/aws-neptune/test/integ.cluster.js.snapshot/asset.d01c24641c7d8cb6488393ffceaefff282370a9a522bf9d77b21da73fa257347/index.js rename to packages/@aws-cdk/aws-neptune-alpha/test/integ.cluster.js.snapshot/asset.d01c24641c7d8cb6488393ffceaefff282370a9a522bf9d77b21da73fa257347/index.js diff --git a/packages/@aws-cdk/aws-neptune/test/integ.cluster.js.snapshot/asset.d01c24641c7d8cb6488393ffceaefff282370a9a522bf9d77b21da73fa257347/index.ts b/packages/@aws-cdk/aws-neptune-alpha/test/integ.cluster.js.snapshot/asset.d01c24641c7d8cb6488393ffceaefff282370a9a522bf9d77b21da73fa257347/index.ts similarity index 100% rename from packages/@aws-cdk/aws-neptune/test/integ.cluster.js.snapshot/asset.d01c24641c7d8cb6488393ffceaefff282370a9a522bf9d77b21da73fa257347/index.ts rename to packages/@aws-cdk/aws-neptune-alpha/test/integ.cluster.js.snapshot/asset.d01c24641c7d8cb6488393ffceaefff282370a9a522bf9d77b21da73fa257347/index.ts diff --git a/packages/@aws-cdk/aws-neptune/test/integ.cluster.js.snapshot/aws-cdk-neptune-integ.assets.json b/packages/@aws-cdk/aws-neptune-alpha/test/integ.cluster.js.snapshot/aws-cdk-neptune-integ.assets.json similarity index 100% rename from packages/@aws-cdk/aws-neptune/test/integ.cluster.js.snapshot/aws-cdk-neptune-integ.assets.json rename to packages/@aws-cdk/aws-neptune-alpha/test/integ.cluster.js.snapshot/aws-cdk-neptune-integ.assets.json diff --git a/packages/@aws-cdk/aws-neptune/test/integ.cluster.js.snapshot/aws-cdk-neptune-integ.template.json b/packages/@aws-cdk/aws-neptune-alpha/test/integ.cluster.js.snapshot/aws-cdk-neptune-integ.template.json similarity index 100% rename from packages/@aws-cdk/aws-neptune/test/integ.cluster.js.snapshot/aws-cdk-neptune-integ.template.json rename to packages/@aws-cdk/aws-neptune-alpha/test/integ.cluster.js.snapshot/aws-cdk-neptune-integ.template.json diff --git a/packages/@aws-cdk/aws-neptune/test/integ.cluster.js.snapshot/cdk.out b/packages/@aws-cdk/aws-neptune-alpha/test/integ.cluster.js.snapshot/cdk.out similarity index 100% rename from packages/@aws-cdk/aws-neptune/test/integ.cluster.js.snapshot/cdk.out rename to packages/@aws-cdk/aws-neptune-alpha/test/integ.cluster.js.snapshot/cdk.out diff --git a/packages/@aws-cdk/aws-neptune/test/integ.cluster.js.snapshot/integ.json b/packages/@aws-cdk/aws-neptune-alpha/test/integ.cluster.js.snapshot/integ.json similarity index 100% rename from packages/@aws-cdk/aws-neptune/test/integ.cluster.js.snapshot/integ.json rename to packages/@aws-cdk/aws-neptune-alpha/test/integ.cluster.js.snapshot/integ.json diff --git a/packages/@aws-cdk/aws-neptune/test/integ.cluster.js.snapshot/manifest.json b/packages/@aws-cdk/aws-neptune-alpha/test/integ.cluster.js.snapshot/manifest.json similarity index 100% rename from packages/@aws-cdk/aws-neptune/test/integ.cluster.js.snapshot/manifest.json rename to packages/@aws-cdk/aws-neptune-alpha/test/integ.cluster.js.snapshot/manifest.json diff --git a/packages/@aws-cdk/aws-neptune/test/integ.cluster.js.snapshot/tree.json b/packages/@aws-cdk/aws-neptune-alpha/test/integ.cluster.js.snapshot/tree.json similarity index 100% rename from packages/@aws-cdk/aws-neptune/test/integ.cluster.js.snapshot/tree.json rename to packages/@aws-cdk/aws-neptune-alpha/test/integ.cluster.js.snapshot/tree.json diff --git a/packages/@aws-cdk/aws-neptune/test/integ.cluster.ts b/packages/@aws-cdk/aws-neptune-alpha/test/integ.cluster.ts similarity index 100% rename from packages/@aws-cdk/aws-neptune/test/integ.cluster.ts rename to packages/@aws-cdk/aws-neptune-alpha/test/integ.cluster.ts diff --git a/packages/@aws-cdk/aws-neptune/test/parameter-group.test.ts b/packages/@aws-cdk/aws-neptune-alpha/test/parameter-group.test.ts similarity index 100% rename from packages/@aws-cdk/aws-neptune/test/parameter-group.test.ts rename to packages/@aws-cdk/aws-neptune-alpha/test/parameter-group.test.ts diff --git a/packages/@aws-cdk/aws-neptune/test/subnet-group.test.ts b/packages/@aws-cdk/aws-neptune-alpha/test/subnet-group.test.ts similarity index 100% rename from packages/@aws-cdk/aws-neptune/test/subnet-group.test.ts rename to packages/@aws-cdk/aws-neptune-alpha/test/subnet-group.test.ts From 4a04f929753e81c3cde7a77efdbdb2f46c1510f7 Mon Sep 17 00:00:00 2001 From: Rico Hermans Date: Wed, 12 Apr 2023 13:41:55 +0200 Subject: [PATCH 4/5] =?UTF-8?q?chore:=20rename=20aws-iot-actions=20?= =?UTF-8?q?=E2=86=92=20aws-iot-actions-alpha=20(#25075)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit This PR is part of a refactor to make all directory names equal to the package name of the package inside it. It is a re-roll of #24930, but split into parts (one PR per package), so that we will cut down on merge conflicts. ---- *By submitting this pull request, I confirm that my contribution is made under the terms of the Apache-2.0 license* --- .../{aws-iot-actions => aws-iot-actions-alpha}/.eslintrc.js | 0 .../{aws-iot-actions => aws-iot-actions-alpha}/.gitignore | 0 .../{aws-iot-actions => aws-iot-actions-alpha}/.npmignore | 0 .../@aws-cdk/{aws-iot-actions => aws-iot-actions-alpha}/LICENSE | 0 .../@aws-cdk/{aws-iot-actions => aws-iot-actions-alpha}/NOTICE | 0 .../{aws-iot-actions => aws-iot-actions-alpha}/README.md | 0 .../{aws-iot-actions => aws-iot-actions-alpha}/jest.config.js | 0 .../lib/cloudwatch-logs-action.ts | 0 .../lib/cloudwatch-put-metric-action.ts | 0 .../lib/cloudwatch-set-alarm-state-action.ts | 0 .../lib/common-action-props.ts | 0 .../lib/dynamodbv2-put-item-action.ts | 0 .../lib/firehose-put-record-action.ts | 0 .../{aws-iot-actions => aws-iot-actions-alpha}/lib/index.ts | 0 .../lib/iot-republish-action.ts | 0 .../lib/iotevents-put-message-action.ts | 0 .../lib/kinesis-put-record-action.ts | 0 .../lib/lambda-function-action.ts | 0 .../lib/private/role.ts | 0 .../lib/s3-put-object-action.ts | 0 .../lib/sns-topic-action.ts | 0 .../lib/sqs-queue-action.ts | 0 .../package-lock.json | 0 .../{aws-iot-actions => aws-iot-actions-alpha}/package.json | 2 +- .../rosetta/default.ts-fixture | 0 .../test/cloudwatch/cloudwatch-logs-action.test.ts | 0 .../test/cloudwatch/cloudwatch-put-metric-action.test.ts | 0 .../test/cloudwatch/cloudwatch-set-alarm-state-action.test.ts | 0 .../cloudwatch/integ.cloudwatch-logs-action.js.snapshot/cdk.out | 0 .../integ.cloudwatch-logs-action.js.snapshot/integ.json | 0 .../integ.cloudwatch-logs-action.js.snapshot/manifest.json | 0 .../test-stack.assets.json | 0 .../test-stack.template.json | 0 .../integ.cloudwatch-logs-action.js.snapshot/tree.json | 0 .../test/cloudwatch/integ.cloudwatch-logs-action.ts | 0 .../integ.cloudwatch-put-metric-action.js.snapshot/cdk.out | 0 .../integ.cloudwatch-put-metric-action.js.snapshot/integ.json | 0 .../manifest.json | 0 .../test-stack.assets.json | 0 .../test-stack.template.json | 0 .../integ.cloudwatch-put-metric-action.js.snapshot/tree.json | 0 .../test/cloudwatch/integ.cloudwatch-put-metric-action.ts | 0 .../integ.cloudwatch-set-alarm-state-action.js.snapshot/cdk.out | 0 .../integ.json | 0 .../manifest.json | 0 .../test-stack.assets.json | 0 .../test-stack.template.json | 0 .../tree.json | 0 .../test/cloudwatch/integ.cloudwatch-set-alarm-state-action.ts | 0 .../test/dynamodbv2/dynamodbv2-put-item-action.test.ts | 0 .../integ.dynamodbv2-put-item-action.js.snapshot/cdk.out | 0 ...namodbv2integtestDefaultTestDeployAssertEF9A9A37.assets.json | 0 ...modbv2integtestDefaultTestDeployAssertEF9A9A37.template.json | 0 .../integ.dynamodbv2-put-item-action.js.snapshot/integ.json | 0 .../integ.dynamodbv2-put-item-action.js.snapshot/manifest.json | 0 .../test-dynamodbv2-put-item-action-stack.assets.json | 0 .../test-dynamodbv2-put-item-action-stack.template.json | 0 .../integ.dynamodbv2-put-item-action.js.snapshot/tree.json | 0 .../test/dynamodbv2/integ.dynamodbv2-put-item-action.ts | 0 .../test/iot/integ.iot-republish-action.js.snapshot/cdk.out | 0 .../test/iot/integ.iot-republish-action.js.snapshot/integ.json | 0 .../iot-republish-action-test-stack.assets.json | 0 .../iot-republish-action-test-stack.template.json | 0 .../iot/integ.iot-republish-action.js.snapshot/manifest.json | 0 .../test/iot/integ.iot-republish-action.js.snapshot/tree.json | 0 .../test/iot/integ.iot-republish-action.ts | 0 .../iot/integ.iotevents-put-message-action.js.snapshot/cdk.out | 0 .../integ.iotevents-put-message-action.js.snapshot/integ.json | 0 .../iotevents-put-message-action-test-stack.assets.json | 0 .../iotevents-put-message-action-test-stack.template.json | 0 .../ioteventsDefaultTestDeployAssertE216288D.assets.json | 0 .../ioteventsDefaultTestDeployAssertE216288D.template.json | 0 .../manifest.json | 0 .../integ.iotevents-put-message-action.js.snapshot/tree.json | 0 .../test/iot/integ.iotevents-put-message-action.ts | 0 .../test/iot/iot-republish-action.test.ts | 0 .../test/iot/iotevents-put-message-action.test.ts | 0 .../test/kinesis-firehose/firehose-put-record-action.test.ts | 0 .../integ.firehose-put-record-action.js.snapshot/cdk.out | 0 .../integ.firehose-put-record-action.js.snapshot/integ.json | 0 .../integ.firehose-put-record-action.js.snapshot/manifest.json | 0 .../test-stack.assets.json | 0 .../test-stack.template.json | 0 .../integ.firehose-put-record-action.js.snapshot/tree.json | 0 .../test/kinesis-firehose/integ.firehose-put-record-action.ts | 0 .../integ.kinesis-put-record-action.js.snapshot/cdk.out | 0 .../integ.kinesis-put-record-action.js.snapshot/integ.json | 0 .../integ.kinesis-put-record-action.js.snapshot/manifest.json | 0 .../test-kinesis-stream-action-stack.assets.json | 0 .../test-kinesis-stream-action-stack.template.json | 0 .../integ.kinesis-put-record-action.js.snapshot/tree.json | 0 .../test/kinesis-stream/integ.kinesis-put-record-action.ts | 0 .../test/kinesis-stream/kinesis-put-record-action.test.ts | 0 .../lambda/integ.lambda-function-action.js.snapshot/cdk.out | 0 .../lambda/integ.lambda-function-action.js.snapshot/integ.json | 0 .../integ.lambda-function-action.js.snapshot/manifest.json | 0 .../test-stack.assets.json | 0 .../test-stack.template.json | 0 .../lambda/integ.lambda-function-action.js.snapshot/tree.json | 0 .../test/lambda/integ.lambda-function-action.ts | 0 .../test/lambda/lambda-function-action.test.ts | 0 .../test/s3/integ.s3-put-object-action.js.snapshot/cdk.out | 0 .../test/s3/integ.s3-put-object-action.js.snapshot/integ.json | 0 .../s3/integ.s3-put-object-action.js.snapshot/manifest.json | 0 .../test-stack.assets.json | 0 .../test-stack.template.json | 0 .../test/s3/integ.s3-put-object-action.js.snapshot/tree.json | 0 .../test/s3/integ.s3-put-object-action.ts | 0 .../test/s3/s3-put-object-action.test.ts | 0 .../test/sns/integ.sns-topic-action.js.snapshot/cdk.out | 0 .../test/sns/integ.sns-topic-action.js.snapshot/integ.json | 0 .../test/sns/integ.sns-topic-action.js.snapshot/manifest.json | 0 .../sns-topic-action-test-stack.assets.json | 0 .../sns-topic-action-test-stack.template.json | 0 .../test/sns/integ.sns-topic-action.js.snapshot/tree.json | 0 .../test/sns/integ.sns-topic-action.ts | 0 .../test/sns/sns-topic-action.test.ts | 0 .../test/sqs/integ.sqs-queue-action.js.snapshot/cdk.out | 0 .../test/sqs/integ.sqs-queue-action.js.snapshot/integ.json | 0 .../test/sqs/integ.sqs-queue-action.js.snapshot/manifest.json | 0 .../integ.sqs-queue-action.js.snapshot/test-stack.assets.json | 0 .../integ.sqs-queue-action.js.snapshot/test-stack.template.json | 0 .../test/sqs/integ.sqs-queue-action.js.snapshot/tree.json | 0 .../test/sqs/integ.sqs-queue-action.ts | 0 .../test/sqs/sqs-queue-action.test.ts | 0 125 files changed, 1 insertion(+), 1 deletion(-) rename packages/@aws-cdk/{aws-iot-actions => aws-iot-actions-alpha}/.eslintrc.js (100%) rename packages/@aws-cdk/{aws-iot-actions => aws-iot-actions-alpha}/.gitignore (100%) rename packages/@aws-cdk/{aws-iot-actions => aws-iot-actions-alpha}/.npmignore (100%) rename packages/@aws-cdk/{aws-iot-actions => aws-iot-actions-alpha}/LICENSE (100%) rename packages/@aws-cdk/{aws-iot-actions => aws-iot-actions-alpha}/NOTICE (100%) rename packages/@aws-cdk/{aws-iot-actions => aws-iot-actions-alpha}/README.md (100%) rename packages/@aws-cdk/{aws-iot-actions => aws-iot-actions-alpha}/jest.config.js (100%) rename packages/@aws-cdk/{aws-iot-actions => aws-iot-actions-alpha}/lib/cloudwatch-logs-action.ts (100%) rename packages/@aws-cdk/{aws-iot-actions => aws-iot-actions-alpha}/lib/cloudwatch-put-metric-action.ts (100%) rename packages/@aws-cdk/{aws-iot-actions => aws-iot-actions-alpha}/lib/cloudwatch-set-alarm-state-action.ts (100%) rename packages/@aws-cdk/{aws-iot-actions => aws-iot-actions-alpha}/lib/common-action-props.ts (100%) rename packages/@aws-cdk/{aws-iot-actions => aws-iot-actions-alpha}/lib/dynamodbv2-put-item-action.ts (100%) rename packages/@aws-cdk/{aws-iot-actions => aws-iot-actions-alpha}/lib/firehose-put-record-action.ts (100%) rename packages/@aws-cdk/{aws-iot-actions => aws-iot-actions-alpha}/lib/index.ts (100%) rename packages/@aws-cdk/{aws-iot-actions => aws-iot-actions-alpha}/lib/iot-republish-action.ts (100%) rename packages/@aws-cdk/{aws-iot-actions => aws-iot-actions-alpha}/lib/iotevents-put-message-action.ts (100%) rename packages/@aws-cdk/{aws-iot-actions => aws-iot-actions-alpha}/lib/kinesis-put-record-action.ts (100%) rename packages/@aws-cdk/{aws-iot-actions => aws-iot-actions-alpha}/lib/lambda-function-action.ts (100%) rename packages/@aws-cdk/{aws-iot-actions => aws-iot-actions-alpha}/lib/private/role.ts (100%) rename packages/@aws-cdk/{aws-iot-actions => aws-iot-actions-alpha}/lib/s3-put-object-action.ts (100%) rename packages/@aws-cdk/{aws-iot-actions => aws-iot-actions-alpha}/lib/sns-topic-action.ts (100%) rename packages/@aws-cdk/{aws-iot-actions => aws-iot-actions-alpha}/lib/sqs-queue-action.ts (100%) rename packages/@aws-cdk/{aws-iot-actions => aws-iot-actions-alpha}/package-lock.json (100%) rename packages/@aws-cdk/{aws-iot-actions => aws-iot-actions-alpha}/package.json (98%) rename packages/@aws-cdk/{aws-iot-actions => aws-iot-actions-alpha}/rosetta/default.ts-fixture (100%) rename packages/@aws-cdk/{aws-iot-actions => aws-iot-actions-alpha}/test/cloudwatch/cloudwatch-logs-action.test.ts (100%) rename packages/@aws-cdk/{aws-iot-actions => aws-iot-actions-alpha}/test/cloudwatch/cloudwatch-put-metric-action.test.ts (100%) rename packages/@aws-cdk/{aws-iot-actions => aws-iot-actions-alpha}/test/cloudwatch/cloudwatch-set-alarm-state-action.test.ts (100%) rename packages/@aws-cdk/{aws-iot-actions => aws-iot-actions-alpha}/test/cloudwatch/integ.cloudwatch-logs-action.js.snapshot/cdk.out (100%) rename packages/@aws-cdk/{aws-iot-actions => aws-iot-actions-alpha}/test/cloudwatch/integ.cloudwatch-logs-action.js.snapshot/integ.json (100%) rename packages/@aws-cdk/{aws-iot-actions => aws-iot-actions-alpha}/test/cloudwatch/integ.cloudwatch-logs-action.js.snapshot/manifest.json (100%) rename packages/@aws-cdk/{aws-iot-actions => aws-iot-actions-alpha}/test/cloudwatch/integ.cloudwatch-logs-action.js.snapshot/test-stack.assets.json (100%) rename packages/@aws-cdk/{aws-iot-actions => aws-iot-actions-alpha}/test/cloudwatch/integ.cloudwatch-logs-action.js.snapshot/test-stack.template.json (100%) rename packages/@aws-cdk/{aws-iot-actions => aws-iot-actions-alpha}/test/cloudwatch/integ.cloudwatch-logs-action.js.snapshot/tree.json (100%) rename packages/@aws-cdk/{aws-iot-actions => aws-iot-actions-alpha}/test/cloudwatch/integ.cloudwatch-logs-action.ts (100%) rename packages/@aws-cdk/{aws-iot-actions => aws-iot-actions-alpha}/test/cloudwatch/integ.cloudwatch-put-metric-action.js.snapshot/cdk.out (100%) rename packages/@aws-cdk/{aws-iot-actions => aws-iot-actions-alpha}/test/cloudwatch/integ.cloudwatch-put-metric-action.js.snapshot/integ.json (100%) rename packages/@aws-cdk/{aws-iot-actions => aws-iot-actions-alpha}/test/cloudwatch/integ.cloudwatch-put-metric-action.js.snapshot/manifest.json (100%) rename packages/@aws-cdk/{aws-iot-actions => aws-iot-actions-alpha}/test/cloudwatch/integ.cloudwatch-put-metric-action.js.snapshot/test-stack.assets.json (100%) rename packages/@aws-cdk/{aws-iot-actions => aws-iot-actions-alpha}/test/cloudwatch/integ.cloudwatch-put-metric-action.js.snapshot/test-stack.template.json (100%) rename packages/@aws-cdk/{aws-iot-actions => aws-iot-actions-alpha}/test/cloudwatch/integ.cloudwatch-put-metric-action.js.snapshot/tree.json (100%) rename packages/@aws-cdk/{aws-iot-actions => aws-iot-actions-alpha}/test/cloudwatch/integ.cloudwatch-put-metric-action.ts (100%) rename packages/@aws-cdk/{aws-iot-actions => aws-iot-actions-alpha}/test/cloudwatch/integ.cloudwatch-set-alarm-state-action.js.snapshot/cdk.out (100%) rename packages/@aws-cdk/{aws-iot-actions => aws-iot-actions-alpha}/test/cloudwatch/integ.cloudwatch-set-alarm-state-action.js.snapshot/integ.json (100%) rename packages/@aws-cdk/{aws-iot-actions => aws-iot-actions-alpha}/test/cloudwatch/integ.cloudwatch-set-alarm-state-action.js.snapshot/manifest.json (100%) rename packages/@aws-cdk/{aws-iot-actions => aws-iot-actions-alpha}/test/cloudwatch/integ.cloudwatch-set-alarm-state-action.js.snapshot/test-stack.assets.json (100%) rename packages/@aws-cdk/{aws-iot-actions => aws-iot-actions-alpha}/test/cloudwatch/integ.cloudwatch-set-alarm-state-action.js.snapshot/test-stack.template.json (100%) rename packages/@aws-cdk/{aws-iot-actions => aws-iot-actions-alpha}/test/cloudwatch/integ.cloudwatch-set-alarm-state-action.js.snapshot/tree.json (100%) rename packages/@aws-cdk/{aws-iot-actions => aws-iot-actions-alpha}/test/cloudwatch/integ.cloudwatch-set-alarm-state-action.ts (100%) rename packages/@aws-cdk/{aws-iot-actions => aws-iot-actions-alpha}/test/dynamodbv2/dynamodbv2-put-item-action.test.ts (100%) rename packages/@aws-cdk/{aws-iot-actions => aws-iot-actions-alpha}/test/dynamodbv2/integ.dynamodbv2-put-item-action.js.snapshot/cdk.out (100%) rename packages/@aws-cdk/{aws-iot-actions => aws-iot-actions-alpha}/test/dynamodbv2/integ.dynamodbv2-put-item-action.js.snapshot/dynamodbv2integtestDefaultTestDeployAssertEF9A9A37.assets.json (100%) rename packages/@aws-cdk/{aws-iot-actions => aws-iot-actions-alpha}/test/dynamodbv2/integ.dynamodbv2-put-item-action.js.snapshot/dynamodbv2integtestDefaultTestDeployAssertEF9A9A37.template.json (100%) rename packages/@aws-cdk/{aws-iot-actions => aws-iot-actions-alpha}/test/dynamodbv2/integ.dynamodbv2-put-item-action.js.snapshot/integ.json (100%) rename packages/@aws-cdk/{aws-iot-actions => aws-iot-actions-alpha}/test/dynamodbv2/integ.dynamodbv2-put-item-action.js.snapshot/manifest.json (100%) rename packages/@aws-cdk/{aws-iot-actions => aws-iot-actions-alpha}/test/dynamodbv2/integ.dynamodbv2-put-item-action.js.snapshot/test-dynamodbv2-put-item-action-stack.assets.json (100%) rename packages/@aws-cdk/{aws-iot-actions => aws-iot-actions-alpha}/test/dynamodbv2/integ.dynamodbv2-put-item-action.js.snapshot/test-dynamodbv2-put-item-action-stack.template.json (100%) rename packages/@aws-cdk/{aws-iot-actions => aws-iot-actions-alpha}/test/dynamodbv2/integ.dynamodbv2-put-item-action.js.snapshot/tree.json (100%) rename packages/@aws-cdk/{aws-iot-actions => aws-iot-actions-alpha}/test/dynamodbv2/integ.dynamodbv2-put-item-action.ts (100%) rename packages/@aws-cdk/{aws-iot-actions => aws-iot-actions-alpha}/test/iot/integ.iot-republish-action.js.snapshot/cdk.out (100%) rename packages/@aws-cdk/{aws-iot-actions => aws-iot-actions-alpha}/test/iot/integ.iot-republish-action.js.snapshot/integ.json (100%) rename packages/@aws-cdk/{aws-iot-actions => aws-iot-actions-alpha}/test/iot/integ.iot-republish-action.js.snapshot/iot-republish-action-test-stack.assets.json (100%) rename packages/@aws-cdk/{aws-iot-actions => aws-iot-actions-alpha}/test/iot/integ.iot-republish-action.js.snapshot/iot-republish-action-test-stack.template.json (100%) rename packages/@aws-cdk/{aws-iot-actions => aws-iot-actions-alpha}/test/iot/integ.iot-republish-action.js.snapshot/manifest.json (100%) rename packages/@aws-cdk/{aws-iot-actions => aws-iot-actions-alpha}/test/iot/integ.iot-republish-action.js.snapshot/tree.json (100%) rename packages/@aws-cdk/{aws-iot-actions => aws-iot-actions-alpha}/test/iot/integ.iot-republish-action.ts (100%) rename packages/@aws-cdk/{aws-iot-actions => aws-iot-actions-alpha}/test/iot/integ.iotevents-put-message-action.js.snapshot/cdk.out (100%) rename packages/@aws-cdk/{aws-iot-actions => aws-iot-actions-alpha}/test/iot/integ.iotevents-put-message-action.js.snapshot/integ.json (100%) rename packages/@aws-cdk/{aws-iot-actions => aws-iot-actions-alpha}/test/iot/integ.iotevents-put-message-action.js.snapshot/iotevents-put-message-action-test-stack.assets.json (100%) rename packages/@aws-cdk/{aws-iot-actions => aws-iot-actions-alpha}/test/iot/integ.iotevents-put-message-action.js.snapshot/iotevents-put-message-action-test-stack.template.json (100%) rename packages/@aws-cdk/{aws-iot-actions => aws-iot-actions-alpha}/test/iot/integ.iotevents-put-message-action.js.snapshot/ioteventsDefaultTestDeployAssertE216288D.assets.json (100%) rename packages/@aws-cdk/{aws-iot-actions => aws-iot-actions-alpha}/test/iot/integ.iotevents-put-message-action.js.snapshot/ioteventsDefaultTestDeployAssertE216288D.template.json (100%) rename packages/@aws-cdk/{aws-iot-actions => aws-iot-actions-alpha}/test/iot/integ.iotevents-put-message-action.js.snapshot/manifest.json (100%) rename packages/@aws-cdk/{aws-iot-actions => aws-iot-actions-alpha}/test/iot/integ.iotevents-put-message-action.js.snapshot/tree.json (100%) rename packages/@aws-cdk/{aws-iot-actions => aws-iot-actions-alpha}/test/iot/integ.iotevents-put-message-action.ts (100%) rename packages/@aws-cdk/{aws-iot-actions => aws-iot-actions-alpha}/test/iot/iot-republish-action.test.ts (100%) rename packages/@aws-cdk/{aws-iot-actions => aws-iot-actions-alpha}/test/iot/iotevents-put-message-action.test.ts (100%) rename packages/@aws-cdk/{aws-iot-actions => aws-iot-actions-alpha}/test/kinesis-firehose/firehose-put-record-action.test.ts (100%) rename packages/@aws-cdk/{aws-iot-actions => aws-iot-actions-alpha}/test/kinesis-firehose/integ.firehose-put-record-action.js.snapshot/cdk.out (100%) rename packages/@aws-cdk/{aws-iot-actions => aws-iot-actions-alpha}/test/kinesis-firehose/integ.firehose-put-record-action.js.snapshot/integ.json (100%) rename packages/@aws-cdk/{aws-iot-actions => aws-iot-actions-alpha}/test/kinesis-firehose/integ.firehose-put-record-action.js.snapshot/manifest.json (100%) rename packages/@aws-cdk/{aws-iot-actions => aws-iot-actions-alpha}/test/kinesis-firehose/integ.firehose-put-record-action.js.snapshot/test-stack.assets.json (100%) rename packages/@aws-cdk/{aws-iot-actions => aws-iot-actions-alpha}/test/kinesis-firehose/integ.firehose-put-record-action.js.snapshot/test-stack.template.json (100%) rename packages/@aws-cdk/{aws-iot-actions => aws-iot-actions-alpha}/test/kinesis-firehose/integ.firehose-put-record-action.js.snapshot/tree.json (100%) rename packages/@aws-cdk/{aws-iot-actions => aws-iot-actions-alpha}/test/kinesis-firehose/integ.firehose-put-record-action.ts (100%) rename packages/@aws-cdk/{aws-iot-actions => aws-iot-actions-alpha}/test/kinesis-stream/integ.kinesis-put-record-action.js.snapshot/cdk.out (100%) rename packages/@aws-cdk/{aws-iot-actions => aws-iot-actions-alpha}/test/kinesis-stream/integ.kinesis-put-record-action.js.snapshot/integ.json (100%) rename packages/@aws-cdk/{aws-iot-actions => aws-iot-actions-alpha}/test/kinesis-stream/integ.kinesis-put-record-action.js.snapshot/manifest.json (100%) rename packages/@aws-cdk/{aws-iot-actions => aws-iot-actions-alpha}/test/kinesis-stream/integ.kinesis-put-record-action.js.snapshot/test-kinesis-stream-action-stack.assets.json (100%) rename packages/@aws-cdk/{aws-iot-actions => aws-iot-actions-alpha}/test/kinesis-stream/integ.kinesis-put-record-action.js.snapshot/test-kinesis-stream-action-stack.template.json (100%) rename packages/@aws-cdk/{aws-iot-actions => aws-iot-actions-alpha}/test/kinesis-stream/integ.kinesis-put-record-action.js.snapshot/tree.json (100%) rename packages/@aws-cdk/{aws-iot-actions => aws-iot-actions-alpha}/test/kinesis-stream/integ.kinesis-put-record-action.ts (100%) rename packages/@aws-cdk/{aws-iot-actions => aws-iot-actions-alpha}/test/kinesis-stream/kinesis-put-record-action.test.ts (100%) rename packages/@aws-cdk/{aws-iot-actions => aws-iot-actions-alpha}/test/lambda/integ.lambda-function-action.js.snapshot/cdk.out (100%) rename packages/@aws-cdk/{aws-iot-actions => aws-iot-actions-alpha}/test/lambda/integ.lambda-function-action.js.snapshot/integ.json (100%) rename packages/@aws-cdk/{aws-iot-actions => aws-iot-actions-alpha}/test/lambda/integ.lambda-function-action.js.snapshot/manifest.json (100%) rename packages/@aws-cdk/{aws-iot-actions => aws-iot-actions-alpha}/test/lambda/integ.lambda-function-action.js.snapshot/test-stack.assets.json (100%) rename packages/@aws-cdk/{aws-iot-actions => aws-iot-actions-alpha}/test/lambda/integ.lambda-function-action.js.snapshot/test-stack.template.json (100%) rename packages/@aws-cdk/{aws-iot-actions => aws-iot-actions-alpha}/test/lambda/integ.lambda-function-action.js.snapshot/tree.json (100%) rename packages/@aws-cdk/{aws-iot-actions => aws-iot-actions-alpha}/test/lambda/integ.lambda-function-action.ts (100%) rename packages/@aws-cdk/{aws-iot-actions => aws-iot-actions-alpha}/test/lambda/lambda-function-action.test.ts (100%) rename packages/@aws-cdk/{aws-iot-actions => aws-iot-actions-alpha}/test/s3/integ.s3-put-object-action.js.snapshot/cdk.out (100%) rename packages/@aws-cdk/{aws-iot-actions => aws-iot-actions-alpha}/test/s3/integ.s3-put-object-action.js.snapshot/integ.json (100%) rename packages/@aws-cdk/{aws-iot-actions => aws-iot-actions-alpha}/test/s3/integ.s3-put-object-action.js.snapshot/manifest.json (100%) rename packages/@aws-cdk/{aws-iot-actions => aws-iot-actions-alpha}/test/s3/integ.s3-put-object-action.js.snapshot/test-stack.assets.json (100%) rename packages/@aws-cdk/{aws-iot-actions => aws-iot-actions-alpha}/test/s3/integ.s3-put-object-action.js.snapshot/test-stack.template.json (100%) rename packages/@aws-cdk/{aws-iot-actions => aws-iot-actions-alpha}/test/s3/integ.s3-put-object-action.js.snapshot/tree.json (100%) rename packages/@aws-cdk/{aws-iot-actions => aws-iot-actions-alpha}/test/s3/integ.s3-put-object-action.ts (100%) rename packages/@aws-cdk/{aws-iot-actions => aws-iot-actions-alpha}/test/s3/s3-put-object-action.test.ts (100%) rename packages/@aws-cdk/{aws-iot-actions => aws-iot-actions-alpha}/test/sns/integ.sns-topic-action.js.snapshot/cdk.out (100%) rename packages/@aws-cdk/{aws-iot-actions => aws-iot-actions-alpha}/test/sns/integ.sns-topic-action.js.snapshot/integ.json (100%) rename packages/@aws-cdk/{aws-iot-actions => aws-iot-actions-alpha}/test/sns/integ.sns-topic-action.js.snapshot/manifest.json (100%) rename packages/@aws-cdk/{aws-iot-actions => aws-iot-actions-alpha}/test/sns/integ.sns-topic-action.js.snapshot/sns-topic-action-test-stack.assets.json (100%) rename packages/@aws-cdk/{aws-iot-actions => aws-iot-actions-alpha}/test/sns/integ.sns-topic-action.js.snapshot/sns-topic-action-test-stack.template.json (100%) rename packages/@aws-cdk/{aws-iot-actions => aws-iot-actions-alpha}/test/sns/integ.sns-topic-action.js.snapshot/tree.json (100%) rename packages/@aws-cdk/{aws-iot-actions => aws-iot-actions-alpha}/test/sns/integ.sns-topic-action.ts (100%) rename packages/@aws-cdk/{aws-iot-actions => aws-iot-actions-alpha}/test/sns/sns-topic-action.test.ts (100%) rename packages/@aws-cdk/{aws-iot-actions => aws-iot-actions-alpha}/test/sqs/integ.sqs-queue-action.js.snapshot/cdk.out (100%) rename packages/@aws-cdk/{aws-iot-actions => aws-iot-actions-alpha}/test/sqs/integ.sqs-queue-action.js.snapshot/integ.json (100%) rename packages/@aws-cdk/{aws-iot-actions => aws-iot-actions-alpha}/test/sqs/integ.sqs-queue-action.js.snapshot/manifest.json (100%) rename packages/@aws-cdk/{aws-iot-actions => aws-iot-actions-alpha}/test/sqs/integ.sqs-queue-action.js.snapshot/test-stack.assets.json (100%) rename packages/@aws-cdk/{aws-iot-actions => aws-iot-actions-alpha}/test/sqs/integ.sqs-queue-action.js.snapshot/test-stack.template.json (100%) rename packages/@aws-cdk/{aws-iot-actions => aws-iot-actions-alpha}/test/sqs/integ.sqs-queue-action.js.snapshot/tree.json (100%) rename packages/@aws-cdk/{aws-iot-actions => aws-iot-actions-alpha}/test/sqs/integ.sqs-queue-action.ts (100%) rename packages/@aws-cdk/{aws-iot-actions => aws-iot-actions-alpha}/test/sqs/sqs-queue-action.test.ts (100%) diff --git a/packages/@aws-cdk/aws-iot-actions/.eslintrc.js b/packages/@aws-cdk/aws-iot-actions-alpha/.eslintrc.js similarity index 100% rename from packages/@aws-cdk/aws-iot-actions/.eslintrc.js rename to packages/@aws-cdk/aws-iot-actions-alpha/.eslintrc.js diff --git a/packages/@aws-cdk/aws-iot-actions/.gitignore b/packages/@aws-cdk/aws-iot-actions-alpha/.gitignore similarity index 100% rename from packages/@aws-cdk/aws-iot-actions/.gitignore rename to packages/@aws-cdk/aws-iot-actions-alpha/.gitignore diff --git a/packages/@aws-cdk/aws-iot-actions/.npmignore b/packages/@aws-cdk/aws-iot-actions-alpha/.npmignore similarity index 100% rename from packages/@aws-cdk/aws-iot-actions/.npmignore rename to packages/@aws-cdk/aws-iot-actions-alpha/.npmignore diff --git a/packages/@aws-cdk/aws-iot-actions/LICENSE b/packages/@aws-cdk/aws-iot-actions-alpha/LICENSE similarity index 100% rename from packages/@aws-cdk/aws-iot-actions/LICENSE rename to packages/@aws-cdk/aws-iot-actions-alpha/LICENSE diff --git a/packages/@aws-cdk/aws-iot-actions/NOTICE b/packages/@aws-cdk/aws-iot-actions-alpha/NOTICE similarity index 100% rename from packages/@aws-cdk/aws-iot-actions/NOTICE rename to packages/@aws-cdk/aws-iot-actions-alpha/NOTICE diff --git a/packages/@aws-cdk/aws-iot-actions/README.md b/packages/@aws-cdk/aws-iot-actions-alpha/README.md similarity index 100% rename from packages/@aws-cdk/aws-iot-actions/README.md rename to packages/@aws-cdk/aws-iot-actions-alpha/README.md diff --git a/packages/@aws-cdk/aws-iot-actions/jest.config.js b/packages/@aws-cdk/aws-iot-actions-alpha/jest.config.js similarity index 100% rename from packages/@aws-cdk/aws-iot-actions/jest.config.js rename to packages/@aws-cdk/aws-iot-actions-alpha/jest.config.js diff --git a/packages/@aws-cdk/aws-iot-actions/lib/cloudwatch-logs-action.ts b/packages/@aws-cdk/aws-iot-actions-alpha/lib/cloudwatch-logs-action.ts similarity index 100% rename from packages/@aws-cdk/aws-iot-actions/lib/cloudwatch-logs-action.ts rename to packages/@aws-cdk/aws-iot-actions-alpha/lib/cloudwatch-logs-action.ts diff --git a/packages/@aws-cdk/aws-iot-actions/lib/cloudwatch-put-metric-action.ts b/packages/@aws-cdk/aws-iot-actions-alpha/lib/cloudwatch-put-metric-action.ts similarity index 100% rename from packages/@aws-cdk/aws-iot-actions/lib/cloudwatch-put-metric-action.ts rename to packages/@aws-cdk/aws-iot-actions-alpha/lib/cloudwatch-put-metric-action.ts diff --git a/packages/@aws-cdk/aws-iot-actions/lib/cloudwatch-set-alarm-state-action.ts b/packages/@aws-cdk/aws-iot-actions-alpha/lib/cloudwatch-set-alarm-state-action.ts similarity index 100% rename from packages/@aws-cdk/aws-iot-actions/lib/cloudwatch-set-alarm-state-action.ts rename to packages/@aws-cdk/aws-iot-actions-alpha/lib/cloudwatch-set-alarm-state-action.ts diff --git a/packages/@aws-cdk/aws-iot-actions/lib/common-action-props.ts b/packages/@aws-cdk/aws-iot-actions-alpha/lib/common-action-props.ts similarity index 100% rename from packages/@aws-cdk/aws-iot-actions/lib/common-action-props.ts rename to packages/@aws-cdk/aws-iot-actions-alpha/lib/common-action-props.ts diff --git a/packages/@aws-cdk/aws-iot-actions/lib/dynamodbv2-put-item-action.ts b/packages/@aws-cdk/aws-iot-actions-alpha/lib/dynamodbv2-put-item-action.ts similarity index 100% rename from packages/@aws-cdk/aws-iot-actions/lib/dynamodbv2-put-item-action.ts rename to packages/@aws-cdk/aws-iot-actions-alpha/lib/dynamodbv2-put-item-action.ts diff --git a/packages/@aws-cdk/aws-iot-actions/lib/firehose-put-record-action.ts b/packages/@aws-cdk/aws-iot-actions-alpha/lib/firehose-put-record-action.ts similarity index 100% rename from packages/@aws-cdk/aws-iot-actions/lib/firehose-put-record-action.ts rename to packages/@aws-cdk/aws-iot-actions-alpha/lib/firehose-put-record-action.ts diff --git a/packages/@aws-cdk/aws-iot-actions/lib/index.ts b/packages/@aws-cdk/aws-iot-actions-alpha/lib/index.ts similarity index 100% rename from packages/@aws-cdk/aws-iot-actions/lib/index.ts rename to packages/@aws-cdk/aws-iot-actions-alpha/lib/index.ts diff --git a/packages/@aws-cdk/aws-iot-actions/lib/iot-republish-action.ts b/packages/@aws-cdk/aws-iot-actions-alpha/lib/iot-republish-action.ts similarity index 100% rename from packages/@aws-cdk/aws-iot-actions/lib/iot-republish-action.ts rename to packages/@aws-cdk/aws-iot-actions-alpha/lib/iot-republish-action.ts diff --git a/packages/@aws-cdk/aws-iot-actions/lib/iotevents-put-message-action.ts b/packages/@aws-cdk/aws-iot-actions-alpha/lib/iotevents-put-message-action.ts similarity index 100% rename from packages/@aws-cdk/aws-iot-actions/lib/iotevents-put-message-action.ts rename to packages/@aws-cdk/aws-iot-actions-alpha/lib/iotevents-put-message-action.ts diff --git a/packages/@aws-cdk/aws-iot-actions/lib/kinesis-put-record-action.ts b/packages/@aws-cdk/aws-iot-actions-alpha/lib/kinesis-put-record-action.ts similarity index 100% rename from packages/@aws-cdk/aws-iot-actions/lib/kinesis-put-record-action.ts rename to packages/@aws-cdk/aws-iot-actions-alpha/lib/kinesis-put-record-action.ts diff --git a/packages/@aws-cdk/aws-iot-actions/lib/lambda-function-action.ts b/packages/@aws-cdk/aws-iot-actions-alpha/lib/lambda-function-action.ts similarity index 100% rename from packages/@aws-cdk/aws-iot-actions/lib/lambda-function-action.ts rename to packages/@aws-cdk/aws-iot-actions-alpha/lib/lambda-function-action.ts diff --git a/packages/@aws-cdk/aws-iot-actions/lib/private/role.ts b/packages/@aws-cdk/aws-iot-actions-alpha/lib/private/role.ts similarity index 100% rename from packages/@aws-cdk/aws-iot-actions/lib/private/role.ts rename to packages/@aws-cdk/aws-iot-actions-alpha/lib/private/role.ts diff --git a/packages/@aws-cdk/aws-iot-actions/lib/s3-put-object-action.ts b/packages/@aws-cdk/aws-iot-actions-alpha/lib/s3-put-object-action.ts similarity index 100% rename from packages/@aws-cdk/aws-iot-actions/lib/s3-put-object-action.ts rename to packages/@aws-cdk/aws-iot-actions-alpha/lib/s3-put-object-action.ts diff --git a/packages/@aws-cdk/aws-iot-actions/lib/sns-topic-action.ts b/packages/@aws-cdk/aws-iot-actions-alpha/lib/sns-topic-action.ts similarity index 100% rename from packages/@aws-cdk/aws-iot-actions/lib/sns-topic-action.ts rename to packages/@aws-cdk/aws-iot-actions-alpha/lib/sns-topic-action.ts diff --git a/packages/@aws-cdk/aws-iot-actions/lib/sqs-queue-action.ts b/packages/@aws-cdk/aws-iot-actions-alpha/lib/sqs-queue-action.ts similarity index 100% rename from packages/@aws-cdk/aws-iot-actions/lib/sqs-queue-action.ts rename to packages/@aws-cdk/aws-iot-actions-alpha/lib/sqs-queue-action.ts diff --git a/packages/@aws-cdk/aws-iot-actions/package-lock.json b/packages/@aws-cdk/aws-iot-actions-alpha/package-lock.json similarity index 100% rename from packages/@aws-cdk/aws-iot-actions/package-lock.json rename to packages/@aws-cdk/aws-iot-actions-alpha/package-lock.json diff --git a/packages/@aws-cdk/aws-iot-actions/package.json b/packages/@aws-cdk/aws-iot-actions-alpha/package.json similarity index 98% rename from packages/@aws-cdk/aws-iot-actions/package.json rename to packages/@aws-cdk/aws-iot-actions-alpha/package.json index 630e4ce7500e5..39cc63f7f9c95 100644 --- a/packages/@aws-cdk/aws-iot-actions/package.json +++ b/packages/@aws-cdk/aws-iot-actions-alpha/package.json @@ -44,7 +44,7 @@ "repository": { "type": "git", "url": "https://github.com/aws/aws-cdk.git", - "directory": "packages/@aws-cdk/aws-iot-actions" + "directory": "packages/@aws-cdk/aws-iot-actions-alpha" }, "scripts": { "build": "cdk-build", diff --git a/packages/@aws-cdk/aws-iot-actions/rosetta/default.ts-fixture b/packages/@aws-cdk/aws-iot-actions-alpha/rosetta/default.ts-fixture similarity index 100% rename from packages/@aws-cdk/aws-iot-actions/rosetta/default.ts-fixture rename to packages/@aws-cdk/aws-iot-actions-alpha/rosetta/default.ts-fixture diff --git a/packages/@aws-cdk/aws-iot-actions/test/cloudwatch/cloudwatch-logs-action.test.ts b/packages/@aws-cdk/aws-iot-actions-alpha/test/cloudwatch/cloudwatch-logs-action.test.ts similarity index 100% rename from packages/@aws-cdk/aws-iot-actions/test/cloudwatch/cloudwatch-logs-action.test.ts rename to packages/@aws-cdk/aws-iot-actions-alpha/test/cloudwatch/cloudwatch-logs-action.test.ts diff --git a/packages/@aws-cdk/aws-iot-actions/test/cloudwatch/cloudwatch-put-metric-action.test.ts b/packages/@aws-cdk/aws-iot-actions-alpha/test/cloudwatch/cloudwatch-put-metric-action.test.ts similarity index 100% rename from packages/@aws-cdk/aws-iot-actions/test/cloudwatch/cloudwatch-put-metric-action.test.ts rename to packages/@aws-cdk/aws-iot-actions-alpha/test/cloudwatch/cloudwatch-put-metric-action.test.ts diff --git a/packages/@aws-cdk/aws-iot-actions/test/cloudwatch/cloudwatch-set-alarm-state-action.test.ts b/packages/@aws-cdk/aws-iot-actions-alpha/test/cloudwatch/cloudwatch-set-alarm-state-action.test.ts similarity index 100% rename from packages/@aws-cdk/aws-iot-actions/test/cloudwatch/cloudwatch-set-alarm-state-action.test.ts rename to packages/@aws-cdk/aws-iot-actions-alpha/test/cloudwatch/cloudwatch-set-alarm-state-action.test.ts diff --git a/packages/@aws-cdk/aws-iot-actions/test/cloudwatch/integ.cloudwatch-logs-action.js.snapshot/cdk.out b/packages/@aws-cdk/aws-iot-actions-alpha/test/cloudwatch/integ.cloudwatch-logs-action.js.snapshot/cdk.out similarity index 100% rename from packages/@aws-cdk/aws-iot-actions/test/cloudwatch/integ.cloudwatch-logs-action.js.snapshot/cdk.out rename to packages/@aws-cdk/aws-iot-actions-alpha/test/cloudwatch/integ.cloudwatch-logs-action.js.snapshot/cdk.out diff --git a/packages/@aws-cdk/aws-iot-actions/test/cloudwatch/integ.cloudwatch-logs-action.js.snapshot/integ.json b/packages/@aws-cdk/aws-iot-actions-alpha/test/cloudwatch/integ.cloudwatch-logs-action.js.snapshot/integ.json similarity index 100% rename from packages/@aws-cdk/aws-iot-actions/test/cloudwatch/integ.cloudwatch-logs-action.js.snapshot/integ.json rename to packages/@aws-cdk/aws-iot-actions-alpha/test/cloudwatch/integ.cloudwatch-logs-action.js.snapshot/integ.json diff --git a/packages/@aws-cdk/aws-iot-actions/test/cloudwatch/integ.cloudwatch-logs-action.js.snapshot/manifest.json b/packages/@aws-cdk/aws-iot-actions-alpha/test/cloudwatch/integ.cloudwatch-logs-action.js.snapshot/manifest.json similarity index 100% rename from packages/@aws-cdk/aws-iot-actions/test/cloudwatch/integ.cloudwatch-logs-action.js.snapshot/manifest.json rename to packages/@aws-cdk/aws-iot-actions-alpha/test/cloudwatch/integ.cloudwatch-logs-action.js.snapshot/manifest.json diff --git a/packages/@aws-cdk/aws-iot-actions/test/cloudwatch/integ.cloudwatch-logs-action.js.snapshot/test-stack.assets.json b/packages/@aws-cdk/aws-iot-actions-alpha/test/cloudwatch/integ.cloudwatch-logs-action.js.snapshot/test-stack.assets.json similarity index 100% rename from packages/@aws-cdk/aws-iot-actions/test/cloudwatch/integ.cloudwatch-logs-action.js.snapshot/test-stack.assets.json rename to packages/@aws-cdk/aws-iot-actions-alpha/test/cloudwatch/integ.cloudwatch-logs-action.js.snapshot/test-stack.assets.json diff --git a/packages/@aws-cdk/aws-iot-actions/test/cloudwatch/integ.cloudwatch-logs-action.js.snapshot/test-stack.template.json b/packages/@aws-cdk/aws-iot-actions-alpha/test/cloudwatch/integ.cloudwatch-logs-action.js.snapshot/test-stack.template.json similarity index 100% rename from packages/@aws-cdk/aws-iot-actions/test/cloudwatch/integ.cloudwatch-logs-action.js.snapshot/test-stack.template.json rename to packages/@aws-cdk/aws-iot-actions-alpha/test/cloudwatch/integ.cloudwatch-logs-action.js.snapshot/test-stack.template.json diff --git a/packages/@aws-cdk/aws-iot-actions/test/cloudwatch/integ.cloudwatch-logs-action.js.snapshot/tree.json b/packages/@aws-cdk/aws-iot-actions-alpha/test/cloudwatch/integ.cloudwatch-logs-action.js.snapshot/tree.json similarity index 100% rename from packages/@aws-cdk/aws-iot-actions/test/cloudwatch/integ.cloudwatch-logs-action.js.snapshot/tree.json rename to packages/@aws-cdk/aws-iot-actions-alpha/test/cloudwatch/integ.cloudwatch-logs-action.js.snapshot/tree.json diff --git a/packages/@aws-cdk/aws-iot-actions/test/cloudwatch/integ.cloudwatch-logs-action.ts b/packages/@aws-cdk/aws-iot-actions-alpha/test/cloudwatch/integ.cloudwatch-logs-action.ts similarity index 100% rename from packages/@aws-cdk/aws-iot-actions/test/cloudwatch/integ.cloudwatch-logs-action.ts rename to packages/@aws-cdk/aws-iot-actions-alpha/test/cloudwatch/integ.cloudwatch-logs-action.ts diff --git a/packages/@aws-cdk/aws-iot-actions/test/cloudwatch/integ.cloudwatch-put-metric-action.js.snapshot/cdk.out b/packages/@aws-cdk/aws-iot-actions-alpha/test/cloudwatch/integ.cloudwatch-put-metric-action.js.snapshot/cdk.out similarity index 100% rename from packages/@aws-cdk/aws-iot-actions/test/cloudwatch/integ.cloudwatch-put-metric-action.js.snapshot/cdk.out rename to packages/@aws-cdk/aws-iot-actions-alpha/test/cloudwatch/integ.cloudwatch-put-metric-action.js.snapshot/cdk.out diff --git a/packages/@aws-cdk/aws-iot-actions/test/cloudwatch/integ.cloudwatch-put-metric-action.js.snapshot/integ.json b/packages/@aws-cdk/aws-iot-actions-alpha/test/cloudwatch/integ.cloudwatch-put-metric-action.js.snapshot/integ.json similarity index 100% rename from packages/@aws-cdk/aws-iot-actions/test/cloudwatch/integ.cloudwatch-put-metric-action.js.snapshot/integ.json rename to packages/@aws-cdk/aws-iot-actions-alpha/test/cloudwatch/integ.cloudwatch-put-metric-action.js.snapshot/integ.json diff --git a/packages/@aws-cdk/aws-iot-actions/test/cloudwatch/integ.cloudwatch-put-metric-action.js.snapshot/manifest.json b/packages/@aws-cdk/aws-iot-actions-alpha/test/cloudwatch/integ.cloudwatch-put-metric-action.js.snapshot/manifest.json similarity index 100% rename from packages/@aws-cdk/aws-iot-actions/test/cloudwatch/integ.cloudwatch-put-metric-action.js.snapshot/manifest.json rename to packages/@aws-cdk/aws-iot-actions-alpha/test/cloudwatch/integ.cloudwatch-put-metric-action.js.snapshot/manifest.json diff --git a/packages/@aws-cdk/aws-iot-actions/test/cloudwatch/integ.cloudwatch-put-metric-action.js.snapshot/test-stack.assets.json b/packages/@aws-cdk/aws-iot-actions-alpha/test/cloudwatch/integ.cloudwatch-put-metric-action.js.snapshot/test-stack.assets.json similarity index 100% rename from packages/@aws-cdk/aws-iot-actions/test/cloudwatch/integ.cloudwatch-put-metric-action.js.snapshot/test-stack.assets.json rename to packages/@aws-cdk/aws-iot-actions-alpha/test/cloudwatch/integ.cloudwatch-put-metric-action.js.snapshot/test-stack.assets.json diff --git a/packages/@aws-cdk/aws-iot-actions/test/cloudwatch/integ.cloudwatch-put-metric-action.js.snapshot/test-stack.template.json b/packages/@aws-cdk/aws-iot-actions-alpha/test/cloudwatch/integ.cloudwatch-put-metric-action.js.snapshot/test-stack.template.json similarity index 100% rename from packages/@aws-cdk/aws-iot-actions/test/cloudwatch/integ.cloudwatch-put-metric-action.js.snapshot/test-stack.template.json rename to packages/@aws-cdk/aws-iot-actions-alpha/test/cloudwatch/integ.cloudwatch-put-metric-action.js.snapshot/test-stack.template.json diff --git a/packages/@aws-cdk/aws-iot-actions/test/cloudwatch/integ.cloudwatch-put-metric-action.js.snapshot/tree.json b/packages/@aws-cdk/aws-iot-actions-alpha/test/cloudwatch/integ.cloudwatch-put-metric-action.js.snapshot/tree.json similarity index 100% rename from packages/@aws-cdk/aws-iot-actions/test/cloudwatch/integ.cloudwatch-put-metric-action.js.snapshot/tree.json rename to packages/@aws-cdk/aws-iot-actions-alpha/test/cloudwatch/integ.cloudwatch-put-metric-action.js.snapshot/tree.json diff --git a/packages/@aws-cdk/aws-iot-actions/test/cloudwatch/integ.cloudwatch-put-metric-action.ts b/packages/@aws-cdk/aws-iot-actions-alpha/test/cloudwatch/integ.cloudwatch-put-metric-action.ts similarity index 100% rename from packages/@aws-cdk/aws-iot-actions/test/cloudwatch/integ.cloudwatch-put-metric-action.ts rename to packages/@aws-cdk/aws-iot-actions-alpha/test/cloudwatch/integ.cloudwatch-put-metric-action.ts diff --git a/packages/@aws-cdk/aws-iot-actions/test/cloudwatch/integ.cloudwatch-set-alarm-state-action.js.snapshot/cdk.out b/packages/@aws-cdk/aws-iot-actions-alpha/test/cloudwatch/integ.cloudwatch-set-alarm-state-action.js.snapshot/cdk.out similarity index 100% rename from packages/@aws-cdk/aws-iot-actions/test/cloudwatch/integ.cloudwatch-set-alarm-state-action.js.snapshot/cdk.out rename to packages/@aws-cdk/aws-iot-actions-alpha/test/cloudwatch/integ.cloudwatch-set-alarm-state-action.js.snapshot/cdk.out diff --git a/packages/@aws-cdk/aws-iot-actions/test/cloudwatch/integ.cloudwatch-set-alarm-state-action.js.snapshot/integ.json b/packages/@aws-cdk/aws-iot-actions-alpha/test/cloudwatch/integ.cloudwatch-set-alarm-state-action.js.snapshot/integ.json similarity index 100% rename from packages/@aws-cdk/aws-iot-actions/test/cloudwatch/integ.cloudwatch-set-alarm-state-action.js.snapshot/integ.json rename to packages/@aws-cdk/aws-iot-actions-alpha/test/cloudwatch/integ.cloudwatch-set-alarm-state-action.js.snapshot/integ.json diff --git a/packages/@aws-cdk/aws-iot-actions/test/cloudwatch/integ.cloudwatch-set-alarm-state-action.js.snapshot/manifest.json b/packages/@aws-cdk/aws-iot-actions-alpha/test/cloudwatch/integ.cloudwatch-set-alarm-state-action.js.snapshot/manifest.json similarity index 100% rename from packages/@aws-cdk/aws-iot-actions/test/cloudwatch/integ.cloudwatch-set-alarm-state-action.js.snapshot/manifest.json rename to packages/@aws-cdk/aws-iot-actions-alpha/test/cloudwatch/integ.cloudwatch-set-alarm-state-action.js.snapshot/manifest.json diff --git a/packages/@aws-cdk/aws-iot-actions/test/cloudwatch/integ.cloudwatch-set-alarm-state-action.js.snapshot/test-stack.assets.json b/packages/@aws-cdk/aws-iot-actions-alpha/test/cloudwatch/integ.cloudwatch-set-alarm-state-action.js.snapshot/test-stack.assets.json similarity index 100% rename from packages/@aws-cdk/aws-iot-actions/test/cloudwatch/integ.cloudwatch-set-alarm-state-action.js.snapshot/test-stack.assets.json rename to packages/@aws-cdk/aws-iot-actions-alpha/test/cloudwatch/integ.cloudwatch-set-alarm-state-action.js.snapshot/test-stack.assets.json diff --git a/packages/@aws-cdk/aws-iot-actions/test/cloudwatch/integ.cloudwatch-set-alarm-state-action.js.snapshot/test-stack.template.json b/packages/@aws-cdk/aws-iot-actions-alpha/test/cloudwatch/integ.cloudwatch-set-alarm-state-action.js.snapshot/test-stack.template.json similarity index 100% rename from packages/@aws-cdk/aws-iot-actions/test/cloudwatch/integ.cloudwatch-set-alarm-state-action.js.snapshot/test-stack.template.json rename to packages/@aws-cdk/aws-iot-actions-alpha/test/cloudwatch/integ.cloudwatch-set-alarm-state-action.js.snapshot/test-stack.template.json diff --git a/packages/@aws-cdk/aws-iot-actions/test/cloudwatch/integ.cloudwatch-set-alarm-state-action.js.snapshot/tree.json b/packages/@aws-cdk/aws-iot-actions-alpha/test/cloudwatch/integ.cloudwatch-set-alarm-state-action.js.snapshot/tree.json similarity index 100% rename from packages/@aws-cdk/aws-iot-actions/test/cloudwatch/integ.cloudwatch-set-alarm-state-action.js.snapshot/tree.json rename to packages/@aws-cdk/aws-iot-actions-alpha/test/cloudwatch/integ.cloudwatch-set-alarm-state-action.js.snapshot/tree.json diff --git a/packages/@aws-cdk/aws-iot-actions/test/cloudwatch/integ.cloudwatch-set-alarm-state-action.ts b/packages/@aws-cdk/aws-iot-actions-alpha/test/cloudwatch/integ.cloudwatch-set-alarm-state-action.ts similarity index 100% rename from packages/@aws-cdk/aws-iot-actions/test/cloudwatch/integ.cloudwatch-set-alarm-state-action.ts rename to packages/@aws-cdk/aws-iot-actions-alpha/test/cloudwatch/integ.cloudwatch-set-alarm-state-action.ts diff --git a/packages/@aws-cdk/aws-iot-actions/test/dynamodbv2/dynamodbv2-put-item-action.test.ts b/packages/@aws-cdk/aws-iot-actions-alpha/test/dynamodbv2/dynamodbv2-put-item-action.test.ts similarity index 100% rename from packages/@aws-cdk/aws-iot-actions/test/dynamodbv2/dynamodbv2-put-item-action.test.ts rename to packages/@aws-cdk/aws-iot-actions-alpha/test/dynamodbv2/dynamodbv2-put-item-action.test.ts diff --git a/packages/@aws-cdk/aws-iot-actions/test/dynamodbv2/integ.dynamodbv2-put-item-action.js.snapshot/cdk.out b/packages/@aws-cdk/aws-iot-actions-alpha/test/dynamodbv2/integ.dynamodbv2-put-item-action.js.snapshot/cdk.out similarity index 100% rename from packages/@aws-cdk/aws-iot-actions/test/dynamodbv2/integ.dynamodbv2-put-item-action.js.snapshot/cdk.out rename to packages/@aws-cdk/aws-iot-actions-alpha/test/dynamodbv2/integ.dynamodbv2-put-item-action.js.snapshot/cdk.out diff --git a/packages/@aws-cdk/aws-iot-actions/test/dynamodbv2/integ.dynamodbv2-put-item-action.js.snapshot/dynamodbv2integtestDefaultTestDeployAssertEF9A9A37.assets.json b/packages/@aws-cdk/aws-iot-actions-alpha/test/dynamodbv2/integ.dynamodbv2-put-item-action.js.snapshot/dynamodbv2integtestDefaultTestDeployAssertEF9A9A37.assets.json similarity index 100% rename from packages/@aws-cdk/aws-iot-actions/test/dynamodbv2/integ.dynamodbv2-put-item-action.js.snapshot/dynamodbv2integtestDefaultTestDeployAssertEF9A9A37.assets.json rename to packages/@aws-cdk/aws-iot-actions-alpha/test/dynamodbv2/integ.dynamodbv2-put-item-action.js.snapshot/dynamodbv2integtestDefaultTestDeployAssertEF9A9A37.assets.json diff --git a/packages/@aws-cdk/aws-iot-actions/test/dynamodbv2/integ.dynamodbv2-put-item-action.js.snapshot/dynamodbv2integtestDefaultTestDeployAssertEF9A9A37.template.json b/packages/@aws-cdk/aws-iot-actions-alpha/test/dynamodbv2/integ.dynamodbv2-put-item-action.js.snapshot/dynamodbv2integtestDefaultTestDeployAssertEF9A9A37.template.json similarity index 100% rename from packages/@aws-cdk/aws-iot-actions/test/dynamodbv2/integ.dynamodbv2-put-item-action.js.snapshot/dynamodbv2integtestDefaultTestDeployAssertEF9A9A37.template.json rename to packages/@aws-cdk/aws-iot-actions-alpha/test/dynamodbv2/integ.dynamodbv2-put-item-action.js.snapshot/dynamodbv2integtestDefaultTestDeployAssertEF9A9A37.template.json diff --git a/packages/@aws-cdk/aws-iot-actions/test/dynamodbv2/integ.dynamodbv2-put-item-action.js.snapshot/integ.json b/packages/@aws-cdk/aws-iot-actions-alpha/test/dynamodbv2/integ.dynamodbv2-put-item-action.js.snapshot/integ.json similarity index 100% rename from packages/@aws-cdk/aws-iot-actions/test/dynamodbv2/integ.dynamodbv2-put-item-action.js.snapshot/integ.json rename to packages/@aws-cdk/aws-iot-actions-alpha/test/dynamodbv2/integ.dynamodbv2-put-item-action.js.snapshot/integ.json diff --git a/packages/@aws-cdk/aws-iot-actions/test/dynamodbv2/integ.dynamodbv2-put-item-action.js.snapshot/manifest.json b/packages/@aws-cdk/aws-iot-actions-alpha/test/dynamodbv2/integ.dynamodbv2-put-item-action.js.snapshot/manifest.json similarity index 100% rename from packages/@aws-cdk/aws-iot-actions/test/dynamodbv2/integ.dynamodbv2-put-item-action.js.snapshot/manifest.json rename to packages/@aws-cdk/aws-iot-actions-alpha/test/dynamodbv2/integ.dynamodbv2-put-item-action.js.snapshot/manifest.json diff --git a/packages/@aws-cdk/aws-iot-actions/test/dynamodbv2/integ.dynamodbv2-put-item-action.js.snapshot/test-dynamodbv2-put-item-action-stack.assets.json b/packages/@aws-cdk/aws-iot-actions-alpha/test/dynamodbv2/integ.dynamodbv2-put-item-action.js.snapshot/test-dynamodbv2-put-item-action-stack.assets.json similarity index 100% rename from packages/@aws-cdk/aws-iot-actions/test/dynamodbv2/integ.dynamodbv2-put-item-action.js.snapshot/test-dynamodbv2-put-item-action-stack.assets.json rename to packages/@aws-cdk/aws-iot-actions-alpha/test/dynamodbv2/integ.dynamodbv2-put-item-action.js.snapshot/test-dynamodbv2-put-item-action-stack.assets.json diff --git a/packages/@aws-cdk/aws-iot-actions/test/dynamodbv2/integ.dynamodbv2-put-item-action.js.snapshot/test-dynamodbv2-put-item-action-stack.template.json b/packages/@aws-cdk/aws-iot-actions-alpha/test/dynamodbv2/integ.dynamodbv2-put-item-action.js.snapshot/test-dynamodbv2-put-item-action-stack.template.json similarity index 100% rename from packages/@aws-cdk/aws-iot-actions/test/dynamodbv2/integ.dynamodbv2-put-item-action.js.snapshot/test-dynamodbv2-put-item-action-stack.template.json rename to packages/@aws-cdk/aws-iot-actions-alpha/test/dynamodbv2/integ.dynamodbv2-put-item-action.js.snapshot/test-dynamodbv2-put-item-action-stack.template.json diff --git a/packages/@aws-cdk/aws-iot-actions/test/dynamodbv2/integ.dynamodbv2-put-item-action.js.snapshot/tree.json b/packages/@aws-cdk/aws-iot-actions-alpha/test/dynamodbv2/integ.dynamodbv2-put-item-action.js.snapshot/tree.json similarity index 100% rename from packages/@aws-cdk/aws-iot-actions/test/dynamodbv2/integ.dynamodbv2-put-item-action.js.snapshot/tree.json rename to packages/@aws-cdk/aws-iot-actions-alpha/test/dynamodbv2/integ.dynamodbv2-put-item-action.js.snapshot/tree.json diff --git a/packages/@aws-cdk/aws-iot-actions/test/dynamodbv2/integ.dynamodbv2-put-item-action.ts b/packages/@aws-cdk/aws-iot-actions-alpha/test/dynamodbv2/integ.dynamodbv2-put-item-action.ts similarity index 100% rename from packages/@aws-cdk/aws-iot-actions/test/dynamodbv2/integ.dynamodbv2-put-item-action.ts rename to packages/@aws-cdk/aws-iot-actions-alpha/test/dynamodbv2/integ.dynamodbv2-put-item-action.ts diff --git a/packages/@aws-cdk/aws-iot-actions/test/iot/integ.iot-republish-action.js.snapshot/cdk.out b/packages/@aws-cdk/aws-iot-actions-alpha/test/iot/integ.iot-republish-action.js.snapshot/cdk.out similarity index 100% rename from packages/@aws-cdk/aws-iot-actions/test/iot/integ.iot-republish-action.js.snapshot/cdk.out rename to packages/@aws-cdk/aws-iot-actions-alpha/test/iot/integ.iot-republish-action.js.snapshot/cdk.out diff --git a/packages/@aws-cdk/aws-iot-actions/test/iot/integ.iot-republish-action.js.snapshot/integ.json b/packages/@aws-cdk/aws-iot-actions-alpha/test/iot/integ.iot-republish-action.js.snapshot/integ.json similarity index 100% rename from packages/@aws-cdk/aws-iot-actions/test/iot/integ.iot-republish-action.js.snapshot/integ.json rename to packages/@aws-cdk/aws-iot-actions-alpha/test/iot/integ.iot-republish-action.js.snapshot/integ.json diff --git a/packages/@aws-cdk/aws-iot-actions/test/iot/integ.iot-republish-action.js.snapshot/iot-republish-action-test-stack.assets.json b/packages/@aws-cdk/aws-iot-actions-alpha/test/iot/integ.iot-republish-action.js.snapshot/iot-republish-action-test-stack.assets.json similarity index 100% rename from packages/@aws-cdk/aws-iot-actions/test/iot/integ.iot-republish-action.js.snapshot/iot-republish-action-test-stack.assets.json rename to packages/@aws-cdk/aws-iot-actions-alpha/test/iot/integ.iot-republish-action.js.snapshot/iot-republish-action-test-stack.assets.json diff --git a/packages/@aws-cdk/aws-iot-actions/test/iot/integ.iot-republish-action.js.snapshot/iot-republish-action-test-stack.template.json b/packages/@aws-cdk/aws-iot-actions-alpha/test/iot/integ.iot-republish-action.js.snapshot/iot-republish-action-test-stack.template.json similarity index 100% rename from packages/@aws-cdk/aws-iot-actions/test/iot/integ.iot-republish-action.js.snapshot/iot-republish-action-test-stack.template.json rename to packages/@aws-cdk/aws-iot-actions-alpha/test/iot/integ.iot-republish-action.js.snapshot/iot-republish-action-test-stack.template.json diff --git a/packages/@aws-cdk/aws-iot-actions/test/iot/integ.iot-republish-action.js.snapshot/manifest.json b/packages/@aws-cdk/aws-iot-actions-alpha/test/iot/integ.iot-republish-action.js.snapshot/manifest.json similarity index 100% rename from packages/@aws-cdk/aws-iot-actions/test/iot/integ.iot-republish-action.js.snapshot/manifest.json rename to packages/@aws-cdk/aws-iot-actions-alpha/test/iot/integ.iot-republish-action.js.snapshot/manifest.json diff --git a/packages/@aws-cdk/aws-iot-actions/test/iot/integ.iot-republish-action.js.snapshot/tree.json b/packages/@aws-cdk/aws-iot-actions-alpha/test/iot/integ.iot-republish-action.js.snapshot/tree.json similarity index 100% rename from packages/@aws-cdk/aws-iot-actions/test/iot/integ.iot-republish-action.js.snapshot/tree.json rename to packages/@aws-cdk/aws-iot-actions-alpha/test/iot/integ.iot-republish-action.js.snapshot/tree.json diff --git a/packages/@aws-cdk/aws-iot-actions/test/iot/integ.iot-republish-action.ts b/packages/@aws-cdk/aws-iot-actions-alpha/test/iot/integ.iot-republish-action.ts similarity index 100% rename from packages/@aws-cdk/aws-iot-actions/test/iot/integ.iot-republish-action.ts rename to packages/@aws-cdk/aws-iot-actions-alpha/test/iot/integ.iot-republish-action.ts diff --git a/packages/@aws-cdk/aws-iot-actions/test/iot/integ.iotevents-put-message-action.js.snapshot/cdk.out b/packages/@aws-cdk/aws-iot-actions-alpha/test/iot/integ.iotevents-put-message-action.js.snapshot/cdk.out similarity index 100% rename from packages/@aws-cdk/aws-iot-actions/test/iot/integ.iotevents-put-message-action.js.snapshot/cdk.out rename to packages/@aws-cdk/aws-iot-actions-alpha/test/iot/integ.iotevents-put-message-action.js.snapshot/cdk.out diff --git a/packages/@aws-cdk/aws-iot-actions/test/iot/integ.iotevents-put-message-action.js.snapshot/integ.json b/packages/@aws-cdk/aws-iot-actions-alpha/test/iot/integ.iotevents-put-message-action.js.snapshot/integ.json similarity index 100% rename from packages/@aws-cdk/aws-iot-actions/test/iot/integ.iotevents-put-message-action.js.snapshot/integ.json rename to packages/@aws-cdk/aws-iot-actions-alpha/test/iot/integ.iotevents-put-message-action.js.snapshot/integ.json diff --git a/packages/@aws-cdk/aws-iot-actions/test/iot/integ.iotevents-put-message-action.js.snapshot/iotevents-put-message-action-test-stack.assets.json b/packages/@aws-cdk/aws-iot-actions-alpha/test/iot/integ.iotevents-put-message-action.js.snapshot/iotevents-put-message-action-test-stack.assets.json similarity index 100% rename from packages/@aws-cdk/aws-iot-actions/test/iot/integ.iotevents-put-message-action.js.snapshot/iotevents-put-message-action-test-stack.assets.json rename to packages/@aws-cdk/aws-iot-actions-alpha/test/iot/integ.iotevents-put-message-action.js.snapshot/iotevents-put-message-action-test-stack.assets.json diff --git a/packages/@aws-cdk/aws-iot-actions/test/iot/integ.iotevents-put-message-action.js.snapshot/iotevents-put-message-action-test-stack.template.json b/packages/@aws-cdk/aws-iot-actions-alpha/test/iot/integ.iotevents-put-message-action.js.snapshot/iotevents-put-message-action-test-stack.template.json similarity index 100% rename from packages/@aws-cdk/aws-iot-actions/test/iot/integ.iotevents-put-message-action.js.snapshot/iotevents-put-message-action-test-stack.template.json rename to packages/@aws-cdk/aws-iot-actions-alpha/test/iot/integ.iotevents-put-message-action.js.snapshot/iotevents-put-message-action-test-stack.template.json diff --git a/packages/@aws-cdk/aws-iot-actions/test/iot/integ.iotevents-put-message-action.js.snapshot/ioteventsDefaultTestDeployAssertE216288D.assets.json b/packages/@aws-cdk/aws-iot-actions-alpha/test/iot/integ.iotevents-put-message-action.js.snapshot/ioteventsDefaultTestDeployAssertE216288D.assets.json similarity index 100% rename from packages/@aws-cdk/aws-iot-actions/test/iot/integ.iotevents-put-message-action.js.snapshot/ioteventsDefaultTestDeployAssertE216288D.assets.json rename to packages/@aws-cdk/aws-iot-actions-alpha/test/iot/integ.iotevents-put-message-action.js.snapshot/ioteventsDefaultTestDeployAssertE216288D.assets.json diff --git a/packages/@aws-cdk/aws-iot-actions/test/iot/integ.iotevents-put-message-action.js.snapshot/ioteventsDefaultTestDeployAssertE216288D.template.json b/packages/@aws-cdk/aws-iot-actions-alpha/test/iot/integ.iotevents-put-message-action.js.snapshot/ioteventsDefaultTestDeployAssertE216288D.template.json similarity index 100% rename from packages/@aws-cdk/aws-iot-actions/test/iot/integ.iotevents-put-message-action.js.snapshot/ioteventsDefaultTestDeployAssertE216288D.template.json rename to packages/@aws-cdk/aws-iot-actions-alpha/test/iot/integ.iotevents-put-message-action.js.snapshot/ioteventsDefaultTestDeployAssertE216288D.template.json diff --git a/packages/@aws-cdk/aws-iot-actions/test/iot/integ.iotevents-put-message-action.js.snapshot/manifest.json b/packages/@aws-cdk/aws-iot-actions-alpha/test/iot/integ.iotevents-put-message-action.js.snapshot/manifest.json similarity index 100% rename from packages/@aws-cdk/aws-iot-actions/test/iot/integ.iotevents-put-message-action.js.snapshot/manifest.json rename to packages/@aws-cdk/aws-iot-actions-alpha/test/iot/integ.iotevents-put-message-action.js.snapshot/manifest.json diff --git a/packages/@aws-cdk/aws-iot-actions/test/iot/integ.iotevents-put-message-action.js.snapshot/tree.json b/packages/@aws-cdk/aws-iot-actions-alpha/test/iot/integ.iotevents-put-message-action.js.snapshot/tree.json similarity index 100% rename from packages/@aws-cdk/aws-iot-actions/test/iot/integ.iotevents-put-message-action.js.snapshot/tree.json rename to packages/@aws-cdk/aws-iot-actions-alpha/test/iot/integ.iotevents-put-message-action.js.snapshot/tree.json diff --git a/packages/@aws-cdk/aws-iot-actions/test/iot/integ.iotevents-put-message-action.ts b/packages/@aws-cdk/aws-iot-actions-alpha/test/iot/integ.iotevents-put-message-action.ts similarity index 100% rename from packages/@aws-cdk/aws-iot-actions/test/iot/integ.iotevents-put-message-action.ts rename to packages/@aws-cdk/aws-iot-actions-alpha/test/iot/integ.iotevents-put-message-action.ts diff --git a/packages/@aws-cdk/aws-iot-actions/test/iot/iot-republish-action.test.ts b/packages/@aws-cdk/aws-iot-actions-alpha/test/iot/iot-republish-action.test.ts similarity index 100% rename from packages/@aws-cdk/aws-iot-actions/test/iot/iot-republish-action.test.ts rename to packages/@aws-cdk/aws-iot-actions-alpha/test/iot/iot-republish-action.test.ts diff --git a/packages/@aws-cdk/aws-iot-actions/test/iot/iotevents-put-message-action.test.ts b/packages/@aws-cdk/aws-iot-actions-alpha/test/iot/iotevents-put-message-action.test.ts similarity index 100% rename from packages/@aws-cdk/aws-iot-actions/test/iot/iotevents-put-message-action.test.ts rename to packages/@aws-cdk/aws-iot-actions-alpha/test/iot/iotevents-put-message-action.test.ts diff --git a/packages/@aws-cdk/aws-iot-actions/test/kinesis-firehose/firehose-put-record-action.test.ts b/packages/@aws-cdk/aws-iot-actions-alpha/test/kinesis-firehose/firehose-put-record-action.test.ts similarity index 100% rename from packages/@aws-cdk/aws-iot-actions/test/kinesis-firehose/firehose-put-record-action.test.ts rename to packages/@aws-cdk/aws-iot-actions-alpha/test/kinesis-firehose/firehose-put-record-action.test.ts diff --git a/packages/@aws-cdk/aws-iot-actions/test/kinesis-firehose/integ.firehose-put-record-action.js.snapshot/cdk.out b/packages/@aws-cdk/aws-iot-actions-alpha/test/kinesis-firehose/integ.firehose-put-record-action.js.snapshot/cdk.out similarity index 100% rename from packages/@aws-cdk/aws-iot-actions/test/kinesis-firehose/integ.firehose-put-record-action.js.snapshot/cdk.out rename to packages/@aws-cdk/aws-iot-actions-alpha/test/kinesis-firehose/integ.firehose-put-record-action.js.snapshot/cdk.out diff --git a/packages/@aws-cdk/aws-iot-actions/test/kinesis-firehose/integ.firehose-put-record-action.js.snapshot/integ.json b/packages/@aws-cdk/aws-iot-actions-alpha/test/kinesis-firehose/integ.firehose-put-record-action.js.snapshot/integ.json similarity index 100% rename from packages/@aws-cdk/aws-iot-actions/test/kinesis-firehose/integ.firehose-put-record-action.js.snapshot/integ.json rename to packages/@aws-cdk/aws-iot-actions-alpha/test/kinesis-firehose/integ.firehose-put-record-action.js.snapshot/integ.json diff --git a/packages/@aws-cdk/aws-iot-actions/test/kinesis-firehose/integ.firehose-put-record-action.js.snapshot/manifest.json b/packages/@aws-cdk/aws-iot-actions-alpha/test/kinesis-firehose/integ.firehose-put-record-action.js.snapshot/manifest.json similarity index 100% rename from packages/@aws-cdk/aws-iot-actions/test/kinesis-firehose/integ.firehose-put-record-action.js.snapshot/manifest.json rename to packages/@aws-cdk/aws-iot-actions-alpha/test/kinesis-firehose/integ.firehose-put-record-action.js.snapshot/manifest.json diff --git a/packages/@aws-cdk/aws-iot-actions/test/kinesis-firehose/integ.firehose-put-record-action.js.snapshot/test-stack.assets.json b/packages/@aws-cdk/aws-iot-actions-alpha/test/kinesis-firehose/integ.firehose-put-record-action.js.snapshot/test-stack.assets.json similarity index 100% rename from packages/@aws-cdk/aws-iot-actions/test/kinesis-firehose/integ.firehose-put-record-action.js.snapshot/test-stack.assets.json rename to packages/@aws-cdk/aws-iot-actions-alpha/test/kinesis-firehose/integ.firehose-put-record-action.js.snapshot/test-stack.assets.json diff --git a/packages/@aws-cdk/aws-iot-actions/test/kinesis-firehose/integ.firehose-put-record-action.js.snapshot/test-stack.template.json b/packages/@aws-cdk/aws-iot-actions-alpha/test/kinesis-firehose/integ.firehose-put-record-action.js.snapshot/test-stack.template.json similarity index 100% rename from packages/@aws-cdk/aws-iot-actions/test/kinesis-firehose/integ.firehose-put-record-action.js.snapshot/test-stack.template.json rename to packages/@aws-cdk/aws-iot-actions-alpha/test/kinesis-firehose/integ.firehose-put-record-action.js.snapshot/test-stack.template.json diff --git a/packages/@aws-cdk/aws-iot-actions/test/kinesis-firehose/integ.firehose-put-record-action.js.snapshot/tree.json b/packages/@aws-cdk/aws-iot-actions-alpha/test/kinesis-firehose/integ.firehose-put-record-action.js.snapshot/tree.json similarity index 100% rename from packages/@aws-cdk/aws-iot-actions/test/kinesis-firehose/integ.firehose-put-record-action.js.snapshot/tree.json rename to packages/@aws-cdk/aws-iot-actions-alpha/test/kinesis-firehose/integ.firehose-put-record-action.js.snapshot/tree.json diff --git a/packages/@aws-cdk/aws-iot-actions/test/kinesis-firehose/integ.firehose-put-record-action.ts b/packages/@aws-cdk/aws-iot-actions-alpha/test/kinesis-firehose/integ.firehose-put-record-action.ts similarity index 100% rename from packages/@aws-cdk/aws-iot-actions/test/kinesis-firehose/integ.firehose-put-record-action.ts rename to packages/@aws-cdk/aws-iot-actions-alpha/test/kinesis-firehose/integ.firehose-put-record-action.ts diff --git a/packages/@aws-cdk/aws-iot-actions/test/kinesis-stream/integ.kinesis-put-record-action.js.snapshot/cdk.out b/packages/@aws-cdk/aws-iot-actions-alpha/test/kinesis-stream/integ.kinesis-put-record-action.js.snapshot/cdk.out similarity index 100% rename from packages/@aws-cdk/aws-iot-actions/test/kinesis-stream/integ.kinesis-put-record-action.js.snapshot/cdk.out rename to packages/@aws-cdk/aws-iot-actions-alpha/test/kinesis-stream/integ.kinesis-put-record-action.js.snapshot/cdk.out diff --git a/packages/@aws-cdk/aws-iot-actions/test/kinesis-stream/integ.kinesis-put-record-action.js.snapshot/integ.json b/packages/@aws-cdk/aws-iot-actions-alpha/test/kinesis-stream/integ.kinesis-put-record-action.js.snapshot/integ.json similarity index 100% rename from packages/@aws-cdk/aws-iot-actions/test/kinesis-stream/integ.kinesis-put-record-action.js.snapshot/integ.json rename to packages/@aws-cdk/aws-iot-actions-alpha/test/kinesis-stream/integ.kinesis-put-record-action.js.snapshot/integ.json diff --git a/packages/@aws-cdk/aws-iot-actions/test/kinesis-stream/integ.kinesis-put-record-action.js.snapshot/manifest.json b/packages/@aws-cdk/aws-iot-actions-alpha/test/kinesis-stream/integ.kinesis-put-record-action.js.snapshot/manifest.json similarity index 100% rename from packages/@aws-cdk/aws-iot-actions/test/kinesis-stream/integ.kinesis-put-record-action.js.snapshot/manifest.json rename to packages/@aws-cdk/aws-iot-actions-alpha/test/kinesis-stream/integ.kinesis-put-record-action.js.snapshot/manifest.json diff --git a/packages/@aws-cdk/aws-iot-actions/test/kinesis-stream/integ.kinesis-put-record-action.js.snapshot/test-kinesis-stream-action-stack.assets.json b/packages/@aws-cdk/aws-iot-actions-alpha/test/kinesis-stream/integ.kinesis-put-record-action.js.snapshot/test-kinesis-stream-action-stack.assets.json similarity index 100% rename from packages/@aws-cdk/aws-iot-actions/test/kinesis-stream/integ.kinesis-put-record-action.js.snapshot/test-kinesis-stream-action-stack.assets.json rename to packages/@aws-cdk/aws-iot-actions-alpha/test/kinesis-stream/integ.kinesis-put-record-action.js.snapshot/test-kinesis-stream-action-stack.assets.json diff --git a/packages/@aws-cdk/aws-iot-actions/test/kinesis-stream/integ.kinesis-put-record-action.js.snapshot/test-kinesis-stream-action-stack.template.json b/packages/@aws-cdk/aws-iot-actions-alpha/test/kinesis-stream/integ.kinesis-put-record-action.js.snapshot/test-kinesis-stream-action-stack.template.json similarity index 100% rename from packages/@aws-cdk/aws-iot-actions/test/kinesis-stream/integ.kinesis-put-record-action.js.snapshot/test-kinesis-stream-action-stack.template.json rename to packages/@aws-cdk/aws-iot-actions-alpha/test/kinesis-stream/integ.kinesis-put-record-action.js.snapshot/test-kinesis-stream-action-stack.template.json diff --git a/packages/@aws-cdk/aws-iot-actions/test/kinesis-stream/integ.kinesis-put-record-action.js.snapshot/tree.json b/packages/@aws-cdk/aws-iot-actions-alpha/test/kinesis-stream/integ.kinesis-put-record-action.js.snapshot/tree.json similarity index 100% rename from packages/@aws-cdk/aws-iot-actions/test/kinesis-stream/integ.kinesis-put-record-action.js.snapshot/tree.json rename to packages/@aws-cdk/aws-iot-actions-alpha/test/kinesis-stream/integ.kinesis-put-record-action.js.snapshot/tree.json diff --git a/packages/@aws-cdk/aws-iot-actions/test/kinesis-stream/integ.kinesis-put-record-action.ts b/packages/@aws-cdk/aws-iot-actions-alpha/test/kinesis-stream/integ.kinesis-put-record-action.ts similarity index 100% rename from packages/@aws-cdk/aws-iot-actions/test/kinesis-stream/integ.kinesis-put-record-action.ts rename to packages/@aws-cdk/aws-iot-actions-alpha/test/kinesis-stream/integ.kinesis-put-record-action.ts diff --git a/packages/@aws-cdk/aws-iot-actions/test/kinesis-stream/kinesis-put-record-action.test.ts b/packages/@aws-cdk/aws-iot-actions-alpha/test/kinesis-stream/kinesis-put-record-action.test.ts similarity index 100% rename from packages/@aws-cdk/aws-iot-actions/test/kinesis-stream/kinesis-put-record-action.test.ts rename to packages/@aws-cdk/aws-iot-actions-alpha/test/kinesis-stream/kinesis-put-record-action.test.ts diff --git a/packages/@aws-cdk/aws-iot-actions/test/lambda/integ.lambda-function-action.js.snapshot/cdk.out b/packages/@aws-cdk/aws-iot-actions-alpha/test/lambda/integ.lambda-function-action.js.snapshot/cdk.out similarity index 100% rename from packages/@aws-cdk/aws-iot-actions/test/lambda/integ.lambda-function-action.js.snapshot/cdk.out rename to packages/@aws-cdk/aws-iot-actions-alpha/test/lambda/integ.lambda-function-action.js.snapshot/cdk.out diff --git a/packages/@aws-cdk/aws-iot-actions/test/lambda/integ.lambda-function-action.js.snapshot/integ.json b/packages/@aws-cdk/aws-iot-actions-alpha/test/lambda/integ.lambda-function-action.js.snapshot/integ.json similarity index 100% rename from packages/@aws-cdk/aws-iot-actions/test/lambda/integ.lambda-function-action.js.snapshot/integ.json rename to packages/@aws-cdk/aws-iot-actions-alpha/test/lambda/integ.lambda-function-action.js.snapshot/integ.json diff --git a/packages/@aws-cdk/aws-iot-actions/test/lambda/integ.lambda-function-action.js.snapshot/manifest.json b/packages/@aws-cdk/aws-iot-actions-alpha/test/lambda/integ.lambda-function-action.js.snapshot/manifest.json similarity index 100% rename from packages/@aws-cdk/aws-iot-actions/test/lambda/integ.lambda-function-action.js.snapshot/manifest.json rename to packages/@aws-cdk/aws-iot-actions-alpha/test/lambda/integ.lambda-function-action.js.snapshot/manifest.json diff --git a/packages/@aws-cdk/aws-iot-actions/test/lambda/integ.lambda-function-action.js.snapshot/test-stack.assets.json b/packages/@aws-cdk/aws-iot-actions-alpha/test/lambda/integ.lambda-function-action.js.snapshot/test-stack.assets.json similarity index 100% rename from packages/@aws-cdk/aws-iot-actions/test/lambda/integ.lambda-function-action.js.snapshot/test-stack.assets.json rename to packages/@aws-cdk/aws-iot-actions-alpha/test/lambda/integ.lambda-function-action.js.snapshot/test-stack.assets.json diff --git a/packages/@aws-cdk/aws-iot-actions/test/lambda/integ.lambda-function-action.js.snapshot/test-stack.template.json b/packages/@aws-cdk/aws-iot-actions-alpha/test/lambda/integ.lambda-function-action.js.snapshot/test-stack.template.json similarity index 100% rename from packages/@aws-cdk/aws-iot-actions/test/lambda/integ.lambda-function-action.js.snapshot/test-stack.template.json rename to packages/@aws-cdk/aws-iot-actions-alpha/test/lambda/integ.lambda-function-action.js.snapshot/test-stack.template.json diff --git a/packages/@aws-cdk/aws-iot-actions/test/lambda/integ.lambda-function-action.js.snapshot/tree.json b/packages/@aws-cdk/aws-iot-actions-alpha/test/lambda/integ.lambda-function-action.js.snapshot/tree.json similarity index 100% rename from packages/@aws-cdk/aws-iot-actions/test/lambda/integ.lambda-function-action.js.snapshot/tree.json rename to packages/@aws-cdk/aws-iot-actions-alpha/test/lambda/integ.lambda-function-action.js.snapshot/tree.json diff --git a/packages/@aws-cdk/aws-iot-actions/test/lambda/integ.lambda-function-action.ts b/packages/@aws-cdk/aws-iot-actions-alpha/test/lambda/integ.lambda-function-action.ts similarity index 100% rename from packages/@aws-cdk/aws-iot-actions/test/lambda/integ.lambda-function-action.ts rename to packages/@aws-cdk/aws-iot-actions-alpha/test/lambda/integ.lambda-function-action.ts diff --git a/packages/@aws-cdk/aws-iot-actions/test/lambda/lambda-function-action.test.ts b/packages/@aws-cdk/aws-iot-actions-alpha/test/lambda/lambda-function-action.test.ts similarity index 100% rename from packages/@aws-cdk/aws-iot-actions/test/lambda/lambda-function-action.test.ts rename to packages/@aws-cdk/aws-iot-actions-alpha/test/lambda/lambda-function-action.test.ts diff --git a/packages/@aws-cdk/aws-iot-actions/test/s3/integ.s3-put-object-action.js.snapshot/cdk.out b/packages/@aws-cdk/aws-iot-actions-alpha/test/s3/integ.s3-put-object-action.js.snapshot/cdk.out similarity index 100% rename from packages/@aws-cdk/aws-iot-actions/test/s3/integ.s3-put-object-action.js.snapshot/cdk.out rename to packages/@aws-cdk/aws-iot-actions-alpha/test/s3/integ.s3-put-object-action.js.snapshot/cdk.out diff --git a/packages/@aws-cdk/aws-iot-actions/test/s3/integ.s3-put-object-action.js.snapshot/integ.json b/packages/@aws-cdk/aws-iot-actions-alpha/test/s3/integ.s3-put-object-action.js.snapshot/integ.json similarity index 100% rename from packages/@aws-cdk/aws-iot-actions/test/s3/integ.s3-put-object-action.js.snapshot/integ.json rename to packages/@aws-cdk/aws-iot-actions-alpha/test/s3/integ.s3-put-object-action.js.snapshot/integ.json diff --git a/packages/@aws-cdk/aws-iot-actions/test/s3/integ.s3-put-object-action.js.snapshot/manifest.json b/packages/@aws-cdk/aws-iot-actions-alpha/test/s3/integ.s3-put-object-action.js.snapshot/manifest.json similarity index 100% rename from packages/@aws-cdk/aws-iot-actions/test/s3/integ.s3-put-object-action.js.snapshot/manifest.json rename to packages/@aws-cdk/aws-iot-actions-alpha/test/s3/integ.s3-put-object-action.js.snapshot/manifest.json diff --git a/packages/@aws-cdk/aws-iot-actions/test/s3/integ.s3-put-object-action.js.snapshot/test-stack.assets.json b/packages/@aws-cdk/aws-iot-actions-alpha/test/s3/integ.s3-put-object-action.js.snapshot/test-stack.assets.json similarity index 100% rename from packages/@aws-cdk/aws-iot-actions/test/s3/integ.s3-put-object-action.js.snapshot/test-stack.assets.json rename to packages/@aws-cdk/aws-iot-actions-alpha/test/s3/integ.s3-put-object-action.js.snapshot/test-stack.assets.json diff --git a/packages/@aws-cdk/aws-iot-actions/test/s3/integ.s3-put-object-action.js.snapshot/test-stack.template.json b/packages/@aws-cdk/aws-iot-actions-alpha/test/s3/integ.s3-put-object-action.js.snapshot/test-stack.template.json similarity index 100% rename from packages/@aws-cdk/aws-iot-actions/test/s3/integ.s3-put-object-action.js.snapshot/test-stack.template.json rename to packages/@aws-cdk/aws-iot-actions-alpha/test/s3/integ.s3-put-object-action.js.snapshot/test-stack.template.json diff --git a/packages/@aws-cdk/aws-iot-actions/test/s3/integ.s3-put-object-action.js.snapshot/tree.json b/packages/@aws-cdk/aws-iot-actions-alpha/test/s3/integ.s3-put-object-action.js.snapshot/tree.json similarity index 100% rename from packages/@aws-cdk/aws-iot-actions/test/s3/integ.s3-put-object-action.js.snapshot/tree.json rename to packages/@aws-cdk/aws-iot-actions-alpha/test/s3/integ.s3-put-object-action.js.snapshot/tree.json diff --git a/packages/@aws-cdk/aws-iot-actions/test/s3/integ.s3-put-object-action.ts b/packages/@aws-cdk/aws-iot-actions-alpha/test/s3/integ.s3-put-object-action.ts similarity index 100% rename from packages/@aws-cdk/aws-iot-actions/test/s3/integ.s3-put-object-action.ts rename to packages/@aws-cdk/aws-iot-actions-alpha/test/s3/integ.s3-put-object-action.ts diff --git a/packages/@aws-cdk/aws-iot-actions/test/s3/s3-put-object-action.test.ts b/packages/@aws-cdk/aws-iot-actions-alpha/test/s3/s3-put-object-action.test.ts similarity index 100% rename from packages/@aws-cdk/aws-iot-actions/test/s3/s3-put-object-action.test.ts rename to packages/@aws-cdk/aws-iot-actions-alpha/test/s3/s3-put-object-action.test.ts diff --git a/packages/@aws-cdk/aws-iot-actions/test/sns/integ.sns-topic-action.js.snapshot/cdk.out b/packages/@aws-cdk/aws-iot-actions-alpha/test/sns/integ.sns-topic-action.js.snapshot/cdk.out similarity index 100% rename from packages/@aws-cdk/aws-iot-actions/test/sns/integ.sns-topic-action.js.snapshot/cdk.out rename to packages/@aws-cdk/aws-iot-actions-alpha/test/sns/integ.sns-topic-action.js.snapshot/cdk.out diff --git a/packages/@aws-cdk/aws-iot-actions/test/sns/integ.sns-topic-action.js.snapshot/integ.json b/packages/@aws-cdk/aws-iot-actions-alpha/test/sns/integ.sns-topic-action.js.snapshot/integ.json similarity index 100% rename from packages/@aws-cdk/aws-iot-actions/test/sns/integ.sns-topic-action.js.snapshot/integ.json rename to packages/@aws-cdk/aws-iot-actions-alpha/test/sns/integ.sns-topic-action.js.snapshot/integ.json diff --git a/packages/@aws-cdk/aws-iot-actions/test/sns/integ.sns-topic-action.js.snapshot/manifest.json b/packages/@aws-cdk/aws-iot-actions-alpha/test/sns/integ.sns-topic-action.js.snapshot/manifest.json similarity index 100% rename from packages/@aws-cdk/aws-iot-actions/test/sns/integ.sns-topic-action.js.snapshot/manifest.json rename to packages/@aws-cdk/aws-iot-actions-alpha/test/sns/integ.sns-topic-action.js.snapshot/manifest.json diff --git a/packages/@aws-cdk/aws-iot-actions/test/sns/integ.sns-topic-action.js.snapshot/sns-topic-action-test-stack.assets.json b/packages/@aws-cdk/aws-iot-actions-alpha/test/sns/integ.sns-topic-action.js.snapshot/sns-topic-action-test-stack.assets.json similarity index 100% rename from packages/@aws-cdk/aws-iot-actions/test/sns/integ.sns-topic-action.js.snapshot/sns-topic-action-test-stack.assets.json rename to packages/@aws-cdk/aws-iot-actions-alpha/test/sns/integ.sns-topic-action.js.snapshot/sns-topic-action-test-stack.assets.json diff --git a/packages/@aws-cdk/aws-iot-actions/test/sns/integ.sns-topic-action.js.snapshot/sns-topic-action-test-stack.template.json b/packages/@aws-cdk/aws-iot-actions-alpha/test/sns/integ.sns-topic-action.js.snapshot/sns-topic-action-test-stack.template.json similarity index 100% rename from packages/@aws-cdk/aws-iot-actions/test/sns/integ.sns-topic-action.js.snapshot/sns-topic-action-test-stack.template.json rename to packages/@aws-cdk/aws-iot-actions-alpha/test/sns/integ.sns-topic-action.js.snapshot/sns-topic-action-test-stack.template.json diff --git a/packages/@aws-cdk/aws-iot-actions/test/sns/integ.sns-topic-action.js.snapshot/tree.json b/packages/@aws-cdk/aws-iot-actions-alpha/test/sns/integ.sns-topic-action.js.snapshot/tree.json similarity index 100% rename from packages/@aws-cdk/aws-iot-actions/test/sns/integ.sns-topic-action.js.snapshot/tree.json rename to packages/@aws-cdk/aws-iot-actions-alpha/test/sns/integ.sns-topic-action.js.snapshot/tree.json diff --git a/packages/@aws-cdk/aws-iot-actions/test/sns/integ.sns-topic-action.ts b/packages/@aws-cdk/aws-iot-actions-alpha/test/sns/integ.sns-topic-action.ts similarity index 100% rename from packages/@aws-cdk/aws-iot-actions/test/sns/integ.sns-topic-action.ts rename to packages/@aws-cdk/aws-iot-actions-alpha/test/sns/integ.sns-topic-action.ts diff --git a/packages/@aws-cdk/aws-iot-actions/test/sns/sns-topic-action.test.ts b/packages/@aws-cdk/aws-iot-actions-alpha/test/sns/sns-topic-action.test.ts similarity index 100% rename from packages/@aws-cdk/aws-iot-actions/test/sns/sns-topic-action.test.ts rename to packages/@aws-cdk/aws-iot-actions-alpha/test/sns/sns-topic-action.test.ts diff --git a/packages/@aws-cdk/aws-iot-actions/test/sqs/integ.sqs-queue-action.js.snapshot/cdk.out b/packages/@aws-cdk/aws-iot-actions-alpha/test/sqs/integ.sqs-queue-action.js.snapshot/cdk.out similarity index 100% rename from packages/@aws-cdk/aws-iot-actions/test/sqs/integ.sqs-queue-action.js.snapshot/cdk.out rename to packages/@aws-cdk/aws-iot-actions-alpha/test/sqs/integ.sqs-queue-action.js.snapshot/cdk.out diff --git a/packages/@aws-cdk/aws-iot-actions/test/sqs/integ.sqs-queue-action.js.snapshot/integ.json b/packages/@aws-cdk/aws-iot-actions-alpha/test/sqs/integ.sqs-queue-action.js.snapshot/integ.json similarity index 100% rename from packages/@aws-cdk/aws-iot-actions/test/sqs/integ.sqs-queue-action.js.snapshot/integ.json rename to packages/@aws-cdk/aws-iot-actions-alpha/test/sqs/integ.sqs-queue-action.js.snapshot/integ.json diff --git a/packages/@aws-cdk/aws-iot-actions/test/sqs/integ.sqs-queue-action.js.snapshot/manifest.json b/packages/@aws-cdk/aws-iot-actions-alpha/test/sqs/integ.sqs-queue-action.js.snapshot/manifest.json similarity index 100% rename from packages/@aws-cdk/aws-iot-actions/test/sqs/integ.sqs-queue-action.js.snapshot/manifest.json rename to packages/@aws-cdk/aws-iot-actions-alpha/test/sqs/integ.sqs-queue-action.js.snapshot/manifest.json diff --git a/packages/@aws-cdk/aws-iot-actions/test/sqs/integ.sqs-queue-action.js.snapshot/test-stack.assets.json b/packages/@aws-cdk/aws-iot-actions-alpha/test/sqs/integ.sqs-queue-action.js.snapshot/test-stack.assets.json similarity index 100% rename from packages/@aws-cdk/aws-iot-actions/test/sqs/integ.sqs-queue-action.js.snapshot/test-stack.assets.json rename to packages/@aws-cdk/aws-iot-actions-alpha/test/sqs/integ.sqs-queue-action.js.snapshot/test-stack.assets.json diff --git a/packages/@aws-cdk/aws-iot-actions/test/sqs/integ.sqs-queue-action.js.snapshot/test-stack.template.json b/packages/@aws-cdk/aws-iot-actions-alpha/test/sqs/integ.sqs-queue-action.js.snapshot/test-stack.template.json similarity index 100% rename from packages/@aws-cdk/aws-iot-actions/test/sqs/integ.sqs-queue-action.js.snapshot/test-stack.template.json rename to packages/@aws-cdk/aws-iot-actions-alpha/test/sqs/integ.sqs-queue-action.js.snapshot/test-stack.template.json diff --git a/packages/@aws-cdk/aws-iot-actions/test/sqs/integ.sqs-queue-action.js.snapshot/tree.json b/packages/@aws-cdk/aws-iot-actions-alpha/test/sqs/integ.sqs-queue-action.js.snapshot/tree.json similarity index 100% rename from packages/@aws-cdk/aws-iot-actions/test/sqs/integ.sqs-queue-action.js.snapshot/tree.json rename to packages/@aws-cdk/aws-iot-actions-alpha/test/sqs/integ.sqs-queue-action.js.snapshot/tree.json diff --git a/packages/@aws-cdk/aws-iot-actions/test/sqs/integ.sqs-queue-action.ts b/packages/@aws-cdk/aws-iot-actions-alpha/test/sqs/integ.sqs-queue-action.ts similarity index 100% rename from packages/@aws-cdk/aws-iot-actions/test/sqs/integ.sqs-queue-action.ts rename to packages/@aws-cdk/aws-iot-actions-alpha/test/sqs/integ.sqs-queue-action.ts diff --git a/packages/@aws-cdk/aws-iot-actions/test/sqs/sqs-queue-action.test.ts b/packages/@aws-cdk/aws-iot-actions-alpha/test/sqs/sqs-queue-action.test.ts similarity index 100% rename from packages/@aws-cdk/aws-iot-actions/test/sqs/sqs-queue-action.test.ts rename to packages/@aws-cdk/aws-iot-actions-alpha/test/sqs/sqs-queue-action.test.ts From 91553e5622fd702e5137f253d266e93b5f0b1a5e Mon Sep 17 00:00:00 2001 From: Vinayak Kukreja <78971045+vinayak-kukreja@users.noreply.github.com> Date: Wed, 12 Apr 2023 05:12:59 -0700 Subject: [PATCH 5/5] feat(sagemaker): support dlc images in sagemaker model (#25018) CDK currently does not support [deep learning container images for AWS Sagemaker models](https://docs.aws.amazon.com/sagemaker/latest/dg/pre-built-containers-frameworks-deep-learning.html). Looks like this functionality was proposed as part of a [PR](https://github.com/aws/aws-cdk/pull/17399/files#diff-356f35099770f68f4ceee2e63d34aad8729b0a9be6c933a0c05e999be7374685R98-R145) but did not make it to the RFC. This PR is adding that functionality and tests for it. ---- *By submitting this pull request, I confirm that my contribution is made under the terms of the Apache-2.0 license* --- packages/@aws-cdk/aws-sagemaker/README.md | 13 + .../aws-sagemaker/lib/container-image.ts | 33 ++ .../aws-cdk-sagemaker-model.assets.json | 6 +- .../aws-cdk-sagemaker-model.template.json | 192 +++++++++ .../test/integ.model.js.snapshot/cdk.out | 2 +- .../test/integ.model.js.snapshot/integ.json | 2 +- ...efaultTestDeployAssertCF40BD53.assets.json | 2 +- .../integ.model.js.snapshot/manifest.json | 55 ++- .../test/integ.model.js.snapshot/tree.json | 376 ++++++++++++++---- .../aws-sagemaker/test/integ.model.ts | 13 + .../@aws-cdk/aws-sagemaker/test/model.test.ts | 144 +++++++ 11 files changed, 751 insertions(+), 87 deletions(-) diff --git a/packages/@aws-cdk/aws-sagemaker/README.md b/packages/@aws-cdk/aws-sagemaker/README.md index 6acf7a591524a..cdddec2ec8103 100644 --- a/packages/@aws-cdk/aws-sagemaker/README.md +++ b/packages/@aws-cdk/aws-sagemaker/README.md @@ -107,6 +107,19 @@ const repository = ecr.Repository.fromRepositoryName(this, 'Repository', 'repo') const image = sagemaker.ContainerImage.fromEcrRepository(repository, 'tag'); ``` +#### DLC Image + +Reference a deep learning container image: + +```typescript +import * as sagemaker from '@aws-cdk/aws-sagemaker-alpha'; + +const repositoryName = 'huggingface-pytorch-training'; +const tag = '1.13.1-transformers4.26.0-gpu-py39-cu117-ubuntu20.04'; + +const image = sagemaker.ContainerImage.fromDlc(repositoryName, tag); +``` + ### Model Artifacts If you choose to decouple your model artifacts from your inference code (as is natural given diff --git a/packages/@aws-cdk/aws-sagemaker/lib/container-image.ts b/packages/@aws-cdk/aws-sagemaker/lib/container-image.ts index cab4de60c20a7..8a48d1bbde767 100644 --- a/packages/@aws-cdk/aws-sagemaker/lib/container-image.ts +++ b/packages/@aws-cdk/aws-sagemaker/lib/container-image.ts @@ -3,6 +3,8 @@ import * as assets from 'aws-cdk-lib/aws-ecr-assets'; import { Construct } from 'constructs'; import { Model } from './model'; import { hashcode } from './private/util'; +import { FactName } from 'aws-cdk-lib/region-info'; +import { Stack } from 'aws-cdk-lib/core'; /** * The configuration for creating a container image. @@ -38,6 +40,13 @@ export abstract class ContainerImage { return new AssetImage(directory, options); } + /** + * Reference an AWS Deep Learning Container image + */ + public static fromDlc(repositoryName: string, tag: string, accountId?: string): ContainerImage { + return new DlcEcrImage(repositoryName, tag, accountId); + } + /** * Called when the image is used by a Model */ @@ -81,3 +90,27 @@ class AssetImage extends ContainerImage { }; } } + +class DlcEcrImage extends ContainerImage { + + constructor(private readonly repositoryName: string, private readonly tag: string, private readonly accountId?: string) { + super(); + } + + public bind(scope: Construct, model: Model): ContainerImageConfig { + const accountId = this.accountId ?? Stack.of(scope).regionalFact(FactName.DLC_REPOSITORY_ACCOUNT); + + const repository = ecr.Repository.fromRepositoryAttributes(scope, 'DlcRepository', { + repositoryName: this.repositoryName, + repositoryArn: ecr.Repository.arnForLocalRepository( + this.repositoryName, + scope, + accountId, + ), + }); + + repository.grantPull(model); + + return { imageName: `${repository.repositoryUri}:${this.tag}` }; + } +} diff --git a/packages/@aws-cdk/aws-sagemaker/test/integ.model.js.snapshot/aws-cdk-sagemaker-model.assets.json b/packages/@aws-cdk/aws-sagemaker/test/integ.model.js.snapshot/aws-cdk-sagemaker-model.assets.json index 98d2d2f08ae16..bc529039d3f2a 100644 --- a/packages/@aws-cdk/aws-sagemaker/test/integ.model.js.snapshot/aws-cdk-sagemaker-model.assets.json +++ b/packages/@aws-cdk/aws-sagemaker/test/integ.model.js.snapshot/aws-cdk-sagemaker-model.assets.json @@ -1,5 +1,5 @@ { - "version": "21.0.0", + "version": "31.0.0", "files": { "126d48fa0e32fbef5078b9d88658b35ad29d4291eb86675a64c75fa4f1338916": { "source": { @@ -14,7 +14,7 @@ } } }, - "eebf956b730b436212d72ff616d7ab38ac8a7c128b71f54c4e9d1f0d29b36604": { + "be0577003620b4cc844de880dc7d01b90719400dea1cc12c03d93a3ac8e451a3": { "source": { "path": "aws-cdk-sagemaker-model.template.json", "packaging": "file" @@ -22,7 +22,7 @@ "destinations": { "current_account-current_region": { "bucketName": "cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}", - "objectKey": "eebf956b730b436212d72ff616d7ab38ac8a7c128b71f54c4e9d1f0d29b36604.json", + "objectKey": "be0577003620b4cc844de880dc7d01b90719400dea1cc12c03d93a3ac8e451a3.json", "assumeRoleArn": "arn:${AWS::Partition}:iam::${AWS::AccountId}:role/cdk-hnb659fds-file-publishing-role-${AWS::AccountId}-${AWS::Region}" } } diff --git a/packages/@aws-cdk/aws-sagemaker/test/integ.model.js.snapshot/aws-cdk-sagemaker-model.template.json b/packages/@aws-cdk/aws-sagemaker/test/integ.model.js.snapshot/aws-cdk-sagemaker-model.template.json index b8bc0cdb2db5e..30d465357b949 100644 --- a/packages/@aws-cdk/aws-sagemaker/test/integ.model.js.snapshot/aws-cdk-sagemaker-model.template.json +++ b/packages/@aws-cdk/aws-sagemaker/test/integ.model.js.snapshot/aws-cdk-sagemaker-model.template.json @@ -770,6 +770,198 @@ "InferencePipelineModelRoleDefaultPolicy2AF0CDCF", "InferencePipelineModelRole6A99C5B3" ] + }, + "HuggingFaceModelRoleDA17DA00": { + "Type": "AWS::IAM::Role", + "Properties": { + "AssumeRolePolicyDocument": { + "Statement": [ + { + "Action": "sts:AssumeRole", + "Effect": "Allow", + "Principal": { + "Service": "sagemaker.amazonaws.com" + } + } + ], + "Version": "2012-10-17" + }, + "ManagedPolicyArns": [ + { + "Fn::Join": [ + "", + [ + "arn:", + { + "Ref": "AWS::Partition" + }, + ":iam::aws:policy/AmazonSageMakerFullAccess" + ] + ] + } + ] + } + }, + "HuggingFaceModelRoleDefaultPolicy50587D35": { + "Type": "AWS::IAM::Policy", + "Properties": { + "PolicyDocument": { + "Statement": [ + { + "Action": [ + "ecr:BatchCheckLayerAvailability", + "ecr:BatchGetImage", + "ecr:GetDownloadUrlForLayer" + ], + "Effect": "Allow", + "Resource": { + "Fn::Join": [ + "", + [ + "arn:", + { + "Ref": "AWS::Partition" + }, + ":ecr:", + { + "Ref": "AWS::Region" + }, + ":", + { + "Fn::FindInMap": [ + "DlcRepositoryAccountMap", + { + "Ref": "AWS::Region" + }, + "value" + ] + }, + ":repository/huggingface-pytorch-training" + ] + ] + } + }, + { + "Action": "ecr:GetAuthorizationToken", + "Effect": "Allow", + "Resource": "*" + } + ], + "Version": "2012-10-17" + }, + "PolicyName": "HuggingFaceModelRoleDefaultPolicy50587D35", + "Roles": [ + { + "Ref": "HuggingFaceModelRoleDA17DA00" + } + ] + } + }, + "HuggingFaceModel8E13DAA5": { + "Type": "AWS::SageMaker::Model", + "Properties": { + "ExecutionRoleArn": { + "Fn::GetAtt": [ + "HuggingFaceModelRoleDA17DA00", + "Arn" + ] + }, + "PrimaryContainer": { + "Image": { + "Fn::Join": [ + "", + [ + { + "Fn::FindInMap": [ + "DlcRepositoryAccountMap", + { + "Ref": "AWS::Region" + }, + "value" + ] + }, + ".dkr.ecr.", + { + "Ref": "AWS::Region" + }, + ".", + { + "Ref": "AWS::URLSuffix" + }, + "/huggingface-pytorch-training:1.13.1-transformers4.26.0-gpu-py39-cu117-ubuntu20.04" + ] + ] + } + } + }, + "DependsOn": [ + "HuggingFaceModelRoleDefaultPolicy50587D35", + "HuggingFaceModelRoleDA17DA00" + ] + } + }, + "Mappings": { + "DlcRepositoryAccountMap": { + "ap-east-1": { + "value": "871362719292" + }, + "ap-northeast-1": { + "value": "763104351884" + }, + "ap-northeast-2": { + "value": "763104351884" + }, + "ap-south-1": { + "value": "763104351884" + }, + "ap-southeast-1": { + "value": "763104351884" + }, + "ap-southeast-2": { + "value": "763104351884" + }, + "ca-central-1": { + "value": "763104351884" + }, + "cn-north-1": { + "value": "727897471807" + }, + "cn-northwest-1": { + "value": "727897471807" + }, + "eu-central-1": { + "value": "763104351884" + }, + "eu-north-1": { + "value": "763104351884" + }, + "eu-west-1": { + "value": "763104351884" + }, + "eu-west-2": { + "value": "763104351884" + }, + "eu-west-3": { + "value": "763104351884" + }, + "me-south-1": { + "value": "217643126080" + }, + "sa-east-1": { + "value": "763104351884" + }, + "us-east-1": { + "value": "763104351884" + }, + "us-east-2": { + "value": "763104351884" + }, + "us-west-1": { + "value": "763104351884" + }, + "us-west-2": { + "value": "763104351884" + } } }, "Parameters": { diff --git a/packages/@aws-cdk/aws-sagemaker/test/integ.model.js.snapshot/cdk.out b/packages/@aws-cdk/aws-sagemaker/test/integ.model.js.snapshot/cdk.out index 8ecc185e9dbee..7925065efbcc4 100644 --- a/packages/@aws-cdk/aws-sagemaker/test/integ.model.js.snapshot/cdk.out +++ b/packages/@aws-cdk/aws-sagemaker/test/integ.model.js.snapshot/cdk.out @@ -1 +1 @@ -{"version":"21.0.0"} \ No newline at end of file +{"version":"31.0.0"} \ No newline at end of file diff --git a/packages/@aws-cdk/aws-sagemaker/test/integ.model.js.snapshot/integ.json b/packages/@aws-cdk/aws-sagemaker/test/integ.model.js.snapshot/integ.json index 16cfd2d691811..0a2a221266bba 100644 --- a/packages/@aws-cdk/aws-sagemaker/test/integ.model.js.snapshot/integ.json +++ b/packages/@aws-cdk/aws-sagemaker/test/integ.model.js.snapshot/integ.json @@ -1,5 +1,5 @@ { - "version": "21.0.0", + "version": "31.0.0", "testCases": { "integtest-model/DefaultTest": { "stacks": [ diff --git a/packages/@aws-cdk/aws-sagemaker/test/integ.model.js.snapshot/integtestmodelDefaultTestDeployAssertCF40BD53.assets.json b/packages/@aws-cdk/aws-sagemaker/test/integ.model.js.snapshot/integtestmodelDefaultTestDeployAssertCF40BD53.assets.json index 1f9670b51c1ae..9179afda64390 100644 --- a/packages/@aws-cdk/aws-sagemaker/test/integ.model.js.snapshot/integtestmodelDefaultTestDeployAssertCF40BD53.assets.json +++ b/packages/@aws-cdk/aws-sagemaker/test/integ.model.js.snapshot/integtestmodelDefaultTestDeployAssertCF40BD53.assets.json @@ -1,5 +1,5 @@ { - "version": "21.0.0", + "version": "31.0.0", "files": { "21fbb51d7b23f6a6c262b46a9caee79d744a3ac019fd45422d988b96d44b2a22": { "source": { diff --git a/packages/@aws-cdk/aws-sagemaker/test/integ.model.js.snapshot/manifest.json b/packages/@aws-cdk/aws-sagemaker/test/integ.model.js.snapshot/manifest.json index 879c4bf441966..328b75b8ca288 100644 --- a/packages/@aws-cdk/aws-sagemaker/test/integ.model.js.snapshot/manifest.json +++ b/packages/@aws-cdk/aws-sagemaker/test/integ.model.js.snapshot/manifest.json @@ -1,5 +1,5 @@ { - "version": "21.0.0", + "version": "31.0.0", "artifacts": { "aws-cdk-sagemaker-model.assets": { "type": "cdk:asset-manifest", @@ -17,7 +17,7 @@ "validateOnSynth": false, "assumeRoleArn": "arn:${AWS::Partition}:iam::${AWS::AccountId}:role/cdk-hnb659fds-deploy-role-${AWS::AccountId}-${AWS::Region}", "cloudFormationExecutionRoleArn": "arn:${AWS::Partition}:iam::${AWS::AccountId}:role/cdk-hnb659fds-cfn-exec-role-${AWS::AccountId}-${AWS::Region}", - "stackTemplateAssetObjectUrl": "s3://cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}/eebf956b730b436212d72ff616d7ab38ac8a7c128b71f54c4e9d1f0d29b36604.json", + "stackTemplateAssetObjectUrl": "s3://cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}/be0577003620b4cc844de880dc7d01b90719400dea1cc12c03d93a3ac8e451a3.json", "requiresBootstrapStackVersion": 6, "bootstrapStackVersionSsmParameter": "/cdk-bootstrap/hnb659fds/version", "additionalDependencies": [ @@ -213,6 +213,30 @@ "data": "InferencePipelineModel3564F141" } ], + "/aws-cdk-sagemaker-model/HuggingFaceModel/Role/Resource": [ + { + "type": "aws:cdk:logicalId", + "data": "HuggingFaceModelRoleDA17DA00" + } + ], + "/aws-cdk-sagemaker-model/HuggingFaceModel/Role/DefaultPolicy/Resource": [ + { + "type": "aws:cdk:logicalId", + "data": "HuggingFaceModelRoleDefaultPolicy50587D35" + } + ], + "/aws-cdk-sagemaker-model/HuggingFaceModel/Model": [ + { + "type": "aws:cdk:logicalId", + "data": "HuggingFaceModel8E13DAA5" + } + ], + "/aws-cdk-sagemaker-model/DlcRepositoryAccountMap": [ + { + "type": "aws:cdk:logicalId", + "data": "DlcRepositoryAccountMap" + } + ], "/aws-cdk-sagemaker-model/BootstrapVersion": [ { "type": "aws:cdk:logicalId", @@ -224,6 +248,33 @@ "type": "aws:cdk:logicalId", "data": "CheckBootstrapVersion" } + ], + "HuggingFaceModelRole8CE687FE": [ + { + "type": "aws:cdk:logicalId", + "data": "HuggingFaceModelRole8CE687FE", + "trace": [ + "!!DESTRUCTIVE_CHANGES: WILL_DESTROY" + ] + } + ], + "HuggingFaceModelRoleDefaultPolicy365BBC22": [ + { + "type": "aws:cdk:logicalId", + "data": "HuggingFaceModelRoleDefaultPolicy365BBC22", + "trace": [ + "!!DESTRUCTIVE_CHANGES: WILL_DESTROY" + ] + } + ], + "HuggingFaceModelD53E0910": [ + { + "type": "aws:cdk:logicalId", + "data": "HuggingFaceModelD53E0910", + "trace": [ + "!!DESTRUCTIVE_CHANGES: WILL_DESTROY" + ] + } ] }, "displayName": "aws-cdk-sagemaker-model" diff --git a/packages/@aws-cdk/aws-sagemaker/test/integ.model.js.snapshot/tree.json b/packages/@aws-cdk/aws-sagemaker/test/integ.model.js.snapshot/tree.json index 3303c44644e9a..843dc366a0797 100644 --- a/packages/@aws-cdk/aws-sagemaker/test/integ.model.js.snapshot/tree.json +++ b/packages/@aws-cdk/aws-sagemaker/test/integ.model.js.snapshot/tree.json @@ -16,7 +16,7 @@ "id": "Staging", "path": "aws-cdk-sagemaker-model/EcrImage/Staging", "constructInfo": { - "fqn": "@aws-cdk/core.AssetStaging", + "fqn": "aws-cdk-lib.AssetStaging", "version": "0.0.0" } }, @@ -24,13 +24,13 @@ "id": "Repository", "path": "aws-cdk-sagemaker-model/EcrImage/Repository", "constructInfo": { - "fqn": "@aws-cdk/aws-ecr.RepositoryBase", + "fqn": "aws-cdk-lib.aws_ecr.RepositoryBase", "version": "0.0.0" } } }, "constructInfo": { - "fqn": "@aws-cdk/aws-ecr-assets.DockerImageAsset", + "fqn": "aws-cdk-lib.aws_ecr_assets.DockerImageAsset", "version": "0.0.0" } }, @@ -42,7 +42,7 @@ "id": "Stage", "path": "aws-cdk-sagemaker-model/S3ModelData/Stage", "constructInfo": { - "fqn": "@aws-cdk/core.AssetStaging", + "fqn": "aws-cdk-lib.AssetStaging", "version": "0.0.0" } }, @@ -50,13 +50,13 @@ "id": "AssetBucket", "path": "aws-cdk-sagemaker-model/S3ModelData/AssetBucket", "constructInfo": { - "fqn": "@aws-cdk/aws-s3.BucketBase", + "fqn": "aws-cdk-lib.aws_s3.BucketBase", "version": "0.0.0" } } }, "constructInfo": { - "fqn": "@aws-cdk/aws-s3-assets.Asset", + "fqn": "aws-cdk-lib.aws_s3_assets.Asset", "version": "0.0.0" } }, @@ -83,7 +83,7 @@ } }, "constructInfo": { - "fqn": "@aws-cdk/aws-ec2.CfnVPC", + "fqn": "aws-cdk-lib.aws_ec2.CfnVPC", "version": "0.0.0" } }, @@ -127,7 +127,7 @@ } }, "constructInfo": { - "fqn": "@aws-cdk/aws-ec2.CfnSubnet", + "fqn": "aws-cdk-lib.aws_ec2.CfnSubnet", "version": "0.0.0" } }, @@ -135,7 +135,7 @@ "id": "Acl", "path": "aws-cdk-sagemaker-model/VPC/PublicSubnet1/Acl", "constructInfo": { - "fqn": "@aws-cdk/core.Resource", + "fqn": "aws-cdk-lib.Resource", "version": "0.0.0" } }, @@ -157,7 +157,7 @@ } }, "constructInfo": { - "fqn": "@aws-cdk/aws-ec2.CfnRouteTable", + "fqn": "aws-cdk-lib.aws_ec2.CfnRouteTable", "version": "0.0.0" } }, @@ -176,7 +176,7 @@ } }, "constructInfo": { - "fqn": "@aws-cdk/aws-ec2.CfnSubnetRouteTableAssociation", + "fqn": "aws-cdk-lib.aws_ec2.CfnSubnetRouteTableAssociation", "version": "0.0.0" } }, @@ -196,7 +196,7 @@ } }, "constructInfo": { - "fqn": "@aws-cdk/aws-ec2.CfnRoute", + "fqn": "aws-cdk-lib.aws_ec2.CfnRoute", "version": "0.0.0" } }, @@ -216,7 +216,7 @@ } }, "constructInfo": { - "fqn": "@aws-cdk/aws-ec2.CfnEIP", + "fqn": "aws-cdk-lib.aws_ec2.CfnEIP", "version": "0.0.0" } }, @@ -244,13 +244,13 @@ } }, "constructInfo": { - "fqn": "@aws-cdk/aws-ec2.CfnNatGateway", + "fqn": "aws-cdk-lib.aws_ec2.CfnNatGateway", "version": "0.0.0" } } }, "constructInfo": { - "fqn": "@aws-cdk/aws-ec2.PublicSubnet", + "fqn": "aws-cdk-lib.aws_ec2.PublicSubnet", "version": "0.0.0" } }, @@ -294,7 +294,7 @@ } }, "constructInfo": { - "fqn": "@aws-cdk/aws-ec2.CfnSubnet", + "fqn": "aws-cdk-lib.aws_ec2.CfnSubnet", "version": "0.0.0" } }, @@ -302,7 +302,7 @@ "id": "Acl", "path": "aws-cdk-sagemaker-model/VPC/PublicSubnet2/Acl", "constructInfo": { - "fqn": "@aws-cdk/core.Resource", + "fqn": "aws-cdk-lib.Resource", "version": "0.0.0" } }, @@ -324,7 +324,7 @@ } }, "constructInfo": { - "fqn": "@aws-cdk/aws-ec2.CfnRouteTable", + "fqn": "aws-cdk-lib.aws_ec2.CfnRouteTable", "version": "0.0.0" } }, @@ -343,7 +343,7 @@ } }, "constructInfo": { - "fqn": "@aws-cdk/aws-ec2.CfnSubnetRouteTableAssociation", + "fqn": "aws-cdk-lib.aws_ec2.CfnSubnetRouteTableAssociation", "version": "0.0.0" } }, @@ -363,7 +363,7 @@ } }, "constructInfo": { - "fqn": "@aws-cdk/aws-ec2.CfnRoute", + "fqn": "aws-cdk-lib.aws_ec2.CfnRoute", "version": "0.0.0" } }, @@ -383,7 +383,7 @@ } }, "constructInfo": { - "fqn": "@aws-cdk/aws-ec2.CfnEIP", + "fqn": "aws-cdk-lib.aws_ec2.CfnEIP", "version": "0.0.0" } }, @@ -411,13 +411,13 @@ } }, "constructInfo": { - "fqn": "@aws-cdk/aws-ec2.CfnNatGateway", + "fqn": "aws-cdk-lib.aws_ec2.CfnNatGateway", "version": "0.0.0" } } }, "constructInfo": { - "fqn": "@aws-cdk/aws-ec2.PublicSubnet", + "fqn": "aws-cdk-lib.aws_ec2.PublicSubnet", "version": "0.0.0" } }, @@ -461,7 +461,7 @@ } }, "constructInfo": { - "fqn": "@aws-cdk/aws-ec2.CfnSubnet", + "fqn": "aws-cdk-lib.aws_ec2.CfnSubnet", "version": "0.0.0" } }, @@ -469,7 +469,7 @@ "id": "Acl", "path": "aws-cdk-sagemaker-model/VPC/PrivateSubnet1/Acl", "constructInfo": { - "fqn": "@aws-cdk/core.Resource", + "fqn": "aws-cdk-lib.Resource", "version": "0.0.0" } }, @@ -491,7 +491,7 @@ } }, "constructInfo": { - "fqn": "@aws-cdk/aws-ec2.CfnRouteTable", + "fqn": "aws-cdk-lib.aws_ec2.CfnRouteTable", "version": "0.0.0" } }, @@ -510,7 +510,7 @@ } }, "constructInfo": { - "fqn": "@aws-cdk/aws-ec2.CfnSubnetRouteTableAssociation", + "fqn": "aws-cdk-lib.aws_ec2.CfnSubnetRouteTableAssociation", "version": "0.0.0" } }, @@ -530,13 +530,13 @@ } }, "constructInfo": { - "fqn": "@aws-cdk/aws-ec2.CfnRoute", + "fqn": "aws-cdk-lib.aws_ec2.CfnRoute", "version": "0.0.0" } } }, "constructInfo": { - "fqn": "@aws-cdk/aws-ec2.PrivateSubnet", + "fqn": "aws-cdk-lib.aws_ec2.PrivateSubnet", "version": "0.0.0" } }, @@ -580,7 +580,7 @@ } }, "constructInfo": { - "fqn": "@aws-cdk/aws-ec2.CfnSubnet", + "fqn": "aws-cdk-lib.aws_ec2.CfnSubnet", "version": "0.0.0" } }, @@ -588,7 +588,7 @@ "id": "Acl", "path": "aws-cdk-sagemaker-model/VPC/PrivateSubnet2/Acl", "constructInfo": { - "fqn": "@aws-cdk/core.Resource", + "fqn": "aws-cdk-lib.Resource", "version": "0.0.0" } }, @@ -610,7 +610,7 @@ } }, "constructInfo": { - "fqn": "@aws-cdk/aws-ec2.CfnRouteTable", + "fqn": "aws-cdk-lib.aws_ec2.CfnRouteTable", "version": "0.0.0" } }, @@ -629,7 +629,7 @@ } }, "constructInfo": { - "fqn": "@aws-cdk/aws-ec2.CfnSubnetRouteTableAssociation", + "fqn": "aws-cdk-lib.aws_ec2.CfnSubnetRouteTableAssociation", "version": "0.0.0" } }, @@ -649,13 +649,13 @@ } }, "constructInfo": { - "fqn": "@aws-cdk/aws-ec2.CfnRoute", + "fqn": "aws-cdk-lib.aws_ec2.CfnRoute", "version": "0.0.0" } } }, "constructInfo": { - "fqn": "@aws-cdk/aws-ec2.PrivateSubnet", + "fqn": "aws-cdk-lib.aws_ec2.PrivateSubnet", "version": "0.0.0" } }, @@ -674,7 +674,7 @@ } }, "constructInfo": { - "fqn": "@aws-cdk/aws-ec2.CfnInternetGateway", + "fqn": "aws-cdk-lib.aws_ec2.CfnInternetGateway", "version": "0.0.0" } }, @@ -693,13 +693,13 @@ } }, "constructInfo": { - "fqn": "@aws-cdk/aws-ec2.CfnVPCGatewayAttachment", + "fqn": "aws-cdk-lib.aws_ec2.CfnVPCGatewayAttachment", "version": "0.0.0" } } }, "constructInfo": { - "fqn": "@aws-cdk/aws-ec2.Vpc", + "fqn": "aws-cdk-lib.aws_ec2.Vpc", "version": "0.0.0" } }, @@ -731,13 +731,13 @@ } }, "constructInfo": { - "fqn": "@aws-cdk/aws-ec2.CfnSecurityGroup", + "fqn": "aws-cdk-lib.aws_ec2.CfnSecurityGroup", "version": "0.0.0" } } }, "constructInfo": { - "fqn": "@aws-cdk/aws-ec2.SecurityGroup", + "fqn": "aws-cdk-lib.aws_ec2.SecurityGroup", "version": "0.0.0" } }, @@ -745,6 +745,14 @@ "id": "Role", "path": "aws-cdk-sagemaker-model/PrimaryContainerModel/Role", "children": { + "ImportRole": { + "id": "ImportRole", + "path": "aws-cdk-sagemaker-model/PrimaryContainerModel/Role/ImportRole", + "constructInfo": { + "fqn": "aws-cdk-lib.Resource", + "version": "0.0.0" + } + }, "Resource": { "id": "Resource", "path": "aws-cdk-sagemaker-model/PrimaryContainerModel/Role/Resource", @@ -780,7 +788,7 @@ } }, "constructInfo": { - "fqn": "@aws-cdk/aws-iam.CfnRole", + "fqn": "aws-cdk-lib.aws_iam.CfnRole", "version": "0.0.0" } }, @@ -885,19 +893,19 @@ } }, "constructInfo": { - "fqn": "@aws-cdk/aws-iam.CfnPolicy", + "fqn": "aws-cdk-lib.aws_iam.CfnPolicy", "version": "0.0.0" } } }, "constructInfo": { - "fqn": "@aws-cdk/aws-iam.Policy", + "fqn": "aws-cdk-lib.aws_iam.Policy", "version": "0.0.0" } } }, "constructInfo": { - "fqn": "@aws-cdk/aws-iam.Role", + "fqn": "aws-cdk-lib.aws_iam.Role", "version": "0.0.0" } }, @@ -979,13 +987,13 @@ } }, "constructInfo": { - "fqn": "@aws-cdk/aws-sagemaker.CfnModel", + "fqn": "aws-cdk-lib.aws_sagemaker.CfnModel", "version": "0.0.0" } } }, "constructInfo": { - "fqn": "@aws-cdk/aws-sagemaker.Model", + "fqn": "@aws-cdk/aws-sagemaker-alpha.Model", "version": "0.0.0" } }, @@ -997,6 +1005,14 @@ "id": "Role", "path": "aws-cdk-sagemaker-model/InferencePipelineModel/Role", "children": { + "ImportRole": { + "id": "ImportRole", + "path": "aws-cdk-sagemaker-model/InferencePipelineModel/Role/ImportRole", + "constructInfo": { + "fqn": "aws-cdk-lib.Resource", + "version": "0.0.0" + } + }, "Resource": { "id": "Resource", "path": "aws-cdk-sagemaker-model/InferencePipelineModel/Role/Resource", @@ -1032,7 +1048,7 @@ } }, "constructInfo": { - "fqn": "@aws-cdk/aws-iam.CfnRole", + "fqn": "aws-cdk-lib.aws_iam.CfnRole", "version": "0.0.0" } }, @@ -1137,71 +1153,71 @@ } }, "constructInfo": { - "fqn": "@aws-cdk/aws-iam.CfnPolicy", + "fqn": "aws-cdk-lib.aws_iam.CfnPolicy", "version": "0.0.0" } } }, "constructInfo": { - "fqn": "@aws-cdk/aws-iam.Policy", + "fqn": "aws-cdk-lib.aws_iam.Policy", "version": "0.0.0" } } }, "constructInfo": { - "fqn": "@aws-cdk/aws-iam.Role", + "fqn": "aws-cdk-lib.aws_iam.Role", "version": "0.0.0" } }, - "ModelImage7ffa8020b99fe9d130a903251c36866d": { - "id": "ModelImage7ffa8020b99fe9d130a903251c36866d", - "path": "aws-cdk-sagemaker-model/InferencePipelineModel/ModelImage7ffa8020b99fe9d130a903251c36866d", + "ModelImage633a6e898c0256cb2deaf7e22053a66b": { + "id": "ModelImage633a6e898c0256cb2deaf7e22053a66b", + "path": "aws-cdk-sagemaker-model/InferencePipelineModel/ModelImage633a6e898c0256cb2deaf7e22053a66b", "children": { "Staging": { "id": "Staging", - "path": "aws-cdk-sagemaker-model/InferencePipelineModel/ModelImage7ffa8020b99fe9d130a903251c36866d/Staging", + "path": "aws-cdk-sagemaker-model/InferencePipelineModel/ModelImage633a6e898c0256cb2deaf7e22053a66b/Staging", "constructInfo": { - "fqn": "@aws-cdk/core.AssetStaging", + "fqn": "aws-cdk-lib.AssetStaging", "version": "0.0.0" } }, "Repository": { "id": "Repository", - "path": "aws-cdk-sagemaker-model/InferencePipelineModel/ModelImage7ffa8020b99fe9d130a903251c36866d/Repository", + "path": "aws-cdk-sagemaker-model/InferencePipelineModel/ModelImage633a6e898c0256cb2deaf7e22053a66b/Repository", "constructInfo": { - "fqn": "@aws-cdk/aws-ecr.RepositoryBase", + "fqn": "aws-cdk-lib.aws_ecr.RepositoryBase", "version": "0.0.0" } } }, "constructInfo": { - "fqn": "@aws-cdk/aws-ecr-assets.DockerImageAsset", + "fqn": "aws-cdk-lib.aws_ecr_assets.DockerImageAsset", "version": "0.0.0" } }, - "ModelData412d61f9c984d1aff5ee358daf994d58": { - "id": "ModelData412d61f9c984d1aff5ee358daf994d58", - "path": "aws-cdk-sagemaker-model/InferencePipelineModel/ModelData412d61f9c984d1aff5ee358daf994d58", + "ModelDatab5852dea925d702939eb0aa28d4cf14d": { + "id": "ModelDatab5852dea925d702939eb0aa28d4cf14d", + "path": "aws-cdk-sagemaker-model/InferencePipelineModel/ModelDatab5852dea925d702939eb0aa28d4cf14d", "children": { "Stage": { "id": "Stage", - "path": "aws-cdk-sagemaker-model/InferencePipelineModel/ModelData412d61f9c984d1aff5ee358daf994d58/Stage", + "path": "aws-cdk-sagemaker-model/InferencePipelineModel/ModelDatab5852dea925d702939eb0aa28d4cf14d/Stage", "constructInfo": { - "fqn": "@aws-cdk/core.AssetStaging", + "fqn": "aws-cdk-lib.AssetStaging", "version": "0.0.0" } }, "AssetBucket": { "id": "AssetBucket", - "path": "aws-cdk-sagemaker-model/InferencePipelineModel/ModelData412d61f9c984d1aff5ee358daf994d58/AssetBucket", + "path": "aws-cdk-sagemaker-model/InferencePipelineModel/ModelDatab5852dea925d702939eb0aa28d4cf14d/AssetBucket", "constructInfo": { - "fqn": "@aws-cdk/aws-s3.BucketBase", + "fqn": "aws-cdk-lib.aws_s3.BucketBase", "version": "0.0.0" } } }, "constructInfo": { - "fqn": "@aws-cdk/aws-s3-assets.Asset", + "fqn": "aws-cdk-lib.aws_s3_assets.Asset", "version": "0.0.0" } }, @@ -1243,13 +1259,215 @@ } }, "constructInfo": { - "fqn": "@aws-cdk/aws-sagemaker.CfnModel", + "fqn": "aws-cdk-lib.aws_sagemaker.CfnModel", + "version": "0.0.0" + } + } + }, + "constructInfo": { + "fqn": "@aws-cdk/aws-sagemaker-alpha.Model", + "version": "0.0.0" + } + }, + "HuggingFaceModel": { + "id": "HuggingFaceModel", + "path": "aws-cdk-sagemaker-model/HuggingFaceModel", + "children": { + "Role": { + "id": "Role", + "path": "aws-cdk-sagemaker-model/HuggingFaceModel/Role", + "children": { + "ImportRole": { + "id": "ImportRole", + "path": "aws-cdk-sagemaker-model/HuggingFaceModel/Role/ImportRole", + "constructInfo": { + "fqn": "aws-cdk-lib.Resource", + "version": "0.0.0" + } + }, + "Resource": { + "id": "Resource", + "path": "aws-cdk-sagemaker-model/HuggingFaceModel/Role/Resource", + "attributes": { + "aws:cdk:cloudformation:type": "AWS::IAM::Role", + "aws:cdk:cloudformation:props": { + "assumeRolePolicyDocument": { + "Statement": [ + { + "Action": "sts:AssumeRole", + "Effect": "Allow", + "Principal": { + "Service": "sagemaker.amazonaws.com" + } + } + ], + "Version": "2012-10-17" + }, + "managedPolicyArns": [ + { + "Fn::Join": [ + "", + [ + "arn:", + { + "Ref": "AWS::Partition" + }, + ":iam::aws:policy/AmazonSageMakerFullAccess" + ] + ] + } + ] + } + }, + "constructInfo": { + "fqn": "aws-cdk-lib.aws_iam.CfnRole", + "version": "0.0.0" + } + }, + "DefaultPolicy": { + "id": "DefaultPolicy", + "path": "aws-cdk-sagemaker-model/HuggingFaceModel/Role/DefaultPolicy", + "children": { + "Resource": { + "id": "Resource", + "path": "aws-cdk-sagemaker-model/HuggingFaceModel/Role/DefaultPolicy/Resource", + "attributes": { + "aws:cdk:cloudformation:type": "AWS::IAM::Policy", + "aws:cdk:cloudformation:props": { + "policyDocument": { + "Statement": [ + { + "Action": [ + "ecr:BatchCheckLayerAvailability", + "ecr:BatchGetImage", + "ecr:GetDownloadUrlForLayer" + ], + "Effect": "Allow", + "Resource": { + "Fn::Join": [ + "", + [ + "arn:", + { + "Ref": "AWS::Partition" + }, + ":ecr:", + { + "Ref": "AWS::Region" + }, + ":", + { + "Fn::FindInMap": [ + "DlcRepositoryAccountMap", + { + "Ref": "AWS::Region" + }, + "value" + ] + }, + ":repository/huggingface-pytorch-training" + ] + ] + } + }, + { + "Action": "ecr:GetAuthorizationToken", + "Effect": "Allow", + "Resource": "*" + } + ], + "Version": "2012-10-17" + }, + "policyName": "HuggingFaceModelRoleDefaultPolicy50587D35", + "roles": [ + { + "Ref": "HuggingFaceModelRoleDA17DA00" + } + ] + } + }, + "constructInfo": { + "fqn": "aws-cdk-lib.aws_iam.CfnPolicy", + "version": "0.0.0" + } + } + }, + "constructInfo": { + "fqn": "aws-cdk-lib.aws_iam.Policy", + "version": "0.0.0" + } + } + }, + "constructInfo": { + "fqn": "aws-cdk-lib.aws_iam.Role", + "version": "0.0.0" + } + }, + "DlcRepository": { + "id": "DlcRepository", + "path": "aws-cdk-sagemaker-model/HuggingFaceModel/DlcRepository", + "constructInfo": { + "fqn": "aws-cdk-lib.aws_ecr.RepositoryBase", + "version": "0.0.0" + } + }, + "Model": { + "id": "Model", + "path": "aws-cdk-sagemaker-model/HuggingFaceModel/Model", + "attributes": { + "aws:cdk:cloudformation:type": "AWS::SageMaker::Model", + "aws:cdk:cloudformation:props": { + "executionRoleArn": { + "Fn::GetAtt": [ + "HuggingFaceModelRoleDA17DA00", + "Arn" + ] + }, + "primaryContainer": { + "image": { + "Fn::Join": [ + "", + [ + { + "Fn::FindInMap": [ + "DlcRepositoryAccountMap", + { + "Ref": "AWS::Region" + }, + "value" + ] + }, + ".dkr.ecr.", + { + "Ref": "AWS::Region" + }, + ".", + { + "Ref": "AWS::URLSuffix" + }, + "/huggingface-pytorch-training:1.13.1-transformers4.26.0-gpu-py39-cu117-ubuntu20.04" + ] + ] + } + } + } + }, + "constructInfo": { + "fqn": "aws-cdk-lib.aws_sagemaker.CfnModel", "version": "0.0.0" } } }, "constructInfo": { - "fqn": "@aws-cdk/aws-sagemaker.Model", + "fqn": "@aws-cdk/aws-sagemaker-alpha.Model", + "version": "0.0.0" + } + }, + "DlcRepositoryAccountMap": { + "id": "DlcRepositoryAccountMap", + "path": "aws-cdk-sagemaker-model/DlcRepositoryAccountMap", + "constructInfo": { + "fqn": "aws-cdk-lib.CfnMapping", "version": "0.0.0" } }, @@ -1257,7 +1475,7 @@ "id": "BootstrapVersion", "path": "aws-cdk-sagemaker-model/BootstrapVersion", "constructInfo": { - "fqn": "@aws-cdk/core.CfnParameter", + "fqn": "aws-cdk-lib.CfnParameter", "version": "0.0.0" } }, @@ -1265,13 +1483,13 @@ "id": "CheckBootstrapVersion", "path": "aws-cdk-sagemaker-model/CheckBootstrapVersion", "constructInfo": { - "fqn": "@aws-cdk/core.CfnRule", + "fqn": "aws-cdk-lib.CfnRule", "version": "0.0.0" } } }, "constructInfo": { - "fqn": "@aws-cdk/core.Stack", + "fqn": "aws-cdk-lib.Stack", "version": "0.0.0" } }, @@ -1288,7 +1506,7 @@ "path": "integtest-model/DefaultTest/Default", "constructInfo": { "fqn": "constructs.Construct", - "version": "10.1.140" + "version": "10.1.270" } }, "DeployAssert": { @@ -1299,7 +1517,7 @@ "id": "BootstrapVersion", "path": "integtest-model/DefaultTest/DeployAssert/BootstrapVersion", "constructInfo": { - "fqn": "@aws-cdk/core.CfnParameter", + "fqn": "aws-cdk-lib.CfnParameter", "version": "0.0.0" } }, @@ -1307,25 +1525,25 @@ "id": "CheckBootstrapVersion", "path": "integtest-model/DefaultTest/DeployAssert/CheckBootstrapVersion", "constructInfo": { - "fqn": "@aws-cdk/core.CfnRule", + "fqn": "aws-cdk-lib.CfnRule", "version": "0.0.0" } } }, "constructInfo": { - "fqn": "@aws-cdk/core.Stack", + "fqn": "aws-cdk-lib.Stack", "version": "0.0.0" } } }, "constructInfo": { - "fqn": "@aws-cdk/integ-tests.IntegTestCase", + "fqn": "@aws-cdk/integ-tests-alpha.IntegTestCase", "version": "0.0.0" } } }, "constructInfo": { - "fqn": "@aws-cdk/integ-tests.IntegTest", + "fqn": "@aws-cdk/integ-tests-alpha.IntegTest", "version": "0.0.0" } }, @@ -1334,12 +1552,12 @@ "path": "Tree", "constructInfo": { "fqn": "constructs.Construct", - "version": "10.1.140" + "version": "10.1.270" } } }, "constructInfo": { - "fqn": "@aws-cdk/core.App", + "fqn": "aws-cdk-lib.App", "version": "0.0.0" } } diff --git a/packages/@aws-cdk/aws-sagemaker/test/integ.model.ts b/packages/@aws-cdk/aws-sagemaker/test/integ.model.ts index f2d2a3ce09505..6749bd7051b7e 100644 --- a/packages/@aws-cdk/aws-sagemaker/test/integ.model.ts +++ b/packages/@aws-cdk/aws-sagemaker/test/integ.model.ts @@ -68,6 +68,7 @@ const artifactFilePath = path.join(__dirname, 'test-artifacts', 'valid-artifact. * Exercise different variations of ContainerImages, including: * - EcrImage as vended by ContainerImage.fromEcrRepository * - AssetImage as vended by ContainerImage.fromAsset + * - DlcImage as vended by ContainerImage.fromDlc */ const ecrImageAsset = new ecr_assets.DockerImageAsset(stack, 'EcrImage', { @@ -80,6 +81,12 @@ const ecrImage = sagemaker.ContainerImage.fromEcrRepository( const localImage = sagemaker.ContainerImage.fromAsset(dockerfileDirectory); +// AWS DLC Images: https://github.com/aws/deep-learning-containers/blob/master/available_images.md +const dlcImage = sagemaker.ContainerImage.fromDlc( + 'huggingface-pytorch-training', + '1.13.1-transformers4.26.0-gpu-py39-cu117-ubuntu20.04', +); + /* * Exercise different variations of ModelData, including: * - S3ModelData as vended by ModelData.fromBucket @@ -118,6 +125,12 @@ new sagemaker.Model(stack, 'InferencePipelineModel', { ], }); +new sagemaker.Model(stack, 'HuggingFaceModel', { + containers: [ + { image: dlcImage }, + ], +}); + new IntegTest(app, 'integtest-model', { testCases: [stack], }); diff --git a/packages/@aws-cdk/aws-sagemaker/test/model.test.ts b/packages/@aws-cdk/aws-sagemaker/test/model.test.ts index 7b4f33fa46cb1..f4e64ec6131fc 100644 --- a/packages/@aws-cdk/aws-sagemaker/test/model.test.ts +++ b/packages/@aws-cdk/aws-sagemaker/test/model.test.ts @@ -295,3 +295,147 @@ test('When importing a model by name, the ARN is constructed correctly', () => { // THEN expect(model.modelArn).toMatch(/arn:.+:sagemaker:us-west-2:123456789012:model\/my-name/); }); + +test('sagemaker model with deep learning container images with AccountId', () => { + // GIVEN + const stack = new cdk.Stack(); + + // WHEN + new sagemaker.Model(stack, 'Model', { + containers: [{ + image: sagemaker.ContainerImage.fromDlc('anyRepositoryName', 'anyTag', 'anyAwsAccount'), + }], + }); + + // THEN + const template = Template.fromStack(stack); + + template.hasResourceProperties('AWS::SageMaker::Model', { + PrimaryContainer: { + Image: { + 'Fn::Join': [ + '', + [ + 'anyAwsAccount.dkr.ecr.', + { + Ref: 'AWS::Region', + }, + '.', + { + Ref: 'AWS::URLSuffix', + }, + '/anyRepositoryName:anyTag', + ], + ], + }, + }, + }); +}); + +test('sagemaker model with deep learning container images without AccountId', () => { + // GIVEN + const stack = new cdk.Stack(); + + // WHEN + new sagemaker.Model(stack, 'Model', { + containers: [{ + image: sagemaker.ContainerImage.fromDlc('anyRepositoryName', 'anyTag'), + }], + }); + + // THEN + const template = Template.fromStack(stack); + + template.hasResourceProperties('AWS::SageMaker::Model', { + PrimaryContainer: { + Image: { + 'Fn::Join': [ + '', + [ + { + 'Fn::FindInMap': [ + 'DlcRepositoryAccountMap', + { + Ref: 'AWS::Region', + }, + 'value', + ], + }, + '.dkr.ecr.', + { + Ref: 'AWS::Region', + }, + '.', + { + Ref: 'AWS::URLSuffix', + }, + '/anyRepositoryName:anyTag', + ], + ], + }, + }, + }); + + template.hasMapping('DlcRepositoryAccountMap', { + 'ap-east-1': { + value: '871362719292', + }, + 'ap-northeast-1': { + value: '763104351884', + }, + 'ap-northeast-2': { + value: '763104351884', + }, + 'ap-south-1': { + value: '763104351884', + }, + 'ap-southeast-1': { + value: '763104351884', + }, + 'ap-southeast-2': { + value: '763104351884', + }, + 'ca-central-1': { + value: '763104351884', + }, + 'cn-north-1': { + value: '727897471807', + }, + 'cn-northwest-1': { + value: '727897471807', + }, + 'eu-central-1': { + value: '763104351884', + }, + 'eu-north-1': { + value: '763104351884', + }, + 'eu-west-1': { + value: '763104351884', + }, + 'eu-west-2': { + value: '763104351884', + }, + 'eu-west-3': { + value: '763104351884', + }, + 'me-south-1': { + value: '217643126080', + }, + 'sa-east-1': { + value: '763104351884', + }, + 'us-east-1': { + value: '763104351884', + }, + 'us-east-2': { + value: '763104351884', + }, + 'us-west-1': { + value: '763104351884', + }, + 'us-west-2': { + value: '763104351884', + }, + }); +}); \ No newline at end of file