aws-cdk-lib 2.218.0__py3-none-any.whl → 2.220.0__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 +31 -36
- aws_cdk/_jsii/__init__.py +1 -1
- aws_cdk/_jsii/{aws-cdk-lib@2.218.0.jsii.tgz → aws-cdk-lib@2.220.0.jsii.tgz} +0 -0
- aws_cdk/aws_amazonmq/__init__.py +98 -87
- aws_cdk/aws_apigateway/__init__.py +39 -0
- aws_cdk/aws_applicationsignals/__init__.py +450 -2
- aws_cdk/aws_arcregionswitch/__init__.py +8 -0
- aws_cdk/aws_backup/__init__.py +29 -0
- aws_cdk/aws_batch/__init__.py +109 -7
- aws_cdk/aws_bcmdataexports/__init__.py +9 -0
- aws_cdk/aws_bedrock/__init__.py +384 -1
- aws_cdk/aws_bedrockagentcore/__init__.py +7862 -1568
- aws_cdk/aws_cloudfront/experimental/__init__.py +4 -0
- aws_cdk/aws_cloudfront_origins/__init__.py +87 -6
- aws_cdk/aws_cloudwatch/__init__.py +5 -5
- aws_cdk/aws_codebuild/__init__.py +339 -62
- aws_cdk/aws_cognito/__init__.py +6 -4
- aws_cdk/aws_connect/__init__.py +9 -9
- aws_cdk/aws_cur/__init__.py +5 -3
- aws_cdk/aws_datasync/__init__.py +44 -22
- aws_cdk/aws_datazone/__init__.py +35 -33
- aws_cdk/aws_dax/__init__.py +12 -3
- aws_cdk/aws_dms/__init__.py +3 -5
- aws_cdk/aws_ec2/__init__.py +2721 -30
- aws_cdk/aws_ecs/__init__.py +2900 -90
- aws_cdk/aws_eks/__init__.py +114 -9
- aws_cdk/aws_entityresolution/__init__.py +18 -0
- aws_cdk/aws_fsx/__init__.py +4 -4
- aws_cdk/aws_greengrassv2/__init__.py +29 -0
- aws_cdk/aws_imagebuilder/__init__.py +397 -0
- aws_cdk/aws_iotsitewise/__init__.py +136 -80
- aws_cdk/aws_kinesis/__init__.py +95 -4
- aws_cdk/aws_lambda/__init__.py +43 -0
- aws_cdk/aws_lightsail/__init__.py +584 -0
- aws_cdk/aws_logs/__init__.py +57 -0
- aws_cdk/aws_lookoutmetrics/__init__.py +14 -2
- aws_cdk/aws_m2/__init__.py +59 -13
- aws_cdk/aws_medialive/__init__.py +108 -0
- aws_cdk/aws_msk/__init__.py +4 -2
- aws_cdk/aws_mwaa/__init__.py +5 -5
- aws_cdk/aws_neptune/__init__.py +133 -70
- aws_cdk/aws_networkfirewall/__init__.py +6 -2
- aws_cdk/aws_networkmanager/__init__.py +29 -0
- aws_cdk/aws_observabilityadmin/__init__.py +1227 -83
- aws_cdk/aws_omics/__init__.py +7 -1
- aws_cdk/aws_opensearchservice/__init__.py +64 -0
- aws_cdk/aws_opsworkscm/__init__.py +0 -29
- aws_cdk/aws_pcs/__init__.py +224 -33
- aws_cdk/aws_pinpoint/__init__.py +58 -0
- aws_cdk/aws_quicksight/__init__.py +118 -0
- aws_cdk/aws_rds/__init__.py +62 -37
- aws_cdk/aws_refactorspaces/__init__.py +18 -6
- aws_cdk/aws_route53/__init__.py +138 -8
- aws_cdk/aws_s3/__init__.py +29 -2
- aws_cdk/aws_s3objectlambda/__init__.py +44 -12
- aws_cdk/aws_servicecatalog/__init__.py +103 -106
- aws_cdk/aws_smsvoice/__init__.py +319 -0
- aws_cdk/aws_ssmquicksetup/__init__.py +3 -3
- aws_cdk/aws_synthetics/__init__.py +21 -1
- {aws_cdk_lib-2.218.0.dist-info → aws_cdk_lib-2.220.0.dist-info}/METADATA +2 -2
- {aws_cdk_lib-2.218.0.dist-info → aws_cdk_lib-2.220.0.dist-info}/RECORD +65 -65
- {aws_cdk_lib-2.218.0.dist-info → aws_cdk_lib-2.220.0.dist-info}/LICENSE +0 -0
- {aws_cdk_lib-2.218.0.dist-info → aws_cdk_lib-2.220.0.dist-info}/NOTICE +0 -0
- {aws_cdk_lib-2.218.0.dist-info → aws_cdk_lib-2.220.0.dist-info}/WHEEL +0 -0
- {aws_cdk_lib-2.218.0.dist-info → aws_cdk_lib-2.220.0.dist-info}/top_level.txt +0 -0
aws_cdk/aws_ec2/__init__.py
CHANGED
|
@@ -1422,6 +1422,21 @@ endpoint = vpc.add_client_vpn_endpoint("Endpoint",
|
|
|
1422
1422
|
)
|
|
1423
1423
|
```
|
|
1424
1424
|
|
|
1425
|
+
To control whether clients are automatically disconnected when the maximum session duration is reached, use the `disconnectOnSessionTimeout` prop.
|
|
1426
|
+
By default (`true`), clients are disconnected and must manually reconnect.
|
|
1427
|
+
Set to `false` to allow automatic reconnection attempts:
|
|
1428
|
+
|
|
1429
|
+
```python
|
|
1430
|
+
endpoint = vpc.add_client_vpn_endpoint("Endpoint",
|
|
1431
|
+
cidr="10.100.0.0/16",
|
|
1432
|
+
server_certificate_arn="arn:aws:acm:us-east-1:123456789012:certificate/server-certificate-id",
|
|
1433
|
+
client_certificate_arn="arn:aws:acm:us-east-1:123456789012:certificate/client-certificate-id",
|
|
1434
|
+
disconnect_on_session_timeout=False
|
|
1435
|
+
)
|
|
1436
|
+
```
|
|
1437
|
+
|
|
1438
|
+
Detail information about maximum VPN session duration timeout can be found in the [AWS documentation](https://docs.aws.amazon.com/vpn/latest/clientvpn-admin/cvpn-working-max-duration.html).
|
|
1439
|
+
|
|
1425
1440
|
## Instances
|
|
1426
1441
|
|
|
1427
1442
|
You can use the `Instance` class to start up a single EC2 instance. For production setups, we recommend
|
|
@@ -2903,6 +2918,225 @@ from ..aws_s3_assets import (
|
|
|
2903
2918
|
from ..aws_ssm import IStringParameter as _IStringParameter_f2b707f9
|
|
2904
2919
|
|
|
2905
2920
|
|
|
2921
|
+
@jsii.enum(jsii_type="aws-cdk-lib.aws_ec2.AcceleratorManufacturer")
|
|
2922
|
+
class AcceleratorManufacturer(enum.Enum):
|
|
2923
|
+
'''Supported hardware accelerator manufacturers.
|
|
2924
|
+
|
|
2925
|
+
Restricts instance selection to accelerators from a particular vendor.
|
|
2926
|
+
Useful for choosing specific ecosystems (e.g., NVIDIA CUDA, AWS chips).
|
|
2927
|
+
|
|
2928
|
+
:exampleMetadata: infused
|
|
2929
|
+
|
|
2930
|
+
Example::
|
|
2931
|
+
|
|
2932
|
+
# vpc: ec2.Vpc
|
|
2933
|
+
# infrastructure_role: iam.Role
|
|
2934
|
+
# instance_profile: iam.InstanceProfile
|
|
2935
|
+
|
|
2936
|
+
|
|
2937
|
+
cluster = ecs.Cluster(self, "Cluster", vpc=vpc)
|
|
2938
|
+
|
|
2939
|
+
# Create a Managed Instances Capacity Provider
|
|
2940
|
+
mi_capacity_provider = ecs.ManagedInstancesCapacityProvider(self, "MICapacityProvider",
|
|
2941
|
+
infrastructure_role=infrastructure_role,
|
|
2942
|
+
ec2_instance_profile=instance_profile,
|
|
2943
|
+
subnets=vpc.private_subnets,
|
|
2944
|
+
security_groups=[ec2.SecurityGroup(self, "MISecurityGroup", vpc=vpc)],
|
|
2945
|
+
instance_requirements=ec2.InstanceRequirementsConfig(
|
|
2946
|
+
v_cpu_count_min=1,
|
|
2947
|
+
memory_min=Size.gibibytes(2),
|
|
2948
|
+
cpu_manufacturers=[ec2.CpuManufacturer.INTEL],
|
|
2949
|
+
accelerator_manufacturers=[ec2.AcceleratorManufacturer.NVIDIA]
|
|
2950
|
+
),
|
|
2951
|
+
propagate_tags=ecs.PropagateManagedInstancesTags.CAPACITY_PROVIDER
|
|
2952
|
+
)
|
|
2953
|
+
|
|
2954
|
+
# Add the capacity provider to the cluster
|
|
2955
|
+
cluster.add_managed_instances_capacity_provider(mi_capacity_provider)
|
|
2956
|
+
|
|
2957
|
+
task_definition = ecs.Ec2TaskDefinition(self, "TaskDef")
|
|
2958
|
+
|
|
2959
|
+
task_definition.add_container("web",
|
|
2960
|
+
image=ecs.ContainerImage.from_registry("amazon/amazon-ecs-sample"),
|
|
2961
|
+
memory_reservation_mi_b=256
|
|
2962
|
+
)
|
|
2963
|
+
|
|
2964
|
+
ecs.Ec2Service(self, "EC2Service",
|
|
2965
|
+
cluster=cluster,
|
|
2966
|
+
task_definition=task_definition,
|
|
2967
|
+
min_healthy_percent=100,
|
|
2968
|
+
capacity_provider_strategies=[ecs.CapacityProviderStrategy(
|
|
2969
|
+
capacity_provider=mi_capacity_provider.capacity_provider_name,
|
|
2970
|
+
weight=1
|
|
2971
|
+
)
|
|
2972
|
+
]
|
|
2973
|
+
)
|
|
2974
|
+
'''
|
|
2975
|
+
|
|
2976
|
+
AWS = "AWS"
|
|
2977
|
+
'''Amazon Web Services (e.g., Inferentia, Trainium accelerators).'''
|
|
2978
|
+
AMD = "AMD"
|
|
2979
|
+
'''AMD (e.g., Radeon Pro V520 GPU).'''
|
|
2980
|
+
NVIDIA = "NVIDIA"
|
|
2981
|
+
'''NVIDIA (e.g., A100, V100, T4, K80, M60 GPUs).'''
|
|
2982
|
+
XILINX = "XILINX"
|
|
2983
|
+
'''Xilinx (e.g., VU9P FPGA).'''
|
|
2984
|
+
|
|
2985
|
+
|
|
2986
|
+
@jsii.enum(jsii_type="aws-cdk-lib.aws_ec2.AcceleratorName")
|
|
2987
|
+
class AcceleratorName(enum.Enum):
|
|
2988
|
+
'''Specific hardware accelerator models supported by EC2.
|
|
2989
|
+
|
|
2990
|
+
Defines exact accelerator models that can be required or excluded
|
|
2991
|
+
when selecting instance types.
|
|
2992
|
+
|
|
2993
|
+
:exampleMetadata: infused
|
|
2994
|
+
|
|
2995
|
+
Example::
|
|
2996
|
+
|
|
2997
|
+
# infrastructure_role: iam.Role
|
|
2998
|
+
# instance_profile: iam.InstanceProfile
|
|
2999
|
+
# vpc: ec2.Vpc
|
|
3000
|
+
|
|
3001
|
+
|
|
3002
|
+
mi_capacity_provider = ecs.ManagedInstancesCapacityProvider(self, "MICapacityProvider",
|
|
3003
|
+
infrastructure_role=infrastructure_role,
|
|
3004
|
+
ec2_instance_profile=instance_profile,
|
|
3005
|
+
subnets=vpc.private_subnets,
|
|
3006
|
+
instance_requirements=ec2.InstanceRequirementsConfig(
|
|
3007
|
+
# Required: CPU and memory constraints
|
|
3008
|
+
v_cpu_count_min=2,
|
|
3009
|
+
v_cpu_count_max=8,
|
|
3010
|
+
memory_min=Size.gibibytes(4),
|
|
3011
|
+
memory_max=Size.gibibytes(32),
|
|
3012
|
+
|
|
3013
|
+
# CPU preferences
|
|
3014
|
+
cpu_manufacturers=[ec2.CpuManufacturer.INTEL, ec2.CpuManufacturer.AMD],
|
|
3015
|
+
instance_generations=[ec2.InstanceGeneration.CURRENT],
|
|
3016
|
+
|
|
3017
|
+
# Instance type filtering
|
|
3018
|
+
allowed_instance_types=["m5.*", "c5.*"],
|
|
3019
|
+
|
|
3020
|
+
# Performance characteristics
|
|
3021
|
+
burstable_performance=ec2.BurstablePerformance.EXCLUDED,
|
|
3022
|
+
bare_metal=ec2.BareMetal.EXCLUDED,
|
|
3023
|
+
|
|
3024
|
+
# Accelerator requirements (for ML/AI workloads)
|
|
3025
|
+
accelerator_types=[ec2.AcceleratorType.GPU],
|
|
3026
|
+
accelerator_manufacturers=[ec2.AcceleratorManufacturer.NVIDIA],
|
|
3027
|
+
accelerator_names=[ec2.AcceleratorName.T4, ec2.AcceleratorName.V100],
|
|
3028
|
+
accelerator_count_min=1,
|
|
3029
|
+
|
|
3030
|
+
# Storage requirements
|
|
3031
|
+
local_storage=ec2.LocalStorage.REQUIRED,
|
|
3032
|
+
local_storage_types=[ec2.LocalStorageType.SSD],
|
|
3033
|
+
total_local_storage_gBMin=100,
|
|
3034
|
+
|
|
3035
|
+
# Network requirements
|
|
3036
|
+
network_interface_count_min=2,
|
|
3037
|
+
network_bandwidth_gbps_min=10,
|
|
3038
|
+
|
|
3039
|
+
# Cost optimization
|
|
3040
|
+
on_demand_max_price_percentage_over_lowest_price=10
|
|
3041
|
+
)
|
|
3042
|
+
)
|
|
3043
|
+
'''
|
|
3044
|
+
|
|
3045
|
+
A100 = "A100"
|
|
3046
|
+
'''NVIDIA A100 GPU.'''
|
|
3047
|
+
K80 = "K80"
|
|
3048
|
+
'''NVIDIA K80 GPU.'''
|
|
3049
|
+
M60 = "M60"
|
|
3050
|
+
'''NVIDIA M60 GPU.'''
|
|
3051
|
+
RADEON_PRO_V520 = "RADEON_PRO_V520"
|
|
3052
|
+
'''AMD Radeon Pro V520 GPU.'''
|
|
3053
|
+
T4 = "T4"
|
|
3054
|
+
'''NVIDIA T4 GPU.'''
|
|
3055
|
+
V100 = "V100"
|
|
3056
|
+
'''NVIDIA V100 GPU.'''
|
|
3057
|
+
VU9P = "VU9P"
|
|
3058
|
+
'''Xilinx VU9P FPGA.'''
|
|
3059
|
+
|
|
3060
|
+
|
|
3061
|
+
@jsii.enum(jsii_type="aws-cdk-lib.aws_ec2.AcceleratorType")
|
|
3062
|
+
class AcceleratorType(enum.Enum):
|
|
3063
|
+
'''Hardware accelerator categories available for EC2 instances.
|
|
3064
|
+
|
|
3065
|
+
Defines the general type of hardware accelerator that can be attached
|
|
3066
|
+
to an instance, typically used in instance requirement specifications
|
|
3067
|
+
(e.g., GPUs for compute-intensive tasks, FPGAs for custom logic, or
|
|
3068
|
+
inference chips for ML workloads).
|
|
3069
|
+
|
|
3070
|
+
:exampleMetadata: infused
|
|
3071
|
+
|
|
3072
|
+
Example::
|
|
3073
|
+
|
|
3074
|
+
# infrastructure_role: iam.Role
|
|
3075
|
+
# instance_profile: iam.InstanceProfile
|
|
3076
|
+
# vpc: ec2.Vpc
|
|
3077
|
+
|
|
3078
|
+
|
|
3079
|
+
mi_capacity_provider = ecs.ManagedInstancesCapacityProvider(self, "MICapacityProvider",
|
|
3080
|
+
infrastructure_role=infrastructure_role,
|
|
3081
|
+
ec2_instance_profile=instance_profile,
|
|
3082
|
+
subnets=vpc.private_subnets,
|
|
3083
|
+
instance_requirements=ec2.InstanceRequirementsConfig(
|
|
3084
|
+
# Required: CPU and memory constraints
|
|
3085
|
+
v_cpu_count_min=2,
|
|
3086
|
+
v_cpu_count_max=8,
|
|
3087
|
+
memory_min=Size.gibibytes(4),
|
|
3088
|
+
memory_max=Size.gibibytes(32),
|
|
3089
|
+
|
|
3090
|
+
# CPU preferences
|
|
3091
|
+
cpu_manufacturers=[ec2.CpuManufacturer.INTEL, ec2.CpuManufacturer.AMD],
|
|
3092
|
+
instance_generations=[ec2.InstanceGeneration.CURRENT],
|
|
3093
|
+
|
|
3094
|
+
# Instance type filtering
|
|
3095
|
+
allowed_instance_types=["m5.*", "c5.*"],
|
|
3096
|
+
|
|
3097
|
+
# Performance characteristics
|
|
3098
|
+
burstable_performance=ec2.BurstablePerformance.EXCLUDED,
|
|
3099
|
+
bare_metal=ec2.BareMetal.EXCLUDED,
|
|
3100
|
+
|
|
3101
|
+
# Accelerator requirements (for ML/AI workloads)
|
|
3102
|
+
accelerator_types=[ec2.AcceleratorType.GPU],
|
|
3103
|
+
accelerator_manufacturers=[ec2.AcceleratorManufacturer.NVIDIA],
|
|
3104
|
+
accelerator_names=[ec2.AcceleratorName.T4, ec2.AcceleratorName.V100],
|
|
3105
|
+
accelerator_count_min=1,
|
|
3106
|
+
|
|
3107
|
+
# Storage requirements
|
|
3108
|
+
local_storage=ec2.LocalStorage.REQUIRED,
|
|
3109
|
+
local_storage_types=[ec2.LocalStorageType.SSD],
|
|
3110
|
+
total_local_storage_gBMin=100,
|
|
3111
|
+
|
|
3112
|
+
# Network requirements
|
|
3113
|
+
network_interface_count_min=2,
|
|
3114
|
+
network_bandwidth_gbps_min=10,
|
|
3115
|
+
|
|
3116
|
+
# Cost optimization
|
|
3117
|
+
on_demand_max_price_percentage_over_lowest_price=10
|
|
3118
|
+
)
|
|
3119
|
+
)
|
|
3120
|
+
'''
|
|
3121
|
+
|
|
3122
|
+
GPU = "GPU"
|
|
3123
|
+
'''Graphics Processing Unit accelerators, such as NVIDIA GPUs.
|
|
3124
|
+
|
|
3125
|
+
Commonly used for machine learning training, graphics rendering,
|
|
3126
|
+
or high-performance parallel computing.
|
|
3127
|
+
'''
|
|
3128
|
+
FPGA = "FPGA"
|
|
3129
|
+
'''Field Programmable Gate Array accelerators, such as Xilinx FPGAs.
|
|
3130
|
+
|
|
3131
|
+
Used for hardware-level customization and specialized workloads.
|
|
3132
|
+
'''
|
|
3133
|
+
INFERENCE = "INFERENCE"
|
|
3134
|
+
'''Inference accelerators, such as AWS Inferentia.
|
|
3135
|
+
|
|
3136
|
+
Purpose-built for efficient machine learning inference.
|
|
3137
|
+
'''
|
|
3138
|
+
|
|
3139
|
+
|
|
2906
3140
|
class AclCidr(
|
|
2907
3141
|
metaclass=jsii.JSIIAbstractClass,
|
|
2908
3142
|
jsii_type="aws-cdk-lib.aws_ec2.AclCidr",
|
|
@@ -5368,6 +5602,80 @@ class AwsIpamProps:
|
|
|
5368
5602
|
)
|
|
5369
5603
|
|
|
5370
5604
|
|
|
5605
|
+
@jsii.enum(jsii_type="aws-cdk-lib.aws_ec2.BareMetal")
|
|
5606
|
+
class BareMetal(enum.Enum):
|
|
5607
|
+
'''Bare metal support requirements for EC2 instances.
|
|
5608
|
+
|
|
5609
|
+
Controls whether selected instance types must, may, or must not
|
|
5610
|
+
be bare metal variants (i.e., instances that run directly on
|
|
5611
|
+
physical hardware without a hypervisor).
|
|
5612
|
+
|
|
5613
|
+
:exampleMetadata: infused
|
|
5614
|
+
|
|
5615
|
+
Example::
|
|
5616
|
+
|
|
5617
|
+
# infrastructure_role: iam.Role
|
|
5618
|
+
# instance_profile: iam.InstanceProfile
|
|
5619
|
+
# vpc: ec2.Vpc
|
|
5620
|
+
|
|
5621
|
+
|
|
5622
|
+
mi_capacity_provider = ecs.ManagedInstancesCapacityProvider(self, "MICapacityProvider",
|
|
5623
|
+
infrastructure_role=infrastructure_role,
|
|
5624
|
+
ec2_instance_profile=instance_profile,
|
|
5625
|
+
subnets=vpc.private_subnets,
|
|
5626
|
+
instance_requirements=ec2.InstanceRequirementsConfig(
|
|
5627
|
+
# Required: CPU and memory constraints
|
|
5628
|
+
v_cpu_count_min=2,
|
|
5629
|
+
v_cpu_count_max=8,
|
|
5630
|
+
memory_min=Size.gibibytes(4),
|
|
5631
|
+
memory_max=Size.gibibytes(32),
|
|
5632
|
+
|
|
5633
|
+
# CPU preferences
|
|
5634
|
+
cpu_manufacturers=[ec2.CpuManufacturer.INTEL, ec2.CpuManufacturer.AMD],
|
|
5635
|
+
instance_generations=[ec2.InstanceGeneration.CURRENT],
|
|
5636
|
+
|
|
5637
|
+
# Instance type filtering
|
|
5638
|
+
allowed_instance_types=["m5.*", "c5.*"],
|
|
5639
|
+
|
|
5640
|
+
# Performance characteristics
|
|
5641
|
+
burstable_performance=ec2.BurstablePerformance.EXCLUDED,
|
|
5642
|
+
bare_metal=ec2.BareMetal.EXCLUDED,
|
|
5643
|
+
|
|
5644
|
+
# Accelerator requirements (for ML/AI workloads)
|
|
5645
|
+
accelerator_types=[ec2.AcceleratorType.GPU],
|
|
5646
|
+
accelerator_manufacturers=[ec2.AcceleratorManufacturer.NVIDIA],
|
|
5647
|
+
accelerator_names=[ec2.AcceleratorName.T4, ec2.AcceleratorName.V100],
|
|
5648
|
+
accelerator_count_min=1,
|
|
5649
|
+
|
|
5650
|
+
# Storage requirements
|
|
5651
|
+
local_storage=ec2.LocalStorage.REQUIRED,
|
|
5652
|
+
local_storage_types=[ec2.LocalStorageType.SSD],
|
|
5653
|
+
total_local_storage_gBMin=100,
|
|
5654
|
+
|
|
5655
|
+
# Network requirements
|
|
5656
|
+
network_interface_count_min=2,
|
|
5657
|
+
network_bandwidth_gbps_min=10,
|
|
5658
|
+
|
|
5659
|
+
# Cost optimization
|
|
5660
|
+
on_demand_max_price_percentage_over_lowest_price=10
|
|
5661
|
+
)
|
|
5662
|
+
)
|
|
5663
|
+
'''
|
|
5664
|
+
|
|
5665
|
+
INCLUDED = "INCLUDED"
|
|
5666
|
+
'''Bare metal instance types are allowed, but non-bare-metal (virtualized) types may also be selected.'''
|
|
5667
|
+
REQUIRED = "REQUIRED"
|
|
5668
|
+
'''Only bare metal instance types are allowed.
|
|
5669
|
+
|
|
5670
|
+
Non-bare-metal types will be excluded from selection.
|
|
5671
|
+
'''
|
|
5672
|
+
EXCLUDED = "EXCLUDED"
|
|
5673
|
+
'''Bare metal instance types are disallowed.
|
|
5674
|
+
|
|
5675
|
+
Only non-bare-metal types may be selected.
|
|
5676
|
+
'''
|
|
5677
|
+
|
|
5678
|
+
|
|
5371
5679
|
@jsii.data_type(
|
|
5372
5680
|
jsii_type="aws-cdk-lib.aws_ec2.BastionHostLinuxProps",
|
|
5373
5681
|
jsii_struct_bases=[],
|
|
@@ -5866,6 +6174,79 @@ class BlockDeviceVolume(
|
|
|
5866
6174
|
return typing.cast(typing.Optional[builtins.str], jsii.get(self, "virtualName"))
|
|
5867
6175
|
|
|
5868
6176
|
|
|
6177
|
+
@jsii.enum(jsii_type="aws-cdk-lib.aws_ec2.BurstablePerformance")
|
|
6178
|
+
class BurstablePerformance(enum.Enum):
|
|
6179
|
+
'''Burstable CPU performance requirements for EC2 instances.
|
|
6180
|
+
|
|
6181
|
+
Controls whether selected instance types must, may, or must not
|
|
6182
|
+
support burstable vCPU performance (e.g., T3, T4g families).
|
|
6183
|
+
|
|
6184
|
+
:exampleMetadata: infused
|
|
6185
|
+
|
|
6186
|
+
Example::
|
|
6187
|
+
|
|
6188
|
+
# infrastructure_role: iam.Role
|
|
6189
|
+
# instance_profile: iam.InstanceProfile
|
|
6190
|
+
# vpc: ec2.Vpc
|
|
6191
|
+
|
|
6192
|
+
|
|
6193
|
+
mi_capacity_provider = ecs.ManagedInstancesCapacityProvider(self, "MICapacityProvider",
|
|
6194
|
+
infrastructure_role=infrastructure_role,
|
|
6195
|
+
ec2_instance_profile=instance_profile,
|
|
6196
|
+
subnets=vpc.private_subnets,
|
|
6197
|
+
instance_requirements=ec2.InstanceRequirementsConfig(
|
|
6198
|
+
# Required: CPU and memory constraints
|
|
6199
|
+
v_cpu_count_min=2,
|
|
6200
|
+
v_cpu_count_max=8,
|
|
6201
|
+
memory_min=Size.gibibytes(4),
|
|
6202
|
+
memory_max=Size.gibibytes(32),
|
|
6203
|
+
|
|
6204
|
+
# CPU preferences
|
|
6205
|
+
cpu_manufacturers=[ec2.CpuManufacturer.INTEL, ec2.CpuManufacturer.AMD],
|
|
6206
|
+
instance_generations=[ec2.InstanceGeneration.CURRENT],
|
|
6207
|
+
|
|
6208
|
+
# Instance type filtering
|
|
6209
|
+
allowed_instance_types=["m5.*", "c5.*"],
|
|
6210
|
+
|
|
6211
|
+
# Performance characteristics
|
|
6212
|
+
burstable_performance=ec2.BurstablePerformance.EXCLUDED,
|
|
6213
|
+
bare_metal=ec2.BareMetal.EXCLUDED,
|
|
6214
|
+
|
|
6215
|
+
# Accelerator requirements (for ML/AI workloads)
|
|
6216
|
+
accelerator_types=[ec2.AcceleratorType.GPU],
|
|
6217
|
+
accelerator_manufacturers=[ec2.AcceleratorManufacturer.NVIDIA],
|
|
6218
|
+
accelerator_names=[ec2.AcceleratorName.T4, ec2.AcceleratorName.V100],
|
|
6219
|
+
accelerator_count_min=1,
|
|
6220
|
+
|
|
6221
|
+
# Storage requirements
|
|
6222
|
+
local_storage=ec2.LocalStorage.REQUIRED,
|
|
6223
|
+
local_storage_types=[ec2.LocalStorageType.SSD],
|
|
6224
|
+
total_local_storage_gBMin=100,
|
|
6225
|
+
|
|
6226
|
+
# Network requirements
|
|
6227
|
+
network_interface_count_min=2,
|
|
6228
|
+
network_bandwidth_gbps_min=10,
|
|
6229
|
+
|
|
6230
|
+
# Cost optimization
|
|
6231
|
+
on_demand_max_price_percentage_over_lowest_price=10
|
|
6232
|
+
)
|
|
6233
|
+
)
|
|
6234
|
+
'''
|
|
6235
|
+
|
|
6236
|
+
INCLUDED = "INCLUDED"
|
|
6237
|
+
'''Burstable-performance instance types are allowed, but non-burstable types may also be selected.'''
|
|
6238
|
+
REQUIRED = "REQUIRED"
|
|
6239
|
+
'''Only burstable-performance instance types are allowed.
|
|
6240
|
+
|
|
6241
|
+
Non-burstable types will be excluded from selection.
|
|
6242
|
+
'''
|
|
6243
|
+
EXCLUDED = "EXCLUDED"
|
|
6244
|
+
'''Burstable-performance instance types are disallowed.
|
|
6245
|
+
|
|
6246
|
+
Only non-burstable types may be selected.
|
|
6247
|
+
'''
|
|
6248
|
+
|
|
6249
|
+
|
|
5869
6250
|
@jsii.data_type(
|
|
5870
6251
|
jsii_type="aws-cdk-lib.aws_ec2.CapacityReservationFleetReference",
|
|
5871
6252
|
jsii_struct_bases=[],
|
|
@@ -12174,6 +12555,294 @@ class CfnLocalGatewayRouteTableVirtualInterfaceGroupAssociationProps:
|
|
|
12174
12555
|
)
|
|
12175
12556
|
|
|
12176
12557
|
|
|
12558
|
+
@jsii.data_type(
|
|
12559
|
+
jsii_type="aws-cdk-lib.aws_ec2.CfnLocalGatewayVirtualInterfaceGroupProps",
|
|
12560
|
+
jsii_struct_bases=[],
|
|
12561
|
+
name_mapping={
|
|
12562
|
+
"local_gateway_id": "localGatewayId",
|
|
12563
|
+
"local_bgp_asn": "localBgpAsn",
|
|
12564
|
+
"local_bgp_asn_extended": "localBgpAsnExtended",
|
|
12565
|
+
"tags": "tags",
|
|
12566
|
+
},
|
|
12567
|
+
)
|
|
12568
|
+
class CfnLocalGatewayVirtualInterfaceGroupProps:
|
|
12569
|
+
def __init__(
|
|
12570
|
+
self,
|
|
12571
|
+
*,
|
|
12572
|
+
local_gateway_id: builtins.str,
|
|
12573
|
+
local_bgp_asn: typing.Optional[jsii.Number] = None,
|
|
12574
|
+
local_bgp_asn_extended: typing.Optional[jsii.Number] = None,
|
|
12575
|
+
tags: typing.Optional[typing.Sequence[typing.Union[_CfnTag_f6864754, typing.Dict[builtins.str, typing.Any]]]] = None,
|
|
12576
|
+
) -> None:
|
|
12577
|
+
'''Properties for defining a ``CfnLocalGatewayVirtualInterfaceGroup``.
|
|
12578
|
+
|
|
12579
|
+
:param local_gateway_id: The ID of the local gateway.
|
|
12580
|
+
:param local_bgp_asn: The Autonomous System Number(ASN) for the local Border Gateway Protocol (BGP).
|
|
12581
|
+
:param local_bgp_asn_extended: The extended 32-bit ASN for the local BGP configuration.
|
|
12582
|
+
:param tags: The tags assigned to the virtual interface group.
|
|
12583
|
+
|
|
12584
|
+
:see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-localgatewayvirtualinterfacegroup.html
|
|
12585
|
+
:exampleMetadata: fixture=_generated
|
|
12586
|
+
|
|
12587
|
+
Example::
|
|
12588
|
+
|
|
12589
|
+
# The code below shows an example of how to instantiate this type.
|
|
12590
|
+
# The values are placeholders you should change.
|
|
12591
|
+
from aws_cdk import aws_ec2 as ec2
|
|
12592
|
+
|
|
12593
|
+
cfn_local_gateway_virtual_interface_group_props = ec2.CfnLocalGatewayVirtualInterfaceGroupProps(
|
|
12594
|
+
local_gateway_id="localGatewayId",
|
|
12595
|
+
|
|
12596
|
+
# the properties below are optional
|
|
12597
|
+
local_bgp_asn=123,
|
|
12598
|
+
local_bgp_asn_extended=123,
|
|
12599
|
+
tags=[CfnTag(
|
|
12600
|
+
key="key",
|
|
12601
|
+
value="value"
|
|
12602
|
+
)]
|
|
12603
|
+
)
|
|
12604
|
+
'''
|
|
12605
|
+
if __debug__:
|
|
12606
|
+
type_hints = typing.get_type_hints(_typecheckingstub__f7ce4c591b68ccf10989a9f20fd3c6f1fc55f0f986e5272574d1a8263ccb9638)
|
|
12607
|
+
check_type(argname="argument local_gateway_id", value=local_gateway_id, expected_type=type_hints["local_gateway_id"])
|
|
12608
|
+
check_type(argname="argument local_bgp_asn", value=local_bgp_asn, expected_type=type_hints["local_bgp_asn"])
|
|
12609
|
+
check_type(argname="argument local_bgp_asn_extended", value=local_bgp_asn_extended, expected_type=type_hints["local_bgp_asn_extended"])
|
|
12610
|
+
check_type(argname="argument tags", value=tags, expected_type=type_hints["tags"])
|
|
12611
|
+
self._values: typing.Dict[builtins.str, typing.Any] = {
|
|
12612
|
+
"local_gateway_id": local_gateway_id,
|
|
12613
|
+
}
|
|
12614
|
+
if local_bgp_asn is not None:
|
|
12615
|
+
self._values["local_bgp_asn"] = local_bgp_asn
|
|
12616
|
+
if local_bgp_asn_extended is not None:
|
|
12617
|
+
self._values["local_bgp_asn_extended"] = local_bgp_asn_extended
|
|
12618
|
+
if tags is not None:
|
|
12619
|
+
self._values["tags"] = tags
|
|
12620
|
+
|
|
12621
|
+
@builtins.property
|
|
12622
|
+
def local_gateway_id(self) -> builtins.str:
|
|
12623
|
+
'''The ID of the local gateway.
|
|
12624
|
+
|
|
12625
|
+
:see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-localgatewayvirtualinterfacegroup.html#cfn-ec2-localgatewayvirtualinterfacegroup-localgatewayid
|
|
12626
|
+
'''
|
|
12627
|
+
result = self._values.get("local_gateway_id")
|
|
12628
|
+
assert result is not None, "Required property 'local_gateway_id' is missing"
|
|
12629
|
+
return typing.cast(builtins.str, result)
|
|
12630
|
+
|
|
12631
|
+
@builtins.property
|
|
12632
|
+
def local_bgp_asn(self) -> typing.Optional[jsii.Number]:
|
|
12633
|
+
'''The Autonomous System Number(ASN) for the local Border Gateway Protocol (BGP).
|
|
12634
|
+
|
|
12635
|
+
:see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-localgatewayvirtualinterfacegroup.html#cfn-ec2-localgatewayvirtualinterfacegroup-localbgpasn
|
|
12636
|
+
'''
|
|
12637
|
+
result = self._values.get("local_bgp_asn")
|
|
12638
|
+
return typing.cast(typing.Optional[jsii.Number], result)
|
|
12639
|
+
|
|
12640
|
+
@builtins.property
|
|
12641
|
+
def local_bgp_asn_extended(self) -> typing.Optional[jsii.Number]:
|
|
12642
|
+
'''The extended 32-bit ASN for the local BGP configuration.
|
|
12643
|
+
|
|
12644
|
+
:see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-localgatewayvirtualinterfacegroup.html#cfn-ec2-localgatewayvirtualinterfacegroup-localbgpasnextended
|
|
12645
|
+
'''
|
|
12646
|
+
result = self._values.get("local_bgp_asn_extended")
|
|
12647
|
+
return typing.cast(typing.Optional[jsii.Number], result)
|
|
12648
|
+
|
|
12649
|
+
@builtins.property
|
|
12650
|
+
def tags(self) -> typing.Optional[typing.List[_CfnTag_f6864754]]:
|
|
12651
|
+
'''The tags assigned to the virtual interface group.
|
|
12652
|
+
|
|
12653
|
+
:see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-localgatewayvirtualinterfacegroup.html#cfn-ec2-localgatewayvirtualinterfacegroup-tags
|
|
12654
|
+
'''
|
|
12655
|
+
result = self._values.get("tags")
|
|
12656
|
+
return typing.cast(typing.Optional[typing.List[_CfnTag_f6864754]], result)
|
|
12657
|
+
|
|
12658
|
+
def __eq__(self, rhs: typing.Any) -> builtins.bool:
|
|
12659
|
+
return isinstance(rhs, self.__class__) and rhs._values == self._values
|
|
12660
|
+
|
|
12661
|
+
def __ne__(self, rhs: typing.Any) -> builtins.bool:
|
|
12662
|
+
return not (rhs == self)
|
|
12663
|
+
|
|
12664
|
+
def __repr__(self) -> str:
|
|
12665
|
+
return "CfnLocalGatewayVirtualInterfaceGroupProps(%s)" % ", ".join(
|
|
12666
|
+
k + "=" + repr(v) for k, v in self._values.items()
|
|
12667
|
+
)
|
|
12668
|
+
|
|
12669
|
+
|
|
12670
|
+
@jsii.data_type(
|
|
12671
|
+
jsii_type="aws-cdk-lib.aws_ec2.CfnLocalGatewayVirtualInterfaceProps",
|
|
12672
|
+
jsii_struct_bases=[],
|
|
12673
|
+
name_mapping={
|
|
12674
|
+
"local_address": "localAddress",
|
|
12675
|
+
"local_gateway_virtual_interface_group_id": "localGatewayVirtualInterfaceGroupId",
|
|
12676
|
+
"outpost_lag_id": "outpostLagId",
|
|
12677
|
+
"peer_address": "peerAddress",
|
|
12678
|
+
"vlan": "vlan",
|
|
12679
|
+
"peer_bgp_asn": "peerBgpAsn",
|
|
12680
|
+
"peer_bgp_asn_extended": "peerBgpAsnExtended",
|
|
12681
|
+
"tags": "tags",
|
|
12682
|
+
},
|
|
12683
|
+
)
|
|
12684
|
+
class CfnLocalGatewayVirtualInterfaceProps:
|
|
12685
|
+
def __init__(
|
|
12686
|
+
self,
|
|
12687
|
+
*,
|
|
12688
|
+
local_address: builtins.str,
|
|
12689
|
+
local_gateway_virtual_interface_group_id: builtins.str,
|
|
12690
|
+
outpost_lag_id: builtins.str,
|
|
12691
|
+
peer_address: builtins.str,
|
|
12692
|
+
vlan: jsii.Number,
|
|
12693
|
+
peer_bgp_asn: typing.Optional[jsii.Number] = None,
|
|
12694
|
+
peer_bgp_asn_extended: typing.Optional[jsii.Number] = None,
|
|
12695
|
+
tags: typing.Optional[typing.Sequence[typing.Union[_CfnTag_f6864754, typing.Dict[builtins.str, typing.Any]]]] = None,
|
|
12696
|
+
) -> None:
|
|
12697
|
+
'''Properties for defining a ``CfnLocalGatewayVirtualInterface``.
|
|
12698
|
+
|
|
12699
|
+
:param local_address: The local address.
|
|
12700
|
+
:param local_gateway_virtual_interface_group_id: The ID of the local gateway virtual interface group.
|
|
12701
|
+
:param outpost_lag_id: The Outpost LAG ID.
|
|
12702
|
+
:param peer_address: The peer address.
|
|
12703
|
+
:param vlan: The ID of the VLAN.
|
|
12704
|
+
:param peer_bgp_asn: The peer BGP ASN.
|
|
12705
|
+
:param peer_bgp_asn_extended: The extended 32-bit ASN of the BGP peer for use with larger ASN values.
|
|
12706
|
+
:param tags: The tags assigned to the virtual interface.
|
|
12707
|
+
|
|
12708
|
+
:see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-localgatewayvirtualinterface.html
|
|
12709
|
+
:exampleMetadata: fixture=_generated
|
|
12710
|
+
|
|
12711
|
+
Example::
|
|
12712
|
+
|
|
12713
|
+
# The code below shows an example of how to instantiate this type.
|
|
12714
|
+
# The values are placeholders you should change.
|
|
12715
|
+
from aws_cdk import aws_ec2 as ec2
|
|
12716
|
+
|
|
12717
|
+
cfn_local_gateway_virtual_interface_props = ec2.CfnLocalGatewayVirtualInterfaceProps(
|
|
12718
|
+
local_address="localAddress",
|
|
12719
|
+
local_gateway_virtual_interface_group_id="localGatewayVirtualInterfaceGroupId",
|
|
12720
|
+
outpost_lag_id="outpostLagId",
|
|
12721
|
+
peer_address="peerAddress",
|
|
12722
|
+
vlan=123,
|
|
12723
|
+
|
|
12724
|
+
# the properties below are optional
|
|
12725
|
+
peer_bgp_asn=123,
|
|
12726
|
+
peer_bgp_asn_extended=123,
|
|
12727
|
+
tags=[CfnTag(
|
|
12728
|
+
key="key",
|
|
12729
|
+
value="value"
|
|
12730
|
+
)]
|
|
12731
|
+
)
|
|
12732
|
+
'''
|
|
12733
|
+
if __debug__:
|
|
12734
|
+
type_hints = typing.get_type_hints(_typecheckingstub__f937f1e5478df1249afd18165f33effb63a12f7ed00b1831a2fbee04cab4c28a)
|
|
12735
|
+
check_type(argname="argument local_address", value=local_address, expected_type=type_hints["local_address"])
|
|
12736
|
+
check_type(argname="argument local_gateway_virtual_interface_group_id", value=local_gateway_virtual_interface_group_id, expected_type=type_hints["local_gateway_virtual_interface_group_id"])
|
|
12737
|
+
check_type(argname="argument outpost_lag_id", value=outpost_lag_id, expected_type=type_hints["outpost_lag_id"])
|
|
12738
|
+
check_type(argname="argument peer_address", value=peer_address, expected_type=type_hints["peer_address"])
|
|
12739
|
+
check_type(argname="argument vlan", value=vlan, expected_type=type_hints["vlan"])
|
|
12740
|
+
check_type(argname="argument peer_bgp_asn", value=peer_bgp_asn, expected_type=type_hints["peer_bgp_asn"])
|
|
12741
|
+
check_type(argname="argument peer_bgp_asn_extended", value=peer_bgp_asn_extended, expected_type=type_hints["peer_bgp_asn_extended"])
|
|
12742
|
+
check_type(argname="argument tags", value=tags, expected_type=type_hints["tags"])
|
|
12743
|
+
self._values: typing.Dict[builtins.str, typing.Any] = {
|
|
12744
|
+
"local_address": local_address,
|
|
12745
|
+
"local_gateway_virtual_interface_group_id": local_gateway_virtual_interface_group_id,
|
|
12746
|
+
"outpost_lag_id": outpost_lag_id,
|
|
12747
|
+
"peer_address": peer_address,
|
|
12748
|
+
"vlan": vlan,
|
|
12749
|
+
}
|
|
12750
|
+
if peer_bgp_asn is not None:
|
|
12751
|
+
self._values["peer_bgp_asn"] = peer_bgp_asn
|
|
12752
|
+
if peer_bgp_asn_extended is not None:
|
|
12753
|
+
self._values["peer_bgp_asn_extended"] = peer_bgp_asn_extended
|
|
12754
|
+
if tags is not None:
|
|
12755
|
+
self._values["tags"] = tags
|
|
12756
|
+
|
|
12757
|
+
@builtins.property
|
|
12758
|
+
def local_address(self) -> builtins.str:
|
|
12759
|
+
'''The local address.
|
|
12760
|
+
|
|
12761
|
+
:see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-localgatewayvirtualinterface.html#cfn-ec2-localgatewayvirtualinterface-localaddress
|
|
12762
|
+
'''
|
|
12763
|
+
result = self._values.get("local_address")
|
|
12764
|
+
assert result is not None, "Required property 'local_address' is missing"
|
|
12765
|
+
return typing.cast(builtins.str, result)
|
|
12766
|
+
|
|
12767
|
+
@builtins.property
|
|
12768
|
+
def local_gateway_virtual_interface_group_id(self) -> builtins.str:
|
|
12769
|
+
'''The ID of the local gateway virtual interface group.
|
|
12770
|
+
|
|
12771
|
+
:see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-localgatewayvirtualinterface.html#cfn-ec2-localgatewayvirtualinterface-localgatewayvirtualinterfacegroupid
|
|
12772
|
+
'''
|
|
12773
|
+
result = self._values.get("local_gateway_virtual_interface_group_id")
|
|
12774
|
+
assert result is not None, "Required property 'local_gateway_virtual_interface_group_id' is missing"
|
|
12775
|
+
return typing.cast(builtins.str, result)
|
|
12776
|
+
|
|
12777
|
+
@builtins.property
|
|
12778
|
+
def outpost_lag_id(self) -> builtins.str:
|
|
12779
|
+
'''The Outpost LAG ID.
|
|
12780
|
+
|
|
12781
|
+
:see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-localgatewayvirtualinterface.html#cfn-ec2-localgatewayvirtualinterface-outpostlagid
|
|
12782
|
+
'''
|
|
12783
|
+
result = self._values.get("outpost_lag_id")
|
|
12784
|
+
assert result is not None, "Required property 'outpost_lag_id' is missing"
|
|
12785
|
+
return typing.cast(builtins.str, result)
|
|
12786
|
+
|
|
12787
|
+
@builtins.property
|
|
12788
|
+
def peer_address(self) -> builtins.str:
|
|
12789
|
+
'''The peer address.
|
|
12790
|
+
|
|
12791
|
+
:see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-localgatewayvirtualinterface.html#cfn-ec2-localgatewayvirtualinterface-peeraddress
|
|
12792
|
+
'''
|
|
12793
|
+
result = self._values.get("peer_address")
|
|
12794
|
+
assert result is not None, "Required property 'peer_address' is missing"
|
|
12795
|
+
return typing.cast(builtins.str, result)
|
|
12796
|
+
|
|
12797
|
+
@builtins.property
|
|
12798
|
+
def vlan(self) -> jsii.Number:
|
|
12799
|
+
'''The ID of the VLAN.
|
|
12800
|
+
|
|
12801
|
+
:see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-localgatewayvirtualinterface.html#cfn-ec2-localgatewayvirtualinterface-vlan
|
|
12802
|
+
'''
|
|
12803
|
+
result = self._values.get("vlan")
|
|
12804
|
+
assert result is not None, "Required property 'vlan' is missing"
|
|
12805
|
+
return typing.cast(jsii.Number, result)
|
|
12806
|
+
|
|
12807
|
+
@builtins.property
|
|
12808
|
+
def peer_bgp_asn(self) -> typing.Optional[jsii.Number]:
|
|
12809
|
+
'''The peer BGP ASN.
|
|
12810
|
+
|
|
12811
|
+
:see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-localgatewayvirtualinterface.html#cfn-ec2-localgatewayvirtualinterface-peerbgpasn
|
|
12812
|
+
'''
|
|
12813
|
+
result = self._values.get("peer_bgp_asn")
|
|
12814
|
+
return typing.cast(typing.Optional[jsii.Number], result)
|
|
12815
|
+
|
|
12816
|
+
@builtins.property
|
|
12817
|
+
def peer_bgp_asn_extended(self) -> typing.Optional[jsii.Number]:
|
|
12818
|
+
'''The extended 32-bit ASN of the BGP peer for use with larger ASN values.
|
|
12819
|
+
|
|
12820
|
+
:see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-localgatewayvirtualinterface.html#cfn-ec2-localgatewayvirtualinterface-peerbgpasnextended
|
|
12821
|
+
'''
|
|
12822
|
+
result = self._values.get("peer_bgp_asn_extended")
|
|
12823
|
+
return typing.cast(typing.Optional[jsii.Number], result)
|
|
12824
|
+
|
|
12825
|
+
@builtins.property
|
|
12826
|
+
def tags(self) -> typing.Optional[typing.List[_CfnTag_f6864754]]:
|
|
12827
|
+
'''The tags assigned to the virtual interface.
|
|
12828
|
+
|
|
12829
|
+
:see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-localgatewayvirtualinterface.html#cfn-ec2-localgatewayvirtualinterface-tags
|
|
12830
|
+
'''
|
|
12831
|
+
result = self._values.get("tags")
|
|
12832
|
+
return typing.cast(typing.Optional[typing.List[_CfnTag_f6864754]], result)
|
|
12833
|
+
|
|
12834
|
+
def __eq__(self, rhs: typing.Any) -> builtins.bool:
|
|
12835
|
+
return isinstance(rhs, self.__class__) and rhs._values == self._values
|
|
12836
|
+
|
|
12837
|
+
def __ne__(self, rhs: typing.Any) -> builtins.bool:
|
|
12838
|
+
return not (rhs == self)
|
|
12839
|
+
|
|
12840
|
+
def __repr__(self) -> str:
|
|
12841
|
+
return "CfnLocalGatewayVirtualInterfaceProps(%s)" % ", ".join(
|
|
12842
|
+
k + "=" + repr(v) for k, v in self._values.items()
|
|
12843
|
+
)
|
|
12844
|
+
|
|
12845
|
+
|
|
12177
12846
|
@jsii.data_type(
|
|
12178
12847
|
jsii_type="aws-cdk-lib.aws_ec2.CfnNatGatewayProps",
|
|
12179
12848
|
jsii_struct_bases=[],
|
|
@@ -19914,7 +20583,7 @@ class CfnVPCEndpointProps:
|
|
|
19914
20583
|
|
|
19915
20584
|
For CloudFormation templates in YAML, you can provide the policy in JSON or YAML format. For example, if you have a JSON policy, you can convert it to YAML before including it in the YAML template, and AWS CloudFormation converts the policy to JSON format before calling the API actions for AWS PrivateLink . Alternatively, you can include the JSON directly in the YAML, as shown in the following ``Properties`` section:
|
|
19916
20585
|
|
|
19917
|
-
``Properties: VpcEndpointType: 'Interface' ServiceName: !Sub 'com.amazonaws.${AWS::Region}.logs' PolicyDocument: '{ "Version":"2012-10-17",
|
|
20586
|
+
``Properties: VpcEndpointType: 'Interface' ServiceName: !Sub 'com.amazonaws.${AWS::Region}.logs' PolicyDocument: '{ "Version":"2012-10-17", "Statement": [{ "Effect":"Allow", "Principal":"*", "Action":["logs:Describe*","logs:Get*","logs:List*","logs:FilterLogEvents"], "Resource":"*" }] }'``
|
|
19918
20587
|
|
|
19919
20588
|
:see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-vpcendpoint.html#cfn-ec2-vpcendpoint-policydocument
|
|
19920
20589
|
'''
|
|
@@ -22426,11 +23095,11 @@ class CfnVolumeProps:
|
|
|
22426
23095
|
:param availability_zone: The ID of the Availability Zone in which to create the volume. For example, ``us-east-1a`` . Either ``AvailabilityZone`` or ``AvailabilityZoneId`` must be specified, but not both.
|
|
22427
23096
|
:param auto_enable_io: Indicates whether the volume is auto-enabled for I/O operations. By default, Amazon EBS disables I/O to the volume from attached EC2 instances when it determines that a volume's data is potentially inconsistent. If the consistency of the volume is not a concern, and you prefer that the volume be made available immediately if it's impaired, you can configure the volume to automatically enable I/O.
|
|
22428
23097
|
:param encrypted: Indicates whether the volume should be encrypted. The effect of setting the encryption state to ``true`` depends on the volume origin (new or from a snapshot), starting encryption state, ownership, and whether encryption by default is enabled. For more information, see `Encryption by default <https://docs.aws.amazon.com/ebs/latest/userguide/work-with-ebs-encr.html#encryption-by-default>`_ in the *Amazon EBS User Guide* . Encrypted Amazon EBS volumes must be attached to instances that support Amazon EBS encryption. For more information, see `Supported instance types <https://docs.aws.amazon.com/ebs/latest/userguide/ebs-encryption-requirements.html#ebs-encryption_supported_instances>`_ .
|
|
22429
|
-
:param iops: The number of I/O operations per second (IOPS). For ``gp3`` , ``io1`` , and ``io2`` volumes, this represents the number of IOPS that are provisioned for the volume. For ``gp2`` volumes, this represents the baseline performance of the volume and the rate at which the volume accumulates I/O credits for bursting. The following are the supported values for each volume type: - ``gp3`` : 3,000 -
|
|
23098
|
+
:param iops: The number of I/O operations per second (IOPS). For ``gp3`` , ``io1`` , and ``io2`` volumes, this represents the number of IOPS that are provisioned for the volume. For ``gp2`` volumes, this represents the baseline performance of the volume and the rate at which the volume accumulates I/O credits for bursting. The following are the supported values for each volume type: - ``gp3`` : 3,000 - 80,000 IOPS - ``io1`` : 100 - 64,000 IOPS - ``io2`` : 100 - 256,000 IOPS For ``io2`` volumes, you can achieve up to 256,000 IOPS on `instances built on the Nitro System <https://docs.aws.amazon.com/ec2/latest/instancetypes/ec2-nitro-instances.html>`_ . On other instances, you can achieve performance up to 32,000 IOPS. This parameter is required for ``io1`` and ``io2`` volumes. The default for ``gp3`` volumes is 3,000 IOPS. This parameter is not supported for ``gp2`` , ``st1`` , ``sc1`` , or ``standard`` volumes.
|
|
22430
23099
|
:param kms_key_id: The identifier of the AWS KMS key to use for Amazon EBS encryption. If ``KmsKeyId`` is specified, the encrypted state must be ``true`` . If you omit this property and your account is enabled for encryption by default, or *Encrypted* is set to ``true`` , then the volume is encrypted using the default key specified for your account. If your account does not have a default key, then the volume is encrypted using the AWS managed key . Alternatively, if you want to specify a different key, you can specify one of the following: - Key ID. For example, 1234abcd-12ab-34cd-56ef-1234567890ab. - Key alias. Specify the alias for the key, prefixed with ``alias/`` . For example, for a key with the alias ``my_cmk`` , use ``alias/my_cmk`` . Or to specify the AWS managed key , use ``alias/aws/ebs`` . - Key ARN. For example, arn:aws:kms:us-east-1:012345678910:key/1234abcd-12ab-34cd-56ef-1234567890ab. - Alias ARN. For example, arn:aws:kms:us-east-1:012345678910:alias/ExampleAlias.
|
|
22431
23100
|
:param multi_attach_enabled: Indicates whether Amazon EBS Multi-Attach is enabled. AWS CloudFormation does not currently support updating a single-attach volume to be multi-attach enabled, updating a multi-attach enabled volume to be single-attach, or updating the size or number of I/O operations per second (IOPS) of a multi-attach enabled volume.
|
|
22432
23101
|
:param outpost_arn: The Amazon Resource Name (ARN) of the Outpost.
|
|
22433
|
-
:param size: The size of the volume, in GiBs. You must specify either a snapshot ID or a volume size. If you specify a snapshot, the default is the snapshot size. You can specify a volume size that is equal to or larger than the snapshot size. The following are the supported volumes sizes for each volume type: - ``gp2``
|
|
23102
|
+
:param size: The size of the volume, in GiBs. You must specify either a snapshot ID or a volume size. If you specify a snapshot, the default is the snapshot size. You can specify a volume size that is equal to or larger than the snapshot size. The following are the supported volumes sizes for each volume type: - ``gp2`` : 1 - 16,384 GiB - ``gp3`` : 1 - 65,536 GiB - ``io1`` : 4 - 16,384 GiB - ``io2`` : 4 - 65,536 GiB - ``st1`` and ``sc1`` : 125 - 16,384 GiB - ``standard`` : 1 - 1024 GiB
|
|
22434
23103
|
:param snapshot_id: The snapshot from which to create the volume. You must specify either a snapshot ID or a volume size.
|
|
22435
23104
|
:param tags: The tags to apply to the volume during creation.
|
|
22436
23105
|
:param throughput: The throughput to provision for a volume, with a maximum of 1,000 MiB/s. This parameter is valid only for ``gp3`` volumes. The default value is 125. Valid Range: Minimum value of 125. Maximum value of 1000.
|
|
@@ -22558,7 +23227,7 @@ class CfnVolumeProps:
|
|
|
22558
23227
|
|
|
22559
23228
|
The following are the supported values for each volume type:
|
|
22560
23229
|
|
|
22561
|
-
- ``gp3`` : 3,000 -
|
|
23230
|
+
- ``gp3`` : 3,000 - 80,000 IOPS
|
|
22562
23231
|
- ``io1`` : 100 - 64,000 IOPS
|
|
22563
23232
|
- ``io2`` : 100 - 256,000 IOPS
|
|
22564
23233
|
|
|
@@ -22621,7 +23290,8 @@ class CfnVolumeProps:
|
|
|
22621
23290
|
|
|
22622
23291
|
The following are the supported volumes sizes for each volume type:
|
|
22623
23292
|
|
|
22624
|
-
- ``gp2``
|
|
23293
|
+
- ``gp2`` : 1 - 16,384 GiB
|
|
23294
|
+
- ``gp3`` : 1 - 65,536 GiB
|
|
22625
23295
|
- ``io1`` : 4 - 16,384 GiB
|
|
22626
23296
|
- ``io2`` : 4 - 65,536 GiB
|
|
22627
23297
|
- ``st1`` and ``sc1`` : 125 - 16,384 GiB
|
|
@@ -23159,6 +23829,7 @@ class ClientVpnEndpointAttributes:
|
|
|
23159
23829
|
"client_login_banner": "clientLoginBanner",
|
|
23160
23830
|
"client_route_enforcement_options": "clientRouteEnforcementOptions",
|
|
23161
23831
|
"description": "description",
|
|
23832
|
+
"disconnect_on_session_timeout": "disconnectOnSessionTimeout",
|
|
23162
23833
|
"dns_servers": "dnsServers",
|
|
23163
23834
|
"logging": "logging",
|
|
23164
23835
|
"log_group": "logGroup",
|
|
@@ -23185,6 +23856,7 @@ class ClientVpnEndpointOptions:
|
|
|
23185
23856
|
client_login_banner: typing.Optional[builtins.str] = None,
|
|
23186
23857
|
client_route_enforcement_options: typing.Optional[typing.Union[ClientRouteEnforcementOptions, typing.Dict[builtins.str, typing.Any]]] = None,
|
|
23187
23858
|
description: typing.Optional[builtins.str] = None,
|
|
23859
|
+
disconnect_on_session_timeout: typing.Optional[builtins.bool] = None,
|
|
23188
23860
|
dns_servers: typing.Optional[typing.Sequence[builtins.str]] = None,
|
|
23189
23861
|
logging: typing.Optional[builtins.bool] = None,
|
|
23190
23862
|
log_group: typing.Optional[_ILogGroup_3c4fa718] = None,
|
|
@@ -23208,6 +23880,7 @@ class ClientVpnEndpointOptions:
|
|
|
23208
23880
|
:param client_login_banner: Customizable text that will be displayed in a banner on AWS provided clients when a VPN session is established. UTF-8 encoded characters only. Maximum of 1400 characters. Default: - no banner is presented to the client
|
|
23209
23881
|
:param client_route_enforcement_options: Options for Client Route Enforcement. Client Route Enforcement is a feature of Client VPN that helps enforce administrator defined routes on devices connected through the VPN. This feature helps improve your security posture by ensuring that network traffic originating from a connected client is not inadvertently sent outside the VPN tunnel. Default: undefined - AWS Client VPN default setting is disable client route enforcement
|
|
23210
23882
|
:param description: A brief description of the Client VPN endpoint. Default: - no description
|
|
23883
|
+
:param disconnect_on_session_timeout: Indicates whether the client VPN session is disconnected after the maximum ``sessionTimeout`` is reached. If ``true``, users are prompted to reconnect client VPN. If ``false``, client VPN attempts to reconnect automatically. Default: undefined - AWS Client VPN default is true
|
|
23211
23884
|
:param dns_servers: Information about the DNS servers to be used for DNS resolution. A Client VPN endpoint can have up to two DNS servers. Default: - use the DNS address configured on the device
|
|
23212
23885
|
:param logging: Whether to enable connections logging. Default: true
|
|
23213
23886
|
:param log_group: A CloudWatch Logs log group for connection logging. Default: - a new group is created
|
|
@@ -23225,16 +23898,13 @@ class ClientVpnEndpointOptions:
|
|
|
23225
23898
|
|
|
23226
23899
|
Example::
|
|
23227
23900
|
|
|
23228
|
-
|
|
23901
|
+
vpc.add_client_vpn_endpoint("Endpoint",
|
|
23229
23902
|
cidr="10.100.0.0/16",
|
|
23230
23903
|
server_certificate_arn="arn:aws:acm:us-east-1:123456789012:certificate/server-certificate-id",
|
|
23231
|
-
|
|
23232
|
-
|
|
23233
|
-
|
|
23234
|
-
|
|
23235
|
-
endpoint.add_authorization_rule("Rule",
|
|
23236
|
-
cidr="10.0.10.0/32",
|
|
23237
|
-
group_id="group-id"
|
|
23904
|
+
# Mutual authentication
|
|
23905
|
+
client_certificate_arn="arn:aws:acm:us-east-1:123456789012:certificate/client-certificate-id",
|
|
23906
|
+
# User-based authentication
|
|
23907
|
+
user_based_authentication=ec2.ClientVpnUserBasedAuthentication.federated(saml_provider)
|
|
23238
23908
|
)
|
|
23239
23909
|
'''
|
|
23240
23910
|
if isinstance(client_route_enforcement_options, dict):
|
|
@@ -23251,6 +23921,7 @@ class ClientVpnEndpointOptions:
|
|
|
23251
23921
|
check_type(argname="argument client_login_banner", value=client_login_banner, expected_type=type_hints["client_login_banner"])
|
|
23252
23922
|
check_type(argname="argument client_route_enforcement_options", value=client_route_enforcement_options, expected_type=type_hints["client_route_enforcement_options"])
|
|
23253
23923
|
check_type(argname="argument description", value=description, expected_type=type_hints["description"])
|
|
23924
|
+
check_type(argname="argument disconnect_on_session_timeout", value=disconnect_on_session_timeout, expected_type=type_hints["disconnect_on_session_timeout"])
|
|
23254
23925
|
check_type(argname="argument dns_servers", value=dns_servers, expected_type=type_hints["dns_servers"])
|
|
23255
23926
|
check_type(argname="argument logging", value=logging, expected_type=type_hints["logging"])
|
|
23256
23927
|
check_type(argname="argument log_group", value=log_group, expected_type=type_hints["log_group"])
|
|
@@ -23279,6 +23950,8 @@ class ClientVpnEndpointOptions:
|
|
|
23279
23950
|
self._values["client_route_enforcement_options"] = client_route_enforcement_options
|
|
23280
23951
|
if description is not None:
|
|
23281
23952
|
self._values["description"] = description
|
|
23953
|
+
if disconnect_on_session_timeout is not None:
|
|
23954
|
+
self._values["disconnect_on_session_timeout"] = disconnect_on_session_timeout
|
|
23282
23955
|
if dns_servers is not None:
|
|
23283
23956
|
self._values["dns_servers"] = dns_servers
|
|
23284
23957
|
if logging is not None:
|
|
@@ -23399,6 +24072,20 @@ class ClientVpnEndpointOptions:
|
|
|
23399
24072
|
result = self._values.get("description")
|
|
23400
24073
|
return typing.cast(typing.Optional[builtins.str], result)
|
|
23401
24074
|
|
|
24075
|
+
@builtins.property
|
|
24076
|
+
def disconnect_on_session_timeout(self) -> typing.Optional[builtins.bool]:
|
|
24077
|
+
'''Indicates whether the client VPN session is disconnected after the maximum ``sessionTimeout`` is reached.
|
|
24078
|
+
|
|
24079
|
+
If ``true``, users are prompted to reconnect client VPN.
|
|
24080
|
+
If ``false``, client VPN attempts to reconnect automatically.
|
|
24081
|
+
|
|
24082
|
+
:default: undefined - AWS Client VPN default is true
|
|
24083
|
+
|
|
24084
|
+
:see: https://docs.aws.amazon.com/vpn/latest/clientvpn-admin/cvpn-working-max-duration.html
|
|
24085
|
+
'''
|
|
24086
|
+
result = self._values.get("disconnect_on_session_timeout")
|
|
24087
|
+
return typing.cast(typing.Optional[builtins.bool], result)
|
|
24088
|
+
|
|
23402
24089
|
@builtins.property
|
|
23403
24090
|
def dns_servers(self) -> typing.Optional[typing.List[builtins.str]]:
|
|
23404
24091
|
'''Information about the DNS servers to be used for DNS resolution.
|
|
@@ -23539,6 +24226,7 @@ class ClientVpnEndpointOptions:
|
|
|
23539
24226
|
"client_login_banner": "clientLoginBanner",
|
|
23540
24227
|
"client_route_enforcement_options": "clientRouteEnforcementOptions",
|
|
23541
24228
|
"description": "description",
|
|
24229
|
+
"disconnect_on_session_timeout": "disconnectOnSessionTimeout",
|
|
23542
24230
|
"dns_servers": "dnsServers",
|
|
23543
24231
|
"logging": "logging",
|
|
23544
24232
|
"log_group": "logGroup",
|
|
@@ -23566,6 +24254,7 @@ class ClientVpnEndpointProps(ClientVpnEndpointOptions):
|
|
|
23566
24254
|
client_login_banner: typing.Optional[builtins.str] = None,
|
|
23567
24255
|
client_route_enforcement_options: typing.Optional[typing.Union[ClientRouteEnforcementOptions, typing.Dict[builtins.str, typing.Any]]] = None,
|
|
23568
24256
|
description: typing.Optional[builtins.str] = None,
|
|
24257
|
+
disconnect_on_session_timeout: typing.Optional[builtins.bool] = None,
|
|
23569
24258
|
dns_servers: typing.Optional[typing.Sequence[builtins.str]] = None,
|
|
23570
24259
|
logging: typing.Optional[builtins.bool] = None,
|
|
23571
24260
|
log_group: typing.Optional[_ILogGroup_3c4fa718] = None,
|
|
@@ -23590,6 +24279,7 @@ class ClientVpnEndpointProps(ClientVpnEndpointOptions):
|
|
|
23590
24279
|
:param client_login_banner: Customizable text that will be displayed in a banner on AWS provided clients when a VPN session is established. UTF-8 encoded characters only. Maximum of 1400 characters. Default: - no banner is presented to the client
|
|
23591
24280
|
:param client_route_enforcement_options: Options for Client Route Enforcement. Client Route Enforcement is a feature of Client VPN that helps enforce administrator defined routes on devices connected through the VPN. This feature helps improve your security posture by ensuring that network traffic originating from a connected client is not inadvertently sent outside the VPN tunnel. Default: undefined - AWS Client VPN default setting is disable client route enforcement
|
|
23592
24281
|
:param description: A brief description of the Client VPN endpoint. Default: - no description
|
|
24282
|
+
:param disconnect_on_session_timeout: Indicates whether the client VPN session is disconnected after the maximum ``sessionTimeout`` is reached. If ``true``, users are prompted to reconnect client VPN. If ``false``, client VPN attempts to reconnect automatically. Default: undefined - AWS Client VPN default is true
|
|
23593
24283
|
:param dns_servers: Information about the DNS servers to be used for DNS resolution. A Client VPN endpoint can have up to two DNS servers. Default: - use the DNS address configured on the device
|
|
23594
24284
|
:param logging: Whether to enable connections logging. Default: true
|
|
23595
24285
|
:param log_group: A CloudWatch Logs log group for connection logging. Default: - a new group is created
|
|
@@ -23636,6 +24326,7 @@ class ClientVpnEndpointProps(ClientVpnEndpointOptions):
|
|
|
23636
24326
|
enforced=False
|
|
23637
24327
|
),
|
|
23638
24328
|
description="description",
|
|
24329
|
+
disconnect_on_session_timeout=False,
|
|
23639
24330
|
dns_servers=["dnsServers"],
|
|
23640
24331
|
logging=False,
|
|
23641
24332
|
log_group=log_group,
|
|
@@ -23671,6 +24362,7 @@ class ClientVpnEndpointProps(ClientVpnEndpointOptions):
|
|
|
23671
24362
|
check_type(argname="argument client_login_banner", value=client_login_banner, expected_type=type_hints["client_login_banner"])
|
|
23672
24363
|
check_type(argname="argument client_route_enforcement_options", value=client_route_enforcement_options, expected_type=type_hints["client_route_enforcement_options"])
|
|
23673
24364
|
check_type(argname="argument description", value=description, expected_type=type_hints["description"])
|
|
24365
|
+
check_type(argname="argument disconnect_on_session_timeout", value=disconnect_on_session_timeout, expected_type=type_hints["disconnect_on_session_timeout"])
|
|
23674
24366
|
check_type(argname="argument dns_servers", value=dns_servers, expected_type=type_hints["dns_servers"])
|
|
23675
24367
|
check_type(argname="argument logging", value=logging, expected_type=type_hints["logging"])
|
|
23676
24368
|
check_type(argname="argument log_group", value=log_group, expected_type=type_hints["log_group"])
|
|
@@ -23701,6 +24393,8 @@ class ClientVpnEndpointProps(ClientVpnEndpointOptions):
|
|
|
23701
24393
|
self._values["client_route_enforcement_options"] = client_route_enforcement_options
|
|
23702
24394
|
if description is not None:
|
|
23703
24395
|
self._values["description"] = description
|
|
24396
|
+
if disconnect_on_session_timeout is not None:
|
|
24397
|
+
self._values["disconnect_on_session_timeout"] = disconnect_on_session_timeout
|
|
23704
24398
|
if dns_servers is not None:
|
|
23705
24399
|
self._values["dns_servers"] = dns_servers
|
|
23706
24400
|
if logging is not None:
|
|
@@ -23821,6 +24515,20 @@ class ClientVpnEndpointProps(ClientVpnEndpointOptions):
|
|
|
23821
24515
|
result = self._values.get("description")
|
|
23822
24516
|
return typing.cast(typing.Optional[builtins.str], result)
|
|
23823
24517
|
|
|
24518
|
+
@builtins.property
|
|
24519
|
+
def disconnect_on_session_timeout(self) -> typing.Optional[builtins.bool]:
|
|
24520
|
+
'''Indicates whether the client VPN session is disconnected after the maximum ``sessionTimeout`` is reached.
|
|
24521
|
+
|
|
24522
|
+
If ``true``, users are prompted to reconnect client VPN.
|
|
24523
|
+
If ``false``, client VPN attempts to reconnect automatically.
|
|
24524
|
+
|
|
24525
|
+
:default: undefined - AWS Client VPN default is true
|
|
24526
|
+
|
|
24527
|
+
:see: https://docs.aws.amazon.com/vpn/latest/clientvpn-admin/cvpn-working-max-duration.html
|
|
24528
|
+
'''
|
|
24529
|
+
result = self._values.get("disconnect_on_session_timeout")
|
|
24530
|
+
return typing.cast(typing.Optional[builtins.bool], result)
|
|
24531
|
+
|
|
23824
24532
|
@builtins.property
|
|
23825
24533
|
def dns_servers(self) -> typing.Optional[typing.List[builtins.str]]:
|
|
23826
24534
|
'''Information about the DNS servers to be used for DNS resolution.
|
|
@@ -25297,6 +26005,70 @@ class CpuCredits(enum.Enum):
|
|
|
25297
26005
|
'''
|
|
25298
26006
|
|
|
25299
26007
|
|
|
26008
|
+
@jsii.enum(jsii_type="aws-cdk-lib.aws_ec2.CpuManufacturer")
|
|
26009
|
+
class CpuManufacturer(enum.Enum):
|
|
26010
|
+
'''CPU manufacturers supported by EC2 instances.
|
|
26011
|
+
|
|
26012
|
+
Restricts the acceptable CPU vendor for selected instance types.
|
|
26013
|
+
|
|
26014
|
+
:exampleMetadata: infused
|
|
26015
|
+
|
|
26016
|
+
Example::
|
|
26017
|
+
|
|
26018
|
+
# vpc: ec2.Vpc
|
|
26019
|
+
# infrastructure_role: iam.Role
|
|
26020
|
+
# instance_profile: iam.InstanceProfile
|
|
26021
|
+
|
|
26022
|
+
|
|
26023
|
+
cluster = ecs.Cluster(self, "Cluster", vpc=vpc)
|
|
26024
|
+
|
|
26025
|
+
# Create a Managed Instances Capacity Provider
|
|
26026
|
+
mi_capacity_provider = ecs.ManagedInstancesCapacityProvider(self, "MICapacityProvider",
|
|
26027
|
+
infrastructure_role=infrastructure_role,
|
|
26028
|
+
ec2_instance_profile=instance_profile,
|
|
26029
|
+
subnets=vpc.private_subnets,
|
|
26030
|
+
security_groups=[ec2.SecurityGroup(self, "MISecurityGroup", vpc=vpc)],
|
|
26031
|
+
instance_requirements=ec2.InstanceRequirementsConfig(
|
|
26032
|
+
v_cpu_count_min=1,
|
|
26033
|
+
memory_min=Size.gibibytes(2),
|
|
26034
|
+
cpu_manufacturers=[ec2.CpuManufacturer.INTEL],
|
|
26035
|
+
accelerator_manufacturers=[ec2.AcceleratorManufacturer.NVIDIA]
|
|
26036
|
+
),
|
|
26037
|
+
propagate_tags=ecs.PropagateManagedInstancesTags.CAPACITY_PROVIDER
|
|
26038
|
+
)
|
|
26039
|
+
|
|
26040
|
+
# Add the capacity provider to the cluster
|
|
26041
|
+
cluster.add_managed_instances_capacity_provider(mi_capacity_provider)
|
|
26042
|
+
|
|
26043
|
+
task_definition = ecs.Ec2TaskDefinition(self, "TaskDef")
|
|
26044
|
+
|
|
26045
|
+
task_definition.add_container("web",
|
|
26046
|
+
image=ecs.ContainerImage.from_registry("amazon/amazon-ecs-sample"),
|
|
26047
|
+
memory_reservation_mi_b=256
|
|
26048
|
+
)
|
|
26049
|
+
|
|
26050
|
+
ecs.Ec2Service(self, "EC2Service",
|
|
26051
|
+
cluster=cluster,
|
|
26052
|
+
task_definition=task_definition,
|
|
26053
|
+
min_healthy_percent=100,
|
|
26054
|
+
capacity_provider_strategies=[ecs.CapacityProviderStrategy(
|
|
26055
|
+
capacity_provider=mi_capacity_provider.capacity_provider_name,
|
|
26056
|
+
weight=1
|
|
26057
|
+
)
|
|
26058
|
+
]
|
|
26059
|
+
)
|
|
26060
|
+
'''
|
|
26061
|
+
|
|
26062
|
+
INTEL = "INTEL"
|
|
26063
|
+
'''Intel CPUs (e.g., Xeon families).'''
|
|
26064
|
+
AMD = "AMD"
|
|
26065
|
+
'''AMD CPUs (e.g., EPYC families).'''
|
|
26066
|
+
AWS = "AWS"
|
|
26067
|
+
'''AWS-designed CPUs (e.g., Graviton families).'''
|
|
26068
|
+
APPLE = "APPLE"
|
|
26069
|
+
'''Apple CPUs (e.g., M1, M2).'''
|
|
26070
|
+
|
|
26071
|
+
|
|
25300
26072
|
@jsii.data_type(
|
|
25301
26073
|
jsii_type="aws-cdk-lib.aws_ec2.CreateIpv6CidrBlocksRequest",
|
|
25302
26074
|
jsii_struct_bases=[],
|
|
@@ -29291,6 +30063,100 @@ class _ILocalGatewayRouteTableVirtualInterfaceGroupAssociationRefProxy(
|
|
|
29291
30063
|
typing.cast(typing.Any, ILocalGatewayRouteTableVirtualInterfaceGroupAssociationRef).__jsii_proxy_class__ = lambda : _ILocalGatewayRouteTableVirtualInterfaceGroupAssociationRefProxy
|
|
29292
30064
|
|
|
29293
30065
|
|
|
30066
|
+
@jsii.interface(jsii_type="aws-cdk-lib.aws_ec2.ILocalGatewayVirtualInterfaceGroupRef")
|
|
30067
|
+
class ILocalGatewayVirtualInterfaceGroupRef(
|
|
30068
|
+
_constructs_77d1e7e8.IConstruct,
|
|
30069
|
+
typing_extensions.Protocol,
|
|
30070
|
+
):
|
|
30071
|
+
'''(experimental) Indicates that this resource can be referenced as a LocalGatewayVirtualInterfaceGroup.
|
|
30072
|
+
|
|
30073
|
+
:stability: experimental
|
|
30074
|
+
'''
|
|
30075
|
+
|
|
30076
|
+
@builtins.property
|
|
30077
|
+
@jsii.member(jsii_name="localGatewayVirtualInterfaceGroupRef")
|
|
30078
|
+
def local_gateway_virtual_interface_group_ref(
|
|
30079
|
+
self,
|
|
30080
|
+
) -> "LocalGatewayVirtualInterfaceGroupReference":
|
|
30081
|
+
'''(experimental) A reference to a LocalGatewayVirtualInterfaceGroup resource.
|
|
30082
|
+
|
|
30083
|
+
:stability: experimental
|
|
30084
|
+
'''
|
|
30085
|
+
...
|
|
30086
|
+
|
|
30087
|
+
|
|
30088
|
+
class _ILocalGatewayVirtualInterfaceGroupRefProxy(
|
|
30089
|
+
jsii.proxy_for(_constructs_77d1e7e8.IConstruct), # type: ignore[misc]
|
|
30090
|
+
):
|
|
30091
|
+
'''(experimental) Indicates that this resource can be referenced as a LocalGatewayVirtualInterfaceGroup.
|
|
30092
|
+
|
|
30093
|
+
:stability: experimental
|
|
30094
|
+
'''
|
|
30095
|
+
|
|
30096
|
+
__jsii_type__: typing.ClassVar[str] = "aws-cdk-lib.aws_ec2.ILocalGatewayVirtualInterfaceGroupRef"
|
|
30097
|
+
|
|
30098
|
+
@builtins.property
|
|
30099
|
+
@jsii.member(jsii_name="localGatewayVirtualInterfaceGroupRef")
|
|
30100
|
+
def local_gateway_virtual_interface_group_ref(
|
|
30101
|
+
self,
|
|
30102
|
+
) -> "LocalGatewayVirtualInterfaceGroupReference":
|
|
30103
|
+
'''(experimental) A reference to a LocalGatewayVirtualInterfaceGroup resource.
|
|
30104
|
+
|
|
30105
|
+
:stability: experimental
|
|
30106
|
+
'''
|
|
30107
|
+
return typing.cast("LocalGatewayVirtualInterfaceGroupReference", jsii.get(self, "localGatewayVirtualInterfaceGroupRef"))
|
|
30108
|
+
|
|
30109
|
+
# Adding a "__jsii_proxy_class__(): typing.Type" function to the interface
|
|
30110
|
+
typing.cast(typing.Any, ILocalGatewayVirtualInterfaceGroupRef).__jsii_proxy_class__ = lambda : _ILocalGatewayVirtualInterfaceGroupRefProxy
|
|
30111
|
+
|
|
30112
|
+
|
|
30113
|
+
@jsii.interface(jsii_type="aws-cdk-lib.aws_ec2.ILocalGatewayVirtualInterfaceRef")
|
|
30114
|
+
class ILocalGatewayVirtualInterfaceRef(
|
|
30115
|
+
_constructs_77d1e7e8.IConstruct,
|
|
30116
|
+
typing_extensions.Protocol,
|
|
30117
|
+
):
|
|
30118
|
+
'''(experimental) Indicates that this resource can be referenced as a LocalGatewayVirtualInterface.
|
|
30119
|
+
|
|
30120
|
+
:stability: experimental
|
|
30121
|
+
'''
|
|
30122
|
+
|
|
30123
|
+
@builtins.property
|
|
30124
|
+
@jsii.member(jsii_name="localGatewayVirtualInterfaceRef")
|
|
30125
|
+
def local_gateway_virtual_interface_ref(
|
|
30126
|
+
self,
|
|
30127
|
+
) -> "LocalGatewayVirtualInterfaceReference":
|
|
30128
|
+
'''(experimental) A reference to a LocalGatewayVirtualInterface resource.
|
|
30129
|
+
|
|
30130
|
+
:stability: experimental
|
|
30131
|
+
'''
|
|
30132
|
+
...
|
|
30133
|
+
|
|
30134
|
+
|
|
30135
|
+
class _ILocalGatewayVirtualInterfaceRefProxy(
|
|
30136
|
+
jsii.proxy_for(_constructs_77d1e7e8.IConstruct), # type: ignore[misc]
|
|
30137
|
+
):
|
|
30138
|
+
'''(experimental) Indicates that this resource can be referenced as a LocalGatewayVirtualInterface.
|
|
30139
|
+
|
|
30140
|
+
:stability: experimental
|
|
30141
|
+
'''
|
|
30142
|
+
|
|
30143
|
+
__jsii_type__: typing.ClassVar[str] = "aws-cdk-lib.aws_ec2.ILocalGatewayVirtualInterfaceRef"
|
|
30144
|
+
|
|
30145
|
+
@builtins.property
|
|
30146
|
+
@jsii.member(jsii_name="localGatewayVirtualInterfaceRef")
|
|
30147
|
+
def local_gateway_virtual_interface_ref(
|
|
30148
|
+
self,
|
|
30149
|
+
) -> "LocalGatewayVirtualInterfaceReference":
|
|
30150
|
+
'''(experimental) A reference to a LocalGatewayVirtualInterface resource.
|
|
30151
|
+
|
|
30152
|
+
:stability: experimental
|
|
30153
|
+
'''
|
|
30154
|
+
return typing.cast("LocalGatewayVirtualInterfaceReference", jsii.get(self, "localGatewayVirtualInterfaceRef"))
|
|
30155
|
+
|
|
30156
|
+
# Adding a "__jsii_proxy_class__(): typing.Type" function to the interface
|
|
30157
|
+
typing.cast(typing.Any, ILocalGatewayVirtualInterfaceRef).__jsii_proxy_class__ = lambda : _ILocalGatewayVirtualInterfaceRefProxy
|
|
30158
|
+
|
|
30159
|
+
|
|
29294
30160
|
@jsii.interface(jsii_type="aws-cdk-lib.aws_ec2.IMachineImage")
|
|
29295
30161
|
class IMachineImage(typing_extensions.Protocol):
|
|
29296
30162
|
'''Interface for classes that can select an appropriate machine image to use.'''
|
|
@@ -32913,6 +33779,7 @@ class IVpc(_IResource_c80c4260, IVPCRef, typing_extensions.Protocol):
|
|
|
32913
33779
|
client_login_banner: typing.Optional[builtins.str] = None,
|
|
32914
33780
|
client_route_enforcement_options: typing.Optional[typing.Union[ClientRouteEnforcementOptions, typing.Dict[builtins.str, typing.Any]]] = None,
|
|
32915
33781
|
description: typing.Optional[builtins.str] = None,
|
|
33782
|
+
disconnect_on_session_timeout: typing.Optional[builtins.bool] = None,
|
|
32916
33783
|
dns_servers: typing.Optional[typing.Sequence[builtins.str]] = None,
|
|
32917
33784
|
logging: typing.Optional[builtins.bool] = None,
|
|
32918
33785
|
log_group: typing.Optional[_ILogGroup_3c4fa718] = None,
|
|
@@ -32937,6 +33804,7 @@ class IVpc(_IResource_c80c4260, IVPCRef, typing_extensions.Protocol):
|
|
|
32937
33804
|
:param client_login_banner: Customizable text that will be displayed in a banner on AWS provided clients when a VPN session is established. UTF-8 encoded characters only. Maximum of 1400 characters. Default: - no banner is presented to the client
|
|
32938
33805
|
:param client_route_enforcement_options: Options for Client Route Enforcement. Client Route Enforcement is a feature of Client VPN that helps enforce administrator defined routes on devices connected through the VPN. This feature helps improve your security posture by ensuring that network traffic originating from a connected client is not inadvertently sent outside the VPN tunnel. Default: undefined - AWS Client VPN default setting is disable client route enforcement
|
|
32939
33806
|
:param description: A brief description of the Client VPN endpoint. Default: - no description
|
|
33807
|
+
:param disconnect_on_session_timeout: Indicates whether the client VPN session is disconnected after the maximum ``sessionTimeout`` is reached. If ``true``, users are prompted to reconnect client VPN. If ``false``, client VPN attempts to reconnect automatically. Default: undefined - AWS Client VPN default is true
|
|
32940
33808
|
:param dns_servers: Information about the DNS servers to be used for DNS resolution. A Client VPN endpoint can have up to two DNS servers. Default: - use the DNS address configured on the device
|
|
32941
33809
|
:param logging: Whether to enable connections logging. Default: true
|
|
32942
33810
|
:param log_group: A CloudWatch Logs log group for connection logging. Default: - a new group is created
|
|
@@ -33164,6 +34032,7 @@ class _IVpcProxy(
|
|
|
33164
34032
|
client_login_banner: typing.Optional[builtins.str] = None,
|
|
33165
34033
|
client_route_enforcement_options: typing.Optional[typing.Union[ClientRouteEnforcementOptions, typing.Dict[builtins.str, typing.Any]]] = None,
|
|
33166
34034
|
description: typing.Optional[builtins.str] = None,
|
|
34035
|
+
disconnect_on_session_timeout: typing.Optional[builtins.bool] = None,
|
|
33167
34036
|
dns_servers: typing.Optional[typing.Sequence[builtins.str]] = None,
|
|
33168
34037
|
logging: typing.Optional[builtins.bool] = None,
|
|
33169
34038
|
log_group: typing.Optional[_ILogGroup_3c4fa718] = None,
|
|
@@ -33188,6 +34057,7 @@ class _IVpcProxy(
|
|
|
33188
34057
|
:param client_login_banner: Customizable text that will be displayed in a banner on AWS provided clients when a VPN session is established. UTF-8 encoded characters only. Maximum of 1400 characters. Default: - no banner is presented to the client
|
|
33189
34058
|
:param client_route_enforcement_options: Options for Client Route Enforcement. Client Route Enforcement is a feature of Client VPN that helps enforce administrator defined routes on devices connected through the VPN. This feature helps improve your security posture by ensuring that network traffic originating from a connected client is not inadvertently sent outside the VPN tunnel. Default: undefined - AWS Client VPN default setting is disable client route enforcement
|
|
33190
34059
|
:param description: A brief description of the Client VPN endpoint. Default: - no description
|
|
34060
|
+
:param disconnect_on_session_timeout: Indicates whether the client VPN session is disconnected after the maximum ``sessionTimeout`` is reached. If ``true``, users are prompted to reconnect client VPN. If ``false``, client VPN attempts to reconnect automatically. Default: undefined - AWS Client VPN default is true
|
|
33191
34061
|
:param dns_servers: Information about the DNS servers to be used for DNS resolution. A Client VPN endpoint can have up to two DNS servers. Default: - use the DNS address configured on the device
|
|
33192
34062
|
:param logging: Whether to enable connections logging. Default: true
|
|
33193
34063
|
:param log_group: A CloudWatch Logs log group for connection logging. Default: - a new group is created
|
|
@@ -33213,6 +34083,7 @@ class _IVpcProxy(
|
|
|
33213
34083
|
client_login_banner=client_login_banner,
|
|
33214
34084
|
client_route_enforcement_options=client_route_enforcement_options,
|
|
33215
34085
|
description=description,
|
|
34086
|
+
disconnect_on_session_timeout=disconnect_on_session_timeout,
|
|
33216
34087
|
dns_servers=dns_servers,
|
|
33217
34088
|
logging=logging,
|
|
33218
34089
|
log_group=log_group,
|
|
@@ -36366,6 +37237,14 @@ class InstanceClass(enum.Enum):
|
|
|
36366
37237
|
'''Compute optimized instances based on Intel Xeon Scalable (Sapphire Rapids) processors, 7th generation C7i-flex instances efficiently use compute resources to deliver a baseline level of performance with the ability to scale up to the full compute performance a majority of the time.'''
|
|
36367
37238
|
C7I_FLEX = "C7I_FLEX"
|
|
36368
37239
|
'''Compute optimized instances based on Intel Xeon Scalable (Sapphire Rapids) processors, 7th generation C7i-flex instances efficiently use compute resources to deliver a baseline level of performance with the ability to scale up to the full compute performance a majority of the time.'''
|
|
37240
|
+
COMPUTE8_INTEL = "COMPUTE8_INTEL"
|
|
37241
|
+
'''Compute optimized instances based on custom Intel Xeon 6 processors, available only on AWS, 8th generation.'''
|
|
37242
|
+
C8I = "C8I"
|
|
37243
|
+
'''Compute optimized instances based on custom Intel Xeon 6 processors, available only on AWS, 8th generation.'''
|
|
37244
|
+
COMPUTE8_INTEL_FLEX = "COMPUTE8_INTEL_FLEX"
|
|
37245
|
+
'''Compute optimized instances based on custom Intel Xeon 6 processors, available only on AWS, 8th generation C8i-flex instances efficiently use compute resources to deliver a baseline level of performance with the ability to scale up to the full compute performance a majority of the time.'''
|
|
37246
|
+
C8I_FLEX = "C8I_FLEX"
|
|
37247
|
+
'''Compute optimized instances based on custom Intel Xeon 6 processors, available only on AWS, 8th generation C8i-flex instances efficiently use compute resources to deliver a baseline level of performance with the ability to scale up to the full compute performance a majority of the time.'''
|
|
36369
37248
|
COMPUTE7_AMD = "COMPUTE7_AMD"
|
|
36370
37249
|
'''Compute optimized instances based on 4th generation AMD EPYC (codename Genoa), 7th generation.'''
|
|
36371
37250
|
C7A = "C7A"
|
|
@@ -36664,6 +37543,10 @@ class InstanceClass(enum.Enum):
|
|
|
36664
37543
|
'''Standard instances based on 4th generation AMD EPYC (codename Genoa), 7th generation.'''
|
|
36665
37544
|
M7A = "M7A"
|
|
36666
37545
|
'''Standard instances based on 4th generation AMD EPYC (codename Genoa), 7th generation.'''
|
|
37546
|
+
STANDARD8_AMD = "STANDARD8_AMD"
|
|
37547
|
+
'''Standard instances based on 5th generation AMD EPYC (formerly code named Turin), 8th generation.'''
|
|
37548
|
+
M8A = "M8A"
|
|
37549
|
+
'''Standard instances based on 5th generation AMD EPYC (formerly code named Turin), 8th generation.'''
|
|
36667
37550
|
HIGH_COMPUTE_MEMORY1 = "HIGH_COMPUTE_MEMORY1"
|
|
36668
37551
|
'''High memory and compute capacity instances, 1st generation.'''
|
|
36669
37552
|
Z1D = "Z1D"
|
|
@@ -36775,6 +37658,71 @@ class InstanceConnectEndpointReference:
|
|
|
36775
37658
|
)
|
|
36776
37659
|
|
|
36777
37660
|
|
|
37661
|
+
@jsii.enum(jsii_type="aws-cdk-lib.aws_ec2.InstanceGeneration")
|
|
37662
|
+
class InstanceGeneration(enum.Enum):
|
|
37663
|
+
'''Instance generation categories for EC2.
|
|
37664
|
+
|
|
37665
|
+
Determines whether the instance type must belong to the latest
|
|
37666
|
+
(current) generation or to an older (previous) generation.
|
|
37667
|
+
|
|
37668
|
+
:exampleMetadata: infused
|
|
37669
|
+
|
|
37670
|
+
Example::
|
|
37671
|
+
|
|
37672
|
+
# infrastructure_role: iam.Role
|
|
37673
|
+
# instance_profile: iam.InstanceProfile
|
|
37674
|
+
# vpc: ec2.Vpc
|
|
37675
|
+
|
|
37676
|
+
|
|
37677
|
+
mi_capacity_provider = ecs.ManagedInstancesCapacityProvider(self, "MICapacityProvider",
|
|
37678
|
+
infrastructure_role=infrastructure_role,
|
|
37679
|
+
ec2_instance_profile=instance_profile,
|
|
37680
|
+
subnets=vpc.private_subnets,
|
|
37681
|
+
instance_requirements=ec2.InstanceRequirementsConfig(
|
|
37682
|
+
# Required: CPU and memory constraints
|
|
37683
|
+
v_cpu_count_min=2,
|
|
37684
|
+
v_cpu_count_max=8,
|
|
37685
|
+
memory_min=Size.gibibytes(4),
|
|
37686
|
+
memory_max=Size.gibibytes(32),
|
|
37687
|
+
|
|
37688
|
+
# CPU preferences
|
|
37689
|
+
cpu_manufacturers=[ec2.CpuManufacturer.INTEL, ec2.CpuManufacturer.AMD],
|
|
37690
|
+
instance_generations=[ec2.InstanceGeneration.CURRENT],
|
|
37691
|
+
|
|
37692
|
+
# Instance type filtering
|
|
37693
|
+
allowed_instance_types=["m5.*", "c5.*"],
|
|
37694
|
+
|
|
37695
|
+
# Performance characteristics
|
|
37696
|
+
burstable_performance=ec2.BurstablePerformance.EXCLUDED,
|
|
37697
|
+
bare_metal=ec2.BareMetal.EXCLUDED,
|
|
37698
|
+
|
|
37699
|
+
# Accelerator requirements (for ML/AI workloads)
|
|
37700
|
+
accelerator_types=[ec2.AcceleratorType.GPU],
|
|
37701
|
+
accelerator_manufacturers=[ec2.AcceleratorManufacturer.NVIDIA],
|
|
37702
|
+
accelerator_names=[ec2.AcceleratorName.T4, ec2.AcceleratorName.V100],
|
|
37703
|
+
accelerator_count_min=1,
|
|
37704
|
+
|
|
37705
|
+
# Storage requirements
|
|
37706
|
+
local_storage=ec2.LocalStorage.REQUIRED,
|
|
37707
|
+
local_storage_types=[ec2.LocalStorageType.SSD],
|
|
37708
|
+
total_local_storage_gBMin=100,
|
|
37709
|
+
|
|
37710
|
+
# Network requirements
|
|
37711
|
+
network_interface_count_min=2,
|
|
37712
|
+
network_bandwidth_gbps_min=10,
|
|
37713
|
+
|
|
37714
|
+
# Cost optimization
|
|
37715
|
+
on_demand_max_price_percentage_over_lowest_price=10
|
|
37716
|
+
)
|
|
37717
|
+
)
|
|
37718
|
+
'''
|
|
37719
|
+
|
|
37720
|
+
CURRENT = "CURRENT"
|
|
37721
|
+
'''Current generation instances (latest families).'''
|
|
37722
|
+
PREVIOUS = "PREVIOUS"
|
|
37723
|
+
'''Previous generation instances (older families).'''
|
|
37724
|
+
|
|
37725
|
+
|
|
36778
37726
|
@jsii.enum(jsii_type="aws-cdk-lib.aws_ec2.InstanceInitiatedShutdownBehavior")
|
|
36779
37727
|
class InstanceInitiatedShutdownBehavior(enum.Enum):
|
|
36780
37728
|
'''Provides the options for specifying the instance initiated shutdown behavior.
|
|
@@ -37653,6 +38601,676 @@ class InstanceRequireImdsv2AspectProps:
|
|
|
37653
38601
|
)
|
|
37654
38602
|
|
|
37655
38603
|
|
|
38604
|
+
@jsii.data_type(
|
|
38605
|
+
jsii_type="aws-cdk-lib.aws_ec2.InstanceRequirementsConfig",
|
|
38606
|
+
jsii_struct_bases=[],
|
|
38607
|
+
name_mapping={
|
|
38608
|
+
"memory_min": "memoryMin",
|
|
38609
|
+
"v_cpu_count_min": "vCpuCountMin",
|
|
38610
|
+
"accelerator_count_max": "acceleratorCountMax",
|
|
38611
|
+
"accelerator_count_min": "acceleratorCountMin",
|
|
38612
|
+
"accelerator_manufacturers": "acceleratorManufacturers",
|
|
38613
|
+
"accelerator_names": "acceleratorNames",
|
|
38614
|
+
"accelerator_total_memory_max": "acceleratorTotalMemoryMax",
|
|
38615
|
+
"accelerator_total_memory_min": "acceleratorTotalMemoryMin",
|
|
38616
|
+
"accelerator_types": "acceleratorTypes",
|
|
38617
|
+
"allowed_instance_types": "allowedInstanceTypes",
|
|
38618
|
+
"bare_metal": "bareMetal",
|
|
38619
|
+
"baseline_ebs_bandwidth_mbps_max": "baselineEbsBandwidthMbpsMax",
|
|
38620
|
+
"baseline_ebs_bandwidth_mbps_min": "baselineEbsBandwidthMbpsMin",
|
|
38621
|
+
"burstable_performance": "burstablePerformance",
|
|
38622
|
+
"cpu_manufacturers": "cpuManufacturers",
|
|
38623
|
+
"excluded_instance_types": "excludedInstanceTypes",
|
|
38624
|
+
"instance_generations": "instanceGenerations",
|
|
38625
|
+
"local_storage": "localStorage",
|
|
38626
|
+
"local_storage_types": "localStorageTypes",
|
|
38627
|
+
"max_spot_price_as_percentage_of_optimal_on_demand_price": "maxSpotPriceAsPercentageOfOptimalOnDemandPrice",
|
|
38628
|
+
"memory_max": "memoryMax",
|
|
38629
|
+
"memory_per_v_cpu_max": "memoryPerVCpuMax",
|
|
38630
|
+
"memory_per_v_cpu_min": "memoryPerVCpuMin",
|
|
38631
|
+
"network_bandwidth_gbps_max": "networkBandwidthGbpsMax",
|
|
38632
|
+
"network_bandwidth_gbps_min": "networkBandwidthGbpsMin",
|
|
38633
|
+
"network_interface_count_max": "networkInterfaceCountMax",
|
|
38634
|
+
"network_interface_count_min": "networkInterfaceCountMin",
|
|
38635
|
+
"on_demand_max_price_percentage_over_lowest_price": "onDemandMaxPricePercentageOverLowestPrice",
|
|
38636
|
+
"require_hibernate_support": "requireHibernateSupport",
|
|
38637
|
+
"spot_max_price_percentage_over_lowest_price": "spotMaxPricePercentageOverLowestPrice",
|
|
38638
|
+
"total_local_storage_gb_max": "totalLocalStorageGBMax",
|
|
38639
|
+
"total_local_storage_gb_min": "totalLocalStorageGBMin",
|
|
38640
|
+
"v_cpu_count_max": "vCpuCountMax",
|
|
38641
|
+
},
|
|
38642
|
+
)
|
|
38643
|
+
class InstanceRequirementsConfig:
|
|
38644
|
+
def __init__(
|
|
38645
|
+
self,
|
|
38646
|
+
*,
|
|
38647
|
+
memory_min: _Size_7b441c34,
|
|
38648
|
+
v_cpu_count_min: jsii.Number,
|
|
38649
|
+
accelerator_count_max: typing.Optional[jsii.Number] = None,
|
|
38650
|
+
accelerator_count_min: typing.Optional[jsii.Number] = None,
|
|
38651
|
+
accelerator_manufacturers: typing.Optional[typing.Sequence[AcceleratorManufacturer]] = None,
|
|
38652
|
+
accelerator_names: typing.Optional[typing.Sequence[AcceleratorName]] = None,
|
|
38653
|
+
accelerator_total_memory_max: typing.Optional[_Size_7b441c34] = None,
|
|
38654
|
+
accelerator_total_memory_min: typing.Optional[_Size_7b441c34] = None,
|
|
38655
|
+
accelerator_types: typing.Optional[typing.Sequence[AcceleratorType]] = None,
|
|
38656
|
+
allowed_instance_types: typing.Optional[typing.Sequence[builtins.str]] = None,
|
|
38657
|
+
bare_metal: typing.Optional[BareMetal] = None,
|
|
38658
|
+
baseline_ebs_bandwidth_mbps_max: typing.Optional[jsii.Number] = None,
|
|
38659
|
+
baseline_ebs_bandwidth_mbps_min: typing.Optional[jsii.Number] = None,
|
|
38660
|
+
burstable_performance: typing.Optional[BurstablePerformance] = None,
|
|
38661
|
+
cpu_manufacturers: typing.Optional[typing.Sequence[CpuManufacturer]] = None,
|
|
38662
|
+
excluded_instance_types: typing.Optional[typing.Sequence[builtins.str]] = None,
|
|
38663
|
+
instance_generations: typing.Optional[typing.Sequence[InstanceGeneration]] = None,
|
|
38664
|
+
local_storage: typing.Optional["LocalStorage"] = None,
|
|
38665
|
+
local_storage_types: typing.Optional[typing.Sequence["LocalStorageType"]] = None,
|
|
38666
|
+
max_spot_price_as_percentage_of_optimal_on_demand_price: typing.Optional[jsii.Number] = None,
|
|
38667
|
+
memory_max: typing.Optional[_Size_7b441c34] = None,
|
|
38668
|
+
memory_per_v_cpu_max: typing.Optional[_Size_7b441c34] = None,
|
|
38669
|
+
memory_per_v_cpu_min: typing.Optional[_Size_7b441c34] = None,
|
|
38670
|
+
network_bandwidth_gbps_max: typing.Optional[jsii.Number] = None,
|
|
38671
|
+
network_bandwidth_gbps_min: typing.Optional[jsii.Number] = None,
|
|
38672
|
+
network_interface_count_max: typing.Optional[jsii.Number] = None,
|
|
38673
|
+
network_interface_count_min: typing.Optional[jsii.Number] = None,
|
|
38674
|
+
on_demand_max_price_percentage_over_lowest_price: typing.Optional[jsii.Number] = None,
|
|
38675
|
+
require_hibernate_support: typing.Optional[builtins.bool] = None,
|
|
38676
|
+
spot_max_price_percentage_over_lowest_price: typing.Optional[jsii.Number] = None,
|
|
38677
|
+
total_local_storage_gb_max: typing.Optional[jsii.Number] = None,
|
|
38678
|
+
total_local_storage_gb_min: typing.Optional[jsii.Number] = None,
|
|
38679
|
+
v_cpu_count_max: typing.Optional[jsii.Number] = None,
|
|
38680
|
+
) -> None:
|
|
38681
|
+
'''The attributes for the instance types for a mixed instances policy.
|
|
38682
|
+
|
|
38683
|
+
When you specify multiple attributes, you get instance types that satisfy all of the specified attributes. If you specify multiple values for an attribute, you get instance types that satisfy any of the specified values.
|
|
38684
|
+
|
|
38685
|
+
To limit the list of instance types from which Amazon EC2 can identify matching instance types, you can use one of the following parameters, but not both in the same request:
|
|
38686
|
+
|
|
38687
|
+
- AllowedInstanceTypes - The instance types to include in the list. All other instance types are ignored, even if they match your specified attributes.
|
|
38688
|
+
- ExcludedInstanceTypes - The instance types to exclude from the list, even if they match your specified attributes.
|
|
38689
|
+
|
|
38690
|
+
Note: You must specify VCpuCount and MemoryMiB. All other attributes are optional. Any unspecified optional attribute is set to its default.
|
|
38691
|
+
|
|
38692
|
+
:param memory_min: The minimum instance memory size for an instance type, in MiB. Required: Yes
|
|
38693
|
+
:param v_cpu_count_min: The minimum number of vCPUs for an instance type. Required: Yes
|
|
38694
|
+
:param accelerator_count_max: The maximum number of accelerators (GPUs, FPGAs, or AWS Inferentia chips) for an instance type. To exclude accelerator-enabled instance types, set Max to 0. Default: - No minimum or maximum limits
|
|
38695
|
+
:param accelerator_count_min: The minimum number of accelerators (GPUs, FPGAs, or AWS Inferentia chips) for an instance type. To exclude accelerator-enabled instance types, set acceleratorCountMax to 0. Default: - No minimum or maximum limits
|
|
38696
|
+
:param accelerator_manufacturers: Indicates whether instance types must have accelerators by specific manufacturers. - For instance types with NVIDIA devices, specify nvidia. - For instance types with AMD devices, specify amd. - For instance types with AWS devices, specify amazon-web-services. - For instance types with Xilinx devices, specify xilinx. Default: - Any manufacturer
|
|
38697
|
+
:param accelerator_names: Lists the accelerators that must be on an instance type. - For instance types with NVIDIA A100 GPUs, specify a100. - For instance types with NVIDIA V100 GPUs, specify v100. - For instance types with NVIDIA K80 GPUs, specify k80. - For instance types with NVIDIA T4 GPUs, specify t4. - For instance types with NVIDIA M60 GPUs, specify m60. - For instance types with AMD Radeon Pro V520 GPUs, specify radeon-pro-v520. - For instance types with Xilinx VU9P FPGAs, specify vu9p. Default: - Any accelerator
|
|
38698
|
+
:param accelerator_total_memory_max: The maximum total memory size for the accelerators on an instance type, in MiB. Default: - No minimum or maximum limits
|
|
38699
|
+
:param accelerator_total_memory_min: The minimum total memory size for the accelerators on an instance type, in MiB. Default: - No minimum or maximum limits
|
|
38700
|
+
:param accelerator_types: Lists the accelerator types that must be on an instance type. - For instance types with GPU accelerators, specify gpu. - For instance types with FPGA accelerators, specify fpga. - For instance types with inference accelerators, specify inference. Default: - Any accelerator type
|
|
38701
|
+
:param allowed_instance_types: The instance types to apply your specified attributes against. All other instance types are ignored, even if they match your specified attributes. You can use strings with one or more wild cards, represented by an asterisk (*), to allow an instance type, size, or generation. The following are examples: m5.8xlarge, c5*.*, m5a.*, r*, *3*. For example, if you specify c5*, Amazon EC2 Auto Scaling will allow the entire C5 instance family, which includes all C5a and C5n instance types. If you specify m5a.*, Amazon EC2 Auto Scaling will allow all the M5a instance types, but not the M5n instance types. Note: If you specify AllowedInstanceTypes, you can't specify ExcludedInstanceTypes. Default: - All instance types
|
|
38702
|
+
:param bare_metal: Indicates whether bare metal instance types are included, excluded, or required. Default: - excluded
|
|
38703
|
+
:param baseline_ebs_bandwidth_mbps_max: The maximum baseline bandwidth performance for an instance type, in Mbps. For more information, see Amazon EBS–optimized instances in the Amazon EC2 User Guide. Default: - No minimum or maximum limits
|
|
38704
|
+
:param baseline_ebs_bandwidth_mbps_min: The minimum baseline bandwidth performance for an instance type, in Mbps. For more information, see Amazon EBS–optimized instances in the Amazon EC2 User Guide. Default: - No minimum or maximum limits
|
|
38705
|
+
:param burstable_performance: Indicates whether burstable performance instance types are included, excluded, or required. For more information, see Burstable performance instances in the Amazon EC2 User Guide. Default: - excluded
|
|
38706
|
+
:param cpu_manufacturers: Lists which specific CPU manufacturers to include. - For instance types with Intel CPUs, specify intel. - For instance types with AMD CPUs, specify amd. - For instance types with AWS CPUs, specify amazon-web-services. - For instance types with Apple CPUs, specify apple. Note: Don't confuse the CPU hardware manufacturer with the CPU hardware architecture. Instances will be launched with a compatible CPU architecture based on the Amazon Machine Image (AMI) that you specify in your launch template. Default: - Any manufacturer
|
|
38707
|
+
:param excluded_instance_types: The instance types to exclude. You can use strings with one or more wild cards, represented by an asterisk (*), to exclude an instance family, type, size, or generation. The following are examples: m5.8xlarge, c5*.*, m5a.*, r*, *3*. For example, if you specify c5*, you are excluding the entire C5 instance family, which includes all C5a and C5n instance types. If you specify m5a.*, Amazon EC2 Auto Scaling will exclude all the M5a instance types, but not the M5n instance types. Note: If you specify ExcludedInstanceTypes, you can't specify AllowedInstanceTypes. Default: - No excluded instance types
|
|
38708
|
+
:param instance_generations: Indicates whether current or previous generation instance types are included. - For current generation instance types, specify current. The current generation includes EC2 instance types currently recommended for use. This typically includes the latest two to three generations in each instance family. For more information, see Instance types in the Amazon EC2 User Guide. - For previous generation instance types, specify previous. Default: - Any current or previous generation
|
|
38709
|
+
:param local_storage: Indicates whether instance types with instance store volumes are included, excluded, or required. For more information, see Amazon EC2 instance store in the Amazon EC2 User Guide. Default: - included
|
|
38710
|
+
:param local_storage_types: Indicates the type of local storage that is required. - For instance types with hard disk drive (HDD) storage, specify hdd. - For instance types with solid state drive (SSD) storage, specify ssd. Default: - Any local storage type
|
|
38711
|
+
:param max_spot_price_as_percentage_of_optimal_on_demand_price: [Price protection] The price protection threshold for Spot Instances, as a percentage of an identified On-Demand price. The identified On-Demand price is the price of the lowest priced current generation C, M, or R instance type with your specified attributes. If no current generation C, M, or R instance type matches your attributes, then the identified price is from either the lowest priced current generation instance types or, failing that, the lowest priced previous generation instance types that match your attributes. When Amazon EC2 Auto Scaling selects instance types with your attributes, we will exclude instance types whose price exceeds your specified threshold. The parameter accepts an integer, which Amazon EC2 Auto Scaling interprets as a percentage. If you set DesiredCapacityType to vcpu or memory-mib, the price protection threshold is based on the per-vCPU or per-memory price instead of the per instance price. Note: Only one of SpotMaxPricePercentageOverLowestPrice or MaxSpotPriceAsPercentageOfOptimalOnDemandPrice can be specified. If you don't specify either, Amazon EC2 Auto Scaling will automatically apply optimal price protection to consistently select from a wide range of instance types. To indicate no price protection threshold for Spot Instances, meaning you want to consider all instance types that match your attributes, include one of these parameters and specify a high value, such as 999999. Default: - Automatic optimal price protection
|
|
38712
|
+
:param memory_max: The maximum instance memory size for an instance type, in MiB. Default: - No maximum limit
|
|
38713
|
+
:param memory_per_v_cpu_max: The maximum amount of memory per vCPU for an instance type, in GiB. Default: - No minimum or maximum limits
|
|
38714
|
+
:param memory_per_v_cpu_min: The minimum amount of memory per vCPU for an instance type, in GiB. Default: - No minimum or maximum limits
|
|
38715
|
+
:param network_bandwidth_gbps_max: The maximum amount of network bandwidth, in gigabits per second (Gbps). Default: - No minimum or maximum limits
|
|
38716
|
+
:param network_bandwidth_gbps_min: The minimum amount of network bandwidth, in gigabits per second (Gbps). Default: - No minimum or maximum limits
|
|
38717
|
+
:param network_interface_count_max: The maximum number of network interfaces for an instance type. Default: - No minimum or maximum limits
|
|
38718
|
+
:param network_interface_count_min: The minimum number of network interfaces for an instance type. Default: - No minimum or maximum limits
|
|
38719
|
+
:param on_demand_max_price_percentage_over_lowest_price: [Price protection] The price protection threshold for On-Demand Instances, as a percentage higher than an identified On-Demand price. The identified On-Demand price is the price of the lowest priced current generation C, M, or R instance type with your specified attributes. If no current generation C, M, or R instance type matches your attributes, then the identified price is from either the lowest priced current generation instance types or, failing that, the lowest priced previous generation instance types that match your attributes. When Amazon EC2 Auto Scaling selects instance types with your attributes, we will exclude instance types whose price exceeds your specified threshold. The parameter accepts an integer, which Amazon EC2 Auto Scaling interprets as a percentage. To turn off price protection, specify a high value, such as 999999. If you set DesiredCapacityType to vcpu or memory-mib, the price protection threshold is applied based on the per-vCPU or per-memory price instead of the per instance price. Default: - 20
|
|
38720
|
+
:param require_hibernate_support: Indicates whether instance types must provide On-Demand Instance hibernation support. Default: - false
|
|
38721
|
+
:param spot_max_price_percentage_over_lowest_price: [Price protection] The price protection threshold for Spot Instances, as a percentage higher than an identified Spot price. The identified Spot price is the price of the lowest priced current generation C, M, or R instance type with your specified attributes. If no current generation C, M, or R instance type matches your attributes, then the identified price is from either the lowest priced current generation instance types or, failing that, the lowest priced previous generation instance types that match your attributes. When Amazon EC2 Auto Scaling selects instance types with your attributes, we will exclude instance types whose price exceeds your specified threshold. The parameter accepts an integer, which Amazon EC2 Auto Scaling interprets as a percentage. If you set DesiredCapacityType to vcpu or memory-mib, the price protection threshold is based on the per-vCPU or per-memory price instead of the per instance price. Note: Only one of SpotMaxPricePercentageOverLowestPrice or MaxSpotPriceAsPercentageOfOptimalOnDemandPrice can be specified. If you don't specify either, Amazon EC2 Auto Scaling will automatically apply optimal price protection to consistently select from a wide range of instance types. To indicate no price protection threshold for Spot Instances, meaning you want to consider all instance types that match your attributes, include one of these parameters and specify a high value, such as 999999. Default: - Automatic optimal price protection
|
|
38722
|
+
:param total_local_storage_gb_max: The maximum total local storage size for an instance type, in GB. Default: - No minimum or maximum limits
|
|
38723
|
+
:param total_local_storage_gb_min: The minimum total local storage size for an instance type, in GB. Default: - No minimum or maximum limits
|
|
38724
|
+
:param v_cpu_count_max: The maximum number of vCPUs for an instance type. Default: - No maximum limit
|
|
38725
|
+
|
|
38726
|
+
:exampleMetadata: infused
|
|
38727
|
+
|
|
38728
|
+
Example::
|
|
38729
|
+
|
|
38730
|
+
# vpc: ec2.Vpc
|
|
38731
|
+
# infrastructure_role: iam.Role
|
|
38732
|
+
# instance_profile: iam.InstanceProfile
|
|
38733
|
+
|
|
38734
|
+
|
|
38735
|
+
cluster = ecs.Cluster(self, "Cluster", vpc=vpc)
|
|
38736
|
+
|
|
38737
|
+
# Create a Managed Instances Capacity Provider
|
|
38738
|
+
mi_capacity_provider = ecs.ManagedInstancesCapacityProvider(self, "MICapacityProvider",
|
|
38739
|
+
infrastructure_role=infrastructure_role,
|
|
38740
|
+
ec2_instance_profile=instance_profile,
|
|
38741
|
+
subnets=vpc.private_subnets,
|
|
38742
|
+
security_groups=[ec2.SecurityGroup(self, "MISecurityGroup", vpc=vpc)],
|
|
38743
|
+
instance_requirements=ec2.InstanceRequirementsConfig(
|
|
38744
|
+
v_cpu_count_min=1,
|
|
38745
|
+
memory_min=Size.gibibytes(2),
|
|
38746
|
+
cpu_manufacturers=[ec2.CpuManufacturer.INTEL],
|
|
38747
|
+
accelerator_manufacturers=[ec2.AcceleratorManufacturer.NVIDIA]
|
|
38748
|
+
),
|
|
38749
|
+
propagate_tags=ecs.PropagateManagedInstancesTags.CAPACITY_PROVIDER
|
|
38750
|
+
)
|
|
38751
|
+
|
|
38752
|
+
# Add the capacity provider to the cluster
|
|
38753
|
+
cluster.add_managed_instances_capacity_provider(mi_capacity_provider)
|
|
38754
|
+
|
|
38755
|
+
task_definition = ecs.Ec2TaskDefinition(self, "TaskDef")
|
|
38756
|
+
|
|
38757
|
+
task_definition.add_container("web",
|
|
38758
|
+
image=ecs.ContainerImage.from_registry("amazon/amazon-ecs-sample"),
|
|
38759
|
+
memory_reservation_mi_b=256
|
|
38760
|
+
)
|
|
38761
|
+
|
|
38762
|
+
ecs.Ec2Service(self, "EC2Service",
|
|
38763
|
+
cluster=cluster,
|
|
38764
|
+
task_definition=task_definition,
|
|
38765
|
+
min_healthy_percent=100,
|
|
38766
|
+
capacity_provider_strategies=[ecs.CapacityProviderStrategy(
|
|
38767
|
+
capacity_provider=mi_capacity_provider.capacity_provider_name,
|
|
38768
|
+
weight=1
|
|
38769
|
+
)
|
|
38770
|
+
]
|
|
38771
|
+
)
|
|
38772
|
+
'''
|
|
38773
|
+
if __debug__:
|
|
38774
|
+
type_hints = typing.get_type_hints(_typecheckingstub__ec2256eb42c017c1221986108df1dba524eae16d4aaf51d7503ce5b1f919f3cd)
|
|
38775
|
+
check_type(argname="argument memory_min", value=memory_min, expected_type=type_hints["memory_min"])
|
|
38776
|
+
check_type(argname="argument v_cpu_count_min", value=v_cpu_count_min, expected_type=type_hints["v_cpu_count_min"])
|
|
38777
|
+
check_type(argname="argument accelerator_count_max", value=accelerator_count_max, expected_type=type_hints["accelerator_count_max"])
|
|
38778
|
+
check_type(argname="argument accelerator_count_min", value=accelerator_count_min, expected_type=type_hints["accelerator_count_min"])
|
|
38779
|
+
check_type(argname="argument accelerator_manufacturers", value=accelerator_manufacturers, expected_type=type_hints["accelerator_manufacturers"])
|
|
38780
|
+
check_type(argname="argument accelerator_names", value=accelerator_names, expected_type=type_hints["accelerator_names"])
|
|
38781
|
+
check_type(argname="argument accelerator_total_memory_max", value=accelerator_total_memory_max, expected_type=type_hints["accelerator_total_memory_max"])
|
|
38782
|
+
check_type(argname="argument accelerator_total_memory_min", value=accelerator_total_memory_min, expected_type=type_hints["accelerator_total_memory_min"])
|
|
38783
|
+
check_type(argname="argument accelerator_types", value=accelerator_types, expected_type=type_hints["accelerator_types"])
|
|
38784
|
+
check_type(argname="argument allowed_instance_types", value=allowed_instance_types, expected_type=type_hints["allowed_instance_types"])
|
|
38785
|
+
check_type(argname="argument bare_metal", value=bare_metal, expected_type=type_hints["bare_metal"])
|
|
38786
|
+
check_type(argname="argument baseline_ebs_bandwidth_mbps_max", value=baseline_ebs_bandwidth_mbps_max, expected_type=type_hints["baseline_ebs_bandwidth_mbps_max"])
|
|
38787
|
+
check_type(argname="argument baseline_ebs_bandwidth_mbps_min", value=baseline_ebs_bandwidth_mbps_min, expected_type=type_hints["baseline_ebs_bandwidth_mbps_min"])
|
|
38788
|
+
check_type(argname="argument burstable_performance", value=burstable_performance, expected_type=type_hints["burstable_performance"])
|
|
38789
|
+
check_type(argname="argument cpu_manufacturers", value=cpu_manufacturers, expected_type=type_hints["cpu_manufacturers"])
|
|
38790
|
+
check_type(argname="argument excluded_instance_types", value=excluded_instance_types, expected_type=type_hints["excluded_instance_types"])
|
|
38791
|
+
check_type(argname="argument instance_generations", value=instance_generations, expected_type=type_hints["instance_generations"])
|
|
38792
|
+
check_type(argname="argument local_storage", value=local_storage, expected_type=type_hints["local_storage"])
|
|
38793
|
+
check_type(argname="argument local_storage_types", value=local_storage_types, expected_type=type_hints["local_storage_types"])
|
|
38794
|
+
check_type(argname="argument max_spot_price_as_percentage_of_optimal_on_demand_price", value=max_spot_price_as_percentage_of_optimal_on_demand_price, expected_type=type_hints["max_spot_price_as_percentage_of_optimal_on_demand_price"])
|
|
38795
|
+
check_type(argname="argument memory_max", value=memory_max, expected_type=type_hints["memory_max"])
|
|
38796
|
+
check_type(argname="argument memory_per_v_cpu_max", value=memory_per_v_cpu_max, expected_type=type_hints["memory_per_v_cpu_max"])
|
|
38797
|
+
check_type(argname="argument memory_per_v_cpu_min", value=memory_per_v_cpu_min, expected_type=type_hints["memory_per_v_cpu_min"])
|
|
38798
|
+
check_type(argname="argument network_bandwidth_gbps_max", value=network_bandwidth_gbps_max, expected_type=type_hints["network_bandwidth_gbps_max"])
|
|
38799
|
+
check_type(argname="argument network_bandwidth_gbps_min", value=network_bandwidth_gbps_min, expected_type=type_hints["network_bandwidth_gbps_min"])
|
|
38800
|
+
check_type(argname="argument network_interface_count_max", value=network_interface_count_max, expected_type=type_hints["network_interface_count_max"])
|
|
38801
|
+
check_type(argname="argument network_interface_count_min", value=network_interface_count_min, expected_type=type_hints["network_interface_count_min"])
|
|
38802
|
+
check_type(argname="argument on_demand_max_price_percentage_over_lowest_price", value=on_demand_max_price_percentage_over_lowest_price, expected_type=type_hints["on_demand_max_price_percentage_over_lowest_price"])
|
|
38803
|
+
check_type(argname="argument require_hibernate_support", value=require_hibernate_support, expected_type=type_hints["require_hibernate_support"])
|
|
38804
|
+
check_type(argname="argument spot_max_price_percentage_over_lowest_price", value=spot_max_price_percentage_over_lowest_price, expected_type=type_hints["spot_max_price_percentage_over_lowest_price"])
|
|
38805
|
+
check_type(argname="argument total_local_storage_gb_max", value=total_local_storage_gb_max, expected_type=type_hints["total_local_storage_gb_max"])
|
|
38806
|
+
check_type(argname="argument total_local_storage_gb_min", value=total_local_storage_gb_min, expected_type=type_hints["total_local_storage_gb_min"])
|
|
38807
|
+
check_type(argname="argument v_cpu_count_max", value=v_cpu_count_max, expected_type=type_hints["v_cpu_count_max"])
|
|
38808
|
+
self._values: typing.Dict[builtins.str, typing.Any] = {
|
|
38809
|
+
"memory_min": memory_min,
|
|
38810
|
+
"v_cpu_count_min": v_cpu_count_min,
|
|
38811
|
+
}
|
|
38812
|
+
if accelerator_count_max is not None:
|
|
38813
|
+
self._values["accelerator_count_max"] = accelerator_count_max
|
|
38814
|
+
if accelerator_count_min is not None:
|
|
38815
|
+
self._values["accelerator_count_min"] = accelerator_count_min
|
|
38816
|
+
if accelerator_manufacturers is not None:
|
|
38817
|
+
self._values["accelerator_manufacturers"] = accelerator_manufacturers
|
|
38818
|
+
if accelerator_names is not None:
|
|
38819
|
+
self._values["accelerator_names"] = accelerator_names
|
|
38820
|
+
if accelerator_total_memory_max is not None:
|
|
38821
|
+
self._values["accelerator_total_memory_max"] = accelerator_total_memory_max
|
|
38822
|
+
if accelerator_total_memory_min is not None:
|
|
38823
|
+
self._values["accelerator_total_memory_min"] = accelerator_total_memory_min
|
|
38824
|
+
if accelerator_types is not None:
|
|
38825
|
+
self._values["accelerator_types"] = accelerator_types
|
|
38826
|
+
if allowed_instance_types is not None:
|
|
38827
|
+
self._values["allowed_instance_types"] = allowed_instance_types
|
|
38828
|
+
if bare_metal is not None:
|
|
38829
|
+
self._values["bare_metal"] = bare_metal
|
|
38830
|
+
if baseline_ebs_bandwidth_mbps_max is not None:
|
|
38831
|
+
self._values["baseline_ebs_bandwidth_mbps_max"] = baseline_ebs_bandwidth_mbps_max
|
|
38832
|
+
if baseline_ebs_bandwidth_mbps_min is not None:
|
|
38833
|
+
self._values["baseline_ebs_bandwidth_mbps_min"] = baseline_ebs_bandwidth_mbps_min
|
|
38834
|
+
if burstable_performance is not None:
|
|
38835
|
+
self._values["burstable_performance"] = burstable_performance
|
|
38836
|
+
if cpu_manufacturers is not None:
|
|
38837
|
+
self._values["cpu_manufacturers"] = cpu_manufacturers
|
|
38838
|
+
if excluded_instance_types is not None:
|
|
38839
|
+
self._values["excluded_instance_types"] = excluded_instance_types
|
|
38840
|
+
if instance_generations is not None:
|
|
38841
|
+
self._values["instance_generations"] = instance_generations
|
|
38842
|
+
if local_storage is not None:
|
|
38843
|
+
self._values["local_storage"] = local_storage
|
|
38844
|
+
if local_storage_types is not None:
|
|
38845
|
+
self._values["local_storage_types"] = local_storage_types
|
|
38846
|
+
if max_spot_price_as_percentage_of_optimal_on_demand_price is not None:
|
|
38847
|
+
self._values["max_spot_price_as_percentage_of_optimal_on_demand_price"] = max_spot_price_as_percentage_of_optimal_on_demand_price
|
|
38848
|
+
if memory_max is not None:
|
|
38849
|
+
self._values["memory_max"] = memory_max
|
|
38850
|
+
if memory_per_v_cpu_max is not None:
|
|
38851
|
+
self._values["memory_per_v_cpu_max"] = memory_per_v_cpu_max
|
|
38852
|
+
if memory_per_v_cpu_min is not None:
|
|
38853
|
+
self._values["memory_per_v_cpu_min"] = memory_per_v_cpu_min
|
|
38854
|
+
if network_bandwidth_gbps_max is not None:
|
|
38855
|
+
self._values["network_bandwidth_gbps_max"] = network_bandwidth_gbps_max
|
|
38856
|
+
if network_bandwidth_gbps_min is not None:
|
|
38857
|
+
self._values["network_bandwidth_gbps_min"] = network_bandwidth_gbps_min
|
|
38858
|
+
if network_interface_count_max is not None:
|
|
38859
|
+
self._values["network_interface_count_max"] = network_interface_count_max
|
|
38860
|
+
if network_interface_count_min is not None:
|
|
38861
|
+
self._values["network_interface_count_min"] = network_interface_count_min
|
|
38862
|
+
if on_demand_max_price_percentage_over_lowest_price is not None:
|
|
38863
|
+
self._values["on_demand_max_price_percentage_over_lowest_price"] = on_demand_max_price_percentage_over_lowest_price
|
|
38864
|
+
if require_hibernate_support is not None:
|
|
38865
|
+
self._values["require_hibernate_support"] = require_hibernate_support
|
|
38866
|
+
if spot_max_price_percentage_over_lowest_price is not None:
|
|
38867
|
+
self._values["spot_max_price_percentage_over_lowest_price"] = spot_max_price_percentage_over_lowest_price
|
|
38868
|
+
if total_local_storage_gb_max is not None:
|
|
38869
|
+
self._values["total_local_storage_gb_max"] = total_local_storage_gb_max
|
|
38870
|
+
if total_local_storage_gb_min is not None:
|
|
38871
|
+
self._values["total_local_storage_gb_min"] = total_local_storage_gb_min
|
|
38872
|
+
if v_cpu_count_max is not None:
|
|
38873
|
+
self._values["v_cpu_count_max"] = v_cpu_count_max
|
|
38874
|
+
|
|
38875
|
+
@builtins.property
|
|
38876
|
+
def memory_min(self) -> _Size_7b441c34:
|
|
38877
|
+
'''The minimum instance memory size for an instance type, in MiB.
|
|
38878
|
+
|
|
38879
|
+
Required: Yes
|
|
38880
|
+
'''
|
|
38881
|
+
result = self._values.get("memory_min")
|
|
38882
|
+
assert result is not None, "Required property 'memory_min' is missing"
|
|
38883
|
+
return typing.cast(_Size_7b441c34, result)
|
|
38884
|
+
|
|
38885
|
+
@builtins.property
|
|
38886
|
+
def v_cpu_count_min(self) -> jsii.Number:
|
|
38887
|
+
'''The minimum number of vCPUs for an instance type.
|
|
38888
|
+
|
|
38889
|
+
Required: Yes
|
|
38890
|
+
'''
|
|
38891
|
+
result = self._values.get("v_cpu_count_min")
|
|
38892
|
+
assert result is not None, "Required property 'v_cpu_count_min' is missing"
|
|
38893
|
+
return typing.cast(jsii.Number, result)
|
|
38894
|
+
|
|
38895
|
+
@builtins.property
|
|
38896
|
+
def accelerator_count_max(self) -> typing.Optional[jsii.Number]:
|
|
38897
|
+
'''The maximum number of accelerators (GPUs, FPGAs, or AWS Inferentia chips) for an instance type.
|
|
38898
|
+
|
|
38899
|
+
To exclude accelerator-enabled instance types, set Max to 0.
|
|
38900
|
+
|
|
38901
|
+
:default: - No minimum or maximum limits
|
|
38902
|
+
'''
|
|
38903
|
+
result = self._values.get("accelerator_count_max")
|
|
38904
|
+
return typing.cast(typing.Optional[jsii.Number], result)
|
|
38905
|
+
|
|
38906
|
+
@builtins.property
|
|
38907
|
+
def accelerator_count_min(self) -> typing.Optional[jsii.Number]:
|
|
38908
|
+
'''The minimum number of accelerators (GPUs, FPGAs, or AWS Inferentia chips) for an instance type.
|
|
38909
|
+
|
|
38910
|
+
To exclude accelerator-enabled instance types, set acceleratorCountMax to 0.
|
|
38911
|
+
|
|
38912
|
+
:default: - No minimum or maximum limits
|
|
38913
|
+
'''
|
|
38914
|
+
result = self._values.get("accelerator_count_min")
|
|
38915
|
+
return typing.cast(typing.Optional[jsii.Number], result)
|
|
38916
|
+
|
|
38917
|
+
@builtins.property
|
|
38918
|
+
def accelerator_manufacturers(
|
|
38919
|
+
self,
|
|
38920
|
+
) -> typing.Optional[typing.List[AcceleratorManufacturer]]:
|
|
38921
|
+
'''Indicates whether instance types must have accelerators by specific manufacturers.
|
|
38922
|
+
|
|
38923
|
+
- For instance types with NVIDIA devices, specify nvidia.
|
|
38924
|
+
- For instance types with AMD devices, specify amd.
|
|
38925
|
+
- For instance types with AWS devices, specify amazon-web-services.
|
|
38926
|
+
- For instance types with Xilinx devices, specify xilinx.
|
|
38927
|
+
|
|
38928
|
+
:default: - Any manufacturer
|
|
38929
|
+
'''
|
|
38930
|
+
result = self._values.get("accelerator_manufacturers")
|
|
38931
|
+
return typing.cast(typing.Optional[typing.List[AcceleratorManufacturer]], result)
|
|
38932
|
+
|
|
38933
|
+
@builtins.property
|
|
38934
|
+
def accelerator_names(self) -> typing.Optional[typing.List[AcceleratorName]]:
|
|
38935
|
+
'''Lists the accelerators that must be on an instance type.
|
|
38936
|
+
|
|
38937
|
+
- For instance types with NVIDIA A100 GPUs, specify a100.
|
|
38938
|
+
- For instance types with NVIDIA V100 GPUs, specify v100.
|
|
38939
|
+
- For instance types with NVIDIA K80 GPUs, specify k80.
|
|
38940
|
+
- For instance types with NVIDIA T4 GPUs, specify t4.
|
|
38941
|
+
- For instance types with NVIDIA M60 GPUs, specify m60.
|
|
38942
|
+
- For instance types with AMD Radeon Pro V520 GPUs, specify radeon-pro-v520.
|
|
38943
|
+
- For instance types with Xilinx VU9P FPGAs, specify vu9p.
|
|
38944
|
+
|
|
38945
|
+
:default: - Any accelerator
|
|
38946
|
+
'''
|
|
38947
|
+
result = self._values.get("accelerator_names")
|
|
38948
|
+
return typing.cast(typing.Optional[typing.List[AcceleratorName]], result)
|
|
38949
|
+
|
|
38950
|
+
@builtins.property
|
|
38951
|
+
def accelerator_total_memory_max(self) -> typing.Optional[_Size_7b441c34]:
|
|
38952
|
+
'''The maximum total memory size for the accelerators on an instance type, in MiB.
|
|
38953
|
+
|
|
38954
|
+
:default: - No minimum or maximum limits
|
|
38955
|
+
'''
|
|
38956
|
+
result = self._values.get("accelerator_total_memory_max")
|
|
38957
|
+
return typing.cast(typing.Optional[_Size_7b441c34], result)
|
|
38958
|
+
|
|
38959
|
+
@builtins.property
|
|
38960
|
+
def accelerator_total_memory_min(self) -> typing.Optional[_Size_7b441c34]:
|
|
38961
|
+
'''The minimum total memory size for the accelerators on an instance type, in MiB.
|
|
38962
|
+
|
|
38963
|
+
:default: - No minimum or maximum limits
|
|
38964
|
+
'''
|
|
38965
|
+
result = self._values.get("accelerator_total_memory_min")
|
|
38966
|
+
return typing.cast(typing.Optional[_Size_7b441c34], result)
|
|
38967
|
+
|
|
38968
|
+
@builtins.property
|
|
38969
|
+
def accelerator_types(self) -> typing.Optional[typing.List[AcceleratorType]]:
|
|
38970
|
+
'''Lists the accelerator types that must be on an instance type.
|
|
38971
|
+
|
|
38972
|
+
- For instance types with GPU accelerators, specify gpu.
|
|
38973
|
+
- For instance types with FPGA accelerators, specify fpga.
|
|
38974
|
+
- For instance types with inference accelerators, specify inference.
|
|
38975
|
+
|
|
38976
|
+
:default: - Any accelerator type
|
|
38977
|
+
'''
|
|
38978
|
+
result = self._values.get("accelerator_types")
|
|
38979
|
+
return typing.cast(typing.Optional[typing.List[AcceleratorType]], result)
|
|
38980
|
+
|
|
38981
|
+
@builtins.property
|
|
38982
|
+
def allowed_instance_types(self) -> typing.Optional[typing.List[builtins.str]]:
|
|
38983
|
+
'''The instance types to apply your specified attributes against.
|
|
38984
|
+
|
|
38985
|
+
All other instance types are ignored, even if they match your specified attributes.
|
|
38986
|
+
|
|
38987
|
+
You can use strings with one or more wild cards, represented by an asterisk (*), to allow an instance type, size, or generation. The following are examples: m5.8xlarge, c5*.*, m5a.*, r*, *3*.
|
|
38988
|
+
|
|
38989
|
+
For example, if you specify c5*, Amazon EC2 Auto Scaling will allow the entire C5 instance family, which includes all C5a and C5n instance types. If you specify m5a.*, Amazon EC2 Auto Scaling will allow all the M5a instance types, but not the M5n instance types.
|
|
38990
|
+
|
|
38991
|
+
Note: If you specify AllowedInstanceTypes, you can't specify ExcludedInstanceTypes.
|
|
38992
|
+
|
|
38993
|
+
:default: - All instance types
|
|
38994
|
+
'''
|
|
38995
|
+
result = self._values.get("allowed_instance_types")
|
|
38996
|
+
return typing.cast(typing.Optional[typing.List[builtins.str]], result)
|
|
38997
|
+
|
|
38998
|
+
@builtins.property
|
|
38999
|
+
def bare_metal(self) -> typing.Optional[BareMetal]:
|
|
39000
|
+
'''Indicates whether bare metal instance types are included, excluded, or required.
|
|
39001
|
+
|
|
39002
|
+
:default: - excluded
|
|
39003
|
+
'''
|
|
39004
|
+
result = self._values.get("bare_metal")
|
|
39005
|
+
return typing.cast(typing.Optional[BareMetal], result)
|
|
39006
|
+
|
|
39007
|
+
@builtins.property
|
|
39008
|
+
def baseline_ebs_bandwidth_mbps_max(self) -> typing.Optional[jsii.Number]:
|
|
39009
|
+
'''The maximum baseline bandwidth performance for an instance type, in Mbps.
|
|
39010
|
+
|
|
39011
|
+
For more information, see Amazon EBS–optimized instances in the Amazon EC2 User Guide.
|
|
39012
|
+
|
|
39013
|
+
:default: - No minimum or maximum limits
|
|
39014
|
+
'''
|
|
39015
|
+
result = self._values.get("baseline_ebs_bandwidth_mbps_max")
|
|
39016
|
+
return typing.cast(typing.Optional[jsii.Number], result)
|
|
39017
|
+
|
|
39018
|
+
@builtins.property
|
|
39019
|
+
def baseline_ebs_bandwidth_mbps_min(self) -> typing.Optional[jsii.Number]:
|
|
39020
|
+
'''The minimum baseline bandwidth performance for an instance type, in Mbps.
|
|
39021
|
+
|
|
39022
|
+
For more information, see Amazon EBS–optimized instances in the Amazon EC2 User Guide.
|
|
39023
|
+
|
|
39024
|
+
:default: - No minimum or maximum limits
|
|
39025
|
+
'''
|
|
39026
|
+
result = self._values.get("baseline_ebs_bandwidth_mbps_min")
|
|
39027
|
+
return typing.cast(typing.Optional[jsii.Number], result)
|
|
39028
|
+
|
|
39029
|
+
@builtins.property
|
|
39030
|
+
def burstable_performance(self) -> typing.Optional[BurstablePerformance]:
|
|
39031
|
+
'''Indicates whether burstable performance instance types are included, excluded, or required.
|
|
39032
|
+
|
|
39033
|
+
For more information, see Burstable performance instances in the Amazon EC2 User Guide.
|
|
39034
|
+
|
|
39035
|
+
:default: - excluded
|
|
39036
|
+
'''
|
|
39037
|
+
result = self._values.get("burstable_performance")
|
|
39038
|
+
return typing.cast(typing.Optional[BurstablePerformance], result)
|
|
39039
|
+
|
|
39040
|
+
@builtins.property
|
|
39041
|
+
def cpu_manufacturers(self) -> typing.Optional[typing.List[CpuManufacturer]]:
|
|
39042
|
+
'''Lists which specific CPU manufacturers to include.
|
|
39043
|
+
|
|
39044
|
+
- For instance types with Intel CPUs, specify intel.
|
|
39045
|
+
- For instance types with AMD CPUs, specify amd.
|
|
39046
|
+
- For instance types with AWS CPUs, specify amazon-web-services.
|
|
39047
|
+
- For instance types with Apple CPUs, specify apple.
|
|
39048
|
+
|
|
39049
|
+
Note: Don't confuse the CPU hardware manufacturer with the CPU hardware architecture. Instances will be launched with a compatible CPU architecture based on the Amazon Machine Image (AMI) that you specify in your launch template.
|
|
39050
|
+
|
|
39051
|
+
:default: - Any manufacturer
|
|
39052
|
+
'''
|
|
39053
|
+
result = self._values.get("cpu_manufacturers")
|
|
39054
|
+
return typing.cast(typing.Optional[typing.List[CpuManufacturer]], result)
|
|
39055
|
+
|
|
39056
|
+
@builtins.property
|
|
39057
|
+
def excluded_instance_types(self) -> typing.Optional[typing.List[builtins.str]]:
|
|
39058
|
+
'''The instance types to exclude.
|
|
39059
|
+
|
|
39060
|
+
You can use strings with one or more wild cards, represented by an asterisk (*), to exclude an instance family, type, size, or generation. The following are examples: m5.8xlarge, c5*.*, m5a.*, r*, *3*.
|
|
39061
|
+
|
|
39062
|
+
For example, if you specify c5*, you are excluding the entire C5 instance family, which includes all C5a and C5n instance types. If you specify m5a.*, Amazon EC2 Auto Scaling will exclude all the M5a instance types, but not the M5n instance types.
|
|
39063
|
+
|
|
39064
|
+
Note: If you specify ExcludedInstanceTypes, you can't specify AllowedInstanceTypes.
|
|
39065
|
+
|
|
39066
|
+
:default: - No excluded instance types
|
|
39067
|
+
'''
|
|
39068
|
+
result = self._values.get("excluded_instance_types")
|
|
39069
|
+
return typing.cast(typing.Optional[typing.List[builtins.str]], result)
|
|
39070
|
+
|
|
39071
|
+
@builtins.property
|
|
39072
|
+
def instance_generations(self) -> typing.Optional[typing.List[InstanceGeneration]]:
|
|
39073
|
+
'''Indicates whether current or previous generation instance types are included.
|
|
39074
|
+
|
|
39075
|
+
- For current generation instance types, specify current. The current generation includes EC2 instance types currently recommended for use. This typically includes the latest two to three generations in each instance family. For more information, see Instance types in the Amazon EC2 User Guide.
|
|
39076
|
+
- For previous generation instance types, specify previous.
|
|
39077
|
+
|
|
39078
|
+
:default: - Any current or previous generation
|
|
39079
|
+
'''
|
|
39080
|
+
result = self._values.get("instance_generations")
|
|
39081
|
+
return typing.cast(typing.Optional[typing.List[InstanceGeneration]], result)
|
|
39082
|
+
|
|
39083
|
+
@builtins.property
|
|
39084
|
+
def local_storage(self) -> typing.Optional["LocalStorage"]:
|
|
39085
|
+
'''Indicates whether instance types with instance store volumes are included, excluded, or required.
|
|
39086
|
+
|
|
39087
|
+
For more information, see Amazon EC2 instance store in the Amazon EC2 User Guide.
|
|
39088
|
+
|
|
39089
|
+
:default: - included
|
|
39090
|
+
'''
|
|
39091
|
+
result = self._values.get("local_storage")
|
|
39092
|
+
return typing.cast(typing.Optional["LocalStorage"], result)
|
|
39093
|
+
|
|
39094
|
+
@builtins.property
|
|
39095
|
+
def local_storage_types(self) -> typing.Optional[typing.List["LocalStorageType"]]:
|
|
39096
|
+
'''Indicates the type of local storage that is required.
|
|
39097
|
+
|
|
39098
|
+
- For instance types with hard disk drive (HDD) storage, specify hdd.
|
|
39099
|
+
- For instance types with solid state drive (SSD) storage, specify ssd.
|
|
39100
|
+
|
|
39101
|
+
:default: - Any local storage type
|
|
39102
|
+
'''
|
|
39103
|
+
result = self._values.get("local_storage_types")
|
|
39104
|
+
return typing.cast(typing.Optional[typing.List["LocalStorageType"]], result)
|
|
39105
|
+
|
|
39106
|
+
@builtins.property
|
|
39107
|
+
def max_spot_price_as_percentage_of_optimal_on_demand_price(
|
|
39108
|
+
self,
|
|
39109
|
+
) -> typing.Optional[jsii.Number]:
|
|
39110
|
+
'''[Price protection] The price protection threshold for Spot Instances, as a percentage of an identified On-Demand price.
|
|
39111
|
+
|
|
39112
|
+
The identified On-Demand price is the price of the lowest priced current generation C, M, or R instance type with your specified attributes. If no current generation C, M, or R instance type matches your attributes, then the identified price is from either the lowest priced current generation instance types or, failing that, the lowest priced previous generation instance types that match your attributes. When Amazon EC2 Auto Scaling selects instance types with your attributes, we will exclude instance types whose price exceeds your specified threshold.
|
|
39113
|
+
|
|
39114
|
+
The parameter accepts an integer, which Amazon EC2 Auto Scaling interprets as a percentage.
|
|
39115
|
+
|
|
39116
|
+
If you set DesiredCapacityType to vcpu or memory-mib, the price protection threshold is based on the per-vCPU or per-memory price instead of the per instance price.
|
|
39117
|
+
|
|
39118
|
+
Note: Only one of SpotMaxPricePercentageOverLowestPrice or MaxSpotPriceAsPercentageOfOptimalOnDemandPrice can be specified. If you don't specify either, Amazon EC2 Auto Scaling will automatically apply optimal price protection to consistently select from a wide range of instance types. To indicate no price protection threshold for Spot Instances, meaning you want to consider all instance types that match your attributes, include one of these parameters and specify a high value, such as 999999.
|
|
39119
|
+
|
|
39120
|
+
:default: - Automatic optimal price protection
|
|
39121
|
+
'''
|
|
39122
|
+
result = self._values.get("max_spot_price_as_percentage_of_optimal_on_demand_price")
|
|
39123
|
+
return typing.cast(typing.Optional[jsii.Number], result)
|
|
39124
|
+
|
|
39125
|
+
@builtins.property
|
|
39126
|
+
def memory_max(self) -> typing.Optional[_Size_7b441c34]:
|
|
39127
|
+
'''The maximum instance memory size for an instance type, in MiB.
|
|
39128
|
+
|
|
39129
|
+
:default: - No maximum limit
|
|
39130
|
+
'''
|
|
39131
|
+
result = self._values.get("memory_max")
|
|
39132
|
+
return typing.cast(typing.Optional[_Size_7b441c34], result)
|
|
39133
|
+
|
|
39134
|
+
@builtins.property
|
|
39135
|
+
def memory_per_v_cpu_max(self) -> typing.Optional[_Size_7b441c34]:
|
|
39136
|
+
'''The maximum amount of memory per vCPU for an instance type, in GiB.
|
|
39137
|
+
|
|
39138
|
+
:default: - No minimum or maximum limits
|
|
39139
|
+
'''
|
|
39140
|
+
result = self._values.get("memory_per_v_cpu_max")
|
|
39141
|
+
return typing.cast(typing.Optional[_Size_7b441c34], result)
|
|
39142
|
+
|
|
39143
|
+
@builtins.property
|
|
39144
|
+
def memory_per_v_cpu_min(self) -> typing.Optional[_Size_7b441c34]:
|
|
39145
|
+
'''The minimum amount of memory per vCPU for an instance type, in GiB.
|
|
39146
|
+
|
|
39147
|
+
:default: - No minimum or maximum limits
|
|
39148
|
+
'''
|
|
39149
|
+
result = self._values.get("memory_per_v_cpu_min")
|
|
39150
|
+
return typing.cast(typing.Optional[_Size_7b441c34], result)
|
|
39151
|
+
|
|
39152
|
+
@builtins.property
|
|
39153
|
+
def network_bandwidth_gbps_max(self) -> typing.Optional[jsii.Number]:
|
|
39154
|
+
'''The maximum amount of network bandwidth, in gigabits per second (Gbps).
|
|
39155
|
+
|
|
39156
|
+
:default: - No minimum or maximum limits
|
|
39157
|
+
'''
|
|
39158
|
+
result = self._values.get("network_bandwidth_gbps_max")
|
|
39159
|
+
return typing.cast(typing.Optional[jsii.Number], result)
|
|
39160
|
+
|
|
39161
|
+
@builtins.property
|
|
39162
|
+
def network_bandwidth_gbps_min(self) -> typing.Optional[jsii.Number]:
|
|
39163
|
+
'''The minimum amount of network bandwidth, in gigabits per second (Gbps).
|
|
39164
|
+
|
|
39165
|
+
:default: - No minimum or maximum limits
|
|
39166
|
+
'''
|
|
39167
|
+
result = self._values.get("network_bandwidth_gbps_min")
|
|
39168
|
+
return typing.cast(typing.Optional[jsii.Number], result)
|
|
39169
|
+
|
|
39170
|
+
@builtins.property
|
|
39171
|
+
def network_interface_count_max(self) -> typing.Optional[jsii.Number]:
|
|
39172
|
+
'''The maximum number of network interfaces for an instance type.
|
|
39173
|
+
|
|
39174
|
+
:default: - No minimum or maximum limits
|
|
39175
|
+
'''
|
|
39176
|
+
result = self._values.get("network_interface_count_max")
|
|
39177
|
+
return typing.cast(typing.Optional[jsii.Number], result)
|
|
39178
|
+
|
|
39179
|
+
@builtins.property
|
|
39180
|
+
def network_interface_count_min(self) -> typing.Optional[jsii.Number]:
|
|
39181
|
+
'''The minimum number of network interfaces for an instance type.
|
|
39182
|
+
|
|
39183
|
+
:default: - No minimum or maximum limits
|
|
39184
|
+
'''
|
|
39185
|
+
result = self._values.get("network_interface_count_min")
|
|
39186
|
+
return typing.cast(typing.Optional[jsii.Number], result)
|
|
39187
|
+
|
|
39188
|
+
@builtins.property
|
|
39189
|
+
def on_demand_max_price_percentage_over_lowest_price(
|
|
39190
|
+
self,
|
|
39191
|
+
) -> typing.Optional[jsii.Number]:
|
|
39192
|
+
'''[Price protection] The price protection threshold for On-Demand Instances, as a percentage higher than an identified On-Demand price.
|
|
39193
|
+
|
|
39194
|
+
The identified On-Demand price is the price of the lowest priced current generation C, M, or R instance type with your specified attributes. If no current generation C, M, or R instance type matches your attributes, then the identified price is from either the lowest priced current generation instance types or, failing that, the lowest priced previous generation instance types that match your attributes. When Amazon EC2 Auto Scaling selects instance types with your attributes, we will exclude instance types whose price exceeds your specified threshold.
|
|
39195
|
+
|
|
39196
|
+
The parameter accepts an integer, which Amazon EC2 Auto Scaling interprets as a percentage.
|
|
39197
|
+
|
|
39198
|
+
To turn off price protection, specify a high value, such as 999999.
|
|
39199
|
+
|
|
39200
|
+
If you set DesiredCapacityType to vcpu or memory-mib, the price protection threshold is applied based on the per-vCPU or per-memory price instead of the per instance price.
|
|
39201
|
+
|
|
39202
|
+
:default: - 20
|
|
39203
|
+
'''
|
|
39204
|
+
result = self._values.get("on_demand_max_price_percentage_over_lowest_price")
|
|
39205
|
+
return typing.cast(typing.Optional[jsii.Number], result)
|
|
39206
|
+
|
|
39207
|
+
@builtins.property
|
|
39208
|
+
def require_hibernate_support(self) -> typing.Optional[builtins.bool]:
|
|
39209
|
+
'''Indicates whether instance types must provide On-Demand Instance hibernation support.
|
|
39210
|
+
|
|
39211
|
+
:default: - false
|
|
39212
|
+
'''
|
|
39213
|
+
result = self._values.get("require_hibernate_support")
|
|
39214
|
+
return typing.cast(typing.Optional[builtins.bool], result)
|
|
39215
|
+
|
|
39216
|
+
@builtins.property
|
|
39217
|
+
def spot_max_price_percentage_over_lowest_price(
|
|
39218
|
+
self,
|
|
39219
|
+
) -> typing.Optional[jsii.Number]:
|
|
39220
|
+
'''[Price protection] The price protection threshold for Spot Instances, as a percentage higher than an identified Spot price.
|
|
39221
|
+
|
|
39222
|
+
The identified Spot price is the price of the lowest priced current generation C, M, or R instance type with your specified attributes. If no current generation C, M, or R instance type matches your attributes, then the identified price is from either the lowest priced current generation instance types or, failing that, the lowest priced previous generation instance types that match your attributes. When Amazon EC2 Auto Scaling selects instance types with your attributes, we will exclude instance types whose price exceeds your specified threshold.
|
|
39223
|
+
|
|
39224
|
+
The parameter accepts an integer, which Amazon EC2 Auto Scaling interprets as a percentage.
|
|
39225
|
+
|
|
39226
|
+
If you set DesiredCapacityType to vcpu or memory-mib, the price protection threshold is based on the per-vCPU or per-memory price instead of the per instance price.
|
|
39227
|
+
|
|
39228
|
+
Note: Only one of SpotMaxPricePercentageOverLowestPrice or MaxSpotPriceAsPercentageOfOptimalOnDemandPrice can be specified. If you don't specify either, Amazon EC2 Auto Scaling will automatically apply optimal price protection to consistently select from a wide range of instance types. To indicate no price protection threshold for Spot Instances, meaning you want to consider all instance types that match your attributes, include one of these parameters and specify a high value, such as 999999.
|
|
39229
|
+
|
|
39230
|
+
:default: - Automatic optimal price protection
|
|
39231
|
+
'''
|
|
39232
|
+
result = self._values.get("spot_max_price_percentage_over_lowest_price")
|
|
39233
|
+
return typing.cast(typing.Optional[jsii.Number], result)
|
|
39234
|
+
|
|
39235
|
+
@builtins.property
|
|
39236
|
+
def total_local_storage_gb_max(self) -> typing.Optional[jsii.Number]:
|
|
39237
|
+
'''The maximum total local storage size for an instance type, in GB.
|
|
39238
|
+
|
|
39239
|
+
:default: - No minimum or maximum limits
|
|
39240
|
+
'''
|
|
39241
|
+
result = self._values.get("total_local_storage_gb_max")
|
|
39242
|
+
return typing.cast(typing.Optional[jsii.Number], result)
|
|
39243
|
+
|
|
39244
|
+
@builtins.property
|
|
39245
|
+
def total_local_storage_gb_min(self) -> typing.Optional[jsii.Number]:
|
|
39246
|
+
'''The minimum total local storage size for an instance type, in GB.
|
|
39247
|
+
|
|
39248
|
+
:default: - No minimum or maximum limits
|
|
39249
|
+
'''
|
|
39250
|
+
result = self._values.get("total_local_storage_gb_min")
|
|
39251
|
+
return typing.cast(typing.Optional[jsii.Number], result)
|
|
39252
|
+
|
|
39253
|
+
@builtins.property
|
|
39254
|
+
def v_cpu_count_max(self) -> typing.Optional[jsii.Number]:
|
|
39255
|
+
'''The maximum number of vCPUs for an instance type.
|
|
39256
|
+
|
|
39257
|
+
:default: - No maximum limit
|
|
39258
|
+
'''
|
|
39259
|
+
result = self._values.get("v_cpu_count_max")
|
|
39260
|
+
return typing.cast(typing.Optional[jsii.Number], result)
|
|
39261
|
+
|
|
39262
|
+
def __eq__(self, rhs: typing.Any) -> builtins.bool:
|
|
39263
|
+
return isinstance(rhs, self.__class__) and rhs._values == self._values
|
|
39264
|
+
|
|
39265
|
+
def __ne__(self, rhs: typing.Any) -> builtins.bool:
|
|
39266
|
+
return not (rhs == self)
|
|
39267
|
+
|
|
39268
|
+
def __repr__(self) -> str:
|
|
39269
|
+
return "InstanceRequirementsConfig(%s)" % ", ".join(
|
|
39270
|
+
k + "=" + repr(v) for k, v in self._values.items()
|
|
39271
|
+
)
|
|
39272
|
+
|
|
39273
|
+
|
|
37656
39274
|
@jsii.enum(jsii_type="aws-cdk-lib.aws_ec2.InstanceSize")
|
|
37657
39275
|
class InstanceSize(enum.Enum):
|
|
37658
39276
|
'''What size of instance to use.
|
|
@@ -38124,6 +39742,16 @@ class InterfaceVpcEndpointAwsService(
|
|
|
38124
39742
|
def BEDROCK_AGENT_RUNTIME(cls) -> "InterfaceVpcEndpointAwsService":
|
|
38125
39743
|
return typing.cast("InterfaceVpcEndpointAwsService", jsii.sget(cls, "BEDROCK_AGENT_RUNTIME"))
|
|
38126
39744
|
|
|
39745
|
+
@jsii.python.classproperty
|
|
39746
|
+
@jsii.member(jsii_name="BEDROCK_AGENTCORE")
|
|
39747
|
+
def BEDROCK_AGENTCORE(cls) -> "InterfaceVpcEndpointAwsService":
|
|
39748
|
+
return typing.cast("InterfaceVpcEndpointAwsService", jsii.sget(cls, "BEDROCK_AGENTCORE"))
|
|
39749
|
+
|
|
39750
|
+
@jsii.python.classproperty
|
|
39751
|
+
@jsii.member(jsii_name="BEDROCK_AGENTCORE_GATEWAY")
|
|
39752
|
+
def BEDROCK_AGENTCORE_GATEWAY(cls) -> "InterfaceVpcEndpointAwsService":
|
|
39753
|
+
return typing.cast("InterfaceVpcEndpointAwsService", jsii.sget(cls, "BEDROCK_AGENTCORE_GATEWAY"))
|
|
39754
|
+
|
|
38127
39755
|
@jsii.python.classproperty
|
|
38128
39756
|
@jsii.member(jsii_name="BEDROCK_DATA_AUTOMATION")
|
|
38129
39757
|
def BEDROCK_DATA_AUTOMATION(cls) -> "InterfaceVpcEndpointAwsService":
|
|
@@ -42446,6 +44074,262 @@ class LocalGatewayRouteTableVirtualInterfaceGroupAssociationReference:
|
|
|
42446
44074
|
)
|
|
42447
44075
|
|
|
42448
44076
|
|
|
44077
|
+
@jsii.data_type(
|
|
44078
|
+
jsii_type="aws-cdk-lib.aws_ec2.LocalGatewayVirtualInterfaceGroupReference",
|
|
44079
|
+
jsii_struct_bases=[],
|
|
44080
|
+
name_mapping={
|
|
44081
|
+
"local_gateway_virtual_interface_group_arn": "localGatewayVirtualInterfaceGroupArn",
|
|
44082
|
+
"local_gateway_virtual_interface_group_id": "localGatewayVirtualInterfaceGroupId",
|
|
44083
|
+
},
|
|
44084
|
+
)
|
|
44085
|
+
class LocalGatewayVirtualInterfaceGroupReference:
|
|
44086
|
+
def __init__(
|
|
44087
|
+
self,
|
|
44088
|
+
*,
|
|
44089
|
+
local_gateway_virtual_interface_group_arn: builtins.str,
|
|
44090
|
+
local_gateway_virtual_interface_group_id: builtins.str,
|
|
44091
|
+
) -> None:
|
|
44092
|
+
'''A reference to a LocalGatewayVirtualInterfaceGroup resource.
|
|
44093
|
+
|
|
44094
|
+
:param local_gateway_virtual_interface_group_arn: The ARN of the LocalGatewayVirtualInterfaceGroup resource.
|
|
44095
|
+
:param local_gateway_virtual_interface_group_id: The LocalGatewayVirtualInterfaceGroupId of the LocalGatewayVirtualInterfaceGroup resource.
|
|
44096
|
+
|
|
44097
|
+
:exampleMetadata: fixture=_generated
|
|
44098
|
+
|
|
44099
|
+
Example::
|
|
44100
|
+
|
|
44101
|
+
# The code below shows an example of how to instantiate this type.
|
|
44102
|
+
# The values are placeholders you should change.
|
|
44103
|
+
from aws_cdk import aws_ec2 as ec2
|
|
44104
|
+
|
|
44105
|
+
local_gateway_virtual_interface_group_reference = ec2.LocalGatewayVirtualInterfaceGroupReference(
|
|
44106
|
+
local_gateway_virtual_interface_group_arn="localGatewayVirtualInterfaceGroupArn",
|
|
44107
|
+
local_gateway_virtual_interface_group_id="localGatewayVirtualInterfaceGroupId"
|
|
44108
|
+
)
|
|
44109
|
+
'''
|
|
44110
|
+
if __debug__:
|
|
44111
|
+
type_hints = typing.get_type_hints(_typecheckingstub__c5749867b83865efb222663d0629d4ad2212132a3d659cf6e5b6eefb44fdc1b9)
|
|
44112
|
+
check_type(argname="argument local_gateway_virtual_interface_group_arn", value=local_gateway_virtual_interface_group_arn, expected_type=type_hints["local_gateway_virtual_interface_group_arn"])
|
|
44113
|
+
check_type(argname="argument local_gateway_virtual_interface_group_id", value=local_gateway_virtual_interface_group_id, expected_type=type_hints["local_gateway_virtual_interface_group_id"])
|
|
44114
|
+
self._values: typing.Dict[builtins.str, typing.Any] = {
|
|
44115
|
+
"local_gateway_virtual_interface_group_arn": local_gateway_virtual_interface_group_arn,
|
|
44116
|
+
"local_gateway_virtual_interface_group_id": local_gateway_virtual_interface_group_id,
|
|
44117
|
+
}
|
|
44118
|
+
|
|
44119
|
+
@builtins.property
|
|
44120
|
+
def local_gateway_virtual_interface_group_arn(self) -> builtins.str:
|
|
44121
|
+
'''The ARN of the LocalGatewayVirtualInterfaceGroup resource.'''
|
|
44122
|
+
result = self._values.get("local_gateway_virtual_interface_group_arn")
|
|
44123
|
+
assert result is not None, "Required property 'local_gateway_virtual_interface_group_arn' is missing"
|
|
44124
|
+
return typing.cast(builtins.str, result)
|
|
44125
|
+
|
|
44126
|
+
@builtins.property
|
|
44127
|
+
def local_gateway_virtual_interface_group_id(self) -> builtins.str:
|
|
44128
|
+
'''The LocalGatewayVirtualInterfaceGroupId of the LocalGatewayVirtualInterfaceGroup resource.'''
|
|
44129
|
+
result = self._values.get("local_gateway_virtual_interface_group_id")
|
|
44130
|
+
assert result is not None, "Required property 'local_gateway_virtual_interface_group_id' is missing"
|
|
44131
|
+
return typing.cast(builtins.str, result)
|
|
44132
|
+
|
|
44133
|
+
def __eq__(self, rhs: typing.Any) -> builtins.bool:
|
|
44134
|
+
return isinstance(rhs, self.__class__) and rhs._values == self._values
|
|
44135
|
+
|
|
44136
|
+
def __ne__(self, rhs: typing.Any) -> builtins.bool:
|
|
44137
|
+
return not (rhs == self)
|
|
44138
|
+
|
|
44139
|
+
def __repr__(self) -> str:
|
|
44140
|
+
return "LocalGatewayVirtualInterfaceGroupReference(%s)" % ", ".join(
|
|
44141
|
+
k + "=" + repr(v) for k, v in self._values.items()
|
|
44142
|
+
)
|
|
44143
|
+
|
|
44144
|
+
|
|
44145
|
+
@jsii.data_type(
|
|
44146
|
+
jsii_type="aws-cdk-lib.aws_ec2.LocalGatewayVirtualInterfaceReference",
|
|
44147
|
+
jsii_struct_bases=[],
|
|
44148
|
+
name_mapping={
|
|
44149
|
+
"local_gateway_virtual_interface_id": "localGatewayVirtualInterfaceId",
|
|
44150
|
+
},
|
|
44151
|
+
)
|
|
44152
|
+
class LocalGatewayVirtualInterfaceReference:
|
|
44153
|
+
def __init__(self, *, local_gateway_virtual_interface_id: builtins.str) -> None:
|
|
44154
|
+
'''A reference to a LocalGatewayVirtualInterface resource.
|
|
44155
|
+
|
|
44156
|
+
:param local_gateway_virtual_interface_id: The LocalGatewayVirtualInterfaceId of the LocalGatewayVirtualInterface resource.
|
|
44157
|
+
|
|
44158
|
+
:exampleMetadata: fixture=_generated
|
|
44159
|
+
|
|
44160
|
+
Example::
|
|
44161
|
+
|
|
44162
|
+
# The code below shows an example of how to instantiate this type.
|
|
44163
|
+
# The values are placeholders you should change.
|
|
44164
|
+
from aws_cdk import aws_ec2 as ec2
|
|
44165
|
+
|
|
44166
|
+
local_gateway_virtual_interface_reference = ec2.LocalGatewayVirtualInterfaceReference(
|
|
44167
|
+
local_gateway_virtual_interface_id="localGatewayVirtualInterfaceId"
|
|
44168
|
+
)
|
|
44169
|
+
'''
|
|
44170
|
+
if __debug__:
|
|
44171
|
+
type_hints = typing.get_type_hints(_typecheckingstub__370c12dc1c7162c4f581d58e74af3136efcbc6bf0ba1e90bcab50deb09c4733f)
|
|
44172
|
+
check_type(argname="argument local_gateway_virtual_interface_id", value=local_gateway_virtual_interface_id, expected_type=type_hints["local_gateway_virtual_interface_id"])
|
|
44173
|
+
self._values: typing.Dict[builtins.str, typing.Any] = {
|
|
44174
|
+
"local_gateway_virtual_interface_id": local_gateway_virtual_interface_id,
|
|
44175
|
+
}
|
|
44176
|
+
|
|
44177
|
+
@builtins.property
|
|
44178
|
+
def local_gateway_virtual_interface_id(self) -> builtins.str:
|
|
44179
|
+
'''The LocalGatewayVirtualInterfaceId of the LocalGatewayVirtualInterface resource.'''
|
|
44180
|
+
result = self._values.get("local_gateway_virtual_interface_id")
|
|
44181
|
+
assert result is not None, "Required property 'local_gateway_virtual_interface_id' is missing"
|
|
44182
|
+
return typing.cast(builtins.str, result)
|
|
44183
|
+
|
|
44184
|
+
def __eq__(self, rhs: typing.Any) -> builtins.bool:
|
|
44185
|
+
return isinstance(rhs, self.__class__) and rhs._values == self._values
|
|
44186
|
+
|
|
44187
|
+
def __ne__(self, rhs: typing.Any) -> builtins.bool:
|
|
44188
|
+
return not (rhs == self)
|
|
44189
|
+
|
|
44190
|
+
def __repr__(self) -> str:
|
|
44191
|
+
return "LocalGatewayVirtualInterfaceReference(%s)" % ", ".join(
|
|
44192
|
+
k + "=" + repr(v) for k, v in self._values.items()
|
|
44193
|
+
)
|
|
44194
|
+
|
|
44195
|
+
|
|
44196
|
+
@jsii.enum(jsii_type="aws-cdk-lib.aws_ec2.LocalStorage")
|
|
44197
|
+
class LocalStorage(enum.Enum):
|
|
44198
|
+
'''Local storage support requirements for EC2 instances.
|
|
44199
|
+
|
|
44200
|
+
Controls whether selected instance types must, may, or must not
|
|
44201
|
+
include directly attached local storage (instance store).
|
|
44202
|
+
|
|
44203
|
+
:exampleMetadata: infused
|
|
44204
|
+
|
|
44205
|
+
Example::
|
|
44206
|
+
|
|
44207
|
+
# infrastructure_role: iam.Role
|
|
44208
|
+
# instance_profile: iam.InstanceProfile
|
|
44209
|
+
# vpc: ec2.Vpc
|
|
44210
|
+
|
|
44211
|
+
|
|
44212
|
+
mi_capacity_provider = ecs.ManagedInstancesCapacityProvider(self, "MICapacityProvider",
|
|
44213
|
+
infrastructure_role=infrastructure_role,
|
|
44214
|
+
ec2_instance_profile=instance_profile,
|
|
44215
|
+
subnets=vpc.private_subnets,
|
|
44216
|
+
instance_requirements=ec2.InstanceRequirementsConfig(
|
|
44217
|
+
# Required: CPU and memory constraints
|
|
44218
|
+
v_cpu_count_min=2,
|
|
44219
|
+
v_cpu_count_max=8,
|
|
44220
|
+
memory_min=Size.gibibytes(4),
|
|
44221
|
+
memory_max=Size.gibibytes(32),
|
|
44222
|
+
|
|
44223
|
+
# CPU preferences
|
|
44224
|
+
cpu_manufacturers=[ec2.CpuManufacturer.INTEL, ec2.CpuManufacturer.AMD],
|
|
44225
|
+
instance_generations=[ec2.InstanceGeneration.CURRENT],
|
|
44226
|
+
|
|
44227
|
+
# Instance type filtering
|
|
44228
|
+
allowed_instance_types=["m5.*", "c5.*"],
|
|
44229
|
+
|
|
44230
|
+
# Performance characteristics
|
|
44231
|
+
burstable_performance=ec2.BurstablePerformance.EXCLUDED,
|
|
44232
|
+
bare_metal=ec2.BareMetal.EXCLUDED,
|
|
44233
|
+
|
|
44234
|
+
# Accelerator requirements (for ML/AI workloads)
|
|
44235
|
+
accelerator_types=[ec2.AcceleratorType.GPU],
|
|
44236
|
+
accelerator_manufacturers=[ec2.AcceleratorManufacturer.NVIDIA],
|
|
44237
|
+
accelerator_names=[ec2.AcceleratorName.T4, ec2.AcceleratorName.V100],
|
|
44238
|
+
accelerator_count_min=1,
|
|
44239
|
+
|
|
44240
|
+
# Storage requirements
|
|
44241
|
+
local_storage=ec2.LocalStorage.REQUIRED,
|
|
44242
|
+
local_storage_types=[ec2.LocalStorageType.SSD],
|
|
44243
|
+
total_local_storage_gBMin=100,
|
|
44244
|
+
|
|
44245
|
+
# Network requirements
|
|
44246
|
+
network_interface_count_min=2,
|
|
44247
|
+
network_bandwidth_gbps_min=10,
|
|
44248
|
+
|
|
44249
|
+
# Cost optimization
|
|
44250
|
+
on_demand_max_price_percentage_over_lowest_price=10
|
|
44251
|
+
)
|
|
44252
|
+
)
|
|
44253
|
+
'''
|
|
44254
|
+
|
|
44255
|
+
INCLUDED = "INCLUDED"
|
|
44256
|
+
'''Instance types with local storage are allowed, but types without local storage may also be selected.'''
|
|
44257
|
+
REQUIRED = "REQUIRED"
|
|
44258
|
+
'''Only instance types with local storage are allowed.
|
|
44259
|
+
|
|
44260
|
+
Types without local storage will be excluded.
|
|
44261
|
+
'''
|
|
44262
|
+
EXCLUDED = "EXCLUDED"
|
|
44263
|
+
'''Instance types with local storage are disallowed.
|
|
44264
|
+
|
|
44265
|
+
Only types without local storage may be selected.
|
|
44266
|
+
'''
|
|
44267
|
+
|
|
44268
|
+
|
|
44269
|
+
@jsii.enum(jsii_type="aws-cdk-lib.aws_ec2.LocalStorageType")
|
|
44270
|
+
class LocalStorageType(enum.Enum):
|
|
44271
|
+
'''Types of local storage available for EC2 instances.
|
|
44272
|
+
|
|
44273
|
+
Specifies the physical medium used for local (instance store) storage.
|
|
44274
|
+
|
|
44275
|
+
:exampleMetadata: infused
|
|
44276
|
+
|
|
44277
|
+
Example::
|
|
44278
|
+
|
|
44279
|
+
# infrastructure_role: iam.Role
|
|
44280
|
+
# instance_profile: iam.InstanceProfile
|
|
44281
|
+
# vpc: ec2.Vpc
|
|
44282
|
+
|
|
44283
|
+
|
|
44284
|
+
mi_capacity_provider = ecs.ManagedInstancesCapacityProvider(self, "MICapacityProvider",
|
|
44285
|
+
infrastructure_role=infrastructure_role,
|
|
44286
|
+
ec2_instance_profile=instance_profile,
|
|
44287
|
+
subnets=vpc.private_subnets,
|
|
44288
|
+
instance_requirements=ec2.InstanceRequirementsConfig(
|
|
44289
|
+
# Required: CPU and memory constraints
|
|
44290
|
+
v_cpu_count_min=2,
|
|
44291
|
+
v_cpu_count_max=8,
|
|
44292
|
+
memory_min=Size.gibibytes(4),
|
|
44293
|
+
memory_max=Size.gibibytes(32),
|
|
44294
|
+
|
|
44295
|
+
# CPU preferences
|
|
44296
|
+
cpu_manufacturers=[ec2.CpuManufacturer.INTEL, ec2.CpuManufacturer.AMD],
|
|
44297
|
+
instance_generations=[ec2.InstanceGeneration.CURRENT],
|
|
44298
|
+
|
|
44299
|
+
# Instance type filtering
|
|
44300
|
+
allowed_instance_types=["m5.*", "c5.*"],
|
|
44301
|
+
|
|
44302
|
+
# Performance characteristics
|
|
44303
|
+
burstable_performance=ec2.BurstablePerformance.EXCLUDED,
|
|
44304
|
+
bare_metal=ec2.BareMetal.EXCLUDED,
|
|
44305
|
+
|
|
44306
|
+
# Accelerator requirements (for ML/AI workloads)
|
|
44307
|
+
accelerator_types=[ec2.AcceleratorType.GPU],
|
|
44308
|
+
accelerator_manufacturers=[ec2.AcceleratorManufacturer.NVIDIA],
|
|
44309
|
+
accelerator_names=[ec2.AcceleratorName.T4, ec2.AcceleratorName.V100],
|
|
44310
|
+
accelerator_count_min=1,
|
|
44311
|
+
|
|
44312
|
+
# Storage requirements
|
|
44313
|
+
local_storage=ec2.LocalStorage.REQUIRED,
|
|
44314
|
+
local_storage_types=[ec2.LocalStorageType.SSD],
|
|
44315
|
+
total_local_storage_gBMin=100,
|
|
44316
|
+
|
|
44317
|
+
# Network requirements
|
|
44318
|
+
network_interface_count_min=2,
|
|
44319
|
+
network_bandwidth_gbps_min=10,
|
|
44320
|
+
|
|
44321
|
+
# Cost optimization
|
|
44322
|
+
on_demand_max_price_percentage_over_lowest_price=10
|
|
44323
|
+
)
|
|
44324
|
+
)
|
|
44325
|
+
'''
|
|
44326
|
+
|
|
44327
|
+
HDD = "HDD"
|
|
44328
|
+
'''Hard disk drive storage.'''
|
|
44329
|
+
SSD = "SSD"
|
|
44330
|
+
'''Solid state drive storage.'''
|
|
44331
|
+
|
|
44332
|
+
|
|
42449
44333
|
@jsii.data_type(
|
|
42450
44334
|
jsii_type="aws-cdk-lib.aws_ec2.LocationPackageOptions",
|
|
42451
44335
|
jsii_struct_bases=[],
|
|
@@ -52982,6 +54866,7 @@ class Vpc(
|
|
|
52982
54866
|
client_login_banner: typing.Optional[builtins.str] = None,
|
|
52983
54867
|
client_route_enforcement_options: typing.Optional[typing.Union[ClientRouteEnforcementOptions, typing.Dict[builtins.str, typing.Any]]] = None,
|
|
52984
54868
|
description: typing.Optional[builtins.str] = None,
|
|
54869
|
+
disconnect_on_session_timeout: typing.Optional[builtins.bool] = None,
|
|
52985
54870
|
dns_servers: typing.Optional[typing.Sequence[builtins.str]] = None,
|
|
52986
54871
|
logging: typing.Optional[builtins.bool] = None,
|
|
52987
54872
|
log_group: typing.Optional[_ILogGroup_3c4fa718] = None,
|
|
@@ -53006,6 +54891,7 @@ class Vpc(
|
|
|
53006
54891
|
:param client_login_banner: Customizable text that will be displayed in a banner on AWS provided clients when a VPN session is established. UTF-8 encoded characters only. Maximum of 1400 characters. Default: - no banner is presented to the client
|
|
53007
54892
|
:param client_route_enforcement_options: Options for Client Route Enforcement. Client Route Enforcement is a feature of Client VPN that helps enforce administrator defined routes on devices connected through the VPN. This feature helps improve your security posture by ensuring that network traffic originating from a connected client is not inadvertently sent outside the VPN tunnel. Default: undefined - AWS Client VPN default setting is disable client route enforcement
|
|
53008
54893
|
:param description: A brief description of the Client VPN endpoint. Default: - no description
|
|
54894
|
+
:param disconnect_on_session_timeout: Indicates whether the client VPN session is disconnected after the maximum ``sessionTimeout`` is reached. If ``true``, users are prompted to reconnect client VPN. If ``false``, client VPN attempts to reconnect automatically. Default: undefined - AWS Client VPN default is true
|
|
53009
54895
|
:param dns_servers: Information about the DNS servers to be used for DNS resolution. A Client VPN endpoint can have up to two DNS servers. Default: - use the DNS address configured on the device
|
|
53010
54896
|
:param logging: Whether to enable connections logging. Default: true
|
|
53011
54897
|
:param log_group: A CloudWatch Logs log group for connection logging. Default: - a new group is created
|
|
@@ -53031,6 +54917,7 @@ class Vpc(
|
|
|
53031
54917
|
client_login_banner=client_login_banner,
|
|
53032
54918
|
client_route_enforcement_options=client_route_enforcement_options,
|
|
53033
54919
|
description=description,
|
|
54920
|
+
disconnect_on_session_timeout=disconnect_on_session_timeout,
|
|
53034
54921
|
dns_servers=dns_servers,
|
|
53035
54922
|
logging=logging,
|
|
53036
54923
|
log_group=log_group,
|
|
@@ -61947,10 +63834,10 @@ class CfnEC2Fleet(
|
|
|
61947
63834
|
|
|
61948
63835
|
:param delete_on_termination: Indicates whether the EBS volume is deleted on instance termination. For more information, see `Preserving Amazon EBS volumes on instance termination <https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/terminating-instances.html#preserving-volumes-on-termination>`_ in the *Amazon EC2 User Guide* .
|
|
61949
63836
|
:param encrypted: Indicates whether the encryption state of an EBS volume is changed while being restored from a backing snapshot. The effect of setting the encryption state to ``true`` depends on the volume origin (new or from a snapshot), starting encryption state, ownership, and whether encryption by default is enabled. For more information, see `Amazon EBS encryption <https://docs.aws.amazon.com/ebs/latest/userguide/ebs-encryption.html#encryption-parameters>`_ in the *Amazon EBS User Guide* . In no case can you remove encryption from an encrypted volume. Encrypted volumes can only be attached to instances that support Amazon EBS encryption. For more information, see `Supported instance types <https://docs.aws.amazon.com/ebs/latest/userguide/ebs-encryption-requirements.html#ebs-encryption_supported_instances>`_ . - If you are creating a block device mapping for a *new (empty) volume* , you can include this parameter, and specify either ``true`` for an encrypted volume, or ``false`` for an unencrypted volume. If you omit this parameter, it defaults to ``false`` (unencrypted). - If you are creating a block device mapping from an *existing encrypted or unencrypted snapshot* , you must omit this parameter. If you include this parameter, the request will fail, regardless of the value that you specify. - If you are creating a block device mapping from an *existing unencrypted volume* , you can include this parameter, but you must specify ``false`` . If you specify ``true`` , the request will fail. In this case, we recommend that you omit the parameter. - If you are creating a block device mapping from an *existing encrypted volume* , you can include this parameter, and specify either ``true`` or ``false`` . However, if you specify ``false`` , the parameter is ignored and the block device mapping is always encrypted. In this case, we recommend that you omit the parameter.
|
|
61950
|
-
:param iops: The number of I/O operations per second (IOPS). For ``gp3`` , ``io1`` , and ``io2`` volumes, this represents the number of IOPS that are provisioned for the volume. For ``gp2`` volumes, this represents the baseline performance of the volume and the rate at which the volume accumulates I/O credits for bursting. The following are the supported values for each volume type: - ``gp3`` : 3,000 -
|
|
63837
|
+
:param iops: The number of I/O operations per second (IOPS). For ``gp3`` , ``io1`` , and ``io2`` volumes, this represents the number of IOPS that are provisioned for the volume. For ``gp2`` volumes, this represents the baseline performance of the volume and the rate at which the volume accumulates I/O credits for bursting. The following are the supported values for each volume type: - ``gp3`` : 3,000 - 80,000 IOPS - ``io1`` : 100 - 64,000 IOPS - ``io2`` : 100 - 256,000 IOPS For ``io2`` volumes, you can achieve up to 256,000 IOPS on `instances built on the Nitro System <https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/instance-types.html#ec2-nitro-instances>`_ . On other instances, you can achieve performance up to 32,000 IOPS. This parameter is required for ``io1`` and ``io2`` volumes. The default for ``gp3`` volumes is 3,000 IOPS.
|
|
61951
63838
|
:param kms_key_id: Identifier (key ID, key alias, key ARN, or alias ARN) of the customer managed KMS key to use for EBS encryption. This parameter is only supported on ``BlockDeviceMapping`` objects called by `RunInstances <https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_RunInstances.html>`_ , `RequestSpotFleet <https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_RequestSpotFleet.html>`_ , and `RequestSpotInstances <https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_RequestSpotInstances.html>`_ .
|
|
61952
63839
|
:param snapshot_id: The ID of the snapshot.
|
|
61953
|
-
:param volume_size: The size of the volume, in GiBs. You must specify either a snapshot ID or a volume size. If you specify a snapshot, the default is the snapshot size. You can specify a volume size that is equal to or larger than the snapshot size. The following are the supported sizes for each volume type: - ``gp2``
|
|
63840
|
+
:param volume_size: The size of the volume, in GiBs. You must specify either a snapshot ID or a volume size. If you specify a snapshot, the default is the snapshot size. You can specify a volume size that is equal to or larger than the snapshot size. The following are the supported sizes for each volume type: - ``gp2`` : 1 - 16,384 GiB - ``gp3`` : 1 - 65,536 GiB - ``io1`` : 4 - 16,384 GiB - ``io2`` : 4 - 65,536 GiB - ``st1`` and ``sc1`` : 125 - 16,384 GiB - ``standard`` : 1 - 1024 GiB
|
|
61954
63841
|
:param volume_type: The volume type. For more information, see `Amazon EBS volume types <https://docs.aws.amazon.com/ebs/latest/userguide/ebs-volume-types.html>`_ in the *Amazon EBS User Guide* .
|
|
61955
63842
|
|
|
61956
63843
|
:see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-ec2fleet-ebsblockdevice.html
|
|
@@ -62040,7 +63927,7 @@ class CfnEC2Fleet(
|
|
|
62040
63927
|
|
|
62041
63928
|
The following are the supported values for each volume type:
|
|
62042
63929
|
|
|
62043
|
-
- ``gp3`` : 3,000 -
|
|
63930
|
+
- ``gp3`` : 3,000 - 80,000 IOPS
|
|
62044
63931
|
- ``io1`` : 100 - 64,000 IOPS
|
|
62045
63932
|
- ``io2`` : 100 - 256,000 IOPS
|
|
62046
63933
|
|
|
@@ -62081,7 +63968,8 @@ class CfnEC2Fleet(
|
|
|
62081
63968
|
|
|
62082
63969
|
The following are the supported sizes for each volume type:
|
|
62083
63970
|
|
|
62084
|
-
- ``gp2``
|
|
63971
|
+
- ``gp2`` : 1 - 16,384 GiB
|
|
63972
|
+
- ``gp3`` : 1 - 65,536 GiB
|
|
62085
63973
|
- ``io1`` : 4 - 16,384 GiB
|
|
62086
63974
|
- ``io2`` : 4 - 65,536 GiB
|
|
62087
63975
|
- ``st1`` and ``sc1`` : 125 - 16,384 GiB
|
|
@@ -73746,12 +75634,12 @@ class CfnLaunchTemplate(
|
|
|
73746
75634
|
|
|
73747
75635
|
:param delete_on_termination: Indicates whether the EBS volume is deleted on instance termination.
|
|
73748
75636
|
:param encrypted: Indicates whether the EBS volume is encrypted. Encrypted volumes can only be attached to instances that support Amazon EBS encryption. If you are creating a volume from a snapshot, you can't specify an encryption value.
|
|
73749
|
-
:param iops: The number of I/O operations per second (IOPS). For ``gp3`` , ``io1`` , and ``io2`` volumes, this represents the number of IOPS that are provisioned for the volume. For ``gp2`` volumes, this represents the baseline performance of the volume and the rate at which the volume accumulates I/O credits for bursting. The following are the supported values for each volume type: - ``gp3`` : 3,000 -
|
|
75637
|
+
:param iops: The number of I/O operations per second (IOPS). For ``gp3`` , ``io1`` , and ``io2`` volumes, this represents the number of IOPS that are provisioned for the volume. For ``gp2`` volumes, this represents the baseline performance of the volume and the rate at which the volume accumulates I/O credits for bursting. The following are the supported values for each volume type: - ``gp3`` : 3,000 - 80,000 IOPS - ``io1`` : 100 - 64,000 IOPS - ``io2`` : 100 - 256,000 IOPS For ``io2`` volumes, you can achieve up to 256,000 IOPS on `instances built on the Nitro System <https://docs.aws.amazon.com/ec2/latest/instancetypes/ec2-nitro-instances.html>`_ . On other instances, you can achieve performance up to 32,000 IOPS. This parameter is supported for ``io1`` , ``io2`` , and ``gp3`` volumes only.
|
|
73750
75638
|
:param kms_key_id: Identifier (key ID, key alias, key ARN, or alias ARN) of the customer managed KMS key to use for EBS encryption.
|
|
73751
75639
|
:param snapshot_id: The ID of the snapshot.
|
|
73752
|
-
:param throughput: The throughput to provision for a ``gp3`` volume, with a maximum of
|
|
75640
|
+
:param throughput: The throughput to provision for a ``gp3`` volume, with a maximum of 2,000 MiB/s. Valid Range: Minimum value of 125. Maximum value of 2,000.
|
|
73753
75641
|
:param volume_initialization_rate: Specifies the Amazon EBS Provisioned Rate for Volume Initialization (volume initialization rate), in MiB/s, at which to download the snapshot blocks from Amazon S3 to the volume. This is also known as *volume initialization* . Specifying a volume initialization rate ensures that the volume is initialized at a predictable and consistent rate after creation. This parameter is supported only for volumes created from snapshots. Omit this parameter if: - You want to create the volume using fast snapshot restore. You must specify a snapshot that is enabled for fast snapshot restore. In this case, the volume is fully initialized at creation. .. epigraph:: If you specify a snapshot that is enabled for fast snapshot restore and a volume initialization rate, the volume will be initialized at the specified rate instead of fast snapshot restore. - You want to create a volume that is initialized at the default rate. For more information, see `Initialize Amazon EBS volumes <https://docs.aws.amazon.com/ebs/latest/userguide/initalize-volume.html>`_ in the *Amazon EC2 User Guide* . Valid range: 100 - 300 MiB/s
|
|
73754
|
-
:param volume_size: The size of the volume, in GiBs. You must specify either a snapshot ID or a volume size. The following are the supported volumes sizes for each volume type: - ``gp2``
|
|
75642
|
+
:param volume_size: The size of the volume, in GiBs. You must specify either a snapshot ID or a volume size. The following are the supported volumes sizes for each volume type: - ``gp2`` : 1 - 16,384 GiB - ``gp3`` : 1 - 65,536 GiB - ``io1`` : 4 - 16,384 GiB - ``io2`` : 4 - 65,536 GiB - ``st1`` and ``sc1`` : 125 - 16,384 GiB - ``standard`` : 1 - 1024 GiB
|
|
73755
75643
|
:param volume_type: The volume type. For more information, see `Amazon EBS volume types <https://docs.aws.amazon.com/ebs/latest/userguide/ebs-volume-types.html>`_ in the *Amazon EBS User Guide* .
|
|
73756
75644
|
|
|
73757
75645
|
:see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-launchtemplate-ebs.html
|
|
@@ -73838,7 +75726,7 @@ class CfnLaunchTemplate(
|
|
|
73838
75726
|
|
|
73839
75727
|
The following are the supported values for each volume type:
|
|
73840
75728
|
|
|
73841
|
-
- ``gp3`` : 3,000 -
|
|
75729
|
+
- ``gp3`` : 3,000 - 80,000 IOPS
|
|
73842
75730
|
- ``io1`` : 100 - 64,000 IOPS
|
|
73843
75731
|
- ``io2`` : 100 - 256,000 IOPS
|
|
73844
75732
|
|
|
@@ -73871,9 +75759,9 @@ class CfnLaunchTemplate(
|
|
|
73871
75759
|
|
|
73872
75760
|
@builtins.property
|
|
73873
75761
|
def throughput(self) -> typing.Optional[jsii.Number]:
|
|
73874
|
-
'''The throughput to provision for a ``gp3`` volume, with a maximum of
|
|
75762
|
+
'''The throughput to provision for a ``gp3`` volume, with a maximum of 2,000 MiB/s.
|
|
73875
75763
|
|
|
73876
|
-
Valid Range: Minimum value of 125. Maximum value of
|
|
75764
|
+
Valid Range: Minimum value of 125. Maximum value of 2,000.
|
|
73877
75765
|
|
|
73878
75766
|
:see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-launchtemplate-ebs.html#cfn-ec2-launchtemplate-ebs-throughput
|
|
73879
75767
|
'''
|
|
@@ -73911,7 +75799,8 @@ class CfnLaunchTemplate(
|
|
|
73911
75799
|
|
|
73912
75800
|
You must specify either a snapshot ID or a volume size. The following are the supported volumes sizes for each volume type:
|
|
73913
75801
|
|
|
73914
|
-
- ``gp2``
|
|
75802
|
+
- ``gp2`` : 1 - 16,384 GiB
|
|
75803
|
+
- ``gp3`` : 1 - 65,536 GiB
|
|
73915
75804
|
- ``io1`` : 4 - 16,384 GiB
|
|
73916
75805
|
- ``io2`` : 4 - 65,536 GiB
|
|
73917
75806
|
- ``st1`` and ``sc1`` : 125 - 16,384 GiB
|
|
@@ -79021,6 +80910,555 @@ class CfnLocalGatewayRouteTableVirtualInterfaceGroupAssociation(
|
|
|
79021
80910
|
jsii.set(self, "tagsRaw", value) # pyright: ignore[reportArgumentType]
|
|
79022
80911
|
|
|
79023
80912
|
|
|
80913
|
+
@jsii.implements(_IInspectable_c2943556, ILocalGatewayVirtualInterfaceRef, _ITaggableV2_4e6798f8)
|
|
80914
|
+
class CfnLocalGatewayVirtualInterface(
|
|
80915
|
+
_CfnResource_9df397a6,
|
|
80916
|
+
metaclass=jsii.JSIIMeta,
|
|
80917
|
+
jsii_type="aws-cdk-lib.aws_ec2.CfnLocalGatewayVirtualInterface",
|
|
80918
|
+
):
|
|
80919
|
+
'''Describes a local gateway virtual interface.
|
|
80920
|
+
|
|
80921
|
+
:see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-localgatewayvirtualinterface.html
|
|
80922
|
+
:cloudformationResource: AWS::EC2::LocalGatewayVirtualInterface
|
|
80923
|
+
:exampleMetadata: fixture=_generated
|
|
80924
|
+
|
|
80925
|
+
Example::
|
|
80926
|
+
|
|
80927
|
+
# The code below shows an example of how to instantiate this type.
|
|
80928
|
+
# The values are placeholders you should change.
|
|
80929
|
+
from aws_cdk import aws_ec2 as ec2
|
|
80930
|
+
|
|
80931
|
+
cfn_local_gateway_virtual_interface = ec2.CfnLocalGatewayVirtualInterface(self, "MyCfnLocalGatewayVirtualInterface",
|
|
80932
|
+
local_address="localAddress",
|
|
80933
|
+
local_gateway_virtual_interface_group_id="localGatewayVirtualInterfaceGroupId",
|
|
80934
|
+
outpost_lag_id="outpostLagId",
|
|
80935
|
+
peer_address="peerAddress",
|
|
80936
|
+
vlan=123,
|
|
80937
|
+
|
|
80938
|
+
# the properties below are optional
|
|
80939
|
+
peer_bgp_asn=123,
|
|
80940
|
+
peer_bgp_asn_extended=123,
|
|
80941
|
+
tags=[CfnTag(
|
|
80942
|
+
key="key",
|
|
80943
|
+
value="value"
|
|
80944
|
+
)]
|
|
80945
|
+
)
|
|
80946
|
+
'''
|
|
80947
|
+
|
|
80948
|
+
def __init__(
|
|
80949
|
+
self,
|
|
80950
|
+
scope: _constructs_77d1e7e8.Construct,
|
|
80951
|
+
id: builtins.str,
|
|
80952
|
+
*,
|
|
80953
|
+
local_address: builtins.str,
|
|
80954
|
+
local_gateway_virtual_interface_group_id: builtins.str,
|
|
80955
|
+
outpost_lag_id: builtins.str,
|
|
80956
|
+
peer_address: builtins.str,
|
|
80957
|
+
vlan: jsii.Number,
|
|
80958
|
+
peer_bgp_asn: typing.Optional[jsii.Number] = None,
|
|
80959
|
+
peer_bgp_asn_extended: typing.Optional[jsii.Number] = None,
|
|
80960
|
+
tags: typing.Optional[typing.Sequence[typing.Union[_CfnTag_f6864754, typing.Dict[builtins.str, typing.Any]]]] = None,
|
|
80961
|
+
) -> None:
|
|
80962
|
+
'''
|
|
80963
|
+
:param scope: Scope in which this resource is defined.
|
|
80964
|
+
:param id: Construct identifier for this resource (unique in its scope).
|
|
80965
|
+
:param local_address: The local address.
|
|
80966
|
+
:param local_gateway_virtual_interface_group_id: The ID of the local gateway virtual interface group.
|
|
80967
|
+
:param outpost_lag_id: The Outpost LAG ID.
|
|
80968
|
+
:param peer_address: The peer address.
|
|
80969
|
+
:param vlan: The ID of the VLAN.
|
|
80970
|
+
:param peer_bgp_asn: The peer BGP ASN.
|
|
80971
|
+
:param peer_bgp_asn_extended: The extended 32-bit ASN of the BGP peer for use with larger ASN values.
|
|
80972
|
+
:param tags: The tags assigned to the virtual interface.
|
|
80973
|
+
'''
|
|
80974
|
+
if __debug__:
|
|
80975
|
+
type_hints = typing.get_type_hints(_typecheckingstub__2aa88d11229e60744af7610169f28b3d5625cb154fd34b95efb791e8bfccfc63)
|
|
80976
|
+
check_type(argname="argument scope", value=scope, expected_type=type_hints["scope"])
|
|
80977
|
+
check_type(argname="argument id", value=id, expected_type=type_hints["id"])
|
|
80978
|
+
props = CfnLocalGatewayVirtualInterfaceProps(
|
|
80979
|
+
local_address=local_address,
|
|
80980
|
+
local_gateway_virtual_interface_group_id=local_gateway_virtual_interface_group_id,
|
|
80981
|
+
outpost_lag_id=outpost_lag_id,
|
|
80982
|
+
peer_address=peer_address,
|
|
80983
|
+
vlan=vlan,
|
|
80984
|
+
peer_bgp_asn=peer_bgp_asn,
|
|
80985
|
+
peer_bgp_asn_extended=peer_bgp_asn_extended,
|
|
80986
|
+
tags=tags,
|
|
80987
|
+
)
|
|
80988
|
+
|
|
80989
|
+
jsii.create(self.__class__, self, [scope, id, props])
|
|
80990
|
+
|
|
80991
|
+
@jsii.member(jsii_name="fromLocalGatewayVirtualInterfaceId")
|
|
80992
|
+
@builtins.classmethod
|
|
80993
|
+
def from_local_gateway_virtual_interface_id(
|
|
80994
|
+
cls,
|
|
80995
|
+
scope: _constructs_77d1e7e8.Construct,
|
|
80996
|
+
id: builtins.str,
|
|
80997
|
+
local_gateway_virtual_interface_id: builtins.str,
|
|
80998
|
+
) -> ILocalGatewayVirtualInterfaceRef:
|
|
80999
|
+
'''Creates a new ILocalGatewayVirtualInterfaceRef from a localGatewayVirtualInterfaceId.
|
|
81000
|
+
|
|
81001
|
+
:param scope: -
|
|
81002
|
+
:param id: -
|
|
81003
|
+
:param local_gateway_virtual_interface_id: -
|
|
81004
|
+
'''
|
|
81005
|
+
if __debug__:
|
|
81006
|
+
type_hints = typing.get_type_hints(_typecheckingstub__7e3e16f72affac0d04131f323309fd5617e7cabcdedcd19ac8ade915c112fa06)
|
|
81007
|
+
check_type(argname="argument scope", value=scope, expected_type=type_hints["scope"])
|
|
81008
|
+
check_type(argname="argument id", value=id, expected_type=type_hints["id"])
|
|
81009
|
+
check_type(argname="argument local_gateway_virtual_interface_id", value=local_gateway_virtual_interface_id, expected_type=type_hints["local_gateway_virtual_interface_id"])
|
|
81010
|
+
return typing.cast(ILocalGatewayVirtualInterfaceRef, jsii.sinvoke(cls, "fromLocalGatewayVirtualInterfaceId", [scope, id, local_gateway_virtual_interface_id]))
|
|
81011
|
+
|
|
81012
|
+
@jsii.member(jsii_name="inspect")
|
|
81013
|
+
def inspect(self, inspector: _TreeInspector_488e0dd5) -> None:
|
|
81014
|
+
'''Examines the CloudFormation resource and discloses attributes.
|
|
81015
|
+
|
|
81016
|
+
:param inspector: tree inspector to collect and process attributes.
|
|
81017
|
+
'''
|
|
81018
|
+
if __debug__:
|
|
81019
|
+
type_hints = typing.get_type_hints(_typecheckingstub__94977590a9f1d2767ea0830e9b759c542b741cd7dac530ebefe8f70c31670444)
|
|
81020
|
+
check_type(argname="argument inspector", value=inspector, expected_type=type_hints["inspector"])
|
|
81021
|
+
return typing.cast(None, jsii.invoke(self, "inspect", [inspector]))
|
|
81022
|
+
|
|
81023
|
+
@jsii.member(jsii_name="renderProperties")
|
|
81024
|
+
def _render_properties(
|
|
81025
|
+
self,
|
|
81026
|
+
props: typing.Mapping[builtins.str, typing.Any],
|
|
81027
|
+
) -> typing.Mapping[builtins.str, typing.Any]:
|
|
81028
|
+
'''
|
|
81029
|
+
:param props: -
|
|
81030
|
+
'''
|
|
81031
|
+
if __debug__:
|
|
81032
|
+
type_hints = typing.get_type_hints(_typecheckingstub__095a3726e61c66bed12ad64205be51561583ad09436d79a570b9239072336539)
|
|
81033
|
+
check_type(argname="argument props", value=props, expected_type=type_hints["props"])
|
|
81034
|
+
return typing.cast(typing.Mapping[builtins.str, typing.Any], jsii.invoke(self, "renderProperties", [props]))
|
|
81035
|
+
|
|
81036
|
+
@jsii.python.classproperty
|
|
81037
|
+
@jsii.member(jsii_name="CFN_RESOURCE_TYPE_NAME")
|
|
81038
|
+
def CFN_RESOURCE_TYPE_NAME(cls) -> builtins.str:
|
|
81039
|
+
'''The CloudFormation resource type name for this resource class.'''
|
|
81040
|
+
return typing.cast(builtins.str, jsii.sget(cls, "CFN_RESOURCE_TYPE_NAME"))
|
|
81041
|
+
|
|
81042
|
+
@builtins.property
|
|
81043
|
+
@jsii.member(jsii_name="attrConfigurationState")
|
|
81044
|
+
def attr_configuration_state(self) -> builtins.str:
|
|
81045
|
+
'''The current state of the local gateway virtual interface.
|
|
81046
|
+
|
|
81047
|
+
:cloudformationAttribute: ConfigurationState
|
|
81048
|
+
'''
|
|
81049
|
+
return typing.cast(builtins.str, jsii.get(self, "attrConfigurationState"))
|
|
81050
|
+
|
|
81051
|
+
@builtins.property
|
|
81052
|
+
@jsii.member(jsii_name="attrLocalBgpAsn")
|
|
81053
|
+
def attr_local_bgp_asn(self) -> jsii.Number:
|
|
81054
|
+
'''The Border Gateway Protocol (BGP) Autonomous System Number (ASN) of the local gateway.
|
|
81055
|
+
|
|
81056
|
+
:cloudformationAttribute: LocalBgpAsn
|
|
81057
|
+
'''
|
|
81058
|
+
return typing.cast(jsii.Number, jsii.get(self, "attrLocalBgpAsn"))
|
|
81059
|
+
|
|
81060
|
+
@builtins.property
|
|
81061
|
+
@jsii.member(jsii_name="attrLocalGatewayId")
|
|
81062
|
+
def attr_local_gateway_id(self) -> builtins.str:
|
|
81063
|
+
'''The ID of the local gateway.
|
|
81064
|
+
|
|
81065
|
+
:cloudformationAttribute: LocalGatewayId
|
|
81066
|
+
'''
|
|
81067
|
+
return typing.cast(builtins.str, jsii.get(self, "attrLocalGatewayId"))
|
|
81068
|
+
|
|
81069
|
+
@builtins.property
|
|
81070
|
+
@jsii.member(jsii_name="attrLocalGatewayVirtualInterfaceId")
|
|
81071
|
+
def attr_local_gateway_virtual_interface_id(self) -> builtins.str:
|
|
81072
|
+
'''The ID of the virtual interface.
|
|
81073
|
+
|
|
81074
|
+
:cloudformationAttribute: LocalGatewayVirtualInterfaceId
|
|
81075
|
+
'''
|
|
81076
|
+
return typing.cast(builtins.str, jsii.get(self, "attrLocalGatewayVirtualInterfaceId"))
|
|
81077
|
+
|
|
81078
|
+
@builtins.property
|
|
81079
|
+
@jsii.member(jsii_name="attrOwnerId")
|
|
81080
|
+
def attr_owner_id(self) -> builtins.str:
|
|
81081
|
+
'''The ID of the AWS account that owns the local gateway virtual interface.
|
|
81082
|
+
|
|
81083
|
+
:cloudformationAttribute: OwnerId
|
|
81084
|
+
'''
|
|
81085
|
+
return typing.cast(builtins.str, jsii.get(self, "attrOwnerId"))
|
|
81086
|
+
|
|
81087
|
+
@builtins.property
|
|
81088
|
+
@jsii.member(jsii_name="cdkTagManager")
|
|
81089
|
+
def cdk_tag_manager(self) -> _TagManager_0a598cb3:
|
|
81090
|
+
'''Tag Manager which manages the tags for this resource.'''
|
|
81091
|
+
return typing.cast(_TagManager_0a598cb3, jsii.get(self, "cdkTagManager"))
|
|
81092
|
+
|
|
81093
|
+
@builtins.property
|
|
81094
|
+
@jsii.member(jsii_name="cfnProperties")
|
|
81095
|
+
def _cfn_properties(self) -> typing.Mapping[builtins.str, typing.Any]:
|
|
81096
|
+
return typing.cast(typing.Mapping[builtins.str, typing.Any], jsii.get(self, "cfnProperties"))
|
|
81097
|
+
|
|
81098
|
+
@builtins.property
|
|
81099
|
+
@jsii.member(jsii_name="localGatewayVirtualInterfaceRef")
|
|
81100
|
+
def local_gateway_virtual_interface_ref(
|
|
81101
|
+
self,
|
|
81102
|
+
) -> LocalGatewayVirtualInterfaceReference:
|
|
81103
|
+
'''A reference to a LocalGatewayVirtualInterface resource.'''
|
|
81104
|
+
return typing.cast(LocalGatewayVirtualInterfaceReference, jsii.get(self, "localGatewayVirtualInterfaceRef"))
|
|
81105
|
+
|
|
81106
|
+
@builtins.property
|
|
81107
|
+
@jsii.member(jsii_name="localAddress")
|
|
81108
|
+
def local_address(self) -> builtins.str:
|
|
81109
|
+
'''The local address.'''
|
|
81110
|
+
return typing.cast(builtins.str, jsii.get(self, "localAddress"))
|
|
81111
|
+
|
|
81112
|
+
@local_address.setter
|
|
81113
|
+
def local_address(self, value: builtins.str) -> None:
|
|
81114
|
+
if __debug__:
|
|
81115
|
+
type_hints = typing.get_type_hints(_typecheckingstub__aea0d3e37c3a8dd56ec78450277d740b869a461b084be05fe5b483cc3069cf1d)
|
|
81116
|
+
check_type(argname="argument value", value=value, expected_type=type_hints["value"])
|
|
81117
|
+
jsii.set(self, "localAddress", value) # pyright: ignore[reportArgumentType]
|
|
81118
|
+
|
|
81119
|
+
@builtins.property
|
|
81120
|
+
@jsii.member(jsii_name="localGatewayVirtualInterfaceGroupId")
|
|
81121
|
+
def local_gateway_virtual_interface_group_id(self) -> builtins.str:
|
|
81122
|
+
'''The ID of the local gateway virtual interface group.'''
|
|
81123
|
+
return typing.cast(builtins.str, jsii.get(self, "localGatewayVirtualInterfaceGroupId"))
|
|
81124
|
+
|
|
81125
|
+
@local_gateway_virtual_interface_group_id.setter
|
|
81126
|
+
def local_gateway_virtual_interface_group_id(self, value: builtins.str) -> None:
|
|
81127
|
+
if __debug__:
|
|
81128
|
+
type_hints = typing.get_type_hints(_typecheckingstub__6022f5909fe462f9f3785e9d5d0bfec37b4fbdc32098ff0ed5b117e2095af317)
|
|
81129
|
+
check_type(argname="argument value", value=value, expected_type=type_hints["value"])
|
|
81130
|
+
jsii.set(self, "localGatewayVirtualInterfaceGroupId", value) # pyright: ignore[reportArgumentType]
|
|
81131
|
+
|
|
81132
|
+
@builtins.property
|
|
81133
|
+
@jsii.member(jsii_name="outpostLagId")
|
|
81134
|
+
def outpost_lag_id(self) -> builtins.str:
|
|
81135
|
+
'''The Outpost LAG ID.'''
|
|
81136
|
+
return typing.cast(builtins.str, jsii.get(self, "outpostLagId"))
|
|
81137
|
+
|
|
81138
|
+
@outpost_lag_id.setter
|
|
81139
|
+
def outpost_lag_id(self, value: builtins.str) -> None:
|
|
81140
|
+
if __debug__:
|
|
81141
|
+
type_hints = typing.get_type_hints(_typecheckingstub__d9e0940225d24f5768baac171eb4d7a02583d63a1dbff31fafd812a6612cf377)
|
|
81142
|
+
check_type(argname="argument value", value=value, expected_type=type_hints["value"])
|
|
81143
|
+
jsii.set(self, "outpostLagId", value) # pyright: ignore[reportArgumentType]
|
|
81144
|
+
|
|
81145
|
+
@builtins.property
|
|
81146
|
+
@jsii.member(jsii_name="peerAddress")
|
|
81147
|
+
def peer_address(self) -> builtins.str:
|
|
81148
|
+
'''The peer address.'''
|
|
81149
|
+
return typing.cast(builtins.str, jsii.get(self, "peerAddress"))
|
|
81150
|
+
|
|
81151
|
+
@peer_address.setter
|
|
81152
|
+
def peer_address(self, value: builtins.str) -> None:
|
|
81153
|
+
if __debug__:
|
|
81154
|
+
type_hints = typing.get_type_hints(_typecheckingstub__c55a99d7a9d8ce108f6383103a39169fa8ff7dbefa5fa9da14d3fdc18b33f56d)
|
|
81155
|
+
check_type(argname="argument value", value=value, expected_type=type_hints["value"])
|
|
81156
|
+
jsii.set(self, "peerAddress", value) # pyright: ignore[reportArgumentType]
|
|
81157
|
+
|
|
81158
|
+
@builtins.property
|
|
81159
|
+
@jsii.member(jsii_name="vlan")
|
|
81160
|
+
def vlan(self) -> jsii.Number:
|
|
81161
|
+
'''The ID of the VLAN.'''
|
|
81162
|
+
return typing.cast(jsii.Number, jsii.get(self, "vlan"))
|
|
81163
|
+
|
|
81164
|
+
@vlan.setter
|
|
81165
|
+
def vlan(self, value: jsii.Number) -> None:
|
|
81166
|
+
if __debug__:
|
|
81167
|
+
type_hints = typing.get_type_hints(_typecheckingstub__876a548873295da57ca1d79ac22c64da6f6bb90a671ef5e7e35327fa50455921)
|
|
81168
|
+
check_type(argname="argument value", value=value, expected_type=type_hints["value"])
|
|
81169
|
+
jsii.set(self, "vlan", value) # pyright: ignore[reportArgumentType]
|
|
81170
|
+
|
|
81171
|
+
@builtins.property
|
|
81172
|
+
@jsii.member(jsii_name="peerBgpAsn")
|
|
81173
|
+
def peer_bgp_asn(self) -> typing.Optional[jsii.Number]:
|
|
81174
|
+
'''The peer BGP ASN.'''
|
|
81175
|
+
return typing.cast(typing.Optional[jsii.Number], jsii.get(self, "peerBgpAsn"))
|
|
81176
|
+
|
|
81177
|
+
@peer_bgp_asn.setter
|
|
81178
|
+
def peer_bgp_asn(self, value: typing.Optional[jsii.Number]) -> None:
|
|
81179
|
+
if __debug__:
|
|
81180
|
+
type_hints = typing.get_type_hints(_typecheckingstub__0c59092a20afba0573e2b1509528b6946b674912bc181e34599b6b4caf2d6fc6)
|
|
81181
|
+
check_type(argname="argument value", value=value, expected_type=type_hints["value"])
|
|
81182
|
+
jsii.set(self, "peerBgpAsn", value) # pyright: ignore[reportArgumentType]
|
|
81183
|
+
|
|
81184
|
+
@builtins.property
|
|
81185
|
+
@jsii.member(jsii_name="peerBgpAsnExtended")
|
|
81186
|
+
def peer_bgp_asn_extended(self) -> typing.Optional[jsii.Number]:
|
|
81187
|
+
'''The extended 32-bit ASN of the BGP peer for use with larger ASN values.'''
|
|
81188
|
+
return typing.cast(typing.Optional[jsii.Number], jsii.get(self, "peerBgpAsnExtended"))
|
|
81189
|
+
|
|
81190
|
+
@peer_bgp_asn_extended.setter
|
|
81191
|
+
def peer_bgp_asn_extended(self, value: typing.Optional[jsii.Number]) -> None:
|
|
81192
|
+
if __debug__:
|
|
81193
|
+
type_hints = typing.get_type_hints(_typecheckingstub__f3cce6d05d44bd0efd48f94e34176bb44563507d53cdce3a678259de4fe36b18)
|
|
81194
|
+
check_type(argname="argument value", value=value, expected_type=type_hints["value"])
|
|
81195
|
+
jsii.set(self, "peerBgpAsnExtended", value) # pyright: ignore[reportArgumentType]
|
|
81196
|
+
|
|
81197
|
+
@builtins.property
|
|
81198
|
+
@jsii.member(jsii_name="tags")
|
|
81199
|
+
def tags(self) -> typing.Optional[typing.List[_CfnTag_f6864754]]:
|
|
81200
|
+
'''The tags assigned to the virtual interface.'''
|
|
81201
|
+
return typing.cast(typing.Optional[typing.List[_CfnTag_f6864754]], jsii.get(self, "tags"))
|
|
81202
|
+
|
|
81203
|
+
@tags.setter
|
|
81204
|
+
def tags(self, value: typing.Optional[typing.List[_CfnTag_f6864754]]) -> None:
|
|
81205
|
+
if __debug__:
|
|
81206
|
+
type_hints = typing.get_type_hints(_typecheckingstub__eb087b9b572ca18afe9a40645f05ba591d2e3255ff50d614f2090fe641563ff1)
|
|
81207
|
+
check_type(argname="argument value", value=value, expected_type=type_hints["value"])
|
|
81208
|
+
jsii.set(self, "tags", value) # pyright: ignore[reportArgumentType]
|
|
81209
|
+
|
|
81210
|
+
|
|
81211
|
+
@jsii.implements(_IInspectable_c2943556, ILocalGatewayVirtualInterfaceGroupRef, _ITaggableV2_4e6798f8)
|
|
81212
|
+
class CfnLocalGatewayVirtualInterfaceGroup(
|
|
81213
|
+
_CfnResource_9df397a6,
|
|
81214
|
+
metaclass=jsii.JSIIMeta,
|
|
81215
|
+
jsii_type="aws-cdk-lib.aws_ec2.CfnLocalGatewayVirtualInterfaceGroup",
|
|
81216
|
+
):
|
|
81217
|
+
'''Describes a local gateway virtual interface group.
|
|
81218
|
+
|
|
81219
|
+
:see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-localgatewayvirtualinterfacegroup.html
|
|
81220
|
+
:cloudformationResource: AWS::EC2::LocalGatewayVirtualInterfaceGroup
|
|
81221
|
+
:exampleMetadata: fixture=_generated
|
|
81222
|
+
|
|
81223
|
+
Example::
|
|
81224
|
+
|
|
81225
|
+
# The code below shows an example of how to instantiate this type.
|
|
81226
|
+
# The values are placeholders you should change.
|
|
81227
|
+
from aws_cdk import aws_ec2 as ec2
|
|
81228
|
+
|
|
81229
|
+
cfn_local_gateway_virtual_interface_group = ec2.CfnLocalGatewayVirtualInterfaceGroup(self, "MyCfnLocalGatewayVirtualInterfaceGroup",
|
|
81230
|
+
local_gateway_id="localGatewayId",
|
|
81231
|
+
|
|
81232
|
+
# the properties below are optional
|
|
81233
|
+
local_bgp_asn=123,
|
|
81234
|
+
local_bgp_asn_extended=123,
|
|
81235
|
+
tags=[CfnTag(
|
|
81236
|
+
key="key",
|
|
81237
|
+
value="value"
|
|
81238
|
+
)]
|
|
81239
|
+
)
|
|
81240
|
+
'''
|
|
81241
|
+
|
|
81242
|
+
def __init__(
|
|
81243
|
+
self,
|
|
81244
|
+
scope: _constructs_77d1e7e8.Construct,
|
|
81245
|
+
id: builtins.str,
|
|
81246
|
+
*,
|
|
81247
|
+
local_gateway_id: builtins.str,
|
|
81248
|
+
local_bgp_asn: typing.Optional[jsii.Number] = None,
|
|
81249
|
+
local_bgp_asn_extended: typing.Optional[jsii.Number] = None,
|
|
81250
|
+
tags: typing.Optional[typing.Sequence[typing.Union[_CfnTag_f6864754, typing.Dict[builtins.str, typing.Any]]]] = None,
|
|
81251
|
+
) -> None:
|
|
81252
|
+
'''
|
|
81253
|
+
:param scope: Scope in which this resource is defined.
|
|
81254
|
+
:param id: Construct identifier for this resource (unique in its scope).
|
|
81255
|
+
:param local_gateway_id: The ID of the local gateway.
|
|
81256
|
+
:param local_bgp_asn: The Autonomous System Number(ASN) for the local Border Gateway Protocol (BGP).
|
|
81257
|
+
:param local_bgp_asn_extended: The extended 32-bit ASN for the local BGP configuration.
|
|
81258
|
+
:param tags: The tags assigned to the virtual interface group.
|
|
81259
|
+
'''
|
|
81260
|
+
if __debug__:
|
|
81261
|
+
type_hints = typing.get_type_hints(_typecheckingstub__f4428e70a4cdbb5cb8cdf0b9a30ee1c62e12bf1982546a8f6fceda85eb1710d8)
|
|
81262
|
+
check_type(argname="argument scope", value=scope, expected_type=type_hints["scope"])
|
|
81263
|
+
check_type(argname="argument id", value=id, expected_type=type_hints["id"])
|
|
81264
|
+
props = CfnLocalGatewayVirtualInterfaceGroupProps(
|
|
81265
|
+
local_gateway_id=local_gateway_id,
|
|
81266
|
+
local_bgp_asn=local_bgp_asn,
|
|
81267
|
+
local_bgp_asn_extended=local_bgp_asn_extended,
|
|
81268
|
+
tags=tags,
|
|
81269
|
+
)
|
|
81270
|
+
|
|
81271
|
+
jsii.create(self.__class__, self, [scope, id, props])
|
|
81272
|
+
|
|
81273
|
+
@jsii.member(jsii_name="fromLocalGatewayVirtualInterfaceGroupArn")
|
|
81274
|
+
@builtins.classmethod
|
|
81275
|
+
def from_local_gateway_virtual_interface_group_arn(
|
|
81276
|
+
cls,
|
|
81277
|
+
scope: _constructs_77d1e7e8.Construct,
|
|
81278
|
+
id: builtins.str,
|
|
81279
|
+
arn: builtins.str,
|
|
81280
|
+
) -> ILocalGatewayVirtualInterfaceGroupRef:
|
|
81281
|
+
'''Creates a new ILocalGatewayVirtualInterfaceGroupRef from an ARN.
|
|
81282
|
+
|
|
81283
|
+
:param scope: -
|
|
81284
|
+
:param id: -
|
|
81285
|
+
:param arn: -
|
|
81286
|
+
'''
|
|
81287
|
+
if __debug__:
|
|
81288
|
+
type_hints = typing.get_type_hints(_typecheckingstub__d5a9b6710adb36dfbe12ad180d73bda56451914c2f050b2f3087ad3bcbc2d6fa)
|
|
81289
|
+
check_type(argname="argument scope", value=scope, expected_type=type_hints["scope"])
|
|
81290
|
+
check_type(argname="argument id", value=id, expected_type=type_hints["id"])
|
|
81291
|
+
check_type(argname="argument arn", value=arn, expected_type=type_hints["arn"])
|
|
81292
|
+
return typing.cast(ILocalGatewayVirtualInterfaceGroupRef, jsii.sinvoke(cls, "fromLocalGatewayVirtualInterfaceGroupArn", [scope, id, arn]))
|
|
81293
|
+
|
|
81294
|
+
@jsii.member(jsii_name="fromLocalGatewayVirtualInterfaceGroupId")
|
|
81295
|
+
@builtins.classmethod
|
|
81296
|
+
def from_local_gateway_virtual_interface_group_id(
|
|
81297
|
+
cls,
|
|
81298
|
+
scope: _constructs_77d1e7e8.Construct,
|
|
81299
|
+
id: builtins.str,
|
|
81300
|
+
local_gateway_virtual_interface_group_id: builtins.str,
|
|
81301
|
+
) -> ILocalGatewayVirtualInterfaceGroupRef:
|
|
81302
|
+
'''Creates a new ILocalGatewayVirtualInterfaceGroupRef from a localGatewayVirtualInterfaceGroupId.
|
|
81303
|
+
|
|
81304
|
+
:param scope: -
|
|
81305
|
+
:param id: -
|
|
81306
|
+
:param local_gateway_virtual_interface_group_id: -
|
|
81307
|
+
'''
|
|
81308
|
+
if __debug__:
|
|
81309
|
+
type_hints = typing.get_type_hints(_typecheckingstub__6c41061042437440fce590eb8d2e84ca2e31260fbb48f45a79f28c068eb57cf4)
|
|
81310
|
+
check_type(argname="argument scope", value=scope, expected_type=type_hints["scope"])
|
|
81311
|
+
check_type(argname="argument id", value=id, expected_type=type_hints["id"])
|
|
81312
|
+
check_type(argname="argument local_gateway_virtual_interface_group_id", value=local_gateway_virtual_interface_group_id, expected_type=type_hints["local_gateway_virtual_interface_group_id"])
|
|
81313
|
+
return typing.cast(ILocalGatewayVirtualInterfaceGroupRef, jsii.sinvoke(cls, "fromLocalGatewayVirtualInterfaceGroupId", [scope, id, local_gateway_virtual_interface_group_id]))
|
|
81314
|
+
|
|
81315
|
+
@jsii.member(jsii_name="inspect")
|
|
81316
|
+
def inspect(self, inspector: _TreeInspector_488e0dd5) -> None:
|
|
81317
|
+
'''Examines the CloudFormation resource and discloses attributes.
|
|
81318
|
+
|
|
81319
|
+
:param inspector: tree inspector to collect and process attributes.
|
|
81320
|
+
'''
|
|
81321
|
+
if __debug__:
|
|
81322
|
+
type_hints = typing.get_type_hints(_typecheckingstub__2cb275542481a92dcc0981a31e5b84f30303479387a077892f0ce93929c8683e)
|
|
81323
|
+
check_type(argname="argument inspector", value=inspector, expected_type=type_hints["inspector"])
|
|
81324
|
+
return typing.cast(None, jsii.invoke(self, "inspect", [inspector]))
|
|
81325
|
+
|
|
81326
|
+
@jsii.member(jsii_name="renderProperties")
|
|
81327
|
+
def _render_properties(
|
|
81328
|
+
self,
|
|
81329
|
+
props: typing.Mapping[builtins.str, typing.Any],
|
|
81330
|
+
) -> typing.Mapping[builtins.str, typing.Any]:
|
|
81331
|
+
'''
|
|
81332
|
+
:param props: -
|
|
81333
|
+
'''
|
|
81334
|
+
if __debug__:
|
|
81335
|
+
type_hints = typing.get_type_hints(_typecheckingstub__18212f2fc4e751f496b0f978560864ecefabe558ebf8ffcccfafbd83fcc076f9)
|
|
81336
|
+
check_type(argname="argument props", value=props, expected_type=type_hints["props"])
|
|
81337
|
+
return typing.cast(typing.Mapping[builtins.str, typing.Any], jsii.invoke(self, "renderProperties", [props]))
|
|
81338
|
+
|
|
81339
|
+
@jsii.python.classproperty
|
|
81340
|
+
@jsii.member(jsii_name="CFN_RESOURCE_TYPE_NAME")
|
|
81341
|
+
def CFN_RESOURCE_TYPE_NAME(cls) -> builtins.str:
|
|
81342
|
+
'''The CloudFormation resource type name for this resource class.'''
|
|
81343
|
+
return typing.cast(builtins.str, jsii.sget(cls, "CFN_RESOURCE_TYPE_NAME"))
|
|
81344
|
+
|
|
81345
|
+
@builtins.property
|
|
81346
|
+
@jsii.member(jsii_name="attrConfigurationState")
|
|
81347
|
+
def attr_configuration_state(self) -> builtins.str:
|
|
81348
|
+
'''The current state of the local gateway virtual interface group.
|
|
81349
|
+
|
|
81350
|
+
:cloudformationAttribute: ConfigurationState
|
|
81351
|
+
'''
|
|
81352
|
+
return typing.cast(builtins.str, jsii.get(self, "attrConfigurationState"))
|
|
81353
|
+
|
|
81354
|
+
@builtins.property
|
|
81355
|
+
@jsii.member(jsii_name="attrLocalGatewayVirtualInterfaceGroupArn")
|
|
81356
|
+
def attr_local_gateway_virtual_interface_group_arn(self) -> builtins.str:
|
|
81357
|
+
'''The Amazon Resource Number (ARN) of the local gateway virtual interface group.
|
|
81358
|
+
|
|
81359
|
+
:cloudformationAttribute: LocalGatewayVirtualInterfaceGroupArn
|
|
81360
|
+
'''
|
|
81361
|
+
return typing.cast(builtins.str, jsii.get(self, "attrLocalGatewayVirtualInterfaceGroupArn"))
|
|
81362
|
+
|
|
81363
|
+
@builtins.property
|
|
81364
|
+
@jsii.member(jsii_name="attrLocalGatewayVirtualInterfaceGroupId")
|
|
81365
|
+
def attr_local_gateway_virtual_interface_group_id(self) -> builtins.str:
|
|
81366
|
+
'''The ID of the virtual interface group.
|
|
81367
|
+
|
|
81368
|
+
:cloudformationAttribute: LocalGatewayVirtualInterfaceGroupId
|
|
81369
|
+
'''
|
|
81370
|
+
return typing.cast(builtins.str, jsii.get(self, "attrLocalGatewayVirtualInterfaceGroupId"))
|
|
81371
|
+
|
|
81372
|
+
@builtins.property
|
|
81373
|
+
@jsii.member(jsii_name="attrLocalGatewayVirtualInterfaceIds")
|
|
81374
|
+
def attr_local_gateway_virtual_interface_ids(self) -> typing.List[builtins.str]:
|
|
81375
|
+
'''The IDs of the virtual interfaces.
|
|
81376
|
+
|
|
81377
|
+
:cloudformationAttribute: LocalGatewayVirtualInterfaceIds
|
|
81378
|
+
'''
|
|
81379
|
+
return typing.cast(typing.List[builtins.str], jsii.get(self, "attrLocalGatewayVirtualInterfaceIds"))
|
|
81380
|
+
|
|
81381
|
+
@builtins.property
|
|
81382
|
+
@jsii.member(jsii_name="attrOwnerId")
|
|
81383
|
+
def attr_owner_id(self) -> builtins.str:
|
|
81384
|
+
'''The ID of the AWS account that owns the local gateway virtual interface group.
|
|
81385
|
+
|
|
81386
|
+
:cloudformationAttribute: OwnerId
|
|
81387
|
+
'''
|
|
81388
|
+
return typing.cast(builtins.str, jsii.get(self, "attrOwnerId"))
|
|
81389
|
+
|
|
81390
|
+
@builtins.property
|
|
81391
|
+
@jsii.member(jsii_name="cdkTagManager")
|
|
81392
|
+
def cdk_tag_manager(self) -> _TagManager_0a598cb3:
|
|
81393
|
+
'''Tag Manager which manages the tags for this resource.'''
|
|
81394
|
+
return typing.cast(_TagManager_0a598cb3, jsii.get(self, "cdkTagManager"))
|
|
81395
|
+
|
|
81396
|
+
@builtins.property
|
|
81397
|
+
@jsii.member(jsii_name="cfnProperties")
|
|
81398
|
+
def _cfn_properties(self) -> typing.Mapping[builtins.str, typing.Any]:
|
|
81399
|
+
return typing.cast(typing.Mapping[builtins.str, typing.Any], jsii.get(self, "cfnProperties"))
|
|
81400
|
+
|
|
81401
|
+
@builtins.property
|
|
81402
|
+
@jsii.member(jsii_name="localGatewayVirtualInterfaceGroupRef")
|
|
81403
|
+
def local_gateway_virtual_interface_group_ref(
|
|
81404
|
+
self,
|
|
81405
|
+
) -> LocalGatewayVirtualInterfaceGroupReference:
|
|
81406
|
+
'''A reference to a LocalGatewayVirtualInterfaceGroup resource.'''
|
|
81407
|
+
return typing.cast(LocalGatewayVirtualInterfaceGroupReference, jsii.get(self, "localGatewayVirtualInterfaceGroupRef"))
|
|
81408
|
+
|
|
81409
|
+
@builtins.property
|
|
81410
|
+
@jsii.member(jsii_name="localGatewayId")
|
|
81411
|
+
def local_gateway_id(self) -> builtins.str:
|
|
81412
|
+
'''The ID of the local gateway.'''
|
|
81413
|
+
return typing.cast(builtins.str, jsii.get(self, "localGatewayId"))
|
|
81414
|
+
|
|
81415
|
+
@local_gateway_id.setter
|
|
81416
|
+
def local_gateway_id(self, value: builtins.str) -> None:
|
|
81417
|
+
if __debug__:
|
|
81418
|
+
type_hints = typing.get_type_hints(_typecheckingstub__72980886c0b232d5cbf6c82b702ca8e8bad15827fe4b8c5a6125cccfd17a038f)
|
|
81419
|
+
check_type(argname="argument value", value=value, expected_type=type_hints["value"])
|
|
81420
|
+
jsii.set(self, "localGatewayId", value) # pyright: ignore[reportArgumentType]
|
|
81421
|
+
|
|
81422
|
+
@builtins.property
|
|
81423
|
+
@jsii.member(jsii_name="localBgpAsn")
|
|
81424
|
+
def local_bgp_asn(self) -> typing.Optional[jsii.Number]:
|
|
81425
|
+
'''The Autonomous System Number(ASN) for the local Border Gateway Protocol (BGP).'''
|
|
81426
|
+
return typing.cast(typing.Optional[jsii.Number], jsii.get(self, "localBgpAsn"))
|
|
81427
|
+
|
|
81428
|
+
@local_bgp_asn.setter
|
|
81429
|
+
def local_bgp_asn(self, value: typing.Optional[jsii.Number]) -> None:
|
|
81430
|
+
if __debug__:
|
|
81431
|
+
type_hints = typing.get_type_hints(_typecheckingstub__e17efd4cdc854aef38d95618d445b062d3dff94405b26cd2e5bf702d043d63c5)
|
|
81432
|
+
check_type(argname="argument value", value=value, expected_type=type_hints["value"])
|
|
81433
|
+
jsii.set(self, "localBgpAsn", value) # pyright: ignore[reportArgumentType]
|
|
81434
|
+
|
|
81435
|
+
@builtins.property
|
|
81436
|
+
@jsii.member(jsii_name="localBgpAsnExtended")
|
|
81437
|
+
def local_bgp_asn_extended(self) -> typing.Optional[jsii.Number]:
|
|
81438
|
+
'''The extended 32-bit ASN for the local BGP configuration.'''
|
|
81439
|
+
return typing.cast(typing.Optional[jsii.Number], jsii.get(self, "localBgpAsnExtended"))
|
|
81440
|
+
|
|
81441
|
+
@local_bgp_asn_extended.setter
|
|
81442
|
+
def local_bgp_asn_extended(self, value: typing.Optional[jsii.Number]) -> None:
|
|
81443
|
+
if __debug__:
|
|
81444
|
+
type_hints = typing.get_type_hints(_typecheckingstub__451e90a51f0d03f4296d1a4075273832941693edd09aeac29656d7364ee7c634)
|
|
81445
|
+
check_type(argname="argument value", value=value, expected_type=type_hints["value"])
|
|
81446
|
+
jsii.set(self, "localBgpAsnExtended", value) # pyright: ignore[reportArgumentType]
|
|
81447
|
+
|
|
81448
|
+
@builtins.property
|
|
81449
|
+
@jsii.member(jsii_name="tags")
|
|
81450
|
+
def tags(self) -> typing.Optional[typing.List[_CfnTag_f6864754]]:
|
|
81451
|
+
'''The tags assigned to the virtual interface group.'''
|
|
81452
|
+
return typing.cast(typing.Optional[typing.List[_CfnTag_f6864754]], jsii.get(self, "tags"))
|
|
81453
|
+
|
|
81454
|
+
@tags.setter
|
|
81455
|
+
def tags(self, value: typing.Optional[typing.List[_CfnTag_f6864754]]) -> None:
|
|
81456
|
+
if __debug__:
|
|
81457
|
+
type_hints = typing.get_type_hints(_typecheckingstub__c5e51302d318cef13096e5600090018d23258317ba4cb12507e944c98443851e)
|
|
81458
|
+
check_type(argname="argument value", value=value, expected_type=type_hints["value"])
|
|
81459
|
+
jsii.set(self, "tags", value) # pyright: ignore[reportArgumentType]
|
|
81460
|
+
|
|
81461
|
+
|
|
79024
81462
|
@jsii.implements(_IInspectable_c2943556, INatGatewayRef, _ITaggable_36806126)
|
|
79025
81463
|
class CfnNatGateway(
|
|
79026
81464
|
_CfnResource_9df397a6,
|
|
@@ -90975,9 +93413,9 @@ class CfnSpotFleet(
|
|
|
90975
93413
|
|
|
90976
93414
|
:param delete_on_termination: Indicates whether the EBS volume is deleted on instance termination. For more information, see `Preserving Amazon EBS volumes on instance termination <https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/terminating-instances.html#preserving-volumes-on-termination>`_ in the *Amazon EC2 User Guide* .
|
|
90977
93415
|
:param encrypted: Indicates whether the encryption state of an EBS volume is changed while being restored from a backing snapshot. The effect of setting the encryption state to ``true`` depends on the volume origin (new or from a snapshot), starting encryption state, ownership, and whether encryption by default is enabled. For more information, see `Amazon EBS Encryption <https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EBSEncryption.html#encryption-parameters>`_ in the *Amazon EC2 User Guide* . In no case can you remove encryption from an encrypted volume. Encrypted volumes can only be attached to instances that support Amazon EBS encryption. For more information, see `Supported Instance Types <https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EBSEncryption.html#EBSEncryption_supported_instances>`_ . This parameter is not returned by `DescribeImageAttribute <https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_DescribeImageAttribute.html>`_ .
|
|
90978
|
-
:param iops: The number of I/O operations per second (IOPS). For ``gp3`` , ``io1`` , and ``io2`` volumes, this represents the number of IOPS that are provisioned for the volume. For ``gp2`` volumes, this represents the baseline performance of the volume and the rate at which the volume accumulates I/O credits for bursting. The following are the supported values for each volume type: - ``gp3`` : 3,000 -
|
|
93416
|
+
:param iops: The number of I/O operations per second (IOPS). For ``gp3`` , ``io1`` , and ``io2`` volumes, this represents the number of IOPS that are provisioned for the volume. For ``gp2`` volumes, this represents the baseline performance of the volume and the rate at which the volume accumulates I/O credits for bursting. The following are the supported values for each volume type: - ``gp3`` : 3,000 - 80,000 IOPS - ``io1`` : 100 - 64,000 IOPS - ``io2`` : 100 - 256,000 IOPS For ``io2`` volumes, you can achieve up to 256,000 IOPS on `instances built on the Nitro System <https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/instance-types.html#ec2-nitro-instances>`_ . On other instances, you can achieve performance up to 32,000 IOPS. This parameter is required for ``io1`` and ``io2`` volumes. The default for ``gp3`` volumes is 3,000 IOPS.
|
|
90979
93417
|
:param snapshot_id: The ID of the snapshot.
|
|
90980
|
-
:param volume_size: The size of the volume, in GiBs. You must specify either a snapshot ID or a volume size. If you specify a snapshot, the default is the snapshot size. You can specify a volume size that is equal to or larger than the snapshot size. The following are the supported sizes for each volume type: - ``gp2``
|
|
93418
|
+
:param volume_size: The size of the volume, in GiBs. You must specify either a snapshot ID or a volume size. If you specify a snapshot, the default is the snapshot size. You can specify a volume size that is equal to or larger than the snapshot size. The following are the supported sizes for each volume type: - ``gp2`` : 1 - 16,384 GiB - ``gp3`` : 1 - 65,536 GiB - ``io1`` : 4 - 16,384 GiB - ``io2`` : 4 - 65,536 GiB - ``st1`` and ``sc1`` : 125 - 16,384 GiB - ``standard`` : 1 - 1024 GiB
|
|
90981
93419
|
:param volume_type: The volume type. For more information, see `Amazon EBS volume types <https://docs.aws.amazon.com/ebs/latest/userguide/ebs-volume-types.html>`_ in the *Amazon EBS User Guide* .
|
|
90982
93420
|
|
|
90983
93421
|
:see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-spotfleet-ebsblockdevice.html
|
|
@@ -91060,7 +93498,7 @@ class CfnSpotFleet(
|
|
|
91060
93498
|
|
|
91061
93499
|
The following are the supported values for each volume type:
|
|
91062
93500
|
|
|
91063
|
-
- ``gp3`` : 3,000 -
|
|
93501
|
+
- ``gp3`` : 3,000 - 80,000 IOPS
|
|
91064
93502
|
- ``io1`` : 100 - 64,000 IOPS
|
|
91065
93503
|
- ``io2`` : 100 - 256,000 IOPS
|
|
91066
93504
|
|
|
@@ -91090,7 +93528,8 @@ class CfnSpotFleet(
|
|
|
91090
93528
|
|
|
91091
93529
|
The following are the supported sizes for each volume type:
|
|
91092
93530
|
|
|
91093
|
-
- ``gp2``
|
|
93531
|
+
- ``gp2`` : 1 - 16,384 GiB
|
|
93532
|
+
- ``gp3`` : 1 - 65,536 GiB
|
|
91094
93533
|
- ``io1`` : 4 - 16,384 GiB
|
|
91095
93534
|
- ``io2`` : 4 - 65,536 GiB
|
|
91096
93535
|
- ``st1`` and ``sc1`` : 125 - 16,384 GiB
|
|
@@ -108548,11 +110987,11 @@ class CfnVolume(
|
|
|
108548
110987
|
:param availability_zone: The ID of the Availability Zone in which to create the volume. For example, ``us-east-1a`` . Either ``AvailabilityZone`` or ``AvailabilityZoneId`` must be specified, but not both.
|
|
108549
110988
|
:param auto_enable_io: Indicates whether the volume is auto-enabled for I/O operations. By default, Amazon EBS disables I/O to the volume from attached EC2 instances when it determines that a volume's data is potentially inconsistent. If the consistency of the volume is not a concern, and you prefer that the volume be made available immediately if it's impaired, you can configure the volume to automatically enable I/O.
|
|
108550
110989
|
:param encrypted: Indicates whether the volume should be encrypted. The effect of setting the encryption state to ``true`` depends on the volume origin (new or from a snapshot), starting encryption state, ownership, and whether encryption by default is enabled. For more information, see `Encryption by default <https://docs.aws.amazon.com/ebs/latest/userguide/work-with-ebs-encr.html#encryption-by-default>`_ in the *Amazon EBS User Guide* . Encrypted Amazon EBS volumes must be attached to instances that support Amazon EBS encryption. For more information, see `Supported instance types <https://docs.aws.amazon.com/ebs/latest/userguide/ebs-encryption-requirements.html#ebs-encryption_supported_instances>`_ .
|
|
108551
|
-
:param iops: The number of I/O operations per second (IOPS). For ``gp3`` , ``io1`` , and ``io2`` volumes, this represents the number of IOPS that are provisioned for the volume. For ``gp2`` volumes, this represents the baseline performance of the volume and the rate at which the volume accumulates I/O credits for bursting. The following are the supported values for each volume type: - ``gp3`` : 3,000 -
|
|
110990
|
+
:param iops: The number of I/O operations per second (IOPS). For ``gp3`` , ``io1`` , and ``io2`` volumes, this represents the number of IOPS that are provisioned for the volume. For ``gp2`` volumes, this represents the baseline performance of the volume and the rate at which the volume accumulates I/O credits for bursting. The following are the supported values for each volume type: - ``gp3`` : 3,000 - 80,000 IOPS - ``io1`` : 100 - 64,000 IOPS - ``io2`` : 100 - 256,000 IOPS For ``io2`` volumes, you can achieve up to 256,000 IOPS on `instances built on the Nitro System <https://docs.aws.amazon.com/ec2/latest/instancetypes/ec2-nitro-instances.html>`_ . On other instances, you can achieve performance up to 32,000 IOPS. This parameter is required for ``io1`` and ``io2`` volumes. The default for ``gp3`` volumes is 3,000 IOPS. This parameter is not supported for ``gp2`` , ``st1`` , ``sc1`` , or ``standard`` volumes.
|
|
108552
110991
|
:param kms_key_id: The identifier of the AWS KMS key to use for Amazon EBS encryption. If ``KmsKeyId`` is specified, the encrypted state must be ``true`` . If you omit this property and your account is enabled for encryption by default, or *Encrypted* is set to ``true`` , then the volume is encrypted using the default key specified for your account. If your account does not have a default key, then the volume is encrypted using the AWS managed key . Alternatively, if you want to specify a different key, you can specify one of the following: - Key ID. For example, 1234abcd-12ab-34cd-56ef-1234567890ab. - Key alias. Specify the alias for the key, prefixed with ``alias/`` . For example, for a key with the alias ``my_cmk`` , use ``alias/my_cmk`` . Or to specify the AWS managed key , use ``alias/aws/ebs`` . - Key ARN. For example, arn:aws:kms:us-east-1:012345678910:key/1234abcd-12ab-34cd-56ef-1234567890ab. - Alias ARN. For example, arn:aws:kms:us-east-1:012345678910:alias/ExampleAlias.
|
|
108553
110992
|
:param multi_attach_enabled: Indicates whether Amazon EBS Multi-Attach is enabled. AWS CloudFormation does not currently support updating a single-attach volume to be multi-attach enabled, updating a multi-attach enabled volume to be single-attach, or updating the size or number of I/O operations per second (IOPS) of a multi-attach enabled volume.
|
|
108554
110993
|
:param outpost_arn: The Amazon Resource Name (ARN) of the Outpost.
|
|
108555
|
-
:param size: The size of the volume, in GiBs. You must specify either a snapshot ID or a volume size. If you specify a snapshot, the default is the snapshot size. You can specify a volume size that is equal to or larger than the snapshot size. The following are the supported volumes sizes for each volume type: - ``gp2``
|
|
110994
|
+
:param size: The size of the volume, in GiBs. You must specify either a snapshot ID or a volume size. If you specify a snapshot, the default is the snapshot size. You can specify a volume size that is equal to or larger than the snapshot size. The following are the supported volumes sizes for each volume type: - ``gp2`` : 1 - 16,384 GiB - ``gp3`` : 1 - 65,536 GiB - ``io1`` : 4 - 16,384 GiB - ``io2`` : 4 - 65,536 GiB - ``st1`` and ``sc1`` : 125 - 16,384 GiB - ``standard`` : 1 - 1024 GiB
|
|
108556
110995
|
:param snapshot_id: The snapshot from which to create the volume. You must specify either a snapshot ID or a volume size.
|
|
108557
110996
|
:param tags: The tags to apply to the volume during creation.
|
|
108558
110997
|
:param throughput: The throughput to provision for a volume, with a maximum of 1,000 MiB/s. This parameter is valid only for ``gp3`` volumes. The default value is 125. Valid Range: Minimum value of 125. Maximum value of 1000.
|
|
@@ -116873,6 +119312,7 @@ class ClientVpnEndpoint(
|
|
|
116873
119312
|
client_login_banner: typing.Optional[builtins.str] = None,
|
|
116874
119313
|
client_route_enforcement_options: typing.Optional[typing.Union[ClientRouteEnforcementOptions, typing.Dict[builtins.str, typing.Any]]] = None,
|
|
116875
119314
|
description: typing.Optional[builtins.str] = None,
|
|
119315
|
+
disconnect_on_session_timeout: typing.Optional[builtins.bool] = None,
|
|
116876
119316
|
dns_servers: typing.Optional[typing.Sequence[builtins.str]] = None,
|
|
116877
119317
|
logging: typing.Optional[builtins.bool] = None,
|
|
116878
119318
|
log_group: typing.Optional[_ILogGroup_3c4fa718] = None,
|
|
@@ -116898,6 +119338,7 @@ class ClientVpnEndpoint(
|
|
|
116898
119338
|
:param client_login_banner: Customizable text that will be displayed in a banner on AWS provided clients when a VPN session is established. UTF-8 encoded characters only. Maximum of 1400 characters. Default: - no banner is presented to the client
|
|
116899
119339
|
:param client_route_enforcement_options: Options for Client Route Enforcement. Client Route Enforcement is a feature of Client VPN that helps enforce administrator defined routes on devices connected through the VPN. This feature helps improve your security posture by ensuring that network traffic originating from a connected client is not inadvertently sent outside the VPN tunnel. Default: undefined - AWS Client VPN default setting is disable client route enforcement
|
|
116900
119340
|
:param description: A brief description of the Client VPN endpoint. Default: - no description
|
|
119341
|
+
:param disconnect_on_session_timeout: Indicates whether the client VPN session is disconnected after the maximum ``sessionTimeout`` is reached. If ``true``, users are prompted to reconnect client VPN. If ``false``, client VPN attempts to reconnect automatically. Default: undefined - AWS Client VPN default is true
|
|
116901
119342
|
:param dns_servers: Information about the DNS servers to be used for DNS resolution. A Client VPN endpoint can have up to two DNS servers. Default: - use the DNS address configured on the device
|
|
116902
119343
|
:param logging: Whether to enable connections logging. Default: true
|
|
116903
119344
|
:param log_group: A CloudWatch Logs log group for connection logging. Default: - a new group is created
|
|
@@ -116925,6 +119366,7 @@ class ClientVpnEndpoint(
|
|
|
116925
119366
|
client_login_banner=client_login_banner,
|
|
116926
119367
|
client_route_enforcement_options=client_route_enforcement_options,
|
|
116927
119368
|
description=description,
|
|
119369
|
+
disconnect_on_session_timeout=disconnect_on_session_timeout,
|
|
116928
119370
|
dns_servers=dns_servers,
|
|
116929
119371
|
logging=logging,
|
|
116930
119372
|
log_group=log_group,
|
|
@@ -117561,6 +120003,9 @@ class PublicSubnet(
|
|
|
117561
120003
|
|
|
117562
120004
|
|
|
117563
120005
|
__all__ = [
|
|
120006
|
+
"AcceleratorManufacturer",
|
|
120007
|
+
"AcceleratorName",
|
|
120008
|
+
"AcceleratorType",
|
|
117564
120009
|
"AclCidr",
|
|
117565
120010
|
"AclCidrConfig",
|
|
117566
120011
|
"AclIcmp",
|
|
@@ -117598,10 +120043,12 @@ __all__ = [
|
|
|
117598
120043
|
"ApplyCloudFormationInitOptions",
|
|
117599
120044
|
"AttachInitOptions",
|
|
117600
120045
|
"AwsIpamProps",
|
|
120046
|
+
"BareMetal",
|
|
117601
120047
|
"BastionHostLinux",
|
|
117602
120048
|
"BastionHostLinuxProps",
|
|
117603
120049
|
"BlockDevice",
|
|
117604
120050
|
"BlockDeviceVolume",
|
|
120051
|
+
"BurstablePerformance",
|
|
117605
120052
|
"CapacityReservationFleetReference",
|
|
117606
120053
|
"CapacityReservationReference",
|
|
117607
120054
|
"CarrierGatewayReference",
|
|
@@ -117673,6 +120120,10 @@ __all__ = [
|
|
|
117673
120120
|
"CfnLocalGatewayRouteTableVPCAssociationProps",
|
|
117674
120121
|
"CfnLocalGatewayRouteTableVirtualInterfaceGroupAssociation",
|
|
117675
120122
|
"CfnLocalGatewayRouteTableVirtualInterfaceGroupAssociationProps",
|
|
120123
|
+
"CfnLocalGatewayVirtualInterface",
|
|
120124
|
+
"CfnLocalGatewayVirtualInterfaceGroup",
|
|
120125
|
+
"CfnLocalGatewayVirtualInterfaceGroupProps",
|
|
120126
|
+
"CfnLocalGatewayVirtualInterfaceProps",
|
|
117676
120127
|
"CfnNatGateway",
|
|
117677
120128
|
"CfnNatGatewayProps",
|
|
117678
120129
|
"CfnNetworkAcl",
|
|
@@ -117837,6 +120288,7 @@ __all__ = [
|
|
|
117837
120288
|
"Connections",
|
|
117838
120289
|
"ConnectionsProps",
|
|
117839
120290
|
"CpuCredits",
|
|
120291
|
+
"CpuManufacturer",
|
|
117840
120292
|
"CreateIpv6CidrBlocksRequest",
|
|
117841
120293
|
"CustomerGatewayReference",
|
|
117842
120294
|
"DHCPOptionsReference",
|
|
@@ -117924,6 +120376,8 @@ __all__ = [
|
|
|
117924
120376
|
"ILocalGatewayRouteTableRef",
|
|
117925
120377
|
"ILocalGatewayRouteTableVPCAssociationRef",
|
|
117926
120378
|
"ILocalGatewayRouteTableVirtualInterfaceGroupAssociationRef",
|
|
120379
|
+
"ILocalGatewayVirtualInterfaceGroupRef",
|
|
120380
|
+
"ILocalGatewayVirtualInterfaceRef",
|
|
117927
120381
|
"IMachineImage",
|
|
117928
120382
|
"INatGatewayRef",
|
|
117929
120383
|
"INetworkAcl",
|
|
@@ -118041,11 +120495,13 @@ __all__ = [
|
|
|
118041
120495
|
"InstanceArchitecture",
|
|
118042
120496
|
"InstanceClass",
|
|
118043
120497
|
"InstanceConnectEndpointReference",
|
|
120498
|
+
"InstanceGeneration",
|
|
118044
120499
|
"InstanceInitiatedShutdownBehavior",
|
|
118045
120500
|
"InstanceProps",
|
|
118046
120501
|
"InstanceReference",
|
|
118047
120502
|
"InstanceRequireImdsv2Aspect",
|
|
118048
120503
|
"InstanceRequireImdsv2AspectProps",
|
|
120504
|
+
"InstanceRequirementsConfig",
|
|
118049
120505
|
"InstanceSize",
|
|
118050
120506
|
"InstanceType",
|
|
118051
120507
|
"InterfaceVpcEndpoint",
|
|
@@ -118081,6 +120537,10 @@ __all__ = [
|
|
|
118081
120537
|
"LocalGatewayRouteTableReference",
|
|
118082
120538
|
"LocalGatewayRouteTableVPCAssociationReference",
|
|
118083
120539
|
"LocalGatewayRouteTableVirtualInterfaceGroupAssociationReference",
|
|
120540
|
+
"LocalGatewayVirtualInterfaceGroupReference",
|
|
120541
|
+
"LocalGatewayVirtualInterfaceReference",
|
|
120542
|
+
"LocalStorage",
|
|
120543
|
+
"LocalStorageType",
|
|
118084
120544
|
"LocationPackageOptions",
|
|
118085
120545
|
"LogFormat",
|
|
118086
120546
|
"LookupMachineImage",
|
|
@@ -118991,6 +121451,30 @@ def _typecheckingstub__b9a8cd9288a52b6663080797430bf0981183639ee7ad7887a7ff932d0
|
|
|
118991
121451
|
"""Type checking stubs"""
|
|
118992
121452
|
pass
|
|
118993
121453
|
|
|
121454
|
+
def _typecheckingstub__f7ce4c591b68ccf10989a9f20fd3c6f1fc55f0f986e5272574d1a8263ccb9638(
|
|
121455
|
+
*,
|
|
121456
|
+
local_gateway_id: builtins.str,
|
|
121457
|
+
local_bgp_asn: typing.Optional[jsii.Number] = None,
|
|
121458
|
+
local_bgp_asn_extended: typing.Optional[jsii.Number] = None,
|
|
121459
|
+
tags: typing.Optional[typing.Sequence[typing.Union[_CfnTag_f6864754, typing.Dict[builtins.str, typing.Any]]]] = None,
|
|
121460
|
+
) -> None:
|
|
121461
|
+
"""Type checking stubs"""
|
|
121462
|
+
pass
|
|
121463
|
+
|
|
121464
|
+
def _typecheckingstub__f937f1e5478df1249afd18165f33effb63a12f7ed00b1831a2fbee04cab4c28a(
|
|
121465
|
+
*,
|
|
121466
|
+
local_address: builtins.str,
|
|
121467
|
+
local_gateway_virtual_interface_group_id: builtins.str,
|
|
121468
|
+
outpost_lag_id: builtins.str,
|
|
121469
|
+
peer_address: builtins.str,
|
|
121470
|
+
vlan: jsii.Number,
|
|
121471
|
+
peer_bgp_asn: typing.Optional[jsii.Number] = None,
|
|
121472
|
+
peer_bgp_asn_extended: typing.Optional[jsii.Number] = None,
|
|
121473
|
+
tags: typing.Optional[typing.Sequence[typing.Union[_CfnTag_f6864754, typing.Dict[builtins.str, typing.Any]]]] = None,
|
|
121474
|
+
) -> None:
|
|
121475
|
+
"""Type checking stubs"""
|
|
121476
|
+
pass
|
|
121477
|
+
|
|
118994
121478
|
def _typecheckingstub__1aba83edf7a8e3f14e1d4f9ca76c7049f7f7c569d2ffb43bcad65b330ee9a581(
|
|
118995
121479
|
*,
|
|
118996
121480
|
allocation_id: typing.Optional[builtins.str] = None,
|
|
@@ -119860,6 +122344,7 @@ def _typecheckingstub__73f8593e2e6199f8ae542cff4cbe02f0be09fd9043b8072cbb652d5b0
|
|
|
119860
122344
|
client_login_banner: typing.Optional[builtins.str] = None,
|
|
119861
122345
|
client_route_enforcement_options: typing.Optional[typing.Union[ClientRouteEnforcementOptions, typing.Dict[builtins.str, typing.Any]]] = None,
|
|
119862
122346
|
description: typing.Optional[builtins.str] = None,
|
|
122347
|
+
disconnect_on_session_timeout: typing.Optional[builtins.bool] = None,
|
|
119863
122348
|
dns_servers: typing.Optional[typing.Sequence[builtins.str]] = None,
|
|
119864
122349
|
logging: typing.Optional[builtins.bool] = None,
|
|
119865
122350
|
log_group: typing.Optional[_ILogGroup_3c4fa718] = None,
|
|
@@ -119886,6 +122371,7 @@ def _typecheckingstub__8e89ba9082e1bc80500c526e8522c5a90e2a91bd17d985f5932611e0b
|
|
|
119886
122371
|
client_login_banner: typing.Optional[builtins.str] = None,
|
|
119887
122372
|
client_route_enforcement_options: typing.Optional[typing.Union[ClientRouteEnforcementOptions, typing.Dict[builtins.str, typing.Any]]] = None,
|
|
119888
122373
|
description: typing.Optional[builtins.str] = None,
|
|
122374
|
+
disconnect_on_session_timeout: typing.Optional[builtins.bool] = None,
|
|
119889
122375
|
dns_servers: typing.Optional[typing.Sequence[builtins.str]] = None,
|
|
119890
122376
|
logging: typing.Optional[builtins.bool] = None,
|
|
119891
122377
|
log_group: typing.Optional[_ILogGroup_3c4fa718] = None,
|
|
@@ -120400,6 +122886,7 @@ def _typecheckingstub__19cdaa7bec0f733a863944b2be6c76392b1e518714158a913370b8de7
|
|
|
120400
122886
|
client_login_banner: typing.Optional[builtins.str] = None,
|
|
120401
122887
|
client_route_enforcement_options: typing.Optional[typing.Union[ClientRouteEnforcementOptions, typing.Dict[builtins.str, typing.Any]]] = None,
|
|
120402
122888
|
description: typing.Optional[builtins.str] = None,
|
|
122889
|
+
disconnect_on_session_timeout: typing.Optional[builtins.bool] = None,
|
|
120403
122890
|
dns_servers: typing.Optional[typing.Sequence[builtins.str]] = None,
|
|
120404
122891
|
logging: typing.Optional[builtins.bool] = None,
|
|
120405
122892
|
log_group: typing.Optional[_ILogGroup_3c4fa718] = None,
|
|
@@ -120948,6 +123435,45 @@ def _typecheckingstub__a9326e8778e870d6503548ff3c5ed500440af6b908992d24dc8f76fa8
|
|
|
120948
123435
|
"""Type checking stubs"""
|
|
120949
123436
|
pass
|
|
120950
123437
|
|
|
123438
|
+
def _typecheckingstub__ec2256eb42c017c1221986108df1dba524eae16d4aaf51d7503ce5b1f919f3cd(
|
|
123439
|
+
*,
|
|
123440
|
+
memory_min: _Size_7b441c34,
|
|
123441
|
+
v_cpu_count_min: jsii.Number,
|
|
123442
|
+
accelerator_count_max: typing.Optional[jsii.Number] = None,
|
|
123443
|
+
accelerator_count_min: typing.Optional[jsii.Number] = None,
|
|
123444
|
+
accelerator_manufacturers: typing.Optional[typing.Sequence[AcceleratorManufacturer]] = None,
|
|
123445
|
+
accelerator_names: typing.Optional[typing.Sequence[AcceleratorName]] = None,
|
|
123446
|
+
accelerator_total_memory_max: typing.Optional[_Size_7b441c34] = None,
|
|
123447
|
+
accelerator_total_memory_min: typing.Optional[_Size_7b441c34] = None,
|
|
123448
|
+
accelerator_types: typing.Optional[typing.Sequence[AcceleratorType]] = None,
|
|
123449
|
+
allowed_instance_types: typing.Optional[typing.Sequence[builtins.str]] = None,
|
|
123450
|
+
bare_metal: typing.Optional[BareMetal] = None,
|
|
123451
|
+
baseline_ebs_bandwidth_mbps_max: typing.Optional[jsii.Number] = None,
|
|
123452
|
+
baseline_ebs_bandwidth_mbps_min: typing.Optional[jsii.Number] = None,
|
|
123453
|
+
burstable_performance: typing.Optional[BurstablePerformance] = None,
|
|
123454
|
+
cpu_manufacturers: typing.Optional[typing.Sequence[CpuManufacturer]] = None,
|
|
123455
|
+
excluded_instance_types: typing.Optional[typing.Sequence[builtins.str]] = None,
|
|
123456
|
+
instance_generations: typing.Optional[typing.Sequence[InstanceGeneration]] = None,
|
|
123457
|
+
local_storage: typing.Optional[LocalStorage] = None,
|
|
123458
|
+
local_storage_types: typing.Optional[typing.Sequence[LocalStorageType]] = None,
|
|
123459
|
+
max_spot_price_as_percentage_of_optimal_on_demand_price: typing.Optional[jsii.Number] = None,
|
|
123460
|
+
memory_max: typing.Optional[_Size_7b441c34] = None,
|
|
123461
|
+
memory_per_v_cpu_max: typing.Optional[_Size_7b441c34] = None,
|
|
123462
|
+
memory_per_v_cpu_min: typing.Optional[_Size_7b441c34] = None,
|
|
123463
|
+
network_bandwidth_gbps_max: typing.Optional[jsii.Number] = None,
|
|
123464
|
+
network_bandwidth_gbps_min: typing.Optional[jsii.Number] = None,
|
|
123465
|
+
network_interface_count_max: typing.Optional[jsii.Number] = None,
|
|
123466
|
+
network_interface_count_min: typing.Optional[jsii.Number] = None,
|
|
123467
|
+
on_demand_max_price_percentage_over_lowest_price: typing.Optional[jsii.Number] = None,
|
|
123468
|
+
require_hibernate_support: typing.Optional[builtins.bool] = None,
|
|
123469
|
+
spot_max_price_percentage_over_lowest_price: typing.Optional[jsii.Number] = None,
|
|
123470
|
+
total_local_storage_gb_max: typing.Optional[jsii.Number] = None,
|
|
123471
|
+
total_local_storage_gb_min: typing.Optional[jsii.Number] = None,
|
|
123472
|
+
v_cpu_count_max: typing.Optional[jsii.Number] = None,
|
|
123473
|
+
) -> None:
|
|
123474
|
+
"""Type checking stubs"""
|
|
123475
|
+
pass
|
|
123476
|
+
|
|
120951
123477
|
def _typecheckingstub__f9e12e553c32475e068e0d7318afcf27197468eae438a6b5020d7d6a0231705f(
|
|
120952
123478
|
instance_type_identifier: builtins.str,
|
|
120953
123479
|
) -> None:
|
|
@@ -121199,6 +123725,21 @@ def _typecheckingstub__cd535e63329c308e9914cf9956b0964a6259b4c4557b9d3c8637793be
|
|
|
121199
123725
|
"""Type checking stubs"""
|
|
121200
123726
|
pass
|
|
121201
123727
|
|
|
123728
|
+
def _typecheckingstub__c5749867b83865efb222663d0629d4ad2212132a3d659cf6e5b6eefb44fdc1b9(
|
|
123729
|
+
*,
|
|
123730
|
+
local_gateway_virtual_interface_group_arn: builtins.str,
|
|
123731
|
+
local_gateway_virtual_interface_group_id: builtins.str,
|
|
123732
|
+
) -> None:
|
|
123733
|
+
"""Type checking stubs"""
|
|
123734
|
+
pass
|
|
123735
|
+
|
|
123736
|
+
def _typecheckingstub__370c12dc1c7162c4f581d58e74af3136efcbc6bf0ba1e90bcab50deb09c4733f(
|
|
123737
|
+
*,
|
|
123738
|
+
local_gateway_virtual_interface_id: builtins.str,
|
|
123739
|
+
) -> None:
|
|
123740
|
+
"""Type checking stubs"""
|
|
123741
|
+
pass
|
|
123742
|
+
|
|
121202
123743
|
def _typecheckingstub__adb9aead901a9e42e17ecf53f0a66db93e64d4cc2e633a62de1a847f4c40aa01(
|
|
121203
123744
|
*,
|
|
121204
123745
|
key: typing.Optional[builtins.str] = None,
|
|
@@ -122358,6 +124899,7 @@ def _typecheckingstub__04f8b7e933af74b695401b45c9c6b308e4684ecde3cb9a2a1e358a336
|
|
|
122358
124899
|
client_login_banner: typing.Optional[builtins.str] = None,
|
|
122359
124900
|
client_route_enforcement_options: typing.Optional[typing.Union[ClientRouteEnforcementOptions, typing.Dict[builtins.str, typing.Any]]] = None,
|
|
122360
124901
|
description: typing.Optional[builtins.str] = None,
|
|
124902
|
+
disconnect_on_session_timeout: typing.Optional[builtins.bool] = None,
|
|
122361
124903
|
dns_servers: typing.Optional[typing.Sequence[builtins.str]] = None,
|
|
122362
124904
|
logging: typing.Optional[builtins.bool] = None,
|
|
122363
124905
|
log_group: typing.Optional[_ILogGroup_3c4fa718] = None,
|
|
@@ -126248,6 +128790,154 @@ def _typecheckingstub__3480fc1fb89ce602f4bc2bf15c99da71be91c04a233e81dcafb2795f1
|
|
|
126248
128790
|
"""Type checking stubs"""
|
|
126249
128791
|
pass
|
|
126250
128792
|
|
|
128793
|
+
def _typecheckingstub__2aa88d11229e60744af7610169f28b3d5625cb154fd34b95efb791e8bfccfc63(
|
|
128794
|
+
scope: _constructs_77d1e7e8.Construct,
|
|
128795
|
+
id: builtins.str,
|
|
128796
|
+
*,
|
|
128797
|
+
local_address: builtins.str,
|
|
128798
|
+
local_gateway_virtual_interface_group_id: builtins.str,
|
|
128799
|
+
outpost_lag_id: builtins.str,
|
|
128800
|
+
peer_address: builtins.str,
|
|
128801
|
+
vlan: jsii.Number,
|
|
128802
|
+
peer_bgp_asn: typing.Optional[jsii.Number] = None,
|
|
128803
|
+
peer_bgp_asn_extended: typing.Optional[jsii.Number] = None,
|
|
128804
|
+
tags: typing.Optional[typing.Sequence[typing.Union[_CfnTag_f6864754, typing.Dict[builtins.str, typing.Any]]]] = None,
|
|
128805
|
+
) -> None:
|
|
128806
|
+
"""Type checking stubs"""
|
|
128807
|
+
pass
|
|
128808
|
+
|
|
128809
|
+
def _typecheckingstub__7e3e16f72affac0d04131f323309fd5617e7cabcdedcd19ac8ade915c112fa06(
|
|
128810
|
+
scope: _constructs_77d1e7e8.Construct,
|
|
128811
|
+
id: builtins.str,
|
|
128812
|
+
local_gateway_virtual_interface_id: builtins.str,
|
|
128813
|
+
) -> None:
|
|
128814
|
+
"""Type checking stubs"""
|
|
128815
|
+
pass
|
|
128816
|
+
|
|
128817
|
+
def _typecheckingstub__94977590a9f1d2767ea0830e9b759c542b741cd7dac530ebefe8f70c31670444(
|
|
128818
|
+
inspector: _TreeInspector_488e0dd5,
|
|
128819
|
+
) -> None:
|
|
128820
|
+
"""Type checking stubs"""
|
|
128821
|
+
pass
|
|
128822
|
+
|
|
128823
|
+
def _typecheckingstub__095a3726e61c66bed12ad64205be51561583ad09436d79a570b9239072336539(
|
|
128824
|
+
props: typing.Mapping[builtins.str, typing.Any],
|
|
128825
|
+
) -> None:
|
|
128826
|
+
"""Type checking stubs"""
|
|
128827
|
+
pass
|
|
128828
|
+
|
|
128829
|
+
def _typecheckingstub__aea0d3e37c3a8dd56ec78450277d740b869a461b084be05fe5b483cc3069cf1d(
|
|
128830
|
+
value: builtins.str,
|
|
128831
|
+
) -> None:
|
|
128832
|
+
"""Type checking stubs"""
|
|
128833
|
+
pass
|
|
128834
|
+
|
|
128835
|
+
def _typecheckingstub__6022f5909fe462f9f3785e9d5d0bfec37b4fbdc32098ff0ed5b117e2095af317(
|
|
128836
|
+
value: builtins.str,
|
|
128837
|
+
) -> None:
|
|
128838
|
+
"""Type checking stubs"""
|
|
128839
|
+
pass
|
|
128840
|
+
|
|
128841
|
+
def _typecheckingstub__d9e0940225d24f5768baac171eb4d7a02583d63a1dbff31fafd812a6612cf377(
|
|
128842
|
+
value: builtins.str,
|
|
128843
|
+
) -> None:
|
|
128844
|
+
"""Type checking stubs"""
|
|
128845
|
+
pass
|
|
128846
|
+
|
|
128847
|
+
def _typecheckingstub__c55a99d7a9d8ce108f6383103a39169fa8ff7dbefa5fa9da14d3fdc18b33f56d(
|
|
128848
|
+
value: builtins.str,
|
|
128849
|
+
) -> None:
|
|
128850
|
+
"""Type checking stubs"""
|
|
128851
|
+
pass
|
|
128852
|
+
|
|
128853
|
+
def _typecheckingstub__876a548873295da57ca1d79ac22c64da6f6bb90a671ef5e7e35327fa50455921(
|
|
128854
|
+
value: jsii.Number,
|
|
128855
|
+
) -> None:
|
|
128856
|
+
"""Type checking stubs"""
|
|
128857
|
+
pass
|
|
128858
|
+
|
|
128859
|
+
def _typecheckingstub__0c59092a20afba0573e2b1509528b6946b674912bc181e34599b6b4caf2d6fc6(
|
|
128860
|
+
value: typing.Optional[jsii.Number],
|
|
128861
|
+
) -> None:
|
|
128862
|
+
"""Type checking stubs"""
|
|
128863
|
+
pass
|
|
128864
|
+
|
|
128865
|
+
def _typecheckingstub__f3cce6d05d44bd0efd48f94e34176bb44563507d53cdce3a678259de4fe36b18(
|
|
128866
|
+
value: typing.Optional[jsii.Number],
|
|
128867
|
+
) -> None:
|
|
128868
|
+
"""Type checking stubs"""
|
|
128869
|
+
pass
|
|
128870
|
+
|
|
128871
|
+
def _typecheckingstub__eb087b9b572ca18afe9a40645f05ba591d2e3255ff50d614f2090fe641563ff1(
|
|
128872
|
+
value: typing.Optional[typing.List[_CfnTag_f6864754]],
|
|
128873
|
+
) -> None:
|
|
128874
|
+
"""Type checking stubs"""
|
|
128875
|
+
pass
|
|
128876
|
+
|
|
128877
|
+
def _typecheckingstub__f4428e70a4cdbb5cb8cdf0b9a30ee1c62e12bf1982546a8f6fceda85eb1710d8(
|
|
128878
|
+
scope: _constructs_77d1e7e8.Construct,
|
|
128879
|
+
id: builtins.str,
|
|
128880
|
+
*,
|
|
128881
|
+
local_gateway_id: builtins.str,
|
|
128882
|
+
local_bgp_asn: typing.Optional[jsii.Number] = None,
|
|
128883
|
+
local_bgp_asn_extended: typing.Optional[jsii.Number] = None,
|
|
128884
|
+
tags: typing.Optional[typing.Sequence[typing.Union[_CfnTag_f6864754, typing.Dict[builtins.str, typing.Any]]]] = None,
|
|
128885
|
+
) -> None:
|
|
128886
|
+
"""Type checking stubs"""
|
|
128887
|
+
pass
|
|
128888
|
+
|
|
128889
|
+
def _typecheckingstub__d5a9b6710adb36dfbe12ad180d73bda56451914c2f050b2f3087ad3bcbc2d6fa(
|
|
128890
|
+
scope: _constructs_77d1e7e8.Construct,
|
|
128891
|
+
id: builtins.str,
|
|
128892
|
+
arn: builtins.str,
|
|
128893
|
+
) -> None:
|
|
128894
|
+
"""Type checking stubs"""
|
|
128895
|
+
pass
|
|
128896
|
+
|
|
128897
|
+
def _typecheckingstub__6c41061042437440fce590eb8d2e84ca2e31260fbb48f45a79f28c068eb57cf4(
|
|
128898
|
+
scope: _constructs_77d1e7e8.Construct,
|
|
128899
|
+
id: builtins.str,
|
|
128900
|
+
local_gateway_virtual_interface_group_id: builtins.str,
|
|
128901
|
+
) -> None:
|
|
128902
|
+
"""Type checking stubs"""
|
|
128903
|
+
pass
|
|
128904
|
+
|
|
128905
|
+
def _typecheckingstub__2cb275542481a92dcc0981a31e5b84f30303479387a077892f0ce93929c8683e(
|
|
128906
|
+
inspector: _TreeInspector_488e0dd5,
|
|
128907
|
+
) -> None:
|
|
128908
|
+
"""Type checking stubs"""
|
|
128909
|
+
pass
|
|
128910
|
+
|
|
128911
|
+
def _typecheckingstub__18212f2fc4e751f496b0f978560864ecefabe558ebf8ffcccfafbd83fcc076f9(
|
|
128912
|
+
props: typing.Mapping[builtins.str, typing.Any],
|
|
128913
|
+
) -> None:
|
|
128914
|
+
"""Type checking stubs"""
|
|
128915
|
+
pass
|
|
128916
|
+
|
|
128917
|
+
def _typecheckingstub__72980886c0b232d5cbf6c82b702ca8e8bad15827fe4b8c5a6125cccfd17a038f(
|
|
128918
|
+
value: builtins.str,
|
|
128919
|
+
) -> None:
|
|
128920
|
+
"""Type checking stubs"""
|
|
128921
|
+
pass
|
|
128922
|
+
|
|
128923
|
+
def _typecheckingstub__e17efd4cdc854aef38d95618d445b062d3dff94405b26cd2e5bf702d043d63c5(
|
|
128924
|
+
value: typing.Optional[jsii.Number],
|
|
128925
|
+
) -> None:
|
|
128926
|
+
"""Type checking stubs"""
|
|
128927
|
+
pass
|
|
128928
|
+
|
|
128929
|
+
def _typecheckingstub__451e90a51f0d03f4296d1a4075273832941693edd09aeac29656d7364ee7c634(
|
|
128930
|
+
value: typing.Optional[jsii.Number],
|
|
128931
|
+
) -> None:
|
|
128932
|
+
"""Type checking stubs"""
|
|
128933
|
+
pass
|
|
128934
|
+
|
|
128935
|
+
def _typecheckingstub__c5e51302d318cef13096e5600090018d23258317ba4cb12507e944c98443851e(
|
|
128936
|
+
value: typing.Optional[typing.List[_CfnTag_f6864754]],
|
|
128937
|
+
) -> None:
|
|
128938
|
+
"""Type checking stubs"""
|
|
128939
|
+
pass
|
|
128940
|
+
|
|
126251
128941
|
def _typecheckingstub__4d23f1a46df0174ce142c0ff05ac9cb901ecac30141c8b466b44569b409414aa(
|
|
126252
128942
|
scope: _constructs_77d1e7e8.Construct,
|
|
126253
128943
|
id: builtins.str,
|
|
@@ -132839,6 +135529,7 @@ def _typecheckingstub__9a2422e1dfabadbd7f572317ed37670a87714b6f36fe9da2a01f1e26e
|
|
|
132839
135529
|
client_login_banner: typing.Optional[builtins.str] = None,
|
|
132840
135530
|
client_route_enforcement_options: typing.Optional[typing.Union[ClientRouteEnforcementOptions, typing.Dict[builtins.str, typing.Any]]] = None,
|
|
132841
135531
|
description: typing.Optional[builtins.str] = None,
|
|
135532
|
+
disconnect_on_session_timeout: typing.Optional[builtins.bool] = None,
|
|
132842
135533
|
dns_servers: typing.Optional[typing.Sequence[builtins.str]] = None,
|
|
132843
135534
|
logging: typing.Optional[builtins.bool] = None,
|
|
132844
135535
|
log_group: typing.Optional[_ILogGroup_3c4fa718] = None,
|