aws-cdk-lib 2.115.0__py3-none-any.whl → 2.116.1__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Potentially problematic release.
This version of aws-cdk-lib might be problematic. Click here for more details.
- aws_cdk/__init__.py +801 -356
- aws_cdk/_jsii/__init__.py +1 -1
- aws_cdk/_jsii/{aws-cdk-lib@2.115.0.jsii.tgz → aws-cdk-lib@2.116.1.jsii.tgz} +0 -0
- aws_cdk/aws_apigateway/__init__.py +3 -1
- aws_cdk/aws_apigatewayv2/__init__.py +595 -222
- aws_cdk/aws_apigatewayv2_integrations/__init__.py +4 -5
- aws_cdk/aws_applicationautoscaling/__init__.py +51 -15
- aws_cdk/aws_appsync/__init__.py +14 -3
- aws_cdk/aws_autoscaling/__init__.py +6 -0
- aws_cdk/aws_b2bi/__init__.py +2445 -0
- aws_cdk/aws_cloud9/__init__.py +63 -63
- aws_cdk/aws_cloudfront/__init__.py +394 -0
- aws_cdk/aws_cloudfront/experimental/__init__.py +5 -2
- aws_cdk/aws_cloudtrail/__init__.py +90 -11
- aws_cdk/aws_cloudwatch/__init__.py +6 -6
- aws_cdk/aws_codedeploy/__init__.py +88 -15
- aws_cdk/aws_codepipeline/__init__.py +645 -0
- aws_cdk/aws_cognito/__init__.py +13 -26
- aws_cdk/aws_config/__init__.py +315 -1
- aws_cdk/aws_connect/__init__.py +532 -37
- aws_cdk/aws_controltower/__init__.py +4 -4
- aws_cdk/aws_datasync/__init__.py +6 -4
- aws_cdk/aws_dms/__init__.py +241 -131
- aws_cdk/aws_dynamodb/__init__.py +8 -0
- aws_cdk/aws_ec2/__init__.py +1030 -45
- aws_cdk/aws_ecr/__init__.py +78 -10
- aws_cdk/aws_ecs/__init__.py +210 -2
- aws_cdk/aws_ecs_patterns/__init__.py +77 -62
- aws_cdk/aws_eks/__init__.py +8 -1
- aws_cdk/aws_elasticache/__init__.py +136 -10
- aws_cdk/aws_elasticloadbalancingv2/__init__.py +10 -13
- aws_cdk/aws_emr/__init__.py +234 -17
- aws_cdk/aws_eventschemas/__init__.py +15 -13
- aws_cdk/aws_fis/__init__.py +33 -13
- aws_cdk/aws_gamelift/__init__.py +47 -0
- aws_cdk/aws_imagebuilder/__init__.py +922 -84
- aws_cdk/aws_internetmonitor/__init__.py +12 -10
- aws_cdk/aws_iot/__init__.py +26 -46
- aws_cdk/aws_iottwinmaker/__init__.py +36 -34
- aws_cdk/aws_lambda/__init__.py +19 -15
- aws_cdk/aws_lambda_nodejs/__init__.py +5 -2
- aws_cdk/aws_logs/__init__.py +6 -6
- aws_cdk/aws_opensearchservice/__init__.py +5 -3
- aws_cdk/aws_organizations/__init__.py +3 -3
- aws_cdk/aws_osis/__init__.py +17 -13
- aws_cdk/aws_rds/__init__.py +6 -0
- aws_cdk/aws_s3/__init__.py +4 -2
- aws_cdk/aws_s3outposts/__init__.py +8 -8
- aws_cdk/aws_sagemaker/__init__.py +17 -94
- aws_cdk/aws_secretsmanager/__init__.py +9 -7
- aws_cdk/aws_securityhub/__init__.py +18 -0
- aws_cdk/aws_servicecatalogappregistry/__init__.py +31 -0
- aws_cdk/aws_ses/__init__.py +58 -11
- aws_cdk/aws_sns/__init__.py +309 -10
- aws_cdk/aws_ssm/__init__.py +3 -5
- aws_cdk/aws_stepfunctions/__init__.py +335 -19
- aws_cdk/aws_stepfunctions_tasks/__init__.py +388 -38
- aws_cdk/aws_transfer/__init__.py +37 -10
- aws_cdk/custom_resources/__init__.py +443 -1
- aws_cdk/triggers/__init__.py +5 -2
- {aws_cdk_lib-2.115.0.dist-info → aws_cdk_lib-2.116.1.dist-info}/METADATA +1 -1
- {aws_cdk_lib-2.115.0.dist-info → aws_cdk_lib-2.116.1.dist-info}/RECORD +66 -65
- {aws_cdk_lib-2.115.0.dist-info → aws_cdk_lib-2.116.1.dist-info}/LICENSE +0 -0
- {aws_cdk_lib-2.115.0.dist-info → aws_cdk_lib-2.116.1.dist-info}/NOTICE +0 -0
- {aws_cdk_lib-2.115.0.dist-info → aws_cdk_lib-2.116.1.dist-info}/WHEEL +0 -0
- {aws_cdk_lib-2.115.0.dist-info → aws_cdk_lib-2.116.1.dist-info}/top_level.txt +0 -0
aws_cdk/aws_ec2/__init__.py
CHANGED
|
@@ -1720,6 +1720,70 @@ instance = ec2.Instance(self, "Instance",
|
|
|
1720
1720
|
)
|
|
1721
1721
|
```
|
|
1722
1722
|
|
|
1723
|
+
### Specifying a key pair
|
|
1724
|
+
|
|
1725
|
+
To allow SSH access to an EC2 instance by default, a Key Pair must be specified. Key pairs can
|
|
1726
|
+
be provided with the `keyPair` property to instances and launch templates. You can create a
|
|
1727
|
+
key pair for an instance like this:
|
|
1728
|
+
|
|
1729
|
+
```python
|
|
1730
|
+
# vpc: ec2.Vpc
|
|
1731
|
+
# instance_type: ec2.InstanceType
|
|
1732
|
+
|
|
1733
|
+
|
|
1734
|
+
key_pair = ec2.KeyPair(self, "KeyPair",
|
|
1735
|
+
type=ec2.KeyPairType.ED25519,
|
|
1736
|
+
format=ec2.KeyPairFormat.PEM
|
|
1737
|
+
)
|
|
1738
|
+
instance = ec2.Instance(self, "Instance",
|
|
1739
|
+
vpc=vpc,
|
|
1740
|
+
instance_type=instance_type,
|
|
1741
|
+
machine_image=ec2.MachineImage.latest_amazon_linux2023(),
|
|
1742
|
+
# Use the custom key pair
|
|
1743
|
+
key_pair=key_pair
|
|
1744
|
+
)
|
|
1745
|
+
```
|
|
1746
|
+
|
|
1747
|
+
When a new EC2 Key Pair is created (without imported material), the private key material is
|
|
1748
|
+
automatically stored in Systems Manager Parameter Store. This can be retrieved from the key pair
|
|
1749
|
+
construct:
|
|
1750
|
+
|
|
1751
|
+
```python
|
|
1752
|
+
key_pair = ec2.KeyPair(self, "KeyPair")
|
|
1753
|
+
private_key = key_pair.private_key
|
|
1754
|
+
```
|
|
1755
|
+
|
|
1756
|
+
If you already have an SSH key that you wish to use in EC2, that can be provided when constructing the
|
|
1757
|
+
`KeyPair`. If public key material is provided, the key pair is considered "imported" and there
|
|
1758
|
+
will not be any data automatically stored in Systems Manager Parameter Store and the `type` property
|
|
1759
|
+
cannot be specified for the key pair.
|
|
1760
|
+
|
|
1761
|
+
```python
|
|
1762
|
+
key_pair = ec2.KeyPair(self, "KeyPair",
|
|
1763
|
+
public_key_material="ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIB7jpNzG+YG0s+xIGWbxrxIZiiozHOEuzIJacvASP0mq"
|
|
1764
|
+
)
|
|
1765
|
+
```
|
|
1766
|
+
|
|
1767
|
+
#### Using an existing EC2 Key Pair
|
|
1768
|
+
|
|
1769
|
+
If you already have an EC2 Key Pair created outside of the CDK, you can import that key to
|
|
1770
|
+
your CDK stack.
|
|
1771
|
+
|
|
1772
|
+
You can import it purely by name:
|
|
1773
|
+
|
|
1774
|
+
```python
|
|
1775
|
+
key_pair = ec2.KeyPair.from_key_pair_name(self, "KeyPair", "the-keypair-name")
|
|
1776
|
+
```
|
|
1777
|
+
|
|
1778
|
+
Or by specifying additional attributes:
|
|
1779
|
+
|
|
1780
|
+
```python
|
|
1781
|
+
key_pair = ec2.KeyPair.from_key_pair_attributes(self, "KeyPair",
|
|
1782
|
+
key_pair_name="the-keypair-name",
|
|
1783
|
+
type=ec2.KeyPairType.RSA
|
|
1784
|
+
)
|
|
1785
|
+
```
|
|
1786
|
+
|
|
1723
1787
|
## VPC Flow Logs
|
|
1724
1788
|
|
|
1725
1789
|
VPC Flow Logs is a feature that enables you to capture information about the IP traffic going to and from network interfaces in your VPC. Flow log data can be published to Amazon CloudWatch Logs and Amazon S3. After you've created a flow log, you can retrieve and view its data in the chosen destination. ([https://docs.aws.amazon.com/vpc/latest/userguide/flow-logs.html](https://docs.aws.amazon.com/vpc/latest/userguide/flow-logs.html)).
|
|
@@ -2193,6 +2257,7 @@ from ..aws_s3 import IBucket as _IBucket_42e086fd
|
|
|
2193
2257
|
from ..aws_s3_assets import (
|
|
2194
2258
|
Asset as _Asset_ac2a7e61, AssetOptions as _AssetOptions_2aa69621
|
|
2195
2259
|
)
|
|
2260
|
+
from ..aws_ssm import IStringParameter as _IStringParameter_f2b707f9
|
|
2196
2261
|
|
|
2197
2262
|
|
|
2198
2263
|
class AclCidr(
|
|
@@ -12573,11 +12638,11 @@ class CfnEC2Fleet(
|
|
|
12573
12638
|
|
|
12574
12639
|
``TargetCapacitySpecificationRequest`` is a property of the `AWS::EC2::EC2Fleet <https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-ec2fleet.html>`_ resource.
|
|
12575
12640
|
|
|
12576
|
-
:param total_target_capacity: The number of units to request, filled using
|
|
12577
|
-
:param default_target_capacity_type: The default
|
|
12641
|
+
:param total_target_capacity: The number of units to request, filled using the default target capacity type.
|
|
12642
|
+
:param default_target_capacity_type: The default target capacity type.
|
|
12578
12643
|
:param on_demand_target_capacity: The number of On-Demand units to request.
|
|
12579
12644
|
:param spot_target_capacity: The number of Spot units to request.
|
|
12580
|
-
:param target_capacity_unit_type: The unit for the target capacity.
|
|
12645
|
+
:param target_capacity_unit_type: The unit for the target capacity. You can specify this parameter only when using attributed-based instance type selection. Default: ``units`` (the number of instances)
|
|
12581
12646
|
|
|
12582
12647
|
:see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-ec2fleet-targetcapacityspecificationrequest.html
|
|
12583
12648
|
:exampleMetadata: fixture=_generated
|
|
@@ -12619,7 +12684,7 @@ class CfnEC2Fleet(
|
|
|
12619
12684
|
|
|
12620
12685
|
@builtins.property
|
|
12621
12686
|
def total_target_capacity(self) -> jsii.Number:
|
|
12622
|
-
'''The number of units to request, filled using
|
|
12687
|
+
'''The number of units to request, filled using the default target capacity type.
|
|
12623
12688
|
|
|
12624
12689
|
:see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-ec2fleet-targetcapacityspecificationrequest.html#cfn-ec2-ec2fleet-targetcapacityspecificationrequest-totaltargetcapacity
|
|
12625
12690
|
'''
|
|
@@ -12629,7 +12694,7 @@ class CfnEC2Fleet(
|
|
|
12629
12694
|
|
|
12630
12695
|
@builtins.property
|
|
12631
12696
|
def default_target_capacity_type(self) -> typing.Optional[builtins.str]:
|
|
12632
|
-
'''The default
|
|
12697
|
+
'''The default target capacity type.
|
|
12633
12698
|
|
|
12634
12699
|
:see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-ec2fleet-targetcapacityspecificationrequest.html#cfn-ec2-ec2fleet-targetcapacityspecificationrequest-defaulttargetcapacitytype
|
|
12635
12700
|
'''
|
|
@@ -12656,9 +12721,9 @@ class CfnEC2Fleet(
|
|
|
12656
12721
|
|
|
12657
12722
|
@builtins.property
|
|
12658
12723
|
def target_capacity_unit_type(self) -> typing.Optional[builtins.str]:
|
|
12659
|
-
'''The unit for the target capacity.
|
|
12724
|
+
'''The unit for the target capacity. You can specify this parameter only when using attributed-based instance type selection.
|
|
12660
12725
|
|
|
12661
|
-
Default: ``units`` (
|
|
12726
|
+
Default: ``units`` (the number of instances)
|
|
12662
12727
|
|
|
12663
12728
|
:see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-ec2fleet-targetcapacityspecificationrequest.html#cfn-ec2-ec2fleet-targetcapacityspecificationrequest-targetcapacityunittype
|
|
12664
12729
|
'''
|
|
@@ -18551,11 +18616,11 @@ class CfnInstance(
|
|
|
18551
18616
|
:param security_group_ids: The IDs of the security groups. You can specify the IDs of existing security groups and references to resources created by the stack template. If you specify a network interface, you must specify any security groups as part of the network interface.
|
|
18552
18617
|
:param security_groups: [Default VPC] The names of the security groups. For a nondefault VPC, you must use security group IDs instead. You 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. Default: Amazon EC2 uses the default security group.
|
|
18553
18618
|
:param source_dest_check: 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.
|
|
18554
|
-
:param ssm_associations: 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* . .. epigraph:: You can
|
|
18619
|
+
:param ssm_associations: 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* . .. epigraph:: You can associate only one document with an instance.
|
|
18555
18620
|
:param subnet_id: The ID of the subnet to launch the instance into. If you specify a network interface, you must specify any subnets as part of the network interface.
|
|
18556
18621
|
:param 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`` .
|
|
18557
18622
|
:param tenancy: The tenancy of the instance. An instance with a tenancy of ``dedicated`` runs on single-tenant hardware.
|
|
18558
|
-
:param user_data: The user data
|
|
18623
|
+
:param user_data: The parameters or scripts to store as user data. Any scripts in user data are run when you launch 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>`_ . If the root volume is an EBS volume and you update user data, CloudFormation restarts the instance. If the root volume is an instance store volume and you update user data, the instance is replaced.
|
|
18559
18624
|
:param volumes: The volumes to attach to the instance.
|
|
18560
18625
|
'''
|
|
18561
18626
|
if __debug__:
|
|
@@ -18657,6 +18722,14 @@ class CfnInstance(
|
|
|
18657
18722
|
'''
|
|
18658
18723
|
return typing.cast(builtins.str, jsii.get(self, "attrId"))
|
|
18659
18724
|
|
|
18725
|
+
@builtins.property
|
|
18726
|
+
@jsii.member(jsii_name="attrInstanceId")
|
|
18727
|
+
def attr_instance_id(self) -> builtins.str:
|
|
18728
|
+
'''
|
|
18729
|
+
:cloudformationAttribute: InstanceId
|
|
18730
|
+
'''
|
|
18731
|
+
return typing.cast(builtins.str, jsii.get(self, "attrInstanceId"))
|
|
18732
|
+
|
|
18660
18733
|
@builtins.property
|
|
18661
18734
|
@jsii.member(jsii_name="attrPrivateDnsName")
|
|
18662
18735
|
def attr_private_dns_name(self) -> builtins.str:
|
|
@@ -19320,7 +19393,7 @@ class CfnInstance(
|
|
|
19320
19393
|
@builtins.property
|
|
19321
19394
|
@jsii.member(jsii_name="userData")
|
|
19322
19395
|
def user_data(self) -> typing.Optional[builtins.str]:
|
|
19323
|
-
'''The
|
|
19396
|
+
'''The parameters or scripts to store as user data.'''
|
|
19324
19397
|
return typing.cast(typing.Optional[builtins.str], jsii.get(self, "userData"))
|
|
19325
19398
|
|
|
19326
19399
|
@user_data.setter
|
|
@@ -20452,7 +20525,7 @@ class CfnInstance(
|
|
|
20452
20525
|
|
|
20453
20526
|
:param device_index: The position of the network interface in the attachment order. A primary network interface has a device index of 0. If you create a network interface when launching an instance, you must specify the device index.
|
|
20454
20527
|
:param associate_carrier_ip_address: Indicates whether to assign a carrier IP address to the network interface. You can only assign a carrier IP address to a network interface that is in a subnet in a Wavelength Zone. For more information about carrier IP addresses, see `Carrier IP address <https://docs.aws.amazon.com/wavelength/latest/developerguide/how-wavelengths-work.html#provider-owned-ip>`_ in the *AWS Wavelength Developer Guide* .
|
|
20455
|
-
:param associate_public_ip_address: Indicates whether to assign a public IPv4 address to an instance. Applies only if creating a network interface when launching an instance. The network interface must be the primary network interface. If launching into a default subnet, the default value is ``true`` .
|
|
20528
|
+
:param associate_public_ip_address: Indicates whether to assign a public IPv4 address to an instance. Applies only if creating a network interface when launching an instance. The network interface must be the primary network interface. If launching into a default subnet, the default value is ``true`` . Starting on February 1, 2024, AWS will charge for all public IPv4 addresses, including public IPv4 addresses associated with running instances and Elastic IP addresses. For more information, see the *Public IPv4 Address* tab on the `VPC pricing page <https://docs.aws.amazon.com/vpc/pricing/>`_ .
|
|
20456
20529
|
:param delete_on_termination: Indicates whether the network interface is deleted when the instance is terminated. Applies only if creating a network interface when launching an instance.
|
|
20457
20530
|
:param description: The description of the network interface. Applies only if creating a network interface when launching an instance.
|
|
20458
20531
|
:param group_set: The IDs of the security groups for the network interface. Applies only if creating a network interface when launching an instance.
|
|
@@ -20574,6 +20647,8 @@ class CfnInstance(
|
|
|
20574
20647
|
|
|
20575
20648
|
Applies only if creating a network interface when launching an instance. The network interface must be the primary network interface. If launching into a default subnet, the default value is ``true`` .
|
|
20576
20649
|
|
|
20650
|
+
Starting on February 1, 2024, AWS will charge for all public IPv4 addresses, including public IPv4 addresses associated with running instances and Elastic IP addresses. For more information, see the *Public IPv4 Address* tab on the `VPC pricing page <https://docs.aws.amazon.com/vpc/pricing/>`_ .
|
|
20651
|
+
|
|
20577
20652
|
:see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-instance-networkinterface.html#cfn-ec2-instance-networkinterface-associatepublicipaddress
|
|
20578
20653
|
'''
|
|
20579
20654
|
result = self._values.get("associate_public_ip_address")
|
|
@@ -21517,11 +21592,11 @@ class CfnInstanceProps:
|
|
|
21517
21592
|
:param security_group_ids: The IDs of the security groups. You can specify the IDs of existing security groups and references to resources created by the stack template. If you specify a network interface, you must specify any security groups as part of the network interface.
|
|
21518
21593
|
:param security_groups: [Default VPC] The names of the security groups. For a nondefault VPC, you must use security group IDs instead. You 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. Default: Amazon EC2 uses the default security group.
|
|
21519
21594
|
:param source_dest_check: 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.
|
|
21520
|
-
:param ssm_associations: 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* . .. epigraph:: You can
|
|
21595
|
+
:param ssm_associations: 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* . .. epigraph:: You can associate only one document with an instance.
|
|
21521
21596
|
:param subnet_id: The ID of the subnet to launch the instance into. If you specify a network interface, you must specify any subnets as part of the network interface.
|
|
21522
21597
|
:param 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`` .
|
|
21523
21598
|
:param tenancy: The tenancy of the instance. An instance with a tenancy of ``dedicated`` runs on single-tenant hardware.
|
|
21524
|
-
:param user_data: The user data
|
|
21599
|
+
:param user_data: The parameters or scripts to store as user data. Any scripts in user data are run when you launch 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>`_ . If the root volume is an EBS volume and you update user data, CloudFormation restarts the instance. If the root volume is an instance store volume and you update user data, the instance is replaced.
|
|
21525
21600
|
:param volumes: The volumes to attach to the instance.
|
|
21526
21601
|
|
|
21527
21602
|
:see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-instance.html
|
|
@@ -22231,7 +22306,7 @@ class CfnInstanceProps:
|
|
|
22231
22306
|
|
|
22232
22307
|
.. epigraph::
|
|
22233
22308
|
|
|
22234
|
-
You can
|
|
22309
|
+
You can associate only one document with an instance.
|
|
22235
22310
|
|
|
22236
22311
|
:see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-instance.html#cfn-ec2-instance-ssmassociations
|
|
22237
22312
|
'''
|
|
@@ -22273,11 +22348,11 @@ class CfnInstanceProps:
|
|
|
22273
22348
|
|
|
22274
22349
|
@builtins.property
|
|
22275
22350
|
def user_data(self) -> typing.Optional[builtins.str]:
|
|
22276
|
-
'''The
|
|
22351
|
+
'''The parameters or scripts to store as user data.
|
|
22277
22352
|
|
|
22278
|
-
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>`_ .
|
|
22353
|
+
Any scripts in user data are run when you launch 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>`_ .
|
|
22279
22354
|
|
|
22280
|
-
|
|
22355
|
+
If the root volume is an EBS volume and you update user data, CloudFormation restarts the instance. If the root volume is an instance store volume and you update user data, the instance is replaced.
|
|
22281
22356
|
|
|
22282
22357
|
:see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-instance.html#cfn-ec2-instance-userdata
|
|
22283
22358
|
'''
|
|
@@ -26561,7 +26636,7 @@ class CfnLaunchTemplate(
|
|
|
26561
26636
|
:param http_endpoint: Enables or disables the HTTP metadata endpoint on your instances. If the parameter is not specified, the default state is ``enabled`` . .. epigraph:: If you specify a value of ``disabled`` , you will not be able to access your instance metadata.
|
|
26562
26637
|
:param http_protocol_ipv6: Enables or disables the IPv6 endpoint for the instance metadata service. Default: ``disabled``
|
|
26563
26638
|
:param http_put_response_hop_limit: The desired HTTP PUT response hop limit for instance metadata requests. The larger the number, the further instance metadata requests can travel. Default: ``1`` Possible values: Integers from 1 to 64
|
|
26564
|
-
:param http_tokens:
|
|
26639
|
+
:param http_tokens: Indicates whether IMDSv2 is required. - ``optional`` - IMDSv2 is optional. You can choose whether to send a session token in your instance metadata retrieval requests. If you retrieve IAM role credentials without a session token, you receive the IMDSv1 role credentials. If you retrieve IAM role credentials using a valid session token, you receive the IMDSv2 role credentials. - ``required`` - IMDSv2 is required. You must send a session token in your instance metadata retrieval requests. With this option, retrieving the IAM role credentials always returns IMDSv2 credentials; IMDSv1 credentials are not available. Default: If the value of ``ImdsSupport`` for the Amazon Machine Image (AMI) for your instance is ``v2.0`` , the default is ``required`` .
|
|
26565
26640
|
:param instance_metadata_tags: Set to ``enabled`` to allow access to instance tags from the instance metadata. Set to ``disabled`` to turn off access to instance tags from the instance metadata. For more information, see `Work with instance tags using the instance metadata <https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Using_Tags.html#work-with-tags-in-IMDS>`_ . Default: ``disabled``
|
|
26566
26641
|
|
|
26567
26642
|
:see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-launchtemplate-metadataoptions.html
|
|
@@ -26642,14 +26717,12 @@ class CfnLaunchTemplate(
|
|
|
26642
26717
|
|
|
26643
26718
|
@builtins.property
|
|
26644
26719
|
def http_tokens(self) -> typing.Optional[builtins.str]:
|
|
26645
|
-
'''IMDSv2
|
|
26720
|
+
'''Indicates whether IMDSv2 is required.
|
|
26646
26721
|
|
|
26647
|
-
|
|
26722
|
+
- ``optional`` - IMDSv2 is optional. You can choose whether to send a session token in your instance metadata retrieval requests. If you retrieve IAM role credentials without a session token, you receive the IMDSv1 role credentials. If you retrieve IAM role credentials using a valid session token, you receive the IMDSv2 role credentials.
|
|
26723
|
+
- ``required`` - IMDSv2 is required. You must send a session token in your instance metadata retrieval requests. With this option, retrieving the IAM role credentials always returns IMDSv2 credentials; IMDSv1 credentials are not available.
|
|
26648
26724
|
|
|
26649
|
-
|
|
26650
|
-
- ``required`` - When IMDSv2 is required, you must send a session token with any instance metadata retrieval requests. In this state, retrieving the IAM role credentials always returns IMDSv2 credentials; IMDSv1 credentials are not available.
|
|
26651
|
-
|
|
26652
|
-
Default: ``optional``
|
|
26725
|
+
Default: If the value of ``ImdsSupport`` for the Amazon Machine Image (AMI) for your instance is ``v2.0`` , the default is ``required`` .
|
|
26653
26726
|
|
|
26654
26727
|
:see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-launchtemplate-metadataoptions.html#cfn-ec2-launchtemplate-metadataoptions-httptokens
|
|
26655
26728
|
'''
|
|
@@ -26955,7 +27028,7 @@ class CfnLaunchTemplate(
|
|
|
26955
27028
|
``NetworkInterface`` is a property of `AWS::EC2::LaunchTemplate LaunchTemplateData <https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-launchtemplate-launchtemplatedata.html>`_ .
|
|
26956
27029
|
|
|
26957
27030
|
:param associate_carrier_ip_address: Associates a Carrier IP address with eth0 for a new network interface. Use this option when you launch an instance in a Wavelength Zone and want to associate a Carrier IP address with the network interface. For more information about Carrier IP addresses, see `Carrier IP addresses <https://docs.aws.amazon.com/wavelength/latest/developerguide/how-wavelengths-work.html#provider-owned-ip>`_ in the *AWS Wavelength Developer Guide* .
|
|
26958
|
-
:param associate_public_ip_address: Associates a public IPv4 address with eth0 for a new network interface.
|
|
27031
|
+
:param associate_public_ip_address: Associates a public IPv4 address with eth0 for a new network interface. Starting on February 1, 2024, AWS will charge for all public IPv4 addresses, including public IPv4 addresses associated with running instances and Elastic IP addresses. For more information, see the *Public IPv4 Address* tab on the `Amazon VPC pricing page <https://docs.aws.amazon.com/vpc/pricing/>`_ .
|
|
26959
27032
|
:param connection_tracking_specification: A connection tracking specification for the network interface.
|
|
26960
27033
|
:param delete_on_termination: Indicates whether the network interface is deleted when the instance is terminated.
|
|
26961
27034
|
:param description: A description for the network interface.
|
|
@@ -27118,6 +27191,8 @@ class CfnLaunchTemplate(
|
|
|
27118
27191
|
) -> typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]]:
|
|
27119
27192
|
'''Associates a public IPv4 address with eth0 for a new network interface.
|
|
27120
27193
|
|
|
27194
|
+
Starting on February 1, 2024, AWS will charge for all public IPv4 addresses, including public IPv4 addresses associated with running instances and Elastic IP addresses. For more information, see the *Public IPv4 Address* tab on the `Amazon VPC pricing page <https://docs.aws.amazon.com/vpc/pricing/>`_ .
|
|
27195
|
+
|
|
27121
27196
|
:see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-launchtemplate-networkinterface.html#cfn-ec2-launchtemplate-networkinterface-associatepublicipaddress
|
|
27122
27197
|
'''
|
|
27123
27198
|
result = self._values.get("associate_public_ip_address")
|
|
@@ -38455,6 +38530,7 @@ class CfnRoute(
|
|
|
38455
38530
|
|
|
38456
38531
|
# the properties below are optional
|
|
38457
38532
|
carrier_gateway_id="carrierGatewayId",
|
|
38533
|
+
core_network_arn="coreNetworkArn",
|
|
38458
38534
|
destination_cidr_block="destinationCidrBlock",
|
|
38459
38535
|
destination_ipv6_cidr_block="destinationIpv6CidrBlock",
|
|
38460
38536
|
destination_prefix_list_id="destinationPrefixListId",
|
|
@@ -38477,6 +38553,7 @@ class CfnRoute(
|
|
|
38477
38553
|
*,
|
|
38478
38554
|
route_table_id: builtins.str,
|
|
38479
38555
|
carrier_gateway_id: typing.Optional[builtins.str] = None,
|
|
38556
|
+
core_network_arn: typing.Optional[builtins.str] = None,
|
|
38480
38557
|
destination_cidr_block: typing.Optional[builtins.str] = None,
|
|
38481
38558
|
destination_ipv6_cidr_block: typing.Optional[builtins.str] = None,
|
|
38482
38559
|
destination_prefix_list_id: typing.Optional[builtins.str] = None,
|
|
@@ -38495,6 +38572,7 @@ class CfnRoute(
|
|
|
38495
38572
|
:param id: Construct identifier for this resource (unique in its scope).
|
|
38496
38573
|
:param route_table_id: The ID of the route table for the route.
|
|
38497
38574
|
:param carrier_gateway_id: The ID of the carrier gateway. You can only use this option when the VPC contains a subnet which is associated with a Wavelength Zone.
|
|
38575
|
+
:param core_network_arn: The Amazon Resource Name (ARN) of the core network.
|
|
38498
38576
|
:param destination_cidr_block: The IPv4 CIDR address block used for the destination match. Routing decisions are based on the most specific match. We modify the specified CIDR block to its canonical form; for example, if you specify ``100.68.0.18/18`` , we modify it to ``100.68.0.0/18`` .
|
|
38499
38577
|
:param destination_ipv6_cidr_block: The IPv6 CIDR block used for the destination match. Routing decisions are based on the most specific match.
|
|
38500
38578
|
:param destination_prefix_list_id: The ID of a prefix list used for the destination match.
|
|
@@ -38515,6 +38593,7 @@ class CfnRoute(
|
|
|
38515
38593
|
props = CfnRouteProps(
|
|
38516
38594
|
route_table_id=route_table_id,
|
|
38517
38595
|
carrier_gateway_id=carrier_gateway_id,
|
|
38596
|
+
core_network_arn=core_network_arn,
|
|
38518
38597
|
destination_cidr_block=destination_cidr_block,
|
|
38519
38598
|
destination_ipv6_cidr_block=destination_ipv6_cidr_block,
|
|
38520
38599
|
destination_prefix_list_id=destination_prefix_list_id,
|
|
@@ -38601,6 +38680,19 @@ class CfnRoute(
|
|
|
38601
38680
|
check_type(argname="argument value", value=value, expected_type=type_hints["value"])
|
|
38602
38681
|
jsii.set(self, "carrierGatewayId", value)
|
|
38603
38682
|
|
|
38683
|
+
@builtins.property
|
|
38684
|
+
@jsii.member(jsii_name="coreNetworkArn")
|
|
38685
|
+
def core_network_arn(self) -> typing.Optional[builtins.str]:
|
|
38686
|
+
'''The Amazon Resource Name (ARN) of the core network.'''
|
|
38687
|
+
return typing.cast(typing.Optional[builtins.str], jsii.get(self, "coreNetworkArn"))
|
|
38688
|
+
|
|
38689
|
+
@core_network_arn.setter
|
|
38690
|
+
def core_network_arn(self, value: typing.Optional[builtins.str]) -> None:
|
|
38691
|
+
if __debug__:
|
|
38692
|
+
type_hints = typing.get_type_hints(_typecheckingstub__535edefe9ec250f819eacd60779bcf6b8d4afa9cd9b9ec8142ddfb03034be5ac)
|
|
38693
|
+
check_type(argname="argument value", value=value, expected_type=type_hints["value"])
|
|
38694
|
+
jsii.set(self, "coreNetworkArn", value)
|
|
38695
|
+
|
|
38604
38696
|
@builtins.property
|
|
38605
38697
|
@jsii.member(jsii_name="destinationCidrBlock")
|
|
38606
38698
|
def destination_cidr_block(self) -> typing.Optional[builtins.str]:
|
|
@@ -38767,6 +38859,7 @@ class CfnRoute(
|
|
|
38767
38859
|
name_mapping={
|
|
38768
38860
|
"route_table_id": "routeTableId",
|
|
38769
38861
|
"carrier_gateway_id": "carrierGatewayId",
|
|
38862
|
+
"core_network_arn": "coreNetworkArn",
|
|
38770
38863
|
"destination_cidr_block": "destinationCidrBlock",
|
|
38771
38864
|
"destination_ipv6_cidr_block": "destinationIpv6CidrBlock",
|
|
38772
38865
|
"destination_prefix_list_id": "destinationPrefixListId",
|
|
@@ -38787,6 +38880,7 @@ class CfnRouteProps:
|
|
|
38787
38880
|
*,
|
|
38788
38881
|
route_table_id: builtins.str,
|
|
38789
38882
|
carrier_gateway_id: typing.Optional[builtins.str] = None,
|
|
38883
|
+
core_network_arn: typing.Optional[builtins.str] = None,
|
|
38790
38884
|
destination_cidr_block: typing.Optional[builtins.str] = None,
|
|
38791
38885
|
destination_ipv6_cidr_block: typing.Optional[builtins.str] = None,
|
|
38792
38886
|
destination_prefix_list_id: typing.Optional[builtins.str] = None,
|
|
@@ -38804,6 +38898,7 @@ class CfnRouteProps:
|
|
|
38804
38898
|
|
|
38805
38899
|
:param route_table_id: The ID of the route table for the route.
|
|
38806
38900
|
:param carrier_gateway_id: The ID of the carrier gateway. You can only use this option when the VPC contains a subnet which is associated with a Wavelength Zone.
|
|
38901
|
+
:param core_network_arn: The Amazon Resource Name (ARN) of the core network.
|
|
38807
38902
|
:param destination_cidr_block: The IPv4 CIDR address block used for the destination match. Routing decisions are based on the most specific match. We modify the specified CIDR block to its canonical form; for example, if you specify ``100.68.0.18/18`` , we modify it to ``100.68.0.0/18`` .
|
|
38808
38903
|
:param destination_ipv6_cidr_block: The IPv6 CIDR block used for the destination match. Routing decisions are based on the most specific match.
|
|
38809
38904
|
:param destination_prefix_list_id: The ID of a prefix list used for the destination match.
|
|
@@ -38831,6 +38926,7 @@ class CfnRouteProps:
|
|
|
38831
38926
|
|
|
38832
38927
|
# the properties below are optional
|
|
38833
38928
|
carrier_gateway_id="carrierGatewayId",
|
|
38929
|
+
core_network_arn="coreNetworkArn",
|
|
38834
38930
|
destination_cidr_block="destinationCidrBlock",
|
|
38835
38931
|
destination_ipv6_cidr_block="destinationIpv6CidrBlock",
|
|
38836
38932
|
destination_prefix_list_id="destinationPrefixListId",
|
|
@@ -38849,6 +38945,7 @@ class CfnRouteProps:
|
|
|
38849
38945
|
type_hints = typing.get_type_hints(_typecheckingstub__f90e7814d59b7c562ab4b24d54461eba6a4c88fbd5451ba2b2b0adf8441a452e)
|
|
38850
38946
|
check_type(argname="argument route_table_id", value=route_table_id, expected_type=type_hints["route_table_id"])
|
|
38851
38947
|
check_type(argname="argument carrier_gateway_id", value=carrier_gateway_id, expected_type=type_hints["carrier_gateway_id"])
|
|
38948
|
+
check_type(argname="argument core_network_arn", value=core_network_arn, expected_type=type_hints["core_network_arn"])
|
|
38852
38949
|
check_type(argname="argument destination_cidr_block", value=destination_cidr_block, expected_type=type_hints["destination_cidr_block"])
|
|
38853
38950
|
check_type(argname="argument destination_ipv6_cidr_block", value=destination_ipv6_cidr_block, expected_type=type_hints["destination_ipv6_cidr_block"])
|
|
38854
38951
|
check_type(argname="argument destination_prefix_list_id", value=destination_prefix_list_id, expected_type=type_hints["destination_prefix_list_id"])
|
|
@@ -38866,6 +38963,8 @@ class CfnRouteProps:
|
|
|
38866
38963
|
}
|
|
38867
38964
|
if carrier_gateway_id is not None:
|
|
38868
38965
|
self._values["carrier_gateway_id"] = carrier_gateway_id
|
|
38966
|
+
if core_network_arn is not None:
|
|
38967
|
+
self._values["core_network_arn"] = core_network_arn
|
|
38869
38968
|
if destination_cidr_block is not None:
|
|
38870
38969
|
self._values["destination_cidr_block"] = destination_cidr_block
|
|
38871
38970
|
if destination_ipv6_cidr_block is not None:
|
|
@@ -38912,6 +39011,15 @@ class CfnRouteProps:
|
|
|
38912
39011
|
result = self._values.get("carrier_gateway_id")
|
|
38913
39012
|
return typing.cast(typing.Optional[builtins.str], result)
|
|
38914
39013
|
|
|
39014
|
+
@builtins.property
|
|
39015
|
+
def core_network_arn(self) -> typing.Optional[builtins.str]:
|
|
39016
|
+
'''The Amazon Resource Name (ARN) of the core network.
|
|
39017
|
+
|
|
39018
|
+
:see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-route.html#cfn-ec2-route-corenetworkarn
|
|
39019
|
+
'''
|
|
39020
|
+
result = self._values.get("core_network_arn")
|
|
39021
|
+
return typing.cast(typing.Optional[builtins.str], result)
|
|
39022
|
+
|
|
38915
39023
|
@builtins.property
|
|
38916
39024
|
def destination_cidr_block(self) -> typing.Optional[builtins.str]:
|
|
38917
39025
|
'''The IPv4 CIDR address block used for the destination match.
|
|
@@ -40090,7 +40198,8 @@ class CfnSecurityGroupEgress(
|
|
|
40090
40198
|
@builtins.property
|
|
40091
40199
|
@jsii.member(jsii_name="attrId")
|
|
40092
40200
|
def attr_id(self) -> builtins.str:
|
|
40093
|
-
'''
|
|
40201
|
+
'''The Security Group Rule Id.
|
|
40202
|
+
|
|
40094
40203
|
:cloudformationAttribute: Id
|
|
40095
40204
|
'''
|
|
40096
40205
|
return typing.cast(builtins.str, jsii.get(self, "attrId"))
|
|
@@ -41195,6 +41304,172 @@ class CfnSecurityGroupProps:
|
|
|
41195
41304
|
)
|
|
41196
41305
|
|
|
41197
41306
|
|
|
41307
|
+
@jsii.implements(_IInspectable_c2943556)
|
|
41308
|
+
class CfnSnapshotBlockPublicAccess(
|
|
41309
|
+
_CfnResource_9df397a6,
|
|
41310
|
+
metaclass=jsii.JSIIMeta,
|
|
41311
|
+
jsii_type="aws-cdk-lib.aws_ec2.CfnSnapshotBlockPublicAccess",
|
|
41312
|
+
):
|
|
41313
|
+
'''Specifies the state of the *block public access for snapshots* setting for the Region.
|
|
41314
|
+
|
|
41315
|
+
For more information, see `Block public access for snapshots <https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/block-public-access-snapshots.html>`_ .
|
|
41316
|
+
|
|
41317
|
+
:see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-snapshotblockpublicaccess.html
|
|
41318
|
+
:cloudformationResource: AWS::EC2::SnapshotBlockPublicAccess
|
|
41319
|
+
:exampleMetadata: fixture=_generated
|
|
41320
|
+
|
|
41321
|
+
Example::
|
|
41322
|
+
|
|
41323
|
+
# The code below shows an example of how to instantiate this type.
|
|
41324
|
+
# The values are placeholders you should change.
|
|
41325
|
+
from aws_cdk import aws_ec2 as ec2
|
|
41326
|
+
|
|
41327
|
+
cfn_snapshot_block_public_access = ec2.CfnSnapshotBlockPublicAccess(self, "MyCfnSnapshotBlockPublicAccess",
|
|
41328
|
+
state="state"
|
|
41329
|
+
)
|
|
41330
|
+
'''
|
|
41331
|
+
|
|
41332
|
+
def __init__(
|
|
41333
|
+
self,
|
|
41334
|
+
scope: _constructs_77d1e7e8.Construct,
|
|
41335
|
+
id: builtins.str,
|
|
41336
|
+
*,
|
|
41337
|
+
state: builtins.str,
|
|
41338
|
+
) -> None:
|
|
41339
|
+
'''
|
|
41340
|
+
:param scope: Scope in which this resource is defined.
|
|
41341
|
+
:param id: Construct identifier for this resource (unique in its scope).
|
|
41342
|
+
:param state: The mode in which to enable block public access for snapshots for the Region. Specify one of the following values: - ``block-all-sharing`` - Prevents all public sharing of snapshots in the Region. Users in the account will no longer be able to request new public sharing. Additionally, snapshots that are already publicly shared are treated as private and they are no longer publicly available. .. epigraph:: If you enable block public access for snapshots in ``block-all-sharing`` mode, it does not change the permissions for snapshots that are already publicly shared. Instead, it prevents these snapshots from be publicly visible and publicly accessible. Therefore, the attributes for these snapshots still indicate that they are publicly shared, even though they are not publicly available. - ``block-new-sharing`` - Prevents only new public sharing of snapshots in the Region. Users in the account will no longer be able to request new public sharing. However, snapshots that are already publicly shared, remain publicly available.
|
|
41343
|
+
'''
|
|
41344
|
+
if __debug__:
|
|
41345
|
+
type_hints = typing.get_type_hints(_typecheckingstub__995a1a5869d618c24a624831b2ad5e725b73ab6134ba003d66411c58faf1187e)
|
|
41346
|
+
check_type(argname="argument scope", value=scope, expected_type=type_hints["scope"])
|
|
41347
|
+
check_type(argname="argument id", value=id, expected_type=type_hints["id"])
|
|
41348
|
+
props = CfnSnapshotBlockPublicAccessProps(state=state)
|
|
41349
|
+
|
|
41350
|
+
jsii.create(self.__class__, self, [scope, id, props])
|
|
41351
|
+
|
|
41352
|
+
@jsii.member(jsii_name="inspect")
|
|
41353
|
+
def inspect(self, inspector: _TreeInspector_488e0dd5) -> None:
|
|
41354
|
+
'''Examines the CloudFormation resource and discloses attributes.
|
|
41355
|
+
|
|
41356
|
+
:param inspector: tree inspector to collect and process attributes.
|
|
41357
|
+
'''
|
|
41358
|
+
if __debug__:
|
|
41359
|
+
type_hints = typing.get_type_hints(_typecheckingstub__856438104299447428cd955093ead73bce11b3f11c039205bcd5e194beb9b322)
|
|
41360
|
+
check_type(argname="argument inspector", value=inspector, expected_type=type_hints["inspector"])
|
|
41361
|
+
return typing.cast(None, jsii.invoke(self, "inspect", [inspector]))
|
|
41362
|
+
|
|
41363
|
+
@jsii.member(jsii_name="renderProperties")
|
|
41364
|
+
def _render_properties(
|
|
41365
|
+
self,
|
|
41366
|
+
props: typing.Mapping[builtins.str, typing.Any],
|
|
41367
|
+
) -> typing.Mapping[builtins.str, typing.Any]:
|
|
41368
|
+
'''
|
|
41369
|
+
:param props: -
|
|
41370
|
+
'''
|
|
41371
|
+
if __debug__:
|
|
41372
|
+
type_hints = typing.get_type_hints(_typecheckingstub__5986589d73c46b7a96fd8cdffc5dd783512e594c0f96cf249a7577ed130d1c96)
|
|
41373
|
+
check_type(argname="argument props", value=props, expected_type=type_hints["props"])
|
|
41374
|
+
return typing.cast(typing.Mapping[builtins.str, typing.Any], jsii.invoke(self, "renderProperties", [props]))
|
|
41375
|
+
|
|
41376
|
+
@jsii.python.classproperty
|
|
41377
|
+
@jsii.member(jsii_name="CFN_RESOURCE_TYPE_NAME")
|
|
41378
|
+
def CFN_RESOURCE_TYPE_NAME(cls) -> builtins.str:
|
|
41379
|
+
'''The CloudFormation resource type name for this resource class.'''
|
|
41380
|
+
return typing.cast(builtins.str, jsii.sget(cls, "CFN_RESOURCE_TYPE_NAME"))
|
|
41381
|
+
|
|
41382
|
+
@builtins.property
|
|
41383
|
+
@jsii.member(jsii_name="attrAccountId")
|
|
41384
|
+
def attr_account_id(self) -> builtins.str:
|
|
41385
|
+
'''``Ref`` returns the ID of the AWS account.
|
|
41386
|
+
|
|
41387
|
+
:cloudformationAttribute: AccountId
|
|
41388
|
+
'''
|
|
41389
|
+
return typing.cast(builtins.str, jsii.get(self, "attrAccountId"))
|
|
41390
|
+
|
|
41391
|
+
@builtins.property
|
|
41392
|
+
@jsii.member(jsii_name="cfnProperties")
|
|
41393
|
+
def _cfn_properties(self) -> typing.Mapping[builtins.str, typing.Any]:
|
|
41394
|
+
return typing.cast(typing.Mapping[builtins.str, typing.Any], jsii.get(self, "cfnProperties"))
|
|
41395
|
+
|
|
41396
|
+
@builtins.property
|
|
41397
|
+
@jsii.member(jsii_name="state")
|
|
41398
|
+
def state(self) -> builtins.str:
|
|
41399
|
+
'''The mode in which to enable block public access for snapshots for the Region.'''
|
|
41400
|
+
return typing.cast(builtins.str, jsii.get(self, "state"))
|
|
41401
|
+
|
|
41402
|
+
@state.setter
|
|
41403
|
+
def state(self, value: builtins.str) -> None:
|
|
41404
|
+
if __debug__:
|
|
41405
|
+
type_hints = typing.get_type_hints(_typecheckingstub__a4c8cd7c082b41fda937b1f6a6a1a59e489b437d498c2b75a58ae1582086af7b)
|
|
41406
|
+
check_type(argname="argument value", value=value, expected_type=type_hints["value"])
|
|
41407
|
+
jsii.set(self, "state", value)
|
|
41408
|
+
|
|
41409
|
+
|
|
41410
|
+
@jsii.data_type(
|
|
41411
|
+
jsii_type="aws-cdk-lib.aws_ec2.CfnSnapshotBlockPublicAccessProps",
|
|
41412
|
+
jsii_struct_bases=[],
|
|
41413
|
+
name_mapping={"state": "state"},
|
|
41414
|
+
)
|
|
41415
|
+
class CfnSnapshotBlockPublicAccessProps:
|
|
41416
|
+
def __init__(self, *, state: builtins.str) -> None:
|
|
41417
|
+
'''Properties for defining a ``CfnSnapshotBlockPublicAccess``.
|
|
41418
|
+
|
|
41419
|
+
:param state: The mode in which to enable block public access for snapshots for the Region. Specify one of the following values: - ``block-all-sharing`` - Prevents all public sharing of snapshots in the Region. Users in the account will no longer be able to request new public sharing. Additionally, snapshots that are already publicly shared are treated as private and they are no longer publicly available. .. epigraph:: If you enable block public access for snapshots in ``block-all-sharing`` mode, it does not change the permissions for snapshots that are already publicly shared. Instead, it prevents these snapshots from be publicly visible and publicly accessible. Therefore, the attributes for these snapshots still indicate that they are publicly shared, even though they are not publicly available. - ``block-new-sharing`` - Prevents only new public sharing of snapshots in the Region. Users in the account will no longer be able to request new public sharing. However, snapshots that are already publicly shared, remain publicly available.
|
|
41420
|
+
|
|
41421
|
+
:see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-snapshotblockpublicaccess.html
|
|
41422
|
+
:exampleMetadata: fixture=_generated
|
|
41423
|
+
|
|
41424
|
+
Example::
|
|
41425
|
+
|
|
41426
|
+
# The code below shows an example of how to instantiate this type.
|
|
41427
|
+
# The values are placeholders you should change.
|
|
41428
|
+
from aws_cdk import aws_ec2 as ec2
|
|
41429
|
+
|
|
41430
|
+
cfn_snapshot_block_public_access_props = ec2.CfnSnapshotBlockPublicAccessProps(
|
|
41431
|
+
state="state"
|
|
41432
|
+
)
|
|
41433
|
+
'''
|
|
41434
|
+
if __debug__:
|
|
41435
|
+
type_hints = typing.get_type_hints(_typecheckingstub__e66d65de803363af49ef406b4229988fd2680cccdc692b106aff40a80ff135ad)
|
|
41436
|
+
check_type(argname="argument state", value=state, expected_type=type_hints["state"])
|
|
41437
|
+
self._values: typing.Dict[builtins.str, typing.Any] = {
|
|
41438
|
+
"state": state,
|
|
41439
|
+
}
|
|
41440
|
+
|
|
41441
|
+
@builtins.property
|
|
41442
|
+
def state(self) -> builtins.str:
|
|
41443
|
+
'''The mode in which to enable block public access for snapshots for the Region.
|
|
41444
|
+
|
|
41445
|
+
Specify one of the following values:
|
|
41446
|
+
|
|
41447
|
+
- ``block-all-sharing`` - Prevents all public sharing of snapshots in the Region. Users in the account will no longer be able to request new public sharing. Additionally, snapshots that are already publicly shared are treated as private and they are no longer publicly available.
|
|
41448
|
+
|
|
41449
|
+
.. epigraph::
|
|
41450
|
+
|
|
41451
|
+
If you enable block public access for snapshots in ``block-all-sharing`` mode, it does not change the permissions for snapshots that are already publicly shared. Instead, it prevents these snapshots from be publicly visible and publicly accessible. Therefore, the attributes for these snapshots still indicate that they are publicly shared, even though they are not publicly available.
|
|
41452
|
+
|
|
41453
|
+
- ``block-new-sharing`` - Prevents only new public sharing of snapshots in the Region. Users in the account will no longer be able to request new public sharing. However, snapshots that are already publicly shared, remain publicly available.
|
|
41454
|
+
|
|
41455
|
+
:see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-snapshotblockpublicaccess.html#cfn-ec2-snapshotblockpublicaccess-state
|
|
41456
|
+
'''
|
|
41457
|
+
result = self._values.get("state")
|
|
41458
|
+
assert result is not None, "Required property 'state' is missing"
|
|
41459
|
+
return typing.cast(builtins.str, result)
|
|
41460
|
+
|
|
41461
|
+
def __eq__(self, rhs: typing.Any) -> builtins.bool:
|
|
41462
|
+
return isinstance(rhs, self.__class__) and rhs._values == self._values
|
|
41463
|
+
|
|
41464
|
+
def __ne__(self, rhs: typing.Any) -> builtins.bool:
|
|
41465
|
+
return not (rhs == self)
|
|
41466
|
+
|
|
41467
|
+
def __repr__(self) -> str:
|
|
41468
|
+
return "CfnSnapshotBlockPublicAccessProps(%s)" % ", ".join(
|
|
41469
|
+
k + "=" + repr(v) for k, v in self._values.items()
|
|
41470
|
+
)
|
|
41471
|
+
|
|
41472
|
+
|
|
41198
41473
|
@jsii.implements(_IInspectable_c2943556)
|
|
41199
41474
|
class CfnSpotFleet(
|
|
41200
41475
|
_CfnResource_9df397a6,
|
|
@@ -42495,7 +42770,7 @@ class CfnSpotFleet(
|
|
|
42495
42770
|
) -> None:
|
|
42496
42771
|
'''Describes a network interface.
|
|
42497
42772
|
|
|
42498
|
-
:param associate_public_ip_address: Indicates whether to assign a public IPv4 address to an instance you launch in a VPC. The public IP address can only be assigned to a network interface for eth0, and can only be assigned to a new network interface, not an existing one. You cannot specify more than one network interface in the request. If launching into a default subnet, the default value is ``true`` .
|
|
42773
|
+
:param associate_public_ip_address: Indicates whether to assign a public IPv4 address to an instance you launch in a VPC. The public IP address can only be assigned to a network interface for eth0, and can only be assigned to a new network interface, not an existing one. You cannot specify more than one network interface in the request. If launching into a default subnet, the default value is ``true`` . Starting on February 1, 2024, AWS will charge for all public IPv4 addresses, including public IPv4 addresses associated with running instances and Elastic IP addresses. For more information, see the *Public IPv4 Address* tab on the `Amazon VPC pricing page <https://docs.aws.amazon.com/vpc/pricing/>`_ .
|
|
42499
42774
|
:param delete_on_termination: Indicates whether the network interface is deleted when the instance is terminated.
|
|
42500
42775
|
:param description: The description of the network interface. Applies only if creating a network interface when launching an instance.
|
|
42501
42776
|
:param device_index: The position of the network interface in the attachment order. A primary network interface has a device index of 0. If you specify a network interface when launching an instance, you must specify the device index.
|
|
@@ -42582,6 +42857,8 @@ class CfnSpotFleet(
|
|
|
42582
42857
|
|
|
42583
42858
|
The public IP address can only be assigned to a network interface for eth0, and can only be assigned to a new network interface, not an existing one. You cannot specify more than one network interface in the request. If launching into a default subnet, the default value is ``true`` .
|
|
42584
42859
|
|
|
42860
|
+
Starting on February 1, 2024, AWS will charge for all public IPv4 addresses, including public IPv4 addresses associated with running instances and Elastic IP addresses. For more information, see the *Public IPv4 Address* tab on the `Amazon VPC pricing page <https://docs.aws.amazon.com/vpc/pricing/>`_ .
|
|
42861
|
+
|
|
42585
42862
|
:see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-spotfleet-instancenetworkinterfacespecification.html#cfn-ec2-spotfleet-instancenetworkinterfacespecification-associatepublicipaddress
|
|
42586
42863
|
'''
|
|
42587
42864
|
result = self._values.get("associate_public_ip_address")
|
|
@@ -44879,7 +45156,7 @@ class CfnSpotFleet(
|
|
|
44879
45156
|
:param spot_max_total_price: The maximum amount per hour for Spot Instances that you're willing to pay. You can use the ``spotMaxTotalPrice`` parameter, the ``onDemandMaxTotalPrice`` parameter, or both parameters to ensure that your fleet cost does not exceed your budget. If you set a maximum price per hour for the On-Demand Instances and Spot Instances in your request, Spot Fleet will launch instances until it reaches the maximum amount you're willing to pay. When the maximum amount you're willing to pay is reached, the fleet stops launching instances even if it hasn’t met the target capacity. .. epigraph:: If your fleet includes T instances that are configured as ``unlimited`` , and if their average CPU usage exceeds the baseline utilization, you will incur a charge for surplus credits. The ``spotMaxTotalPrice`` does not account for surplus credits, and, if you use surplus credits, your final cost might be higher than what you specified for ``spotMaxTotalPrice`` . For more information, see `Surplus credits can incur charges <https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/burstable-performance-instances-unlimited-mode-concepts.html#unlimited-mode-surplus-credits>`_ in the *EC2 User Guide* .
|
|
44880
45157
|
:param spot_price: The maximum price per unit hour that you are willing to pay for a Spot Instance. We do not recommend using this parameter because it can lead to increased interruptions. If you do not specify this parameter, you will pay the current Spot price. .. epigraph:: If you specify a maximum price, your instances will be interrupted more frequently than if you do not specify this parameter.
|
|
44881
45158
|
:param tag_specifications: The key-value pair for tagging the Spot Fleet request on creation. The value for ``ResourceType`` must be ``spot-fleet-request`` , otherwise the Spot Fleet request fails. To tag instances at launch, specify the tags in the `launch template <https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-launch-templates.html#create-launch-template>`_ (valid only if you use ``LaunchTemplateConfigs`` ) or in the ``[SpotFleetTagSpecification](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_SpotFleetTagSpecification.html)`` (valid only if you use ``LaunchSpecifications`` ). For information about tagging after launch, see `Tag your resources <https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Using_Tags.html#tag-resources>`_ .
|
|
44882
|
-
:param target_capacity_unit_type: The unit for the target capacity.
|
|
45159
|
+
:param target_capacity_unit_type: The unit for the target capacity. You can specify this parameter only when using attribute-based instance type selection. Default: ``units`` (the number of instances)
|
|
44883
45160
|
:param terminate_instances_with_expiration: Indicates whether running Spot Instances are terminated when the Spot Fleet request expires.
|
|
44884
45161
|
:param type: The type of request. Indicates whether the Spot Fleet only requests the target capacity or also attempts to maintain it. When this value is ``request`` , the Spot Fleet only places the required requests. It does not attempt to replenish Spot Instances if capacity is diminished, nor does it submit requests in alternative Spot pools if capacity is not available. When this value is ``maintain`` , the Spot Fleet maintains the target capacity. The Spot Fleet places the required requests to meet capacity and automatically replenishes any interrupted instances. Default: ``maintain`` . ``instant`` is listed but is not used by Spot Fleet.
|
|
44885
45162
|
:param valid_from: The start date and time of the request, in UTC format ( *YYYY* - *MM* - *DD* T *HH* : *MM* : *SS* Z). By default, Amazon EC2 starts fulfilling the request immediately.
|
|
@@ -45433,9 +45710,9 @@ class CfnSpotFleet(
|
|
|
45433
45710
|
|
|
45434
45711
|
@builtins.property
|
|
45435
45712
|
def target_capacity_unit_type(self) -> typing.Optional[builtins.str]:
|
|
45436
|
-
'''The unit for the target capacity.
|
|
45713
|
+
'''The unit for the target capacity. You can specify this parameter only when using attribute-based instance type selection.
|
|
45437
45714
|
|
|
45438
|
-
Default: ``units`` (
|
|
45715
|
+
Default: ``units`` (the number of instances)
|
|
45439
45716
|
|
|
45440
45717
|
:see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-spotfleet-spotfleetrequestconfigdata.html#cfn-ec2-spotfleet-spotfleetrequestconfigdata-targetcapacityunittype
|
|
45441
45718
|
'''
|
|
@@ -46368,7 +46645,7 @@ class CfnSubnet(
|
|
|
46368
46645
|
:param ipv6_cidr_block: The IPv6 CIDR block. If you specify ``AssignIpv6AddressOnCreation`` , you must also specify ``Ipv6CidrBlock`` .
|
|
46369
46646
|
:param ipv6_native: Indicates whether this is an IPv6 only subnet. For more information, see `Subnet basics <https://docs.aws.amazon.com/vpc/latest/userguide/VPC_Subnets.html#subnet-basics>`_ in the *Amazon Virtual Private Cloud User Guide* .
|
|
46370
46647
|
:param ipv6_netmask_length: An IPv6 netmask length for the subnet.
|
|
46371
|
-
:param map_public_ip_on_launch: Indicates whether instances launched in this subnet receive a public IPv4 address. The default value is ``false`` .
|
|
46648
|
+
:param map_public_ip_on_launch: Indicates whether instances launched in this subnet receive a public IPv4 address. The default value is ``false`` . Starting on February 1, 2024, AWS will charge for all public IPv4 addresses, including public IPv4 addresses associated with running instances and Elastic IP addresses. For more information, see the *Public IPv4 Address* tab on the `VPC pricing page <https://docs.aws.amazon.com/vpc/pricing/>`_ .
|
|
46372
46649
|
:param outpost_arn: The Amazon Resource Name (ARN) of the Outpost.
|
|
46373
46650
|
:param private_dns_name_options_on_launch: The hostname type for EC2 instances launched into this subnet and how DNS A and AAAA record queries to the instances should be handled. For more information, see `Amazon EC2 instance hostname types <https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-instance-naming.html>`_ in the *Amazon Elastic Compute Cloud User Guide* . Available options: - EnableResourceNameDnsAAAARecord (true | false) - EnableResourceNameDnsARecord (true | false) - HostnameType (ip-name | resource-name)
|
|
46374
46651
|
:param tags: Any tags assigned to the subnet.
|
|
@@ -46666,7 +46943,10 @@ class CfnSubnet(
|
|
|
46666
46943
|
def map_public_ip_on_launch(
|
|
46667
46944
|
self,
|
|
46668
46945
|
) -> typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]]:
|
|
46669
|
-
'''Indicates whether instances launched in this subnet receive a public IPv4 address.
|
|
46946
|
+
'''Indicates whether instances launched in this subnet receive a public IPv4 address.
|
|
46947
|
+
|
|
46948
|
+
The default value is ``false`` .
|
|
46949
|
+
'''
|
|
46670
46950
|
return typing.cast(typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]], jsii.get(self, "mapPublicIpOnLaunch"))
|
|
46671
46951
|
|
|
46672
46952
|
@map_public_ip_on_launch.setter
|
|
@@ -47253,7 +47533,7 @@ class CfnSubnetProps:
|
|
|
47253
47533
|
:param ipv6_cidr_block: The IPv6 CIDR block. If you specify ``AssignIpv6AddressOnCreation`` , you must also specify ``Ipv6CidrBlock`` .
|
|
47254
47534
|
:param ipv6_native: Indicates whether this is an IPv6 only subnet. For more information, see `Subnet basics <https://docs.aws.amazon.com/vpc/latest/userguide/VPC_Subnets.html#subnet-basics>`_ in the *Amazon Virtual Private Cloud User Guide* .
|
|
47255
47535
|
:param ipv6_netmask_length: An IPv6 netmask length for the subnet.
|
|
47256
|
-
:param map_public_ip_on_launch: Indicates whether instances launched in this subnet receive a public IPv4 address. The default value is ``false`` .
|
|
47536
|
+
:param map_public_ip_on_launch: Indicates whether instances launched in this subnet receive a public IPv4 address. The default value is ``false`` . Starting on February 1, 2024, AWS will charge for all public IPv4 addresses, including public IPv4 addresses associated with running instances and Elastic IP addresses. For more information, see the *Public IPv4 Address* tab on the `VPC pricing page <https://docs.aws.amazon.com/vpc/pricing/>`_ .
|
|
47257
47537
|
:param outpost_arn: The Amazon Resource Name (ARN) of the Outpost.
|
|
47258
47538
|
:param private_dns_name_options_on_launch: The hostname type for EC2 instances launched into this subnet and how DNS A and AAAA record queries to the instances should be handled. For more information, see `Amazon EC2 instance hostname types <https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-instance-naming.html>`_ in the *Amazon Elastic Compute Cloud User Guide* . Available options: - EnableResourceNameDnsAAAARecord (true | false) - EnableResourceNameDnsARecord (true | false) - HostnameType (ip-name | resource-name)
|
|
47259
47539
|
:param tags: Any tags assigned to the subnet.
|
|
@@ -47452,9 +47732,9 @@ class CfnSubnetProps:
|
|
|
47452
47732
|
def map_public_ip_on_launch(
|
|
47453
47733
|
self,
|
|
47454
47734
|
) -> typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]]:
|
|
47455
|
-
'''Indicates whether instances launched in this subnet receive a public IPv4 address.
|
|
47735
|
+
'''Indicates whether instances launched in this subnet receive a public IPv4 address. The default value is ``false`` .
|
|
47456
47736
|
|
|
47457
|
-
|
|
47737
|
+
Starting on February 1, 2024, AWS will charge for all public IPv4 addresses, including public IPv4 addresses associated with running instances and Elastic IP addresses. For more information, see the *Public IPv4 Address* tab on the `VPC pricing page <https://docs.aws.amazon.com/vpc/pricing/>`_ .
|
|
47458
47738
|
|
|
47459
47739
|
:see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-subnet.html#cfn-ec2-subnet-mappubliciponlaunch
|
|
47460
47740
|
'''
|
|
@@ -65926,6 +66206,52 @@ class _IIpAddressesProxy:
|
|
|
65926
66206
|
typing.cast(typing.Any, IIpAddresses).__jsii_proxy_class__ = lambda : _IIpAddressesProxy
|
|
65927
66207
|
|
|
65928
66208
|
|
|
66209
|
+
@jsii.interface(jsii_type="aws-cdk-lib.aws_ec2.IKeyPair")
|
|
66210
|
+
class IKeyPair(_IResource_c80c4260, typing_extensions.Protocol):
|
|
66211
|
+
'''An EC2 Key Pair.'''
|
|
66212
|
+
|
|
66213
|
+
@builtins.property
|
|
66214
|
+
@jsii.member(jsii_name="keyPairName")
|
|
66215
|
+
def key_pair_name(self) -> builtins.str:
|
|
66216
|
+
'''The name of the key pair.
|
|
66217
|
+
|
|
66218
|
+
:attribute: true
|
|
66219
|
+
'''
|
|
66220
|
+
...
|
|
66221
|
+
|
|
66222
|
+
@builtins.property
|
|
66223
|
+
@jsii.member(jsii_name="type")
|
|
66224
|
+
def type(self) -> typing.Optional["KeyPairType"]:
|
|
66225
|
+
'''The type of the key pair.'''
|
|
66226
|
+
...
|
|
66227
|
+
|
|
66228
|
+
|
|
66229
|
+
class _IKeyPairProxy(
|
|
66230
|
+
jsii.proxy_for(_IResource_c80c4260), # type: ignore[misc]
|
|
66231
|
+
):
|
|
66232
|
+
'''An EC2 Key Pair.'''
|
|
66233
|
+
|
|
66234
|
+
__jsii_type__: typing.ClassVar[str] = "aws-cdk-lib.aws_ec2.IKeyPair"
|
|
66235
|
+
|
|
66236
|
+
@builtins.property
|
|
66237
|
+
@jsii.member(jsii_name="keyPairName")
|
|
66238
|
+
def key_pair_name(self) -> builtins.str:
|
|
66239
|
+
'''The name of the key pair.
|
|
66240
|
+
|
|
66241
|
+
:attribute: true
|
|
66242
|
+
'''
|
|
66243
|
+
return typing.cast(builtins.str, jsii.get(self, "keyPairName"))
|
|
66244
|
+
|
|
66245
|
+
@builtins.property
|
|
66246
|
+
@jsii.member(jsii_name="type")
|
|
66247
|
+
def type(self) -> typing.Optional["KeyPairType"]:
|
|
66248
|
+
'''The type of the key pair.'''
|
|
66249
|
+
return typing.cast(typing.Optional["KeyPairType"], jsii.get(self, "type"))
|
|
66250
|
+
|
|
66251
|
+
# Adding a "__jsii_proxy_class__(): typing.Type" function to the interface
|
|
66252
|
+
typing.cast(typing.Any, IKeyPair).__jsii_proxy_class__ = lambda : _IKeyPairProxy
|
|
66253
|
+
|
|
66254
|
+
|
|
65929
66255
|
@jsii.interface(jsii_type="aws-cdk-lib.aws_ec2.ILaunchTemplate")
|
|
65930
66256
|
class ILaunchTemplate(_IResource_c80c4260, typing_extensions.Protocol):
|
|
65931
66257
|
'''Interface for LaunchTemplate-like objects.'''
|
|
@@ -70013,6 +70339,7 @@ class Instance(
|
|
|
70013
70339
|
init_options: typing.Optional[typing.Union[ApplyCloudFormationInitOptions, typing.Dict[builtins.str, typing.Any]]] = None,
|
|
70014
70340
|
instance_name: typing.Optional[builtins.str] = None,
|
|
70015
70341
|
key_name: typing.Optional[builtins.str] = None,
|
|
70342
|
+
key_pair: typing.Optional[IKeyPair] = None,
|
|
70016
70343
|
private_ip_address: typing.Optional[builtins.str] = None,
|
|
70017
70344
|
propagate_tags_to_volume_on_creation: typing.Optional[builtins.bool] = None,
|
|
70018
70345
|
require_imdsv2: typing.Optional[builtins.bool] = None,
|
|
@@ -70039,7 +70366,8 @@ class Instance(
|
|
|
70039
70366
|
:param init: Apply the given CloudFormation Init configuration to the instance at startup. Default: - no CloudFormation init
|
|
70040
70367
|
:param init_options: Use the given options for applying CloudFormation Init. Describes the configsets to use and the timeout to wait Default: - default options
|
|
70041
70368
|
:param instance_name: The name of the instance. Default: - CDK generated name
|
|
70042
|
-
:param key_name: Name of SSH keypair to grant access to instance. Default: - No SSH access will be possible.
|
|
70369
|
+
:param key_name: (deprecated) Name of SSH keypair to grant access to instance. Default: - No SSH access will be possible.
|
|
70370
|
+
:param key_pair: The SSH keypair to grant access to the instance. Default: - No SSH access will be possible.
|
|
70043
70371
|
:param private_ip_address: Defines a private IP address to associate with an instance. Private IP should be available within the VPC that the instance is build within. Default: - no association
|
|
70044
70372
|
:param propagate_tags_to_volume_on_creation: Propagate the EC2 instance tags to the EBS volumes. Default: - false
|
|
70045
70373
|
:param require_imdsv2: Whether IMDSv2 should be required on this instance. Default: - false
|
|
@@ -70069,6 +70397,7 @@ class Instance(
|
|
|
70069
70397
|
init_options=init_options,
|
|
70070
70398
|
instance_name=instance_name,
|
|
70071
70399
|
key_name=key_name,
|
|
70400
|
+
key_pair=key_pair,
|
|
70072
70401
|
private_ip_address=private_ip_address,
|
|
70073
70402
|
propagate_tags_to_volume_on_creation=propagate_tags_to_volume_on_creation,
|
|
70074
70403
|
require_imdsv2=require_imdsv2,
|
|
@@ -70760,6 +71089,7 @@ class InstanceInitiatedShutdownBehavior(enum.Enum):
|
|
|
70760
71089
|
"init_options": "initOptions",
|
|
70761
71090
|
"instance_name": "instanceName",
|
|
70762
71091
|
"key_name": "keyName",
|
|
71092
|
+
"key_pair": "keyPair",
|
|
70763
71093
|
"private_ip_address": "privateIpAddress",
|
|
70764
71094
|
"propagate_tags_to_volume_on_creation": "propagateTagsToVolumeOnCreation",
|
|
70765
71095
|
"require_imdsv2": "requireImdsv2",
|
|
@@ -70789,6 +71119,7 @@ class InstanceProps:
|
|
|
70789
71119
|
init_options: typing.Optional[typing.Union[ApplyCloudFormationInitOptions, typing.Dict[builtins.str, typing.Any]]] = None,
|
|
70790
71120
|
instance_name: typing.Optional[builtins.str] = None,
|
|
70791
71121
|
key_name: typing.Optional[builtins.str] = None,
|
|
71122
|
+
key_pair: typing.Optional[IKeyPair] = None,
|
|
70792
71123
|
private_ip_address: typing.Optional[builtins.str] = None,
|
|
70793
71124
|
propagate_tags_to_volume_on_creation: typing.Optional[builtins.bool] = None,
|
|
70794
71125
|
require_imdsv2: typing.Optional[builtins.bool] = None,
|
|
@@ -70814,7 +71145,8 @@ class InstanceProps:
|
|
|
70814
71145
|
:param init: Apply the given CloudFormation Init configuration to the instance at startup. Default: - no CloudFormation init
|
|
70815
71146
|
:param init_options: Use the given options for applying CloudFormation Init. Describes the configsets to use and the timeout to wait Default: - default options
|
|
70816
71147
|
:param instance_name: The name of the instance. Default: - CDK generated name
|
|
70817
|
-
:param key_name: Name of SSH keypair to grant access to instance. Default: - No SSH access will be possible.
|
|
71148
|
+
:param key_name: (deprecated) Name of SSH keypair to grant access to instance. Default: - No SSH access will be possible.
|
|
71149
|
+
:param key_pair: The SSH keypair to grant access to the instance. Default: - No SSH access will be possible.
|
|
70818
71150
|
:param private_ip_address: Defines a private IP address to associate with an instance. Private IP should be available within the VPC that the instance is build within. Default: - no association
|
|
70819
71151
|
:param propagate_tags_to_volume_on_creation: Propagate the EC2 instance tags to the EBS volumes. Default: - false
|
|
70820
71152
|
:param require_imdsv2: Whether IMDSv2 should be required on this instance. Default: - false
|
|
@@ -70864,6 +71196,7 @@ class InstanceProps:
|
|
|
70864
71196
|
check_type(argname="argument init_options", value=init_options, expected_type=type_hints["init_options"])
|
|
70865
71197
|
check_type(argname="argument instance_name", value=instance_name, expected_type=type_hints["instance_name"])
|
|
70866
71198
|
check_type(argname="argument key_name", value=key_name, expected_type=type_hints["key_name"])
|
|
71199
|
+
check_type(argname="argument key_pair", value=key_pair, expected_type=type_hints["key_pair"])
|
|
70867
71200
|
check_type(argname="argument private_ip_address", value=private_ip_address, expected_type=type_hints["private_ip_address"])
|
|
70868
71201
|
check_type(argname="argument propagate_tags_to_volume_on_creation", value=propagate_tags_to_volume_on_creation, expected_type=type_hints["propagate_tags_to_volume_on_creation"])
|
|
70869
71202
|
check_type(argname="argument require_imdsv2", value=require_imdsv2, expected_type=type_hints["require_imdsv2"])
|
|
@@ -70898,6 +71231,8 @@ class InstanceProps:
|
|
|
70898
71231
|
self._values["instance_name"] = instance_name
|
|
70899
71232
|
if key_name is not None:
|
|
70900
71233
|
self._values["key_name"] = key_name
|
|
71234
|
+
if key_pair is not None:
|
|
71235
|
+
self._values["key_pair"] = key_pair
|
|
70901
71236
|
if private_ip_address is not None:
|
|
70902
71237
|
self._values["private_ip_address"] = private_ip_address
|
|
70903
71238
|
if propagate_tags_to_volume_on_creation is not None:
|
|
@@ -71029,13 +71364,26 @@ class InstanceProps:
|
|
|
71029
71364
|
|
|
71030
71365
|
@builtins.property
|
|
71031
71366
|
def key_name(self) -> typing.Optional[builtins.str]:
|
|
71032
|
-
'''Name of SSH keypair to grant access to instance.
|
|
71367
|
+
'''(deprecated) Name of SSH keypair to grant access to instance.
|
|
71033
71368
|
|
|
71034
71369
|
:default: - No SSH access will be possible.
|
|
71370
|
+
|
|
71371
|
+
:deprecated: - Use {@link keyPair } instead
|
|
71372
|
+
|
|
71373
|
+
:stability: deprecated
|
|
71035
71374
|
'''
|
|
71036
71375
|
result = self._values.get("key_name")
|
|
71037
71376
|
return typing.cast(typing.Optional[builtins.str], result)
|
|
71038
71377
|
|
|
71378
|
+
@builtins.property
|
|
71379
|
+
def key_pair(self) -> typing.Optional[IKeyPair]:
|
|
71380
|
+
'''The SSH keypair to grant access to the instance.
|
|
71381
|
+
|
|
71382
|
+
:default: - No SSH access will be possible.
|
|
71383
|
+
'''
|
|
71384
|
+
result = self._values.get("key_pair")
|
|
71385
|
+
return typing.cast(typing.Optional[IKeyPair], result)
|
|
71386
|
+
|
|
71039
71387
|
@builtins.property
|
|
71040
71388
|
def private_ip_address(self) -> typing.Optional[builtins.str]:
|
|
71041
71389
|
'''Defines a private IP address to associate with an instance.
|
|
@@ -73202,6 +73550,485 @@ class IpAddresses(metaclass=jsii.JSIIMeta, jsii_type="aws-cdk-lib.aws_ec2.IpAddr
|
|
|
73202
73550
|
return typing.cast(IIpAddresses, jsii.sinvoke(cls, "cidr", [cidr_block]))
|
|
73203
73551
|
|
|
73204
73552
|
|
|
73553
|
+
@jsii.implements(IKeyPair)
|
|
73554
|
+
class KeyPair(
|
|
73555
|
+
_Resource_45bc6135,
|
|
73556
|
+
metaclass=jsii.JSIIMeta,
|
|
73557
|
+
jsii_type="aws-cdk-lib.aws_ec2.KeyPair",
|
|
73558
|
+
):
|
|
73559
|
+
'''An EC2 Key Pair.
|
|
73560
|
+
|
|
73561
|
+
:resource: AWS::EC2::KeyPair
|
|
73562
|
+
:exampleMetadata: infused
|
|
73563
|
+
|
|
73564
|
+
Example::
|
|
73565
|
+
|
|
73566
|
+
key_pair = ec2.KeyPair.from_key_pair_attributes(self, "KeyPair",
|
|
73567
|
+
key_pair_name="the-keypair-name",
|
|
73568
|
+
type=ec2.KeyPairType.RSA
|
|
73569
|
+
)
|
|
73570
|
+
'''
|
|
73571
|
+
|
|
73572
|
+
def __init__(
|
|
73573
|
+
self,
|
|
73574
|
+
scope: _constructs_77d1e7e8.Construct,
|
|
73575
|
+
id: builtins.str,
|
|
73576
|
+
*,
|
|
73577
|
+
format: typing.Optional["KeyPairFormat"] = None,
|
|
73578
|
+
key_pair_name: typing.Optional[builtins.str] = None,
|
|
73579
|
+
public_key_material: typing.Optional[builtins.str] = None,
|
|
73580
|
+
type: typing.Optional["KeyPairType"] = None,
|
|
73581
|
+
account: typing.Optional[builtins.str] = None,
|
|
73582
|
+
environment_from_arn: typing.Optional[builtins.str] = None,
|
|
73583
|
+
physical_name: typing.Optional[builtins.str] = None,
|
|
73584
|
+
region: typing.Optional[builtins.str] = None,
|
|
73585
|
+
) -> None:
|
|
73586
|
+
'''
|
|
73587
|
+
:param scope: -
|
|
73588
|
+
:param id: -
|
|
73589
|
+
:param format: The format of the key pair. Default: PEM
|
|
73590
|
+
:param key_pair_name: A unique name for the key pair. Default: A generated name
|
|
73591
|
+
:param public_key_material: The public key material. If this is provided the key is considered "imported". For imported keys, it is assumed that you already have the private key material so the private key material will not be returned or stored in AWS Systems Manager Parameter Store. Default: a public and private key will be generated
|
|
73592
|
+
:param type: The type of key pair. Default: RSA (ignored if keyMaterial is provided)
|
|
73593
|
+
:param account: The AWS account ID this resource belongs to. Default: - the resource is in the same account as the stack it belongs to
|
|
73594
|
+
:param environment_from_arn: ARN to deduce region and account from. The ARN is parsed and the account and region are taken from the ARN. This should be used for imported resources. Cannot be supplied together with either ``account`` or ``region``. Default: - take environment from ``account``, ``region`` parameters, or use Stack environment.
|
|
73595
|
+
:param physical_name: The value passed in by users to the physical name prop of the resource. - ``undefined`` implies that a physical name will be allocated by CloudFormation during deployment. - a concrete value implies a specific physical name - ``PhysicalName.GENERATE_IF_NEEDED`` is a marker that indicates that a physical will only be generated by the CDK if it is needed for cross-environment references. Otherwise, it will be allocated by CloudFormation. Default: - The physical name will be allocated by CloudFormation at deployment time
|
|
73596
|
+
:param region: The AWS region this resource belongs to. Default: - the resource is in the same region as the stack it belongs to
|
|
73597
|
+
'''
|
|
73598
|
+
if __debug__:
|
|
73599
|
+
type_hints = typing.get_type_hints(_typecheckingstub__723c12f80f8f69703f74949dec0a4305b19d6d27efff9d36830815d8e604283c)
|
|
73600
|
+
check_type(argname="argument scope", value=scope, expected_type=type_hints["scope"])
|
|
73601
|
+
check_type(argname="argument id", value=id, expected_type=type_hints["id"])
|
|
73602
|
+
props = KeyPairProps(
|
|
73603
|
+
format=format,
|
|
73604
|
+
key_pair_name=key_pair_name,
|
|
73605
|
+
public_key_material=public_key_material,
|
|
73606
|
+
type=type,
|
|
73607
|
+
account=account,
|
|
73608
|
+
environment_from_arn=environment_from_arn,
|
|
73609
|
+
physical_name=physical_name,
|
|
73610
|
+
region=region,
|
|
73611
|
+
)
|
|
73612
|
+
|
|
73613
|
+
jsii.create(self.__class__, self, [scope, id, props])
|
|
73614
|
+
|
|
73615
|
+
@jsii.member(jsii_name="fromKeyPairAttributes")
|
|
73616
|
+
@builtins.classmethod
|
|
73617
|
+
def from_key_pair_attributes(
|
|
73618
|
+
cls,
|
|
73619
|
+
scope: _constructs_77d1e7e8.Construct,
|
|
73620
|
+
id: builtins.str,
|
|
73621
|
+
*,
|
|
73622
|
+
key_pair_name: builtins.str,
|
|
73623
|
+
type: typing.Optional["KeyPairType"] = None,
|
|
73624
|
+
) -> IKeyPair:
|
|
73625
|
+
'''Imports a key pair with a name and optional type.
|
|
73626
|
+
|
|
73627
|
+
:param scope: -
|
|
73628
|
+
:param id: -
|
|
73629
|
+
:param key_pair_name: The unique name of the key pair.
|
|
73630
|
+
:param type: The type of the key pair. Default: no type specified
|
|
73631
|
+
'''
|
|
73632
|
+
if __debug__:
|
|
73633
|
+
type_hints = typing.get_type_hints(_typecheckingstub__12d377269b610c395f1583e904a11636e952288b5e3f85a3cc1d865eb21f7715)
|
|
73634
|
+
check_type(argname="argument scope", value=scope, expected_type=type_hints["scope"])
|
|
73635
|
+
check_type(argname="argument id", value=id, expected_type=type_hints["id"])
|
|
73636
|
+
attrs = KeyPairAttributes(key_pair_name=key_pair_name, type=type)
|
|
73637
|
+
|
|
73638
|
+
return typing.cast(IKeyPair, jsii.sinvoke(cls, "fromKeyPairAttributes", [scope, id, attrs]))
|
|
73639
|
+
|
|
73640
|
+
@jsii.member(jsii_name="fromKeyPairName")
|
|
73641
|
+
@builtins.classmethod
|
|
73642
|
+
def from_key_pair_name(
|
|
73643
|
+
cls,
|
|
73644
|
+
scope: _constructs_77d1e7e8.Construct,
|
|
73645
|
+
id: builtins.str,
|
|
73646
|
+
key_pair_name: builtins.str,
|
|
73647
|
+
) -> IKeyPair:
|
|
73648
|
+
'''Imports a key pair based on the name.
|
|
73649
|
+
|
|
73650
|
+
:param scope: -
|
|
73651
|
+
:param id: -
|
|
73652
|
+
:param key_pair_name: -
|
|
73653
|
+
'''
|
|
73654
|
+
if __debug__:
|
|
73655
|
+
type_hints = typing.get_type_hints(_typecheckingstub__7bcad8d69b7ac63eda9832fb42b2e78a5f5570d5ccd5ac181f25d55202b6f74c)
|
|
73656
|
+
check_type(argname="argument scope", value=scope, expected_type=type_hints["scope"])
|
|
73657
|
+
check_type(argname="argument id", value=id, expected_type=type_hints["id"])
|
|
73658
|
+
check_type(argname="argument key_pair_name", value=key_pair_name, expected_type=type_hints["key_pair_name"])
|
|
73659
|
+
return typing.cast(IKeyPair, jsii.sinvoke(cls, "fromKeyPairName", [scope, id, key_pair_name]))
|
|
73660
|
+
|
|
73661
|
+
@builtins.property
|
|
73662
|
+
@jsii.member(jsii_name="format")
|
|
73663
|
+
def format(self) -> "KeyPairFormat":
|
|
73664
|
+
'''The format of the key pair.'''
|
|
73665
|
+
return typing.cast("KeyPairFormat", jsii.get(self, "format"))
|
|
73666
|
+
|
|
73667
|
+
@builtins.property
|
|
73668
|
+
@jsii.member(jsii_name="hasImportedMaterial")
|
|
73669
|
+
def has_imported_material(self) -> builtins.bool:
|
|
73670
|
+
'''Whether the key material was imported.
|
|
73671
|
+
|
|
73672
|
+
Keys with imported material do not have their private key material stored
|
|
73673
|
+
or returned automatically.
|
|
73674
|
+
'''
|
|
73675
|
+
return typing.cast(builtins.bool, jsii.get(self, "hasImportedMaterial"))
|
|
73676
|
+
|
|
73677
|
+
@builtins.property
|
|
73678
|
+
@jsii.member(jsii_name="keyPairFingerprint")
|
|
73679
|
+
def key_pair_fingerprint(self) -> builtins.str:
|
|
73680
|
+
'''The fingerprint of the key pair.
|
|
73681
|
+
|
|
73682
|
+
:attribute: true
|
|
73683
|
+
'''
|
|
73684
|
+
return typing.cast(builtins.str, jsii.get(self, "keyPairFingerprint"))
|
|
73685
|
+
|
|
73686
|
+
@builtins.property
|
|
73687
|
+
@jsii.member(jsii_name="keyPairId")
|
|
73688
|
+
def key_pair_id(self) -> builtins.str:
|
|
73689
|
+
'''The unique ID of the key pair.
|
|
73690
|
+
|
|
73691
|
+
:attribute: true
|
|
73692
|
+
'''
|
|
73693
|
+
return typing.cast(builtins.str, jsii.get(self, "keyPairId"))
|
|
73694
|
+
|
|
73695
|
+
@builtins.property
|
|
73696
|
+
@jsii.member(jsii_name="keyPairName")
|
|
73697
|
+
def key_pair_name(self) -> builtins.str:
|
|
73698
|
+
'''The unique name of the key pair.
|
|
73699
|
+
|
|
73700
|
+
:attribute: true
|
|
73701
|
+
'''
|
|
73702
|
+
return typing.cast(builtins.str, jsii.get(self, "keyPairName"))
|
|
73703
|
+
|
|
73704
|
+
@builtins.property
|
|
73705
|
+
@jsii.member(jsii_name="privateKey")
|
|
73706
|
+
def private_key(self) -> _IStringParameter_f2b707f9:
|
|
73707
|
+
'''The Systems Manager Parameter Store parameter with the pair's private key material.'''
|
|
73708
|
+
return typing.cast(_IStringParameter_f2b707f9, jsii.get(self, "privateKey"))
|
|
73709
|
+
|
|
73710
|
+
@builtins.property
|
|
73711
|
+
@jsii.member(jsii_name="type")
|
|
73712
|
+
def type(self) -> typing.Optional["KeyPairType"]:
|
|
73713
|
+
'''The type of the key pair.'''
|
|
73714
|
+
return typing.cast(typing.Optional["KeyPairType"], jsii.get(self, "type"))
|
|
73715
|
+
|
|
73716
|
+
|
|
73717
|
+
@jsii.data_type(
|
|
73718
|
+
jsii_type="aws-cdk-lib.aws_ec2.KeyPairAttributes",
|
|
73719
|
+
jsii_struct_bases=[],
|
|
73720
|
+
name_mapping={"key_pair_name": "keyPairName", "type": "type"},
|
|
73721
|
+
)
|
|
73722
|
+
class KeyPairAttributes:
|
|
73723
|
+
def __init__(
|
|
73724
|
+
self,
|
|
73725
|
+
*,
|
|
73726
|
+
key_pair_name: builtins.str,
|
|
73727
|
+
type: typing.Optional["KeyPairType"] = None,
|
|
73728
|
+
) -> None:
|
|
73729
|
+
'''Attributes of a Key Pair.
|
|
73730
|
+
|
|
73731
|
+
:param key_pair_name: The unique name of the key pair.
|
|
73732
|
+
:param type: The type of the key pair. Default: no type specified
|
|
73733
|
+
|
|
73734
|
+
:exampleMetadata: infused
|
|
73735
|
+
|
|
73736
|
+
Example::
|
|
73737
|
+
|
|
73738
|
+
key_pair = ec2.KeyPair.from_key_pair_attributes(self, "KeyPair",
|
|
73739
|
+
key_pair_name="the-keypair-name",
|
|
73740
|
+
type=ec2.KeyPairType.RSA
|
|
73741
|
+
)
|
|
73742
|
+
'''
|
|
73743
|
+
if __debug__:
|
|
73744
|
+
type_hints = typing.get_type_hints(_typecheckingstub__1c0b1d2207b185c203475dcfffe01485ff1d6dd460f5c0308f88afbd59667178)
|
|
73745
|
+
check_type(argname="argument key_pair_name", value=key_pair_name, expected_type=type_hints["key_pair_name"])
|
|
73746
|
+
check_type(argname="argument type", value=type, expected_type=type_hints["type"])
|
|
73747
|
+
self._values: typing.Dict[builtins.str, typing.Any] = {
|
|
73748
|
+
"key_pair_name": key_pair_name,
|
|
73749
|
+
}
|
|
73750
|
+
if type is not None:
|
|
73751
|
+
self._values["type"] = type
|
|
73752
|
+
|
|
73753
|
+
@builtins.property
|
|
73754
|
+
def key_pair_name(self) -> builtins.str:
|
|
73755
|
+
'''The unique name of the key pair.'''
|
|
73756
|
+
result = self._values.get("key_pair_name")
|
|
73757
|
+
assert result is not None, "Required property 'key_pair_name' is missing"
|
|
73758
|
+
return typing.cast(builtins.str, result)
|
|
73759
|
+
|
|
73760
|
+
@builtins.property
|
|
73761
|
+
def type(self) -> typing.Optional["KeyPairType"]:
|
|
73762
|
+
'''The type of the key pair.
|
|
73763
|
+
|
|
73764
|
+
:default: no type specified
|
|
73765
|
+
'''
|
|
73766
|
+
result = self._values.get("type")
|
|
73767
|
+
return typing.cast(typing.Optional["KeyPairType"], result)
|
|
73768
|
+
|
|
73769
|
+
def __eq__(self, rhs: typing.Any) -> builtins.bool:
|
|
73770
|
+
return isinstance(rhs, self.__class__) and rhs._values == self._values
|
|
73771
|
+
|
|
73772
|
+
def __ne__(self, rhs: typing.Any) -> builtins.bool:
|
|
73773
|
+
return not (rhs == self)
|
|
73774
|
+
|
|
73775
|
+
def __repr__(self) -> str:
|
|
73776
|
+
return "KeyPairAttributes(%s)" % ", ".join(
|
|
73777
|
+
k + "=" + repr(v) for k, v in self._values.items()
|
|
73778
|
+
)
|
|
73779
|
+
|
|
73780
|
+
|
|
73781
|
+
@jsii.enum(jsii_type="aws-cdk-lib.aws_ec2.KeyPairFormat")
|
|
73782
|
+
class KeyPairFormat(enum.Enum):
|
|
73783
|
+
'''The format of the Key Pair.
|
|
73784
|
+
|
|
73785
|
+
:exampleMetadata: infused
|
|
73786
|
+
|
|
73787
|
+
Example::
|
|
73788
|
+
|
|
73789
|
+
# vpc: ec2.Vpc
|
|
73790
|
+
# instance_type: ec2.InstanceType
|
|
73791
|
+
|
|
73792
|
+
|
|
73793
|
+
key_pair = ec2.KeyPair(self, "KeyPair",
|
|
73794
|
+
type=ec2.KeyPairType.ED25519,
|
|
73795
|
+
format=ec2.KeyPairFormat.PEM
|
|
73796
|
+
)
|
|
73797
|
+
instance = ec2.Instance(self, "Instance",
|
|
73798
|
+
vpc=vpc,
|
|
73799
|
+
instance_type=instance_type,
|
|
73800
|
+
machine_image=ec2.MachineImage.latest_amazon_linux2023(),
|
|
73801
|
+
# Use the custom key pair
|
|
73802
|
+
key_pair=key_pair
|
|
73803
|
+
)
|
|
73804
|
+
'''
|
|
73805
|
+
|
|
73806
|
+
PPK = "PPK"
|
|
73807
|
+
'''A PPK file, typically used with PuTTY.'''
|
|
73808
|
+
PEM = "PEM"
|
|
73809
|
+
'''A PEM file.'''
|
|
73810
|
+
|
|
73811
|
+
|
|
73812
|
+
@jsii.data_type(
|
|
73813
|
+
jsii_type="aws-cdk-lib.aws_ec2.KeyPairProps",
|
|
73814
|
+
jsii_struct_bases=[_ResourceProps_15a65b4e],
|
|
73815
|
+
name_mapping={
|
|
73816
|
+
"account": "account",
|
|
73817
|
+
"environment_from_arn": "environmentFromArn",
|
|
73818
|
+
"physical_name": "physicalName",
|
|
73819
|
+
"region": "region",
|
|
73820
|
+
"format": "format",
|
|
73821
|
+
"key_pair_name": "keyPairName",
|
|
73822
|
+
"public_key_material": "publicKeyMaterial",
|
|
73823
|
+
"type": "type",
|
|
73824
|
+
},
|
|
73825
|
+
)
|
|
73826
|
+
class KeyPairProps(_ResourceProps_15a65b4e):
|
|
73827
|
+
def __init__(
|
|
73828
|
+
self,
|
|
73829
|
+
*,
|
|
73830
|
+
account: typing.Optional[builtins.str] = None,
|
|
73831
|
+
environment_from_arn: typing.Optional[builtins.str] = None,
|
|
73832
|
+
physical_name: typing.Optional[builtins.str] = None,
|
|
73833
|
+
region: typing.Optional[builtins.str] = None,
|
|
73834
|
+
format: typing.Optional[KeyPairFormat] = None,
|
|
73835
|
+
key_pair_name: typing.Optional[builtins.str] = None,
|
|
73836
|
+
public_key_material: typing.Optional[builtins.str] = None,
|
|
73837
|
+
type: typing.Optional["KeyPairType"] = None,
|
|
73838
|
+
) -> None:
|
|
73839
|
+
'''The properties of a Key Pair.
|
|
73840
|
+
|
|
73841
|
+
:param account: The AWS account ID this resource belongs to. Default: - the resource is in the same account as the stack it belongs to
|
|
73842
|
+
:param environment_from_arn: ARN to deduce region and account from. The ARN is parsed and the account and region are taken from the ARN. This should be used for imported resources. Cannot be supplied together with either ``account`` or ``region``. Default: - take environment from ``account``, ``region`` parameters, or use Stack environment.
|
|
73843
|
+
:param physical_name: The value passed in by users to the physical name prop of the resource. - ``undefined`` implies that a physical name will be allocated by CloudFormation during deployment. - a concrete value implies a specific physical name - ``PhysicalName.GENERATE_IF_NEEDED`` is a marker that indicates that a physical will only be generated by the CDK if it is needed for cross-environment references. Otherwise, it will be allocated by CloudFormation. Default: - The physical name will be allocated by CloudFormation at deployment time
|
|
73844
|
+
:param region: The AWS region this resource belongs to. Default: - the resource is in the same region as the stack it belongs to
|
|
73845
|
+
:param format: The format of the key pair. Default: PEM
|
|
73846
|
+
:param key_pair_name: A unique name for the key pair. Default: A generated name
|
|
73847
|
+
:param public_key_material: The public key material. If this is provided the key is considered "imported". For imported keys, it is assumed that you already have the private key material so the private key material will not be returned or stored in AWS Systems Manager Parameter Store. Default: a public and private key will be generated
|
|
73848
|
+
:param type: The type of key pair. Default: RSA (ignored if keyMaterial is provided)
|
|
73849
|
+
|
|
73850
|
+
:exampleMetadata: infused
|
|
73851
|
+
|
|
73852
|
+
Example::
|
|
73853
|
+
|
|
73854
|
+
# vpc: ec2.Vpc
|
|
73855
|
+
# instance_type: ec2.InstanceType
|
|
73856
|
+
|
|
73857
|
+
|
|
73858
|
+
key_pair = ec2.KeyPair(self, "KeyPair",
|
|
73859
|
+
type=ec2.KeyPairType.ED25519,
|
|
73860
|
+
format=ec2.KeyPairFormat.PEM
|
|
73861
|
+
)
|
|
73862
|
+
instance = ec2.Instance(self, "Instance",
|
|
73863
|
+
vpc=vpc,
|
|
73864
|
+
instance_type=instance_type,
|
|
73865
|
+
machine_image=ec2.MachineImage.latest_amazon_linux2023(),
|
|
73866
|
+
# Use the custom key pair
|
|
73867
|
+
key_pair=key_pair
|
|
73868
|
+
)
|
|
73869
|
+
'''
|
|
73870
|
+
if __debug__:
|
|
73871
|
+
type_hints = typing.get_type_hints(_typecheckingstub__7af23eb9509f044383945f68d46a72f0c94f0542177c255d3d31b42f5e9aa98c)
|
|
73872
|
+
check_type(argname="argument account", value=account, expected_type=type_hints["account"])
|
|
73873
|
+
check_type(argname="argument environment_from_arn", value=environment_from_arn, expected_type=type_hints["environment_from_arn"])
|
|
73874
|
+
check_type(argname="argument physical_name", value=physical_name, expected_type=type_hints["physical_name"])
|
|
73875
|
+
check_type(argname="argument region", value=region, expected_type=type_hints["region"])
|
|
73876
|
+
check_type(argname="argument format", value=format, expected_type=type_hints["format"])
|
|
73877
|
+
check_type(argname="argument key_pair_name", value=key_pair_name, expected_type=type_hints["key_pair_name"])
|
|
73878
|
+
check_type(argname="argument public_key_material", value=public_key_material, expected_type=type_hints["public_key_material"])
|
|
73879
|
+
check_type(argname="argument type", value=type, expected_type=type_hints["type"])
|
|
73880
|
+
self._values: typing.Dict[builtins.str, typing.Any] = {}
|
|
73881
|
+
if account is not None:
|
|
73882
|
+
self._values["account"] = account
|
|
73883
|
+
if environment_from_arn is not None:
|
|
73884
|
+
self._values["environment_from_arn"] = environment_from_arn
|
|
73885
|
+
if physical_name is not None:
|
|
73886
|
+
self._values["physical_name"] = physical_name
|
|
73887
|
+
if region is not None:
|
|
73888
|
+
self._values["region"] = region
|
|
73889
|
+
if format is not None:
|
|
73890
|
+
self._values["format"] = format
|
|
73891
|
+
if key_pair_name is not None:
|
|
73892
|
+
self._values["key_pair_name"] = key_pair_name
|
|
73893
|
+
if public_key_material is not None:
|
|
73894
|
+
self._values["public_key_material"] = public_key_material
|
|
73895
|
+
if type is not None:
|
|
73896
|
+
self._values["type"] = type
|
|
73897
|
+
|
|
73898
|
+
@builtins.property
|
|
73899
|
+
def account(self) -> typing.Optional[builtins.str]:
|
|
73900
|
+
'''The AWS account ID this resource belongs to.
|
|
73901
|
+
|
|
73902
|
+
:default: - the resource is in the same account as the stack it belongs to
|
|
73903
|
+
'''
|
|
73904
|
+
result = self._values.get("account")
|
|
73905
|
+
return typing.cast(typing.Optional[builtins.str], result)
|
|
73906
|
+
|
|
73907
|
+
@builtins.property
|
|
73908
|
+
def environment_from_arn(self) -> typing.Optional[builtins.str]:
|
|
73909
|
+
'''ARN to deduce region and account from.
|
|
73910
|
+
|
|
73911
|
+
The ARN is parsed and the account and region are taken from the ARN.
|
|
73912
|
+
This should be used for imported resources.
|
|
73913
|
+
|
|
73914
|
+
Cannot be supplied together with either ``account`` or ``region``.
|
|
73915
|
+
|
|
73916
|
+
:default: - take environment from ``account``, ``region`` parameters, or use Stack environment.
|
|
73917
|
+
'''
|
|
73918
|
+
result = self._values.get("environment_from_arn")
|
|
73919
|
+
return typing.cast(typing.Optional[builtins.str], result)
|
|
73920
|
+
|
|
73921
|
+
@builtins.property
|
|
73922
|
+
def physical_name(self) -> typing.Optional[builtins.str]:
|
|
73923
|
+
'''The value passed in by users to the physical name prop of the resource.
|
|
73924
|
+
|
|
73925
|
+
- ``undefined`` implies that a physical name will be allocated by
|
|
73926
|
+
CloudFormation during deployment.
|
|
73927
|
+
- a concrete value implies a specific physical name
|
|
73928
|
+
- ``PhysicalName.GENERATE_IF_NEEDED`` is a marker that indicates that a physical will only be generated
|
|
73929
|
+
by the CDK if it is needed for cross-environment references. Otherwise, it will be allocated by CloudFormation.
|
|
73930
|
+
|
|
73931
|
+
:default: - The physical name will be allocated by CloudFormation at deployment time
|
|
73932
|
+
'''
|
|
73933
|
+
result = self._values.get("physical_name")
|
|
73934
|
+
return typing.cast(typing.Optional[builtins.str], result)
|
|
73935
|
+
|
|
73936
|
+
@builtins.property
|
|
73937
|
+
def region(self) -> typing.Optional[builtins.str]:
|
|
73938
|
+
'''The AWS region this resource belongs to.
|
|
73939
|
+
|
|
73940
|
+
:default: - the resource is in the same region as the stack it belongs to
|
|
73941
|
+
'''
|
|
73942
|
+
result = self._values.get("region")
|
|
73943
|
+
return typing.cast(typing.Optional[builtins.str], result)
|
|
73944
|
+
|
|
73945
|
+
@builtins.property
|
|
73946
|
+
def format(self) -> typing.Optional[KeyPairFormat]:
|
|
73947
|
+
'''The format of the key pair.
|
|
73948
|
+
|
|
73949
|
+
:default: PEM
|
|
73950
|
+
'''
|
|
73951
|
+
result = self._values.get("format")
|
|
73952
|
+
return typing.cast(typing.Optional[KeyPairFormat], result)
|
|
73953
|
+
|
|
73954
|
+
@builtins.property
|
|
73955
|
+
def key_pair_name(self) -> typing.Optional[builtins.str]:
|
|
73956
|
+
'''A unique name for the key pair.
|
|
73957
|
+
|
|
73958
|
+
:default: A generated name
|
|
73959
|
+
'''
|
|
73960
|
+
result = self._values.get("key_pair_name")
|
|
73961
|
+
return typing.cast(typing.Optional[builtins.str], result)
|
|
73962
|
+
|
|
73963
|
+
@builtins.property
|
|
73964
|
+
def public_key_material(self) -> typing.Optional[builtins.str]:
|
|
73965
|
+
'''The public key material.
|
|
73966
|
+
|
|
73967
|
+
If this is provided the key is considered "imported". For imported
|
|
73968
|
+
keys, it is assumed that you already have the private key material
|
|
73969
|
+
so the private key material will not be returned or stored in
|
|
73970
|
+
AWS Systems Manager Parameter Store.
|
|
73971
|
+
|
|
73972
|
+
:default: a public and private key will be generated
|
|
73973
|
+
'''
|
|
73974
|
+
result = self._values.get("public_key_material")
|
|
73975
|
+
return typing.cast(typing.Optional[builtins.str], result)
|
|
73976
|
+
|
|
73977
|
+
@builtins.property
|
|
73978
|
+
def type(self) -> typing.Optional["KeyPairType"]:
|
|
73979
|
+
'''The type of key pair.
|
|
73980
|
+
|
|
73981
|
+
:default: RSA (ignored if keyMaterial is provided)
|
|
73982
|
+
'''
|
|
73983
|
+
result = self._values.get("type")
|
|
73984
|
+
return typing.cast(typing.Optional["KeyPairType"], result)
|
|
73985
|
+
|
|
73986
|
+
def __eq__(self, rhs: typing.Any) -> builtins.bool:
|
|
73987
|
+
return isinstance(rhs, self.__class__) and rhs._values == self._values
|
|
73988
|
+
|
|
73989
|
+
def __ne__(self, rhs: typing.Any) -> builtins.bool:
|
|
73990
|
+
return not (rhs == self)
|
|
73991
|
+
|
|
73992
|
+
def __repr__(self) -> str:
|
|
73993
|
+
return "KeyPairProps(%s)" % ", ".join(
|
|
73994
|
+
k + "=" + repr(v) for k, v in self._values.items()
|
|
73995
|
+
)
|
|
73996
|
+
|
|
73997
|
+
|
|
73998
|
+
@jsii.enum(jsii_type="aws-cdk-lib.aws_ec2.KeyPairType")
|
|
73999
|
+
class KeyPairType(enum.Enum):
|
|
74000
|
+
'''The type of the key pair.
|
|
74001
|
+
|
|
74002
|
+
:exampleMetadata: infused
|
|
74003
|
+
|
|
74004
|
+
Example::
|
|
74005
|
+
|
|
74006
|
+
# vpc: ec2.Vpc
|
|
74007
|
+
# instance_type: ec2.InstanceType
|
|
74008
|
+
|
|
74009
|
+
|
|
74010
|
+
key_pair = ec2.KeyPair(self, "KeyPair",
|
|
74011
|
+
type=ec2.KeyPairType.ED25519,
|
|
74012
|
+
format=ec2.KeyPairFormat.PEM
|
|
74013
|
+
)
|
|
74014
|
+
instance = ec2.Instance(self, "Instance",
|
|
74015
|
+
vpc=vpc,
|
|
74016
|
+
instance_type=instance_type,
|
|
74017
|
+
machine_image=ec2.MachineImage.latest_amazon_linux2023(),
|
|
74018
|
+
# Use the custom key pair
|
|
74019
|
+
key_pair=key_pair
|
|
74020
|
+
)
|
|
74021
|
+
'''
|
|
74022
|
+
|
|
74023
|
+
RSA = "RSA"
|
|
74024
|
+
'''An RSA key.'''
|
|
74025
|
+
ED25519 = "ED25519"
|
|
74026
|
+
'''An ED25519 key.
|
|
74027
|
+
|
|
74028
|
+
Note that ED25519 keys are not supported for Windows instances.
|
|
74029
|
+
'''
|
|
74030
|
+
|
|
74031
|
+
|
|
73205
74032
|
@jsii.implements(ILaunchTemplate, _IGrantable_71c4f5de, IConnectable)
|
|
73206
74033
|
class LaunchTemplate(
|
|
73207
74034
|
_Resource_45bc6135,
|
|
@@ -73254,6 +74081,7 @@ class LaunchTemplate(
|
|
|
73254
74081
|
instance_profile: typing.Optional[_IInstanceProfile_10d5ce2c] = None,
|
|
73255
74082
|
instance_type: typing.Optional[InstanceType] = None,
|
|
73256
74083
|
key_name: typing.Optional[builtins.str] = None,
|
|
74084
|
+
key_pair: typing.Optional[IKeyPair] = None,
|
|
73257
74085
|
launch_template_name: typing.Optional[builtins.str] = None,
|
|
73258
74086
|
machine_image: typing.Optional[IMachineImage] = None,
|
|
73259
74087
|
nitro_enclave_enabled: typing.Optional[builtins.bool] = None,
|
|
@@ -73281,7 +74109,8 @@ class LaunchTemplate(
|
|
|
73281
74109
|
:param instance_metadata_tags: Set to enabled to allow access to instance tags from the instance metadata. Set to disabled to turn off access to instance tags from the instance metadata. Default: false
|
|
73282
74110
|
:param instance_profile: The instance profile used to pass role information to EC2 instances. Note: You can provide an instanceProfile or a role, but not both. Default: - No instance profile
|
|
73283
74111
|
:param instance_type: Type of instance to launch. Default: - This Launch Template does not specify a default Instance Type.
|
|
73284
|
-
:param key_name: Name of SSH keypair to grant access to instance. Default: - No SSH access will be possible.
|
|
74112
|
+
:param key_name: (deprecated) Name of SSH keypair to grant access to instance. Default: - No SSH access will be possible.
|
|
74113
|
+
:param key_pair: The SSK keypair to grant access to the instance. Default: - No SSH access will be possible.
|
|
73285
74114
|
:param launch_template_name: Name for this launch template. Default: Automatically generated name
|
|
73286
74115
|
:param machine_image: The AMI that will be used by instances. Default: - This Launch Template does not specify a default AMI.
|
|
73287
74116
|
:param nitro_enclave_enabled: If this parameter is set to true, the instance is enabled for AWS Nitro Enclaves; otherwise, it is not enabled for AWS Nitro Enclaves. Default: - Enablement of Nitro enclaves is not specified in the launch template; defaulting to false.
|
|
@@ -73312,6 +74141,7 @@ class LaunchTemplate(
|
|
|
73312
74141
|
instance_profile=instance_profile,
|
|
73313
74142
|
instance_type=instance_type,
|
|
73314
74143
|
key_name=key_name,
|
|
74144
|
+
key_pair=key_pair,
|
|
73315
74145
|
launch_template_name=launch_template_name,
|
|
73316
74146
|
machine_image=machine_image,
|
|
73317
74147
|
nitro_enclave_enabled=nitro_enclave_enabled,
|
|
@@ -73619,6 +74449,7 @@ class LaunchTemplateHttpTokens(enum.Enum):
|
|
|
73619
74449
|
"instance_profile": "instanceProfile",
|
|
73620
74450
|
"instance_type": "instanceType",
|
|
73621
74451
|
"key_name": "keyName",
|
|
74452
|
+
"key_pair": "keyPair",
|
|
73622
74453
|
"launch_template_name": "launchTemplateName",
|
|
73623
74454
|
"machine_image": "machineImage",
|
|
73624
74455
|
"nitro_enclave_enabled": "nitroEnclaveEnabled",
|
|
@@ -73649,6 +74480,7 @@ class LaunchTemplateProps:
|
|
|
73649
74480
|
instance_profile: typing.Optional[_IInstanceProfile_10d5ce2c] = None,
|
|
73650
74481
|
instance_type: typing.Optional[InstanceType] = None,
|
|
73651
74482
|
key_name: typing.Optional[builtins.str] = None,
|
|
74483
|
+
key_pair: typing.Optional[IKeyPair] = None,
|
|
73652
74484
|
launch_template_name: typing.Optional[builtins.str] = None,
|
|
73653
74485
|
machine_image: typing.Optional[IMachineImage] = None,
|
|
73654
74486
|
nitro_enclave_enabled: typing.Optional[builtins.bool] = None,
|
|
@@ -73675,7 +74507,8 @@ class LaunchTemplateProps:
|
|
|
73675
74507
|
:param instance_metadata_tags: Set to enabled to allow access to instance tags from the instance metadata. Set to disabled to turn off access to instance tags from the instance metadata. Default: false
|
|
73676
74508
|
:param instance_profile: The instance profile used to pass role information to EC2 instances. Note: You can provide an instanceProfile or a role, but not both. Default: - No instance profile
|
|
73677
74509
|
:param instance_type: Type of instance to launch. Default: - This Launch Template does not specify a default Instance Type.
|
|
73678
|
-
:param key_name: Name of SSH keypair to grant access to instance. Default: - No SSH access will be possible.
|
|
74510
|
+
:param key_name: (deprecated) Name of SSH keypair to grant access to instance. Default: - No SSH access will be possible.
|
|
74511
|
+
:param key_pair: The SSK keypair to grant access to the instance. Default: - No SSH access will be possible.
|
|
73679
74512
|
:param launch_template_name: Name for this launch template. Default: Automatically generated name
|
|
73680
74513
|
:param machine_image: The AMI that will be used by instances. Default: - This Launch Template does not specify a default AMI.
|
|
73681
74514
|
:param nitro_enclave_enabled: If this parameter is set to true, the instance is enabled for AWS Nitro Enclaves; otherwise, it is not enabled for AWS Nitro Enclaves. Default: - Enablement of Nitro enclaves is not specified in the launch template; defaulting to false.
|
|
@@ -73726,6 +74559,7 @@ class LaunchTemplateProps:
|
|
|
73726
74559
|
check_type(argname="argument instance_profile", value=instance_profile, expected_type=type_hints["instance_profile"])
|
|
73727
74560
|
check_type(argname="argument instance_type", value=instance_type, expected_type=type_hints["instance_type"])
|
|
73728
74561
|
check_type(argname="argument key_name", value=key_name, expected_type=type_hints["key_name"])
|
|
74562
|
+
check_type(argname="argument key_pair", value=key_pair, expected_type=type_hints["key_pair"])
|
|
73729
74563
|
check_type(argname="argument launch_template_name", value=launch_template_name, expected_type=type_hints["launch_template_name"])
|
|
73730
74564
|
check_type(argname="argument machine_image", value=machine_image, expected_type=type_hints["machine_image"])
|
|
73731
74565
|
check_type(argname="argument nitro_enclave_enabled", value=nitro_enclave_enabled, expected_type=type_hints["nitro_enclave_enabled"])
|
|
@@ -73767,6 +74601,8 @@ class LaunchTemplateProps:
|
|
|
73767
74601
|
self._values["instance_type"] = instance_type
|
|
73768
74602
|
if key_name is not None:
|
|
73769
74603
|
self._values["key_name"] = key_name
|
|
74604
|
+
if key_pair is not None:
|
|
74605
|
+
self._values["key_pair"] = key_pair
|
|
73770
74606
|
if launch_template_name is not None:
|
|
73771
74607
|
self._values["launch_template_name"] = launch_template_name
|
|
73772
74608
|
if machine_image is not None:
|
|
@@ -73961,13 +74797,26 @@ class LaunchTemplateProps:
|
|
|
73961
74797
|
|
|
73962
74798
|
@builtins.property
|
|
73963
74799
|
def key_name(self) -> typing.Optional[builtins.str]:
|
|
73964
|
-
'''Name of SSH keypair to grant access to instance.
|
|
74800
|
+
'''(deprecated) Name of SSH keypair to grant access to instance.
|
|
73965
74801
|
|
|
73966
74802
|
:default: - No SSH access will be possible.
|
|
74803
|
+
|
|
74804
|
+
:deprecated: - Use ``keyPair`` instead.
|
|
74805
|
+
|
|
74806
|
+
:stability: deprecated
|
|
73967
74807
|
'''
|
|
73968
74808
|
result = self._values.get("key_name")
|
|
73969
74809
|
return typing.cast(typing.Optional[builtins.str], result)
|
|
73970
74810
|
|
|
74811
|
+
@builtins.property
|
|
74812
|
+
def key_pair(self) -> typing.Optional[IKeyPair]:
|
|
74813
|
+
'''The SSK keypair to grant access to the instance.
|
|
74814
|
+
|
|
74815
|
+
:default: - No SSH access will be possible.
|
|
74816
|
+
'''
|
|
74817
|
+
result = self._values.get("key_pair")
|
|
74818
|
+
return typing.cast(typing.Optional[IKeyPair], result)
|
|
74819
|
+
|
|
73971
74820
|
@builtins.property
|
|
73972
74821
|
def launch_template_name(self) -> typing.Optional[builtins.str]:
|
|
73973
74822
|
'''Name for this launch template.
|
|
@@ -75872,6 +76721,7 @@ class NatInstanceImage(
|
|
|
75872
76721
|
"instance_type": "instanceType",
|
|
75873
76722
|
"default_allowed_traffic": "defaultAllowedTraffic",
|
|
75874
76723
|
"key_name": "keyName",
|
|
76724
|
+
"key_pair": "keyPair",
|
|
75875
76725
|
"machine_image": "machineImage",
|
|
75876
76726
|
"security_group": "securityGroup",
|
|
75877
76727
|
},
|
|
@@ -75883,6 +76733,7 @@ class NatInstanceProps:
|
|
|
75883
76733
|
instance_type: InstanceType,
|
|
75884
76734
|
default_allowed_traffic: typing.Optional["NatTrafficDirection"] = None,
|
|
75885
76735
|
key_name: typing.Optional[builtins.str] = None,
|
|
76736
|
+
key_pair: typing.Optional[IKeyPair] = None,
|
|
75886
76737
|
machine_image: typing.Optional[IMachineImage] = None,
|
|
75887
76738
|
security_group: typing.Optional[ISecurityGroup] = None,
|
|
75888
76739
|
) -> None:
|
|
@@ -75890,7 +76741,8 @@ class NatInstanceProps:
|
|
|
75890
76741
|
|
|
75891
76742
|
:param instance_type: Instance type of the NAT instance.
|
|
75892
76743
|
:param default_allowed_traffic: Direction to allow all traffic through the NAT instance by default. By default, inbound and outbound traffic is allowed. If you set this to another value than INBOUND_AND_OUTBOUND, you must configure the NAT instance's security groups in another way, either by passing in a fully configured Security Group using the ``securityGroup`` property, or by configuring it using the ``.securityGroup`` or ``.connections`` members after passing the NAT Instance Provider to a Vpc. Default: NatTrafficDirection.INBOUND_AND_OUTBOUND
|
|
75893
|
-
:param key_name: Name of SSH keypair to grant access to instance. Default: - No SSH access will be possible.
|
|
76744
|
+
:param key_name: (deprecated) Name of SSH keypair to grant access to instance. Default: - No SSH access will be possible.
|
|
76745
|
+
:param key_pair: The SSH keypair to grant access to the instance. Default: - No SSH access will be possible.
|
|
75894
76746
|
:param machine_image: The machine image (AMI) to use. By default, will do an AMI lookup for the latest NAT instance image. If you have a specific AMI ID you want to use, pass a ``GenericLinuxImage``. For example:: ec2.NatProvider.instance({ instanceType: new ec2.InstanceType('t3.micro'), machineImage: new ec2.GenericLinuxImage({ 'us-east-2': 'ami-0f9c61b5a562a16af' }) }) Default: - Latest NAT instance image
|
|
75895
76747
|
:param security_group: Security Group for NAT instances. Default: - A new security group will be created
|
|
75896
76748
|
|
|
@@ -75915,6 +76767,7 @@ class NatInstanceProps:
|
|
|
75915
76767
|
check_type(argname="argument instance_type", value=instance_type, expected_type=type_hints["instance_type"])
|
|
75916
76768
|
check_type(argname="argument default_allowed_traffic", value=default_allowed_traffic, expected_type=type_hints["default_allowed_traffic"])
|
|
75917
76769
|
check_type(argname="argument key_name", value=key_name, expected_type=type_hints["key_name"])
|
|
76770
|
+
check_type(argname="argument key_pair", value=key_pair, expected_type=type_hints["key_pair"])
|
|
75918
76771
|
check_type(argname="argument machine_image", value=machine_image, expected_type=type_hints["machine_image"])
|
|
75919
76772
|
check_type(argname="argument security_group", value=security_group, expected_type=type_hints["security_group"])
|
|
75920
76773
|
self._values: typing.Dict[builtins.str, typing.Any] = {
|
|
@@ -75924,6 +76777,8 @@ class NatInstanceProps:
|
|
|
75924
76777
|
self._values["default_allowed_traffic"] = default_allowed_traffic
|
|
75925
76778
|
if key_name is not None:
|
|
75926
76779
|
self._values["key_name"] = key_name
|
|
76780
|
+
if key_pair is not None:
|
|
76781
|
+
self._values["key_pair"] = key_pair
|
|
75927
76782
|
if machine_image is not None:
|
|
75928
76783
|
self._values["machine_image"] = machine_image
|
|
75929
76784
|
if security_group is not None:
|
|
@@ -75955,13 +76810,26 @@ class NatInstanceProps:
|
|
|
75955
76810
|
|
|
75956
76811
|
@builtins.property
|
|
75957
76812
|
def key_name(self) -> typing.Optional[builtins.str]:
|
|
75958
|
-
'''Name of SSH keypair to grant access to instance.
|
|
76813
|
+
'''(deprecated) Name of SSH keypair to grant access to instance.
|
|
75959
76814
|
|
|
75960
76815
|
:default: - No SSH access will be possible.
|
|
76816
|
+
|
|
76817
|
+
:deprecated: - Use ``keyPair`` instead.
|
|
76818
|
+
|
|
76819
|
+
:stability: deprecated
|
|
75961
76820
|
'''
|
|
75962
76821
|
result = self._values.get("key_name")
|
|
75963
76822
|
return typing.cast(typing.Optional[builtins.str], result)
|
|
75964
76823
|
|
|
76824
|
+
@builtins.property
|
|
76825
|
+
def key_pair(self) -> typing.Optional[IKeyPair]:
|
|
76826
|
+
'''The SSH keypair to grant access to the instance.
|
|
76827
|
+
|
|
76828
|
+
:default: - No SSH access will be possible.
|
|
76829
|
+
'''
|
|
76830
|
+
result = self._values.get("key_pair")
|
|
76831
|
+
return typing.cast(typing.Optional[IKeyPair], result)
|
|
76832
|
+
|
|
75965
76833
|
@builtins.property
|
|
75966
76834
|
def machine_image(self) -> typing.Optional[IMachineImage]:
|
|
75967
76835
|
'''The machine image (AMI) to use.
|
|
@@ -76059,6 +76927,7 @@ class NatProvider(
|
|
|
76059
76927
|
instance_type: InstanceType,
|
|
76060
76928
|
default_allowed_traffic: typing.Optional["NatTrafficDirection"] = None,
|
|
76061
76929
|
key_name: typing.Optional[builtins.str] = None,
|
|
76930
|
+
key_pair: typing.Optional[IKeyPair] = None,
|
|
76062
76931
|
machine_image: typing.Optional[IMachineImage] = None,
|
|
76063
76932
|
security_group: typing.Optional[ISecurityGroup] = None,
|
|
76064
76933
|
) -> "NatInstanceProvider":
|
|
@@ -76072,7 +76941,8 @@ class NatProvider(
|
|
|
76072
76941
|
|
|
76073
76942
|
:param instance_type: Instance type of the NAT instance.
|
|
76074
76943
|
:param default_allowed_traffic: Direction to allow all traffic through the NAT instance by default. By default, inbound and outbound traffic is allowed. If you set this to another value than INBOUND_AND_OUTBOUND, you must configure the NAT instance's security groups in another way, either by passing in a fully configured Security Group using the ``securityGroup`` property, or by configuring it using the ``.securityGroup`` or ``.connections`` members after passing the NAT Instance Provider to a Vpc. Default: NatTrafficDirection.INBOUND_AND_OUTBOUND
|
|
76075
|
-
:param key_name: Name of SSH keypair to grant access to instance. Default: - No SSH access will be possible.
|
|
76944
|
+
:param key_name: (deprecated) Name of SSH keypair to grant access to instance. Default: - No SSH access will be possible.
|
|
76945
|
+
:param key_pair: The SSH keypair to grant access to the instance. Default: - No SSH access will be possible.
|
|
76076
76946
|
:param machine_image: The machine image (AMI) to use. By default, will do an AMI lookup for the latest NAT instance image. If you have a specific AMI ID you want to use, pass a ``GenericLinuxImage``. For example:: ec2.NatProvider.instance({ instanceType: new ec2.InstanceType('t3.micro'), machineImage: new ec2.GenericLinuxImage({ 'us-east-2': 'ami-0f9c61b5a562a16af' }) }) Default: - Latest NAT instance image
|
|
76077
76947
|
:param security_group: Security Group for NAT instances. Default: - A new security group will be created
|
|
76078
76948
|
|
|
@@ -76082,6 +76952,7 @@ class NatProvider(
|
|
|
76082
76952
|
instance_type=instance_type,
|
|
76083
76953
|
default_allowed_traffic=default_allowed_traffic,
|
|
76084
76954
|
key_name=key_name,
|
|
76955
|
+
key_pair=key_pair,
|
|
76085
76956
|
machine_image=machine_image,
|
|
76086
76957
|
security_group=security_group,
|
|
76087
76958
|
)
|
|
@@ -88101,13 +88972,15 @@ class NatInstanceProvider(
|
|
|
88101
88972
|
instance_type: InstanceType,
|
|
88102
88973
|
default_allowed_traffic: typing.Optional[NatTrafficDirection] = None,
|
|
88103
88974
|
key_name: typing.Optional[builtins.str] = None,
|
|
88975
|
+
key_pair: typing.Optional[IKeyPair] = None,
|
|
88104
88976
|
machine_image: typing.Optional[IMachineImage] = None,
|
|
88105
88977
|
security_group: typing.Optional[ISecurityGroup] = None,
|
|
88106
88978
|
) -> None:
|
|
88107
88979
|
'''
|
|
88108
88980
|
:param instance_type: Instance type of the NAT instance.
|
|
88109
88981
|
:param default_allowed_traffic: Direction to allow all traffic through the NAT instance by default. By default, inbound and outbound traffic is allowed. If you set this to another value than INBOUND_AND_OUTBOUND, you must configure the NAT instance's security groups in another way, either by passing in a fully configured Security Group using the ``securityGroup`` property, or by configuring it using the ``.securityGroup`` or ``.connections`` members after passing the NAT Instance Provider to a Vpc. Default: NatTrafficDirection.INBOUND_AND_OUTBOUND
|
|
88110
|
-
:param key_name: Name of SSH keypair to grant access to instance. Default: - No SSH access will be possible.
|
|
88982
|
+
:param key_name: (deprecated) Name of SSH keypair to grant access to instance. Default: - No SSH access will be possible.
|
|
88983
|
+
:param key_pair: The SSH keypair to grant access to the instance. Default: - No SSH access will be possible.
|
|
88111
88984
|
:param machine_image: The machine image (AMI) to use. By default, will do an AMI lookup for the latest NAT instance image. If you have a specific AMI ID you want to use, pass a ``GenericLinuxImage``. For example:: ec2.NatProvider.instance({ instanceType: new ec2.InstanceType('t3.micro'), machineImage: new ec2.GenericLinuxImage({ 'us-east-2': 'ami-0f9c61b5a562a16af' }) }) Default: - Latest NAT instance image
|
|
88112
88985
|
:param security_group: Security Group for NAT instances. Default: - A new security group will be created
|
|
88113
88986
|
'''
|
|
@@ -88115,6 +88988,7 @@ class NatInstanceProvider(
|
|
|
88115
88988
|
instance_type=instance_type,
|
|
88116
88989
|
default_allowed_traffic=default_allowed_traffic,
|
|
88117
88990
|
key_name=key_name,
|
|
88991
|
+
key_pair=key_pair,
|
|
88118
88992
|
machine_image=machine_image,
|
|
88119
88993
|
security_group=security_group,
|
|
88120
88994
|
)
|
|
@@ -90004,6 +90878,8 @@ __all__ = [
|
|
|
90004
90878
|
"CfnSecurityGroupIngress",
|
|
90005
90879
|
"CfnSecurityGroupIngressProps",
|
|
90006
90880
|
"CfnSecurityGroupProps",
|
|
90881
|
+
"CfnSnapshotBlockPublicAccess",
|
|
90882
|
+
"CfnSnapshotBlockPublicAccessProps",
|
|
90007
90883
|
"CfnSpotFleet",
|
|
90008
90884
|
"CfnSpotFleetProps",
|
|
90009
90885
|
"CfnSubnet",
|
|
@@ -90146,6 +91022,7 @@ __all__ = [
|
|
|
90146
91022
|
"IInterfaceVpcEndpoint",
|
|
90147
91023
|
"IInterfaceVpcEndpointService",
|
|
90148
91024
|
"IIpAddresses",
|
|
91025
|
+
"IKeyPair",
|
|
90149
91026
|
"ILaunchTemplate",
|
|
90150
91027
|
"IMachineImage",
|
|
90151
91028
|
"INetworkAcl",
|
|
@@ -90200,6 +91077,11 @@ __all__ = [
|
|
|
90200
91077
|
"InterfaceVpcEndpointProps",
|
|
90201
91078
|
"InterfaceVpcEndpointService",
|
|
90202
91079
|
"IpAddresses",
|
|
91080
|
+
"KeyPair",
|
|
91081
|
+
"KeyPairAttributes",
|
|
91082
|
+
"KeyPairFormat",
|
|
91083
|
+
"KeyPairProps",
|
|
91084
|
+
"KeyPairType",
|
|
90203
91085
|
"LaunchTemplate",
|
|
90204
91086
|
"LaunchTemplateAttributes",
|
|
90205
91087
|
"LaunchTemplateHttpTokens",
|
|
@@ -95255,6 +96137,7 @@ def _typecheckingstub__418aadfc2c6984f0ac75cd67e36ca76f23d9cf7bc23846cf55d7b3cdb
|
|
|
95255
96137
|
*,
|
|
95256
96138
|
route_table_id: builtins.str,
|
|
95257
96139
|
carrier_gateway_id: typing.Optional[builtins.str] = None,
|
|
96140
|
+
core_network_arn: typing.Optional[builtins.str] = None,
|
|
95258
96141
|
destination_cidr_block: typing.Optional[builtins.str] = None,
|
|
95259
96142
|
destination_ipv6_cidr_block: typing.Optional[builtins.str] = None,
|
|
95260
96143
|
destination_prefix_list_id: typing.Optional[builtins.str] = None,
|
|
@@ -95295,6 +96178,12 @@ def _typecheckingstub__355c5c80f08453332882507836cf0441e37ed4a5c9fa46ef1c415dd73
|
|
|
95295
96178
|
"""Type checking stubs"""
|
|
95296
96179
|
pass
|
|
95297
96180
|
|
|
96181
|
+
def _typecheckingstub__535edefe9ec250f819eacd60779bcf6b8d4afa9cd9b9ec8142ddfb03034be5ac(
|
|
96182
|
+
value: typing.Optional[builtins.str],
|
|
96183
|
+
) -> None:
|
|
96184
|
+
"""Type checking stubs"""
|
|
96185
|
+
pass
|
|
96186
|
+
|
|
95298
96187
|
def _typecheckingstub__1ae05f819fd9822a84fcac1033a9bd983835b0e75eb0d432aa89d5973585cc3e(
|
|
95299
96188
|
value: typing.Optional[builtins.str],
|
|
95300
96189
|
) -> None:
|
|
@@ -95371,6 +96260,7 @@ def _typecheckingstub__f90e7814d59b7c562ab4b24d54461eba6a4c88fbd5451ba2b2b0adf84
|
|
|
95371
96260
|
*,
|
|
95372
96261
|
route_table_id: builtins.str,
|
|
95373
96262
|
carrier_gateway_id: typing.Optional[builtins.str] = None,
|
|
96263
|
+
core_network_arn: typing.Optional[builtins.str] = None,
|
|
95374
96264
|
destination_cidr_block: typing.Optional[builtins.str] = None,
|
|
95375
96265
|
destination_ipv6_cidr_block: typing.Optional[builtins.str] = None,
|
|
95376
96266
|
destination_prefix_list_id: typing.Optional[builtins.str] = None,
|
|
@@ -95753,6 +96643,40 @@ def _typecheckingstub__a21c9d7bd7156fd2dd5a288945bbf548f4ab7a9ee07ba36ecb2062ab6
|
|
|
95753
96643
|
"""Type checking stubs"""
|
|
95754
96644
|
pass
|
|
95755
96645
|
|
|
96646
|
+
def _typecheckingstub__995a1a5869d618c24a624831b2ad5e725b73ab6134ba003d66411c58faf1187e(
|
|
96647
|
+
scope: _constructs_77d1e7e8.Construct,
|
|
96648
|
+
id: builtins.str,
|
|
96649
|
+
*,
|
|
96650
|
+
state: builtins.str,
|
|
96651
|
+
) -> None:
|
|
96652
|
+
"""Type checking stubs"""
|
|
96653
|
+
pass
|
|
96654
|
+
|
|
96655
|
+
def _typecheckingstub__856438104299447428cd955093ead73bce11b3f11c039205bcd5e194beb9b322(
|
|
96656
|
+
inspector: _TreeInspector_488e0dd5,
|
|
96657
|
+
) -> None:
|
|
96658
|
+
"""Type checking stubs"""
|
|
96659
|
+
pass
|
|
96660
|
+
|
|
96661
|
+
def _typecheckingstub__5986589d73c46b7a96fd8cdffc5dd783512e594c0f96cf249a7577ed130d1c96(
|
|
96662
|
+
props: typing.Mapping[builtins.str, typing.Any],
|
|
96663
|
+
) -> None:
|
|
96664
|
+
"""Type checking stubs"""
|
|
96665
|
+
pass
|
|
96666
|
+
|
|
96667
|
+
def _typecheckingstub__a4c8cd7c082b41fda937b1f6a6a1a59e489b437d498c2b75a58ae1582086af7b(
|
|
96668
|
+
value: builtins.str,
|
|
96669
|
+
) -> None:
|
|
96670
|
+
"""Type checking stubs"""
|
|
96671
|
+
pass
|
|
96672
|
+
|
|
96673
|
+
def _typecheckingstub__e66d65de803363af49ef406b4229988fd2680cccdc692b106aff40a80ff135ad(
|
|
96674
|
+
*,
|
|
96675
|
+
state: builtins.str,
|
|
96676
|
+
) -> None:
|
|
96677
|
+
"""Type checking stubs"""
|
|
96678
|
+
pass
|
|
96679
|
+
|
|
95756
96680
|
def _typecheckingstub__507ab221d4bf8e8520b22850e0df945eba1ce8da26b5b5f4800e98249ec0bb9c(
|
|
95757
96681
|
scope: _constructs_77d1e7e8.Construct,
|
|
95758
96682
|
id: builtins.str,
|
|
@@ -99966,6 +100890,7 @@ def _typecheckingstub__5fdf31f5ae2497c7efcb56df558011698f38dc19cff28ca7a78a08a6d
|
|
|
99966
100890
|
init_options: typing.Optional[typing.Union[ApplyCloudFormationInitOptions, typing.Dict[builtins.str, typing.Any]]] = None,
|
|
99967
100891
|
instance_name: typing.Optional[builtins.str] = None,
|
|
99968
100892
|
key_name: typing.Optional[builtins.str] = None,
|
|
100893
|
+
key_pair: typing.Optional[IKeyPair] = None,
|
|
99969
100894
|
private_ip_address: typing.Optional[builtins.str] = None,
|
|
99970
100895
|
propagate_tags_to_volume_on_creation: typing.Optional[builtins.bool] = None,
|
|
99971
100896
|
require_imdsv2: typing.Optional[builtins.bool] = None,
|
|
@@ -100013,6 +100938,7 @@ def _typecheckingstub__2d4dc63c6e6ee3ddc68d5dd204d8ac5ef1f1dec37a7b84d636225df1c
|
|
|
100013
100938
|
init_options: typing.Optional[typing.Union[ApplyCloudFormationInitOptions, typing.Dict[builtins.str, typing.Any]]] = None,
|
|
100014
100939
|
instance_name: typing.Optional[builtins.str] = None,
|
|
100015
100940
|
key_name: typing.Optional[builtins.str] = None,
|
|
100941
|
+
key_pair: typing.Optional[IKeyPair] = None,
|
|
100016
100942
|
private_ip_address: typing.Optional[builtins.str] = None,
|
|
100017
100943
|
propagate_tags_to_volume_on_creation: typing.Optional[builtins.bool] = None,
|
|
100018
100944
|
require_imdsv2: typing.Optional[builtins.bool] = None,
|
|
@@ -100123,6 +101049,62 @@ def _typecheckingstub__712e8cdff0857893172d9de86affb30950183e037ef537789198de8ca
|
|
|
100123
101049
|
"""Type checking stubs"""
|
|
100124
101050
|
pass
|
|
100125
101051
|
|
|
101052
|
+
def _typecheckingstub__723c12f80f8f69703f74949dec0a4305b19d6d27efff9d36830815d8e604283c(
|
|
101053
|
+
scope: _constructs_77d1e7e8.Construct,
|
|
101054
|
+
id: builtins.str,
|
|
101055
|
+
*,
|
|
101056
|
+
format: typing.Optional[KeyPairFormat] = None,
|
|
101057
|
+
key_pair_name: typing.Optional[builtins.str] = None,
|
|
101058
|
+
public_key_material: typing.Optional[builtins.str] = None,
|
|
101059
|
+
type: typing.Optional[KeyPairType] = None,
|
|
101060
|
+
account: typing.Optional[builtins.str] = None,
|
|
101061
|
+
environment_from_arn: typing.Optional[builtins.str] = None,
|
|
101062
|
+
physical_name: typing.Optional[builtins.str] = None,
|
|
101063
|
+
region: typing.Optional[builtins.str] = None,
|
|
101064
|
+
) -> None:
|
|
101065
|
+
"""Type checking stubs"""
|
|
101066
|
+
pass
|
|
101067
|
+
|
|
101068
|
+
def _typecheckingstub__12d377269b610c395f1583e904a11636e952288b5e3f85a3cc1d865eb21f7715(
|
|
101069
|
+
scope: _constructs_77d1e7e8.Construct,
|
|
101070
|
+
id: builtins.str,
|
|
101071
|
+
*,
|
|
101072
|
+
key_pair_name: builtins.str,
|
|
101073
|
+
type: typing.Optional[KeyPairType] = None,
|
|
101074
|
+
) -> None:
|
|
101075
|
+
"""Type checking stubs"""
|
|
101076
|
+
pass
|
|
101077
|
+
|
|
101078
|
+
def _typecheckingstub__7bcad8d69b7ac63eda9832fb42b2e78a5f5570d5ccd5ac181f25d55202b6f74c(
|
|
101079
|
+
scope: _constructs_77d1e7e8.Construct,
|
|
101080
|
+
id: builtins.str,
|
|
101081
|
+
key_pair_name: builtins.str,
|
|
101082
|
+
) -> None:
|
|
101083
|
+
"""Type checking stubs"""
|
|
101084
|
+
pass
|
|
101085
|
+
|
|
101086
|
+
def _typecheckingstub__1c0b1d2207b185c203475dcfffe01485ff1d6dd460f5c0308f88afbd59667178(
|
|
101087
|
+
*,
|
|
101088
|
+
key_pair_name: builtins.str,
|
|
101089
|
+
type: typing.Optional[KeyPairType] = None,
|
|
101090
|
+
) -> None:
|
|
101091
|
+
"""Type checking stubs"""
|
|
101092
|
+
pass
|
|
101093
|
+
|
|
101094
|
+
def _typecheckingstub__7af23eb9509f044383945f68d46a72f0c94f0542177c255d3d31b42f5e9aa98c(
|
|
101095
|
+
*,
|
|
101096
|
+
account: typing.Optional[builtins.str] = None,
|
|
101097
|
+
environment_from_arn: typing.Optional[builtins.str] = None,
|
|
101098
|
+
physical_name: typing.Optional[builtins.str] = None,
|
|
101099
|
+
region: typing.Optional[builtins.str] = None,
|
|
101100
|
+
format: typing.Optional[KeyPairFormat] = None,
|
|
101101
|
+
key_pair_name: typing.Optional[builtins.str] = None,
|
|
101102
|
+
public_key_material: typing.Optional[builtins.str] = None,
|
|
101103
|
+
type: typing.Optional[KeyPairType] = None,
|
|
101104
|
+
) -> None:
|
|
101105
|
+
"""Type checking stubs"""
|
|
101106
|
+
pass
|
|
101107
|
+
|
|
100126
101108
|
def _typecheckingstub__544aef11081ec87047935491f75a3d5bc9d5075de77f96969bd2ffd1a0d78cc9(
|
|
100127
101109
|
scope: _constructs_77d1e7e8.Construct,
|
|
100128
101110
|
id: builtins.str,
|
|
@@ -100143,6 +101125,7 @@ def _typecheckingstub__544aef11081ec87047935491f75a3d5bc9d5075de77f96969bd2ffd1a
|
|
|
100143
101125
|
instance_profile: typing.Optional[_IInstanceProfile_10d5ce2c] = None,
|
|
100144
101126
|
instance_type: typing.Optional[InstanceType] = None,
|
|
100145
101127
|
key_name: typing.Optional[builtins.str] = None,
|
|
101128
|
+
key_pair: typing.Optional[IKeyPair] = None,
|
|
100146
101129
|
launch_template_name: typing.Optional[builtins.str] = None,
|
|
100147
101130
|
machine_image: typing.Optional[IMachineImage] = None,
|
|
100148
101131
|
nitro_enclave_enabled: typing.Optional[builtins.bool] = None,
|
|
@@ -100199,6 +101182,7 @@ def _typecheckingstub__e2ebb1bf0fbb2f9e894169a610cd9fb7cc3f827d34d3a10351bd2f517
|
|
|
100199
101182
|
instance_profile: typing.Optional[_IInstanceProfile_10d5ce2c] = None,
|
|
100200
101183
|
instance_type: typing.Optional[InstanceType] = None,
|
|
100201
101184
|
key_name: typing.Optional[builtins.str] = None,
|
|
101185
|
+
key_pair: typing.Optional[IKeyPair] = None,
|
|
100202
101186
|
launch_template_name: typing.Optional[builtins.str] = None,
|
|
100203
101187
|
machine_image: typing.Optional[IMachineImage] = None,
|
|
100204
101188
|
nitro_enclave_enabled: typing.Optional[builtins.bool] = None,
|
|
@@ -100390,6 +101374,7 @@ def _typecheckingstub__d7c7c717447859e1ccc181bc97f7752cc3f7fa7afaee4c3a4266eeac3
|
|
|
100390
101374
|
instance_type: InstanceType,
|
|
100391
101375
|
default_allowed_traffic: typing.Optional[NatTrafficDirection] = None,
|
|
100392
101376
|
key_name: typing.Optional[builtins.str] = None,
|
|
101377
|
+
key_pair: typing.Optional[IKeyPair] = None,
|
|
100393
101378
|
machine_image: typing.Optional[IMachineImage] = None,
|
|
100394
101379
|
security_group: typing.Optional[ISecurityGroup] = None,
|
|
100395
101380
|
) -> None:
|