aws-cdk-lib 2.218.0__py3-none-any.whl → 2.219.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 +19 -19
- aws_cdk/_jsii/__init__.py +1 -1
- aws_cdk/_jsii/{aws-cdk-lib@2.218.0.jsii.tgz → aws-cdk-lib@2.219.0.jsii.tgz} +0 -0
- aws_cdk/aws_amazonmq/__init__.py +98 -87
- aws_cdk/aws_apigateway/__init__.py +39 -0
- aws_cdk/aws_bcmdataexports/__init__.py +9 -0
- aws_cdk/aws_bedrock/__init__.py +356 -1
- aws_cdk/aws_bedrockagentcore/__init__.py +297 -157
- aws_cdk/aws_codebuild/__init__.py +339 -62
- 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_directoryservice/__init__.py +0 -29
- aws_cdk/aws_dms/__init__.py +3 -5
- aws_cdk/aws_ec2/__init__.py +2622 -22
- aws_cdk/aws_ecs/__init__.py +2681 -79
- aws_cdk/aws_entityresolution/__init__.py +18 -0
- aws_cdk/aws_greengrassv2/__init__.py +29 -0
- aws_cdk/aws_msk/__init__.py +4 -2
- aws_cdk/aws_networkfirewall/__init__.py +6 -2
- aws_cdk/aws_networkmanager/__init__.py +29 -29
- aws_cdk/aws_opensearchservice/__init__.py +58 -0
- aws_cdk/aws_opsworkscm/__init__.py +0 -29
- aws_cdk/aws_quicksight/__init__.py +38 -0
- aws_cdk/aws_rds/__init__.py +33 -14
- aws_cdk/aws_route53/__init__.py +8 -2
- aws_cdk/aws_servicecatalog/__init__.py +78 -86
- aws_cdk/aws_smsvoice/__init__.py +319 -0
- {aws_cdk_lib-2.218.0.dist-info → aws_cdk_lib-2.219.0.dist-info}/METADATA +2 -2
- {aws_cdk_lib-2.218.0.dist-info → aws_cdk_lib-2.219.0.dist-info}/RECORD +35 -35
- {aws_cdk_lib-2.218.0.dist-info → aws_cdk_lib-2.219.0.dist-info}/LICENSE +0 -0
- {aws_cdk_lib-2.218.0.dist-info → aws_cdk_lib-2.219.0.dist-info}/NOTICE +0 -0
- {aws_cdk_lib-2.218.0.dist-info → aws_cdk_lib-2.219.0.dist-info}/WHEEL +0 -0
- {aws_cdk_lib-2.218.0.dist-info → aws_cdk_lib-2.219.0.dist-info}/top_level.txt +0 -0
aws_cdk/aws_ec2/__init__.py
CHANGED
|
@@ -2903,6 +2903,225 @@ from ..aws_s3_assets import (
|
|
|
2903
2903
|
from ..aws_ssm import IStringParameter as _IStringParameter_f2b707f9
|
|
2904
2904
|
|
|
2905
2905
|
|
|
2906
|
+
@jsii.enum(jsii_type="aws-cdk-lib.aws_ec2.AcceleratorManufacturer")
|
|
2907
|
+
class AcceleratorManufacturer(enum.Enum):
|
|
2908
|
+
'''Supported hardware accelerator manufacturers.
|
|
2909
|
+
|
|
2910
|
+
Restricts instance selection to accelerators from a particular vendor.
|
|
2911
|
+
Useful for choosing specific ecosystems (e.g., NVIDIA CUDA, AWS chips).
|
|
2912
|
+
|
|
2913
|
+
:exampleMetadata: infused
|
|
2914
|
+
|
|
2915
|
+
Example::
|
|
2916
|
+
|
|
2917
|
+
# vpc: ec2.Vpc
|
|
2918
|
+
# infrastructure_role: iam.Role
|
|
2919
|
+
# instance_profile: iam.InstanceProfile
|
|
2920
|
+
|
|
2921
|
+
|
|
2922
|
+
cluster = ecs.Cluster(self, "Cluster", vpc=vpc)
|
|
2923
|
+
|
|
2924
|
+
# Create a Managed Instances Capacity Provider
|
|
2925
|
+
mi_capacity_provider = ecs.ManagedInstancesCapacityProvider(self, "MICapacityProvider",
|
|
2926
|
+
infrastructure_role=infrastructure_role,
|
|
2927
|
+
ec2_instance_profile=instance_profile,
|
|
2928
|
+
subnets=vpc.private_subnets,
|
|
2929
|
+
security_groups=[ec2.SecurityGroup(self, "MISecurityGroup", vpc=vpc)],
|
|
2930
|
+
instance_requirements=ec2.InstanceRequirementsConfig(
|
|
2931
|
+
v_cpu_count_min=1,
|
|
2932
|
+
memory_min=Size.gibibytes(2),
|
|
2933
|
+
cpu_manufacturers=[ec2.CpuManufacturer.INTEL],
|
|
2934
|
+
accelerator_manufacturers=[ec2.AcceleratorManufacturer.NVIDIA]
|
|
2935
|
+
),
|
|
2936
|
+
propagate_tags=ecs.PropagateManagedInstancesTags.CAPACITY_PROVIDER
|
|
2937
|
+
)
|
|
2938
|
+
|
|
2939
|
+
# Add the capacity provider to the cluster
|
|
2940
|
+
cluster.add_managed_instances_capacity_provider(mi_capacity_provider)
|
|
2941
|
+
|
|
2942
|
+
task_definition = ecs.Ec2TaskDefinition(self, "TaskDef")
|
|
2943
|
+
|
|
2944
|
+
task_definition.add_container("web",
|
|
2945
|
+
image=ecs.ContainerImage.from_registry("amazon/amazon-ecs-sample"),
|
|
2946
|
+
memory_reservation_mi_b=256
|
|
2947
|
+
)
|
|
2948
|
+
|
|
2949
|
+
ecs.Ec2Service(self, "EC2Service",
|
|
2950
|
+
cluster=cluster,
|
|
2951
|
+
task_definition=task_definition,
|
|
2952
|
+
min_healthy_percent=100,
|
|
2953
|
+
capacity_provider_strategies=[ecs.CapacityProviderStrategy(
|
|
2954
|
+
capacity_provider=mi_capacity_provider.capacity_provider_name,
|
|
2955
|
+
weight=1
|
|
2956
|
+
)
|
|
2957
|
+
]
|
|
2958
|
+
)
|
|
2959
|
+
'''
|
|
2960
|
+
|
|
2961
|
+
AWS = "AWS"
|
|
2962
|
+
'''Amazon Web Services (e.g., Inferentia, Trainium accelerators).'''
|
|
2963
|
+
AMD = "AMD"
|
|
2964
|
+
'''AMD (e.g., Radeon Pro V520 GPU).'''
|
|
2965
|
+
NVIDIA = "NVIDIA"
|
|
2966
|
+
'''NVIDIA (e.g., A100, V100, T4, K80, M60 GPUs).'''
|
|
2967
|
+
XILINX = "XILINX"
|
|
2968
|
+
'''Xilinx (e.g., VU9P FPGA).'''
|
|
2969
|
+
|
|
2970
|
+
|
|
2971
|
+
@jsii.enum(jsii_type="aws-cdk-lib.aws_ec2.AcceleratorName")
|
|
2972
|
+
class AcceleratorName(enum.Enum):
|
|
2973
|
+
'''Specific hardware accelerator models supported by EC2.
|
|
2974
|
+
|
|
2975
|
+
Defines exact accelerator models that can be required or excluded
|
|
2976
|
+
when selecting instance types.
|
|
2977
|
+
|
|
2978
|
+
:exampleMetadata: infused
|
|
2979
|
+
|
|
2980
|
+
Example::
|
|
2981
|
+
|
|
2982
|
+
# infrastructure_role: iam.Role
|
|
2983
|
+
# instance_profile: iam.InstanceProfile
|
|
2984
|
+
# vpc: ec2.Vpc
|
|
2985
|
+
|
|
2986
|
+
|
|
2987
|
+
mi_capacity_provider = ecs.ManagedInstancesCapacityProvider(self, "MICapacityProvider",
|
|
2988
|
+
infrastructure_role=infrastructure_role,
|
|
2989
|
+
ec2_instance_profile=instance_profile,
|
|
2990
|
+
subnets=vpc.private_subnets,
|
|
2991
|
+
instance_requirements=ec2.InstanceRequirementsConfig(
|
|
2992
|
+
# Required: CPU and memory constraints
|
|
2993
|
+
v_cpu_count_min=2,
|
|
2994
|
+
v_cpu_count_max=8,
|
|
2995
|
+
memory_min=Size.gibibytes(4),
|
|
2996
|
+
memory_max=Size.gibibytes(32),
|
|
2997
|
+
|
|
2998
|
+
# CPU preferences
|
|
2999
|
+
cpu_manufacturers=[ec2.CpuManufacturer.INTEL, ec2.CpuManufacturer.AMD],
|
|
3000
|
+
instance_generations=[ec2.InstanceGeneration.CURRENT],
|
|
3001
|
+
|
|
3002
|
+
# Instance type filtering
|
|
3003
|
+
allowed_instance_types=["m5.*", "c5.*"],
|
|
3004
|
+
|
|
3005
|
+
# Performance characteristics
|
|
3006
|
+
burstable_performance=ec2.BurstablePerformance.EXCLUDED,
|
|
3007
|
+
bare_metal=ec2.BareMetal.EXCLUDED,
|
|
3008
|
+
|
|
3009
|
+
# Accelerator requirements (for ML/AI workloads)
|
|
3010
|
+
accelerator_types=[ec2.AcceleratorType.GPU],
|
|
3011
|
+
accelerator_manufacturers=[ec2.AcceleratorManufacturer.NVIDIA],
|
|
3012
|
+
accelerator_names=[ec2.AcceleratorName.T4, ec2.AcceleratorName.V100],
|
|
3013
|
+
accelerator_count_min=1,
|
|
3014
|
+
|
|
3015
|
+
# Storage requirements
|
|
3016
|
+
local_storage=ec2.LocalStorage.REQUIRED,
|
|
3017
|
+
local_storage_types=[ec2.LocalStorageType.SSD],
|
|
3018
|
+
total_local_storage_gBMin=100,
|
|
3019
|
+
|
|
3020
|
+
# Network requirements
|
|
3021
|
+
network_interface_count_min=2,
|
|
3022
|
+
network_bandwidth_gbps_min=10,
|
|
3023
|
+
|
|
3024
|
+
# Cost optimization
|
|
3025
|
+
on_demand_max_price_percentage_over_lowest_price=10
|
|
3026
|
+
)
|
|
3027
|
+
)
|
|
3028
|
+
'''
|
|
3029
|
+
|
|
3030
|
+
A100 = "A100"
|
|
3031
|
+
'''NVIDIA A100 GPU.'''
|
|
3032
|
+
K80 = "K80"
|
|
3033
|
+
'''NVIDIA K80 GPU.'''
|
|
3034
|
+
M60 = "M60"
|
|
3035
|
+
'''NVIDIA M60 GPU.'''
|
|
3036
|
+
RADEON_PRO_V520 = "RADEON_PRO_V520"
|
|
3037
|
+
'''AMD Radeon Pro V520 GPU.'''
|
|
3038
|
+
T4 = "T4"
|
|
3039
|
+
'''NVIDIA T4 GPU.'''
|
|
3040
|
+
V100 = "V100"
|
|
3041
|
+
'''NVIDIA V100 GPU.'''
|
|
3042
|
+
VU9P = "VU9P"
|
|
3043
|
+
'''Xilinx VU9P FPGA.'''
|
|
3044
|
+
|
|
3045
|
+
|
|
3046
|
+
@jsii.enum(jsii_type="aws-cdk-lib.aws_ec2.AcceleratorType")
|
|
3047
|
+
class AcceleratorType(enum.Enum):
|
|
3048
|
+
'''Hardware accelerator categories available for EC2 instances.
|
|
3049
|
+
|
|
3050
|
+
Defines the general type of hardware accelerator that can be attached
|
|
3051
|
+
to an instance, typically used in instance requirement specifications
|
|
3052
|
+
(e.g., GPUs for compute-intensive tasks, FPGAs for custom logic, or
|
|
3053
|
+
inference chips for ML workloads).
|
|
3054
|
+
|
|
3055
|
+
:exampleMetadata: infused
|
|
3056
|
+
|
|
3057
|
+
Example::
|
|
3058
|
+
|
|
3059
|
+
# infrastructure_role: iam.Role
|
|
3060
|
+
# instance_profile: iam.InstanceProfile
|
|
3061
|
+
# vpc: ec2.Vpc
|
|
3062
|
+
|
|
3063
|
+
|
|
3064
|
+
mi_capacity_provider = ecs.ManagedInstancesCapacityProvider(self, "MICapacityProvider",
|
|
3065
|
+
infrastructure_role=infrastructure_role,
|
|
3066
|
+
ec2_instance_profile=instance_profile,
|
|
3067
|
+
subnets=vpc.private_subnets,
|
|
3068
|
+
instance_requirements=ec2.InstanceRequirementsConfig(
|
|
3069
|
+
# Required: CPU and memory constraints
|
|
3070
|
+
v_cpu_count_min=2,
|
|
3071
|
+
v_cpu_count_max=8,
|
|
3072
|
+
memory_min=Size.gibibytes(4),
|
|
3073
|
+
memory_max=Size.gibibytes(32),
|
|
3074
|
+
|
|
3075
|
+
# CPU preferences
|
|
3076
|
+
cpu_manufacturers=[ec2.CpuManufacturer.INTEL, ec2.CpuManufacturer.AMD],
|
|
3077
|
+
instance_generations=[ec2.InstanceGeneration.CURRENT],
|
|
3078
|
+
|
|
3079
|
+
# Instance type filtering
|
|
3080
|
+
allowed_instance_types=["m5.*", "c5.*"],
|
|
3081
|
+
|
|
3082
|
+
# Performance characteristics
|
|
3083
|
+
burstable_performance=ec2.BurstablePerformance.EXCLUDED,
|
|
3084
|
+
bare_metal=ec2.BareMetal.EXCLUDED,
|
|
3085
|
+
|
|
3086
|
+
# Accelerator requirements (for ML/AI workloads)
|
|
3087
|
+
accelerator_types=[ec2.AcceleratorType.GPU],
|
|
3088
|
+
accelerator_manufacturers=[ec2.AcceleratorManufacturer.NVIDIA],
|
|
3089
|
+
accelerator_names=[ec2.AcceleratorName.T4, ec2.AcceleratorName.V100],
|
|
3090
|
+
accelerator_count_min=1,
|
|
3091
|
+
|
|
3092
|
+
# Storage requirements
|
|
3093
|
+
local_storage=ec2.LocalStorage.REQUIRED,
|
|
3094
|
+
local_storage_types=[ec2.LocalStorageType.SSD],
|
|
3095
|
+
total_local_storage_gBMin=100,
|
|
3096
|
+
|
|
3097
|
+
# Network requirements
|
|
3098
|
+
network_interface_count_min=2,
|
|
3099
|
+
network_bandwidth_gbps_min=10,
|
|
3100
|
+
|
|
3101
|
+
# Cost optimization
|
|
3102
|
+
on_demand_max_price_percentage_over_lowest_price=10
|
|
3103
|
+
)
|
|
3104
|
+
)
|
|
3105
|
+
'''
|
|
3106
|
+
|
|
3107
|
+
GPU = "GPU"
|
|
3108
|
+
'''Graphics Processing Unit accelerators, such as NVIDIA GPUs.
|
|
3109
|
+
|
|
3110
|
+
Commonly used for machine learning training, graphics rendering,
|
|
3111
|
+
or high-performance parallel computing.
|
|
3112
|
+
'''
|
|
3113
|
+
FPGA = "FPGA"
|
|
3114
|
+
'''Field Programmable Gate Array accelerators, such as Xilinx FPGAs.
|
|
3115
|
+
|
|
3116
|
+
Used for hardware-level customization and specialized workloads.
|
|
3117
|
+
'''
|
|
3118
|
+
INFERENCE = "INFERENCE"
|
|
3119
|
+
'''Inference accelerators, such as AWS Inferentia.
|
|
3120
|
+
|
|
3121
|
+
Purpose-built for efficient machine learning inference.
|
|
3122
|
+
'''
|
|
3123
|
+
|
|
3124
|
+
|
|
2906
3125
|
class AclCidr(
|
|
2907
3126
|
metaclass=jsii.JSIIAbstractClass,
|
|
2908
3127
|
jsii_type="aws-cdk-lib.aws_ec2.AclCidr",
|
|
@@ -5368,6 +5587,80 @@ class AwsIpamProps:
|
|
|
5368
5587
|
)
|
|
5369
5588
|
|
|
5370
5589
|
|
|
5590
|
+
@jsii.enum(jsii_type="aws-cdk-lib.aws_ec2.BareMetal")
|
|
5591
|
+
class BareMetal(enum.Enum):
|
|
5592
|
+
'''Bare metal support requirements for EC2 instances.
|
|
5593
|
+
|
|
5594
|
+
Controls whether selected instance types must, may, or must not
|
|
5595
|
+
be bare metal variants (i.e., instances that run directly on
|
|
5596
|
+
physical hardware without a hypervisor).
|
|
5597
|
+
|
|
5598
|
+
:exampleMetadata: infused
|
|
5599
|
+
|
|
5600
|
+
Example::
|
|
5601
|
+
|
|
5602
|
+
# infrastructure_role: iam.Role
|
|
5603
|
+
# instance_profile: iam.InstanceProfile
|
|
5604
|
+
# vpc: ec2.Vpc
|
|
5605
|
+
|
|
5606
|
+
|
|
5607
|
+
mi_capacity_provider = ecs.ManagedInstancesCapacityProvider(self, "MICapacityProvider",
|
|
5608
|
+
infrastructure_role=infrastructure_role,
|
|
5609
|
+
ec2_instance_profile=instance_profile,
|
|
5610
|
+
subnets=vpc.private_subnets,
|
|
5611
|
+
instance_requirements=ec2.InstanceRequirementsConfig(
|
|
5612
|
+
# Required: CPU and memory constraints
|
|
5613
|
+
v_cpu_count_min=2,
|
|
5614
|
+
v_cpu_count_max=8,
|
|
5615
|
+
memory_min=Size.gibibytes(4),
|
|
5616
|
+
memory_max=Size.gibibytes(32),
|
|
5617
|
+
|
|
5618
|
+
# CPU preferences
|
|
5619
|
+
cpu_manufacturers=[ec2.CpuManufacturer.INTEL, ec2.CpuManufacturer.AMD],
|
|
5620
|
+
instance_generations=[ec2.InstanceGeneration.CURRENT],
|
|
5621
|
+
|
|
5622
|
+
# Instance type filtering
|
|
5623
|
+
allowed_instance_types=["m5.*", "c5.*"],
|
|
5624
|
+
|
|
5625
|
+
# Performance characteristics
|
|
5626
|
+
burstable_performance=ec2.BurstablePerformance.EXCLUDED,
|
|
5627
|
+
bare_metal=ec2.BareMetal.EXCLUDED,
|
|
5628
|
+
|
|
5629
|
+
# Accelerator requirements (for ML/AI workloads)
|
|
5630
|
+
accelerator_types=[ec2.AcceleratorType.GPU],
|
|
5631
|
+
accelerator_manufacturers=[ec2.AcceleratorManufacturer.NVIDIA],
|
|
5632
|
+
accelerator_names=[ec2.AcceleratorName.T4, ec2.AcceleratorName.V100],
|
|
5633
|
+
accelerator_count_min=1,
|
|
5634
|
+
|
|
5635
|
+
# Storage requirements
|
|
5636
|
+
local_storage=ec2.LocalStorage.REQUIRED,
|
|
5637
|
+
local_storage_types=[ec2.LocalStorageType.SSD],
|
|
5638
|
+
total_local_storage_gBMin=100,
|
|
5639
|
+
|
|
5640
|
+
# Network requirements
|
|
5641
|
+
network_interface_count_min=2,
|
|
5642
|
+
network_bandwidth_gbps_min=10,
|
|
5643
|
+
|
|
5644
|
+
# Cost optimization
|
|
5645
|
+
on_demand_max_price_percentage_over_lowest_price=10
|
|
5646
|
+
)
|
|
5647
|
+
)
|
|
5648
|
+
'''
|
|
5649
|
+
|
|
5650
|
+
INCLUDED = "INCLUDED"
|
|
5651
|
+
'''Bare metal instance types are allowed, but non-bare-metal (virtualized) types may also be selected.'''
|
|
5652
|
+
REQUIRED = "REQUIRED"
|
|
5653
|
+
'''Only bare metal instance types are allowed.
|
|
5654
|
+
|
|
5655
|
+
Non-bare-metal types will be excluded from selection.
|
|
5656
|
+
'''
|
|
5657
|
+
EXCLUDED = "EXCLUDED"
|
|
5658
|
+
'''Bare metal instance types are disallowed.
|
|
5659
|
+
|
|
5660
|
+
Only non-bare-metal types may be selected.
|
|
5661
|
+
'''
|
|
5662
|
+
|
|
5663
|
+
|
|
5371
5664
|
@jsii.data_type(
|
|
5372
5665
|
jsii_type="aws-cdk-lib.aws_ec2.BastionHostLinuxProps",
|
|
5373
5666
|
jsii_struct_bases=[],
|
|
@@ -5866,6 +6159,79 @@ class BlockDeviceVolume(
|
|
|
5866
6159
|
return typing.cast(typing.Optional[builtins.str], jsii.get(self, "virtualName"))
|
|
5867
6160
|
|
|
5868
6161
|
|
|
6162
|
+
@jsii.enum(jsii_type="aws-cdk-lib.aws_ec2.BurstablePerformance")
|
|
6163
|
+
class BurstablePerformance(enum.Enum):
|
|
6164
|
+
'''Burstable CPU performance requirements for EC2 instances.
|
|
6165
|
+
|
|
6166
|
+
Controls whether selected instance types must, may, or must not
|
|
6167
|
+
support burstable vCPU performance (e.g., T3, T4g families).
|
|
6168
|
+
|
|
6169
|
+
:exampleMetadata: infused
|
|
6170
|
+
|
|
6171
|
+
Example::
|
|
6172
|
+
|
|
6173
|
+
# infrastructure_role: iam.Role
|
|
6174
|
+
# instance_profile: iam.InstanceProfile
|
|
6175
|
+
# vpc: ec2.Vpc
|
|
6176
|
+
|
|
6177
|
+
|
|
6178
|
+
mi_capacity_provider = ecs.ManagedInstancesCapacityProvider(self, "MICapacityProvider",
|
|
6179
|
+
infrastructure_role=infrastructure_role,
|
|
6180
|
+
ec2_instance_profile=instance_profile,
|
|
6181
|
+
subnets=vpc.private_subnets,
|
|
6182
|
+
instance_requirements=ec2.InstanceRequirementsConfig(
|
|
6183
|
+
# Required: CPU and memory constraints
|
|
6184
|
+
v_cpu_count_min=2,
|
|
6185
|
+
v_cpu_count_max=8,
|
|
6186
|
+
memory_min=Size.gibibytes(4),
|
|
6187
|
+
memory_max=Size.gibibytes(32),
|
|
6188
|
+
|
|
6189
|
+
# CPU preferences
|
|
6190
|
+
cpu_manufacturers=[ec2.CpuManufacturer.INTEL, ec2.CpuManufacturer.AMD],
|
|
6191
|
+
instance_generations=[ec2.InstanceGeneration.CURRENT],
|
|
6192
|
+
|
|
6193
|
+
# Instance type filtering
|
|
6194
|
+
allowed_instance_types=["m5.*", "c5.*"],
|
|
6195
|
+
|
|
6196
|
+
# Performance characteristics
|
|
6197
|
+
burstable_performance=ec2.BurstablePerformance.EXCLUDED,
|
|
6198
|
+
bare_metal=ec2.BareMetal.EXCLUDED,
|
|
6199
|
+
|
|
6200
|
+
# Accelerator requirements (for ML/AI workloads)
|
|
6201
|
+
accelerator_types=[ec2.AcceleratorType.GPU],
|
|
6202
|
+
accelerator_manufacturers=[ec2.AcceleratorManufacturer.NVIDIA],
|
|
6203
|
+
accelerator_names=[ec2.AcceleratorName.T4, ec2.AcceleratorName.V100],
|
|
6204
|
+
accelerator_count_min=1,
|
|
6205
|
+
|
|
6206
|
+
# Storage requirements
|
|
6207
|
+
local_storage=ec2.LocalStorage.REQUIRED,
|
|
6208
|
+
local_storage_types=[ec2.LocalStorageType.SSD],
|
|
6209
|
+
total_local_storage_gBMin=100,
|
|
6210
|
+
|
|
6211
|
+
# Network requirements
|
|
6212
|
+
network_interface_count_min=2,
|
|
6213
|
+
network_bandwidth_gbps_min=10,
|
|
6214
|
+
|
|
6215
|
+
# Cost optimization
|
|
6216
|
+
on_demand_max_price_percentage_over_lowest_price=10
|
|
6217
|
+
)
|
|
6218
|
+
)
|
|
6219
|
+
'''
|
|
6220
|
+
|
|
6221
|
+
INCLUDED = "INCLUDED"
|
|
6222
|
+
'''Burstable-performance instance types are allowed, but non-burstable types may also be selected.'''
|
|
6223
|
+
REQUIRED = "REQUIRED"
|
|
6224
|
+
'''Only burstable-performance instance types are allowed.
|
|
6225
|
+
|
|
6226
|
+
Non-burstable types will be excluded from selection.
|
|
6227
|
+
'''
|
|
6228
|
+
EXCLUDED = "EXCLUDED"
|
|
6229
|
+
'''Burstable-performance instance types are disallowed.
|
|
6230
|
+
|
|
6231
|
+
Only non-burstable types may be selected.
|
|
6232
|
+
'''
|
|
6233
|
+
|
|
6234
|
+
|
|
5869
6235
|
@jsii.data_type(
|
|
5870
6236
|
jsii_type="aws-cdk-lib.aws_ec2.CapacityReservationFleetReference",
|
|
5871
6237
|
jsii_struct_bases=[],
|
|
@@ -12174,6 +12540,294 @@ class CfnLocalGatewayRouteTableVirtualInterfaceGroupAssociationProps:
|
|
|
12174
12540
|
)
|
|
12175
12541
|
|
|
12176
12542
|
|
|
12543
|
+
@jsii.data_type(
|
|
12544
|
+
jsii_type="aws-cdk-lib.aws_ec2.CfnLocalGatewayVirtualInterfaceGroupProps",
|
|
12545
|
+
jsii_struct_bases=[],
|
|
12546
|
+
name_mapping={
|
|
12547
|
+
"local_gateway_id": "localGatewayId",
|
|
12548
|
+
"local_bgp_asn": "localBgpAsn",
|
|
12549
|
+
"local_bgp_asn_extended": "localBgpAsnExtended",
|
|
12550
|
+
"tags": "tags",
|
|
12551
|
+
},
|
|
12552
|
+
)
|
|
12553
|
+
class CfnLocalGatewayVirtualInterfaceGroupProps:
|
|
12554
|
+
def __init__(
|
|
12555
|
+
self,
|
|
12556
|
+
*,
|
|
12557
|
+
local_gateway_id: builtins.str,
|
|
12558
|
+
local_bgp_asn: typing.Optional[jsii.Number] = None,
|
|
12559
|
+
local_bgp_asn_extended: typing.Optional[jsii.Number] = None,
|
|
12560
|
+
tags: typing.Optional[typing.Sequence[typing.Union[_CfnTag_f6864754, typing.Dict[builtins.str, typing.Any]]]] = None,
|
|
12561
|
+
) -> None:
|
|
12562
|
+
'''Properties for defining a ``CfnLocalGatewayVirtualInterfaceGroup``.
|
|
12563
|
+
|
|
12564
|
+
:param local_gateway_id: The ID of the local gateway.
|
|
12565
|
+
:param local_bgp_asn: The Autonomous System Number(ASN) for the local Border Gateway Protocol (BGP).
|
|
12566
|
+
:param local_bgp_asn_extended: The extended 32-bit ASN for the local BGP configuration.
|
|
12567
|
+
:param tags: The tags assigned to the virtual interface group.
|
|
12568
|
+
|
|
12569
|
+
:see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-localgatewayvirtualinterfacegroup.html
|
|
12570
|
+
:exampleMetadata: fixture=_generated
|
|
12571
|
+
|
|
12572
|
+
Example::
|
|
12573
|
+
|
|
12574
|
+
# The code below shows an example of how to instantiate this type.
|
|
12575
|
+
# The values are placeholders you should change.
|
|
12576
|
+
from aws_cdk import aws_ec2 as ec2
|
|
12577
|
+
|
|
12578
|
+
cfn_local_gateway_virtual_interface_group_props = ec2.CfnLocalGatewayVirtualInterfaceGroupProps(
|
|
12579
|
+
local_gateway_id="localGatewayId",
|
|
12580
|
+
|
|
12581
|
+
# the properties below are optional
|
|
12582
|
+
local_bgp_asn=123,
|
|
12583
|
+
local_bgp_asn_extended=123,
|
|
12584
|
+
tags=[CfnTag(
|
|
12585
|
+
key="key",
|
|
12586
|
+
value="value"
|
|
12587
|
+
)]
|
|
12588
|
+
)
|
|
12589
|
+
'''
|
|
12590
|
+
if __debug__:
|
|
12591
|
+
type_hints = typing.get_type_hints(_typecheckingstub__f7ce4c591b68ccf10989a9f20fd3c6f1fc55f0f986e5272574d1a8263ccb9638)
|
|
12592
|
+
check_type(argname="argument local_gateway_id", value=local_gateway_id, expected_type=type_hints["local_gateway_id"])
|
|
12593
|
+
check_type(argname="argument local_bgp_asn", value=local_bgp_asn, expected_type=type_hints["local_bgp_asn"])
|
|
12594
|
+
check_type(argname="argument local_bgp_asn_extended", value=local_bgp_asn_extended, expected_type=type_hints["local_bgp_asn_extended"])
|
|
12595
|
+
check_type(argname="argument tags", value=tags, expected_type=type_hints["tags"])
|
|
12596
|
+
self._values: typing.Dict[builtins.str, typing.Any] = {
|
|
12597
|
+
"local_gateway_id": local_gateway_id,
|
|
12598
|
+
}
|
|
12599
|
+
if local_bgp_asn is not None:
|
|
12600
|
+
self._values["local_bgp_asn"] = local_bgp_asn
|
|
12601
|
+
if local_bgp_asn_extended is not None:
|
|
12602
|
+
self._values["local_bgp_asn_extended"] = local_bgp_asn_extended
|
|
12603
|
+
if tags is not None:
|
|
12604
|
+
self._values["tags"] = tags
|
|
12605
|
+
|
|
12606
|
+
@builtins.property
|
|
12607
|
+
def local_gateway_id(self) -> builtins.str:
|
|
12608
|
+
'''The ID of the local gateway.
|
|
12609
|
+
|
|
12610
|
+
:see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-localgatewayvirtualinterfacegroup.html#cfn-ec2-localgatewayvirtualinterfacegroup-localgatewayid
|
|
12611
|
+
'''
|
|
12612
|
+
result = self._values.get("local_gateway_id")
|
|
12613
|
+
assert result is not None, "Required property 'local_gateway_id' is missing"
|
|
12614
|
+
return typing.cast(builtins.str, result)
|
|
12615
|
+
|
|
12616
|
+
@builtins.property
|
|
12617
|
+
def local_bgp_asn(self) -> typing.Optional[jsii.Number]:
|
|
12618
|
+
'''The Autonomous System Number(ASN) for the local Border Gateway Protocol (BGP).
|
|
12619
|
+
|
|
12620
|
+
:see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-localgatewayvirtualinterfacegroup.html#cfn-ec2-localgatewayvirtualinterfacegroup-localbgpasn
|
|
12621
|
+
'''
|
|
12622
|
+
result = self._values.get("local_bgp_asn")
|
|
12623
|
+
return typing.cast(typing.Optional[jsii.Number], result)
|
|
12624
|
+
|
|
12625
|
+
@builtins.property
|
|
12626
|
+
def local_bgp_asn_extended(self) -> typing.Optional[jsii.Number]:
|
|
12627
|
+
'''The extended 32-bit ASN for the local BGP configuration.
|
|
12628
|
+
|
|
12629
|
+
:see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-localgatewayvirtualinterfacegroup.html#cfn-ec2-localgatewayvirtualinterfacegroup-localbgpasnextended
|
|
12630
|
+
'''
|
|
12631
|
+
result = self._values.get("local_bgp_asn_extended")
|
|
12632
|
+
return typing.cast(typing.Optional[jsii.Number], result)
|
|
12633
|
+
|
|
12634
|
+
@builtins.property
|
|
12635
|
+
def tags(self) -> typing.Optional[typing.List[_CfnTag_f6864754]]:
|
|
12636
|
+
'''The tags assigned to the virtual interface group.
|
|
12637
|
+
|
|
12638
|
+
:see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-localgatewayvirtualinterfacegroup.html#cfn-ec2-localgatewayvirtualinterfacegroup-tags
|
|
12639
|
+
'''
|
|
12640
|
+
result = self._values.get("tags")
|
|
12641
|
+
return typing.cast(typing.Optional[typing.List[_CfnTag_f6864754]], result)
|
|
12642
|
+
|
|
12643
|
+
def __eq__(self, rhs: typing.Any) -> builtins.bool:
|
|
12644
|
+
return isinstance(rhs, self.__class__) and rhs._values == self._values
|
|
12645
|
+
|
|
12646
|
+
def __ne__(self, rhs: typing.Any) -> builtins.bool:
|
|
12647
|
+
return not (rhs == self)
|
|
12648
|
+
|
|
12649
|
+
def __repr__(self) -> str:
|
|
12650
|
+
return "CfnLocalGatewayVirtualInterfaceGroupProps(%s)" % ", ".join(
|
|
12651
|
+
k + "=" + repr(v) for k, v in self._values.items()
|
|
12652
|
+
)
|
|
12653
|
+
|
|
12654
|
+
|
|
12655
|
+
@jsii.data_type(
|
|
12656
|
+
jsii_type="aws-cdk-lib.aws_ec2.CfnLocalGatewayVirtualInterfaceProps",
|
|
12657
|
+
jsii_struct_bases=[],
|
|
12658
|
+
name_mapping={
|
|
12659
|
+
"local_address": "localAddress",
|
|
12660
|
+
"local_gateway_virtual_interface_group_id": "localGatewayVirtualInterfaceGroupId",
|
|
12661
|
+
"outpost_lag_id": "outpostLagId",
|
|
12662
|
+
"peer_address": "peerAddress",
|
|
12663
|
+
"vlan": "vlan",
|
|
12664
|
+
"peer_bgp_asn": "peerBgpAsn",
|
|
12665
|
+
"peer_bgp_asn_extended": "peerBgpAsnExtended",
|
|
12666
|
+
"tags": "tags",
|
|
12667
|
+
},
|
|
12668
|
+
)
|
|
12669
|
+
class CfnLocalGatewayVirtualInterfaceProps:
|
|
12670
|
+
def __init__(
|
|
12671
|
+
self,
|
|
12672
|
+
*,
|
|
12673
|
+
local_address: builtins.str,
|
|
12674
|
+
local_gateway_virtual_interface_group_id: builtins.str,
|
|
12675
|
+
outpost_lag_id: builtins.str,
|
|
12676
|
+
peer_address: builtins.str,
|
|
12677
|
+
vlan: jsii.Number,
|
|
12678
|
+
peer_bgp_asn: typing.Optional[jsii.Number] = None,
|
|
12679
|
+
peer_bgp_asn_extended: typing.Optional[jsii.Number] = None,
|
|
12680
|
+
tags: typing.Optional[typing.Sequence[typing.Union[_CfnTag_f6864754, typing.Dict[builtins.str, typing.Any]]]] = None,
|
|
12681
|
+
) -> None:
|
|
12682
|
+
'''Properties for defining a ``CfnLocalGatewayVirtualInterface``.
|
|
12683
|
+
|
|
12684
|
+
:param local_address: The local address.
|
|
12685
|
+
:param local_gateway_virtual_interface_group_id: The ID of the local gateway virtual interface group.
|
|
12686
|
+
:param outpost_lag_id: The Outpost LAG ID.
|
|
12687
|
+
:param peer_address: The peer address.
|
|
12688
|
+
:param vlan: The ID of the VLAN.
|
|
12689
|
+
:param peer_bgp_asn: The peer BGP ASN.
|
|
12690
|
+
:param peer_bgp_asn_extended: The extended 32-bit ASN of the BGP peer for use with larger ASN values.
|
|
12691
|
+
:param tags: The tags assigned to the virtual interface.
|
|
12692
|
+
|
|
12693
|
+
:see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-localgatewayvirtualinterface.html
|
|
12694
|
+
:exampleMetadata: fixture=_generated
|
|
12695
|
+
|
|
12696
|
+
Example::
|
|
12697
|
+
|
|
12698
|
+
# The code below shows an example of how to instantiate this type.
|
|
12699
|
+
# The values are placeholders you should change.
|
|
12700
|
+
from aws_cdk import aws_ec2 as ec2
|
|
12701
|
+
|
|
12702
|
+
cfn_local_gateway_virtual_interface_props = ec2.CfnLocalGatewayVirtualInterfaceProps(
|
|
12703
|
+
local_address="localAddress",
|
|
12704
|
+
local_gateway_virtual_interface_group_id="localGatewayVirtualInterfaceGroupId",
|
|
12705
|
+
outpost_lag_id="outpostLagId",
|
|
12706
|
+
peer_address="peerAddress",
|
|
12707
|
+
vlan=123,
|
|
12708
|
+
|
|
12709
|
+
# the properties below are optional
|
|
12710
|
+
peer_bgp_asn=123,
|
|
12711
|
+
peer_bgp_asn_extended=123,
|
|
12712
|
+
tags=[CfnTag(
|
|
12713
|
+
key="key",
|
|
12714
|
+
value="value"
|
|
12715
|
+
)]
|
|
12716
|
+
)
|
|
12717
|
+
'''
|
|
12718
|
+
if __debug__:
|
|
12719
|
+
type_hints = typing.get_type_hints(_typecheckingstub__f937f1e5478df1249afd18165f33effb63a12f7ed00b1831a2fbee04cab4c28a)
|
|
12720
|
+
check_type(argname="argument local_address", value=local_address, expected_type=type_hints["local_address"])
|
|
12721
|
+
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"])
|
|
12722
|
+
check_type(argname="argument outpost_lag_id", value=outpost_lag_id, expected_type=type_hints["outpost_lag_id"])
|
|
12723
|
+
check_type(argname="argument peer_address", value=peer_address, expected_type=type_hints["peer_address"])
|
|
12724
|
+
check_type(argname="argument vlan", value=vlan, expected_type=type_hints["vlan"])
|
|
12725
|
+
check_type(argname="argument peer_bgp_asn", value=peer_bgp_asn, expected_type=type_hints["peer_bgp_asn"])
|
|
12726
|
+
check_type(argname="argument peer_bgp_asn_extended", value=peer_bgp_asn_extended, expected_type=type_hints["peer_bgp_asn_extended"])
|
|
12727
|
+
check_type(argname="argument tags", value=tags, expected_type=type_hints["tags"])
|
|
12728
|
+
self._values: typing.Dict[builtins.str, typing.Any] = {
|
|
12729
|
+
"local_address": local_address,
|
|
12730
|
+
"local_gateway_virtual_interface_group_id": local_gateway_virtual_interface_group_id,
|
|
12731
|
+
"outpost_lag_id": outpost_lag_id,
|
|
12732
|
+
"peer_address": peer_address,
|
|
12733
|
+
"vlan": vlan,
|
|
12734
|
+
}
|
|
12735
|
+
if peer_bgp_asn is not None:
|
|
12736
|
+
self._values["peer_bgp_asn"] = peer_bgp_asn
|
|
12737
|
+
if peer_bgp_asn_extended is not None:
|
|
12738
|
+
self._values["peer_bgp_asn_extended"] = peer_bgp_asn_extended
|
|
12739
|
+
if tags is not None:
|
|
12740
|
+
self._values["tags"] = tags
|
|
12741
|
+
|
|
12742
|
+
@builtins.property
|
|
12743
|
+
def local_address(self) -> builtins.str:
|
|
12744
|
+
'''The local address.
|
|
12745
|
+
|
|
12746
|
+
:see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-localgatewayvirtualinterface.html#cfn-ec2-localgatewayvirtualinterface-localaddress
|
|
12747
|
+
'''
|
|
12748
|
+
result = self._values.get("local_address")
|
|
12749
|
+
assert result is not None, "Required property 'local_address' is missing"
|
|
12750
|
+
return typing.cast(builtins.str, result)
|
|
12751
|
+
|
|
12752
|
+
@builtins.property
|
|
12753
|
+
def local_gateway_virtual_interface_group_id(self) -> builtins.str:
|
|
12754
|
+
'''The ID of the local gateway virtual interface group.
|
|
12755
|
+
|
|
12756
|
+
:see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-localgatewayvirtualinterface.html#cfn-ec2-localgatewayvirtualinterface-localgatewayvirtualinterfacegroupid
|
|
12757
|
+
'''
|
|
12758
|
+
result = self._values.get("local_gateway_virtual_interface_group_id")
|
|
12759
|
+
assert result is not None, "Required property 'local_gateway_virtual_interface_group_id' is missing"
|
|
12760
|
+
return typing.cast(builtins.str, result)
|
|
12761
|
+
|
|
12762
|
+
@builtins.property
|
|
12763
|
+
def outpost_lag_id(self) -> builtins.str:
|
|
12764
|
+
'''The Outpost LAG ID.
|
|
12765
|
+
|
|
12766
|
+
:see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-localgatewayvirtualinterface.html#cfn-ec2-localgatewayvirtualinterface-outpostlagid
|
|
12767
|
+
'''
|
|
12768
|
+
result = self._values.get("outpost_lag_id")
|
|
12769
|
+
assert result is not None, "Required property 'outpost_lag_id' is missing"
|
|
12770
|
+
return typing.cast(builtins.str, result)
|
|
12771
|
+
|
|
12772
|
+
@builtins.property
|
|
12773
|
+
def peer_address(self) -> builtins.str:
|
|
12774
|
+
'''The peer address.
|
|
12775
|
+
|
|
12776
|
+
:see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-localgatewayvirtualinterface.html#cfn-ec2-localgatewayvirtualinterface-peeraddress
|
|
12777
|
+
'''
|
|
12778
|
+
result = self._values.get("peer_address")
|
|
12779
|
+
assert result is not None, "Required property 'peer_address' is missing"
|
|
12780
|
+
return typing.cast(builtins.str, result)
|
|
12781
|
+
|
|
12782
|
+
@builtins.property
|
|
12783
|
+
def vlan(self) -> jsii.Number:
|
|
12784
|
+
'''The ID of the VLAN.
|
|
12785
|
+
|
|
12786
|
+
:see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-localgatewayvirtualinterface.html#cfn-ec2-localgatewayvirtualinterface-vlan
|
|
12787
|
+
'''
|
|
12788
|
+
result = self._values.get("vlan")
|
|
12789
|
+
assert result is not None, "Required property 'vlan' is missing"
|
|
12790
|
+
return typing.cast(jsii.Number, result)
|
|
12791
|
+
|
|
12792
|
+
@builtins.property
|
|
12793
|
+
def peer_bgp_asn(self) -> typing.Optional[jsii.Number]:
|
|
12794
|
+
'''The peer BGP ASN.
|
|
12795
|
+
|
|
12796
|
+
:see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-localgatewayvirtualinterface.html#cfn-ec2-localgatewayvirtualinterface-peerbgpasn
|
|
12797
|
+
'''
|
|
12798
|
+
result = self._values.get("peer_bgp_asn")
|
|
12799
|
+
return typing.cast(typing.Optional[jsii.Number], result)
|
|
12800
|
+
|
|
12801
|
+
@builtins.property
|
|
12802
|
+
def peer_bgp_asn_extended(self) -> typing.Optional[jsii.Number]:
|
|
12803
|
+
'''The extended 32-bit ASN of the BGP peer for use with larger ASN values.
|
|
12804
|
+
|
|
12805
|
+
:see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-localgatewayvirtualinterface.html#cfn-ec2-localgatewayvirtualinterface-peerbgpasnextended
|
|
12806
|
+
'''
|
|
12807
|
+
result = self._values.get("peer_bgp_asn_extended")
|
|
12808
|
+
return typing.cast(typing.Optional[jsii.Number], result)
|
|
12809
|
+
|
|
12810
|
+
@builtins.property
|
|
12811
|
+
def tags(self) -> typing.Optional[typing.List[_CfnTag_f6864754]]:
|
|
12812
|
+
'''The tags assigned to the virtual interface.
|
|
12813
|
+
|
|
12814
|
+
:see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-localgatewayvirtualinterface.html#cfn-ec2-localgatewayvirtualinterface-tags
|
|
12815
|
+
'''
|
|
12816
|
+
result = self._values.get("tags")
|
|
12817
|
+
return typing.cast(typing.Optional[typing.List[_CfnTag_f6864754]], result)
|
|
12818
|
+
|
|
12819
|
+
def __eq__(self, rhs: typing.Any) -> builtins.bool:
|
|
12820
|
+
return isinstance(rhs, self.__class__) and rhs._values == self._values
|
|
12821
|
+
|
|
12822
|
+
def __ne__(self, rhs: typing.Any) -> builtins.bool:
|
|
12823
|
+
return not (rhs == self)
|
|
12824
|
+
|
|
12825
|
+
def __repr__(self) -> str:
|
|
12826
|
+
return "CfnLocalGatewayVirtualInterfaceProps(%s)" % ", ".join(
|
|
12827
|
+
k + "=" + repr(v) for k, v in self._values.items()
|
|
12828
|
+
)
|
|
12829
|
+
|
|
12830
|
+
|
|
12177
12831
|
@jsii.data_type(
|
|
12178
12832
|
jsii_type="aws-cdk-lib.aws_ec2.CfnNatGatewayProps",
|
|
12179
12833
|
jsii_struct_bases=[],
|
|
@@ -19914,7 +20568,7 @@ class CfnVPCEndpointProps:
|
|
|
19914
20568
|
|
|
19915
20569
|
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
20570
|
|
|
19917
|
-
``Properties: VpcEndpointType: 'Interface' ServiceName: !Sub 'com.amazonaws.${AWS::Region}.logs' PolicyDocument: '{ "Version":"2012-10-17",
|
|
20571
|
+
``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
20572
|
|
|
19919
20573
|
:see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-vpcendpoint.html#cfn-ec2-vpcendpoint-policydocument
|
|
19920
20574
|
'''
|
|
@@ -22426,11 +23080,11 @@ class CfnVolumeProps:
|
|
|
22426
23080
|
: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
23081
|
: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
23082
|
: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 -
|
|
23083
|
+
: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
23084
|
: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
23085
|
: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
23086
|
: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``
|
|
23087
|
+
: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
23088
|
:param snapshot_id: The snapshot from which to create the volume. You must specify either a snapshot ID or a volume size.
|
|
22435
23089
|
:param tags: The tags to apply to the volume during creation.
|
|
22436
23090
|
: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 +23212,7 @@ class CfnVolumeProps:
|
|
|
22558
23212
|
|
|
22559
23213
|
The following are the supported values for each volume type:
|
|
22560
23214
|
|
|
22561
|
-
- ``gp3`` : 3,000 -
|
|
23215
|
+
- ``gp3`` : 3,000 - 80,000 IOPS
|
|
22562
23216
|
- ``io1`` : 100 - 64,000 IOPS
|
|
22563
23217
|
- ``io2`` : 100 - 256,000 IOPS
|
|
22564
23218
|
|
|
@@ -22621,7 +23275,8 @@ class CfnVolumeProps:
|
|
|
22621
23275
|
|
|
22622
23276
|
The following are the supported volumes sizes for each volume type:
|
|
22623
23277
|
|
|
22624
|
-
- ``gp2``
|
|
23278
|
+
- ``gp2`` : 1 - 16,384 GiB
|
|
23279
|
+
- ``gp3`` : 1 - 65,536 GiB
|
|
22625
23280
|
- ``io1`` : 4 - 16,384 GiB
|
|
22626
23281
|
- ``io2`` : 4 - 65,536 GiB
|
|
22627
23282
|
- ``st1`` and ``sc1`` : 125 - 16,384 GiB
|
|
@@ -25297,6 +25952,70 @@ class CpuCredits(enum.Enum):
|
|
|
25297
25952
|
'''
|
|
25298
25953
|
|
|
25299
25954
|
|
|
25955
|
+
@jsii.enum(jsii_type="aws-cdk-lib.aws_ec2.CpuManufacturer")
|
|
25956
|
+
class CpuManufacturer(enum.Enum):
|
|
25957
|
+
'''CPU manufacturers supported by EC2 instances.
|
|
25958
|
+
|
|
25959
|
+
Restricts the acceptable CPU vendor for selected instance types.
|
|
25960
|
+
|
|
25961
|
+
:exampleMetadata: infused
|
|
25962
|
+
|
|
25963
|
+
Example::
|
|
25964
|
+
|
|
25965
|
+
# vpc: ec2.Vpc
|
|
25966
|
+
# infrastructure_role: iam.Role
|
|
25967
|
+
# instance_profile: iam.InstanceProfile
|
|
25968
|
+
|
|
25969
|
+
|
|
25970
|
+
cluster = ecs.Cluster(self, "Cluster", vpc=vpc)
|
|
25971
|
+
|
|
25972
|
+
# Create a Managed Instances Capacity Provider
|
|
25973
|
+
mi_capacity_provider = ecs.ManagedInstancesCapacityProvider(self, "MICapacityProvider",
|
|
25974
|
+
infrastructure_role=infrastructure_role,
|
|
25975
|
+
ec2_instance_profile=instance_profile,
|
|
25976
|
+
subnets=vpc.private_subnets,
|
|
25977
|
+
security_groups=[ec2.SecurityGroup(self, "MISecurityGroup", vpc=vpc)],
|
|
25978
|
+
instance_requirements=ec2.InstanceRequirementsConfig(
|
|
25979
|
+
v_cpu_count_min=1,
|
|
25980
|
+
memory_min=Size.gibibytes(2),
|
|
25981
|
+
cpu_manufacturers=[ec2.CpuManufacturer.INTEL],
|
|
25982
|
+
accelerator_manufacturers=[ec2.AcceleratorManufacturer.NVIDIA]
|
|
25983
|
+
),
|
|
25984
|
+
propagate_tags=ecs.PropagateManagedInstancesTags.CAPACITY_PROVIDER
|
|
25985
|
+
)
|
|
25986
|
+
|
|
25987
|
+
# Add the capacity provider to the cluster
|
|
25988
|
+
cluster.add_managed_instances_capacity_provider(mi_capacity_provider)
|
|
25989
|
+
|
|
25990
|
+
task_definition = ecs.Ec2TaskDefinition(self, "TaskDef")
|
|
25991
|
+
|
|
25992
|
+
task_definition.add_container("web",
|
|
25993
|
+
image=ecs.ContainerImage.from_registry("amazon/amazon-ecs-sample"),
|
|
25994
|
+
memory_reservation_mi_b=256
|
|
25995
|
+
)
|
|
25996
|
+
|
|
25997
|
+
ecs.Ec2Service(self, "EC2Service",
|
|
25998
|
+
cluster=cluster,
|
|
25999
|
+
task_definition=task_definition,
|
|
26000
|
+
min_healthy_percent=100,
|
|
26001
|
+
capacity_provider_strategies=[ecs.CapacityProviderStrategy(
|
|
26002
|
+
capacity_provider=mi_capacity_provider.capacity_provider_name,
|
|
26003
|
+
weight=1
|
|
26004
|
+
)
|
|
26005
|
+
]
|
|
26006
|
+
)
|
|
26007
|
+
'''
|
|
26008
|
+
|
|
26009
|
+
INTEL = "INTEL"
|
|
26010
|
+
'''Intel CPUs (e.g., Xeon families).'''
|
|
26011
|
+
AMD = "AMD"
|
|
26012
|
+
'''AMD CPUs (e.g., EPYC families).'''
|
|
26013
|
+
AWS = "AWS"
|
|
26014
|
+
'''AWS-designed CPUs (e.g., Graviton families).'''
|
|
26015
|
+
APPLE = "APPLE"
|
|
26016
|
+
'''Apple CPUs (e.g., M1, M2).'''
|
|
26017
|
+
|
|
26018
|
+
|
|
25300
26019
|
@jsii.data_type(
|
|
25301
26020
|
jsii_type="aws-cdk-lib.aws_ec2.CreateIpv6CidrBlocksRequest",
|
|
25302
26021
|
jsii_struct_bases=[],
|
|
@@ -29291,6 +30010,100 @@ class _ILocalGatewayRouteTableVirtualInterfaceGroupAssociationRefProxy(
|
|
|
29291
30010
|
typing.cast(typing.Any, ILocalGatewayRouteTableVirtualInterfaceGroupAssociationRef).__jsii_proxy_class__ = lambda : _ILocalGatewayRouteTableVirtualInterfaceGroupAssociationRefProxy
|
|
29292
30011
|
|
|
29293
30012
|
|
|
30013
|
+
@jsii.interface(jsii_type="aws-cdk-lib.aws_ec2.ILocalGatewayVirtualInterfaceGroupRef")
|
|
30014
|
+
class ILocalGatewayVirtualInterfaceGroupRef(
|
|
30015
|
+
_constructs_77d1e7e8.IConstruct,
|
|
30016
|
+
typing_extensions.Protocol,
|
|
30017
|
+
):
|
|
30018
|
+
'''(experimental) Indicates that this resource can be referenced as a LocalGatewayVirtualInterfaceGroup.
|
|
30019
|
+
|
|
30020
|
+
:stability: experimental
|
|
30021
|
+
'''
|
|
30022
|
+
|
|
30023
|
+
@builtins.property
|
|
30024
|
+
@jsii.member(jsii_name="localGatewayVirtualInterfaceGroupRef")
|
|
30025
|
+
def local_gateway_virtual_interface_group_ref(
|
|
30026
|
+
self,
|
|
30027
|
+
) -> "LocalGatewayVirtualInterfaceGroupReference":
|
|
30028
|
+
'''(experimental) A reference to a LocalGatewayVirtualInterfaceGroup resource.
|
|
30029
|
+
|
|
30030
|
+
:stability: experimental
|
|
30031
|
+
'''
|
|
30032
|
+
...
|
|
30033
|
+
|
|
30034
|
+
|
|
30035
|
+
class _ILocalGatewayVirtualInterfaceGroupRefProxy(
|
|
30036
|
+
jsii.proxy_for(_constructs_77d1e7e8.IConstruct), # type: ignore[misc]
|
|
30037
|
+
):
|
|
30038
|
+
'''(experimental) Indicates that this resource can be referenced as a LocalGatewayVirtualInterfaceGroup.
|
|
30039
|
+
|
|
30040
|
+
:stability: experimental
|
|
30041
|
+
'''
|
|
30042
|
+
|
|
30043
|
+
__jsii_type__: typing.ClassVar[str] = "aws-cdk-lib.aws_ec2.ILocalGatewayVirtualInterfaceGroupRef"
|
|
30044
|
+
|
|
30045
|
+
@builtins.property
|
|
30046
|
+
@jsii.member(jsii_name="localGatewayVirtualInterfaceGroupRef")
|
|
30047
|
+
def local_gateway_virtual_interface_group_ref(
|
|
30048
|
+
self,
|
|
30049
|
+
) -> "LocalGatewayVirtualInterfaceGroupReference":
|
|
30050
|
+
'''(experimental) A reference to a LocalGatewayVirtualInterfaceGroup resource.
|
|
30051
|
+
|
|
30052
|
+
:stability: experimental
|
|
30053
|
+
'''
|
|
30054
|
+
return typing.cast("LocalGatewayVirtualInterfaceGroupReference", jsii.get(self, "localGatewayVirtualInterfaceGroupRef"))
|
|
30055
|
+
|
|
30056
|
+
# Adding a "__jsii_proxy_class__(): typing.Type" function to the interface
|
|
30057
|
+
typing.cast(typing.Any, ILocalGatewayVirtualInterfaceGroupRef).__jsii_proxy_class__ = lambda : _ILocalGatewayVirtualInterfaceGroupRefProxy
|
|
30058
|
+
|
|
30059
|
+
|
|
30060
|
+
@jsii.interface(jsii_type="aws-cdk-lib.aws_ec2.ILocalGatewayVirtualInterfaceRef")
|
|
30061
|
+
class ILocalGatewayVirtualInterfaceRef(
|
|
30062
|
+
_constructs_77d1e7e8.IConstruct,
|
|
30063
|
+
typing_extensions.Protocol,
|
|
30064
|
+
):
|
|
30065
|
+
'''(experimental) Indicates that this resource can be referenced as a LocalGatewayVirtualInterface.
|
|
30066
|
+
|
|
30067
|
+
:stability: experimental
|
|
30068
|
+
'''
|
|
30069
|
+
|
|
30070
|
+
@builtins.property
|
|
30071
|
+
@jsii.member(jsii_name="localGatewayVirtualInterfaceRef")
|
|
30072
|
+
def local_gateway_virtual_interface_ref(
|
|
30073
|
+
self,
|
|
30074
|
+
) -> "LocalGatewayVirtualInterfaceReference":
|
|
30075
|
+
'''(experimental) A reference to a LocalGatewayVirtualInterface resource.
|
|
30076
|
+
|
|
30077
|
+
:stability: experimental
|
|
30078
|
+
'''
|
|
30079
|
+
...
|
|
30080
|
+
|
|
30081
|
+
|
|
30082
|
+
class _ILocalGatewayVirtualInterfaceRefProxy(
|
|
30083
|
+
jsii.proxy_for(_constructs_77d1e7e8.IConstruct), # type: ignore[misc]
|
|
30084
|
+
):
|
|
30085
|
+
'''(experimental) Indicates that this resource can be referenced as a LocalGatewayVirtualInterface.
|
|
30086
|
+
|
|
30087
|
+
:stability: experimental
|
|
30088
|
+
'''
|
|
30089
|
+
|
|
30090
|
+
__jsii_type__: typing.ClassVar[str] = "aws-cdk-lib.aws_ec2.ILocalGatewayVirtualInterfaceRef"
|
|
30091
|
+
|
|
30092
|
+
@builtins.property
|
|
30093
|
+
@jsii.member(jsii_name="localGatewayVirtualInterfaceRef")
|
|
30094
|
+
def local_gateway_virtual_interface_ref(
|
|
30095
|
+
self,
|
|
30096
|
+
) -> "LocalGatewayVirtualInterfaceReference":
|
|
30097
|
+
'''(experimental) A reference to a LocalGatewayVirtualInterface resource.
|
|
30098
|
+
|
|
30099
|
+
:stability: experimental
|
|
30100
|
+
'''
|
|
30101
|
+
return typing.cast("LocalGatewayVirtualInterfaceReference", jsii.get(self, "localGatewayVirtualInterfaceRef"))
|
|
30102
|
+
|
|
30103
|
+
# Adding a "__jsii_proxy_class__(): typing.Type" function to the interface
|
|
30104
|
+
typing.cast(typing.Any, ILocalGatewayVirtualInterfaceRef).__jsii_proxy_class__ = lambda : _ILocalGatewayVirtualInterfaceRefProxy
|
|
30105
|
+
|
|
30106
|
+
|
|
29294
30107
|
@jsii.interface(jsii_type="aws-cdk-lib.aws_ec2.IMachineImage")
|
|
29295
30108
|
class IMachineImage(typing_extensions.Protocol):
|
|
29296
30109
|
'''Interface for classes that can select an appropriate machine image to use.'''
|
|
@@ -36775,6 +37588,71 @@ class InstanceConnectEndpointReference:
|
|
|
36775
37588
|
)
|
|
36776
37589
|
|
|
36777
37590
|
|
|
37591
|
+
@jsii.enum(jsii_type="aws-cdk-lib.aws_ec2.InstanceGeneration")
|
|
37592
|
+
class InstanceGeneration(enum.Enum):
|
|
37593
|
+
'''Instance generation categories for EC2.
|
|
37594
|
+
|
|
37595
|
+
Determines whether the instance type must belong to the latest
|
|
37596
|
+
(current) generation or to an older (previous) generation.
|
|
37597
|
+
|
|
37598
|
+
:exampleMetadata: infused
|
|
37599
|
+
|
|
37600
|
+
Example::
|
|
37601
|
+
|
|
37602
|
+
# infrastructure_role: iam.Role
|
|
37603
|
+
# instance_profile: iam.InstanceProfile
|
|
37604
|
+
# vpc: ec2.Vpc
|
|
37605
|
+
|
|
37606
|
+
|
|
37607
|
+
mi_capacity_provider = ecs.ManagedInstancesCapacityProvider(self, "MICapacityProvider",
|
|
37608
|
+
infrastructure_role=infrastructure_role,
|
|
37609
|
+
ec2_instance_profile=instance_profile,
|
|
37610
|
+
subnets=vpc.private_subnets,
|
|
37611
|
+
instance_requirements=ec2.InstanceRequirementsConfig(
|
|
37612
|
+
# Required: CPU and memory constraints
|
|
37613
|
+
v_cpu_count_min=2,
|
|
37614
|
+
v_cpu_count_max=8,
|
|
37615
|
+
memory_min=Size.gibibytes(4),
|
|
37616
|
+
memory_max=Size.gibibytes(32),
|
|
37617
|
+
|
|
37618
|
+
# CPU preferences
|
|
37619
|
+
cpu_manufacturers=[ec2.CpuManufacturer.INTEL, ec2.CpuManufacturer.AMD],
|
|
37620
|
+
instance_generations=[ec2.InstanceGeneration.CURRENT],
|
|
37621
|
+
|
|
37622
|
+
# Instance type filtering
|
|
37623
|
+
allowed_instance_types=["m5.*", "c5.*"],
|
|
37624
|
+
|
|
37625
|
+
# Performance characteristics
|
|
37626
|
+
burstable_performance=ec2.BurstablePerformance.EXCLUDED,
|
|
37627
|
+
bare_metal=ec2.BareMetal.EXCLUDED,
|
|
37628
|
+
|
|
37629
|
+
# Accelerator requirements (for ML/AI workloads)
|
|
37630
|
+
accelerator_types=[ec2.AcceleratorType.GPU],
|
|
37631
|
+
accelerator_manufacturers=[ec2.AcceleratorManufacturer.NVIDIA],
|
|
37632
|
+
accelerator_names=[ec2.AcceleratorName.T4, ec2.AcceleratorName.V100],
|
|
37633
|
+
accelerator_count_min=1,
|
|
37634
|
+
|
|
37635
|
+
# Storage requirements
|
|
37636
|
+
local_storage=ec2.LocalStorage.REQUIRED,
|
|
37637
|
+
local_storage_types=[ec2.LocalStorageType.SSD],
|
|
37638
|
+
total_local_storage_gBMin=100,
|
|
37639
|
+
|
|
37640
|
+
# Network requirements
|
|
37641
|
+
network_interface_count_min=2,
|
|
37642
|
+
network_bandwidth_gbps_min=10,
|
|
37643
|
+
|
|
37644
|
+
# Cost optimization
|
|
37645
|
+
on_demand_max_price_percentage_over_lowest_price=10
|
|
37646
|
+
)
|
|
37647
|
+
)
|
|
37648
|
+
'''
|
|
37649
|
+
|
|
37650
|
+
CURRENT = "CURRENT"
|
|
37651
|
+
'''Current generation instances (latest families).'''
|
|
37652
|
+
PREVIOUS = "PREVIOUS"
|
|
37653
|
+
'''Previous generation instances (older families).'''
|
|
37654
|
+
|
|
37655
|
+
|
|
36778
37656
|
@jsii.enum(jsii_type="aws-cdk-lib.aws_ec2.InstanceInitiatedShutdownBehavior")
|
|
36779
37657
|
class InstanceInitiatedShutdownBehavior(enum.Enum):
|
|
36780
37658
|
'''Provides the options for specifying the instance initiated shutdown behavior.
|
|
@@ -37653,6 +38531,676 @@ class InstanceRequireImdsv2AspectProps:
|
|
|
37653
38531
|
)
|
|
37654
38532
|
|
|
37655
38533
|
|
|
38534
|
+
@jsii.data_type(
|
|
38535
|
+
jsii_type="aws-cdk-lib.aws_ec2.InstanceRequirementsConfig",
|
|
38536
|
+
jsii_struct_bases=[],
|
|
38537
|
+
name_mapping={
|
|
38538
|
+
"memory_min": "memoryMin",
|
|
38539
|
+
"v_cpu_count_min": "vCpuCountMin",
|
|
38540
|
+
"accelerator_count_max": "acceleratorCountMax",
|
|
38541
|
+
"accelerator_count_min": "acceleratorCountMin",
|
|
38542
|
+
"accelerator_manufacturers": "acceleratorManufacturers",
|
|
38543
|
+
"accelerator_names": "acceleratorNames",
|
|
38544
|
+
"accelerator_total_memory_max": "acceleratorTotalMemoryMax",
|
|
38545
|
+
"accelerator_total_memory_min": "acceleratorTotalMemoryMin",
|
|
38546
|
+
"accelerator_types": "acceleratorTypes",
|
|
38547
|
+
"allowed_instance_types": "allowedInstanceTypes",
|
|
38548
|
+
"bare_metal": "bareMetal",
|
|
38549
|
+
"baseline_ebs_bandwidth_mbps_max": "baselineEbsBandwidthMbpsMax",
|
|
38550
|
+
"baseline_ebs_bandwidth_mbps_min": "baselineEbsBandwidthMbpsMin",
|
|
38551
|
+
"burstable_performance": "burstablePerformance",
|
|
38552
|
+
"cpu_manufacturers": "cpuManufacturers",
|
|
38553
|
+
"excluded_instance_types": "excludedInstanceTypes",
|
|
38554
|
+
"instance_generations": "instanceGenerations",
|
|
38555
|
+
"local_storage": "localStorage",
|
|
38556
|
+
"local_storage_types": "localStorageTypes",
|
|
38557
|
+
"max_spot_price_as_percentage_of_optimal_on_demand_price": "maxSpotPriceAsPercentageOfOptimalOnDemandPrice",
|
|
38558
|
+
"memory_max": "memoryMax",
|
|
38559
|
+
"memory_per_v_cpu_max": "memoryPerVCpuMax",
|
|
38560
|
+
"memory_per_v_cpu_min": "memoryPerVCpuMin",
|
|
38561
|
+
"network_bandwidth_gbps_max": "networkBandwidthGbpsMax",
|
|
38562
|
+
"network_bandwidth_gbps_min": "networkBandwidthGbpsMin",
|
|
38563
|
+
"network_interface_count_max": "networkInterfaceCountMax",
|
|
38564
|
+
"network_interface_count_min": "networkInterfaceCountMin",
|
|
38565
|
+
"on_demand_max_price_percentage_over_lowest_price": "onDemandMaxPricePercentageOverLowestPrice",
|
|
38566
|
+
"require_hibernate_support": "requireHibernateSupport",
|
|
38567
|
+
"spot_max_price_percentage_over_lowest_price": "spotMaxPricePercentageOverLowestPrice",
|
|
38568
|
+
"total_local_storage_gb_max": "totalLocalStorageGBMax",
|
|
38569
|
+
"total_local_storage_gb_min": "totalLocalStorageGBMin",
|
|
38570
|
+
"v_cpu_count_max": "vCpuCountMax",
|
|
38571
|
+
},
|
|
38572
|
+
)
|
|
38573
|
+
class InstanceRequirementsConfig:
|
|
38574
|
+
def __init__(
|
|
38575
|
+
self,
|
|
38576
|
+
*,
|
|
38577
|
+
memory_min: _Size_7b441c34,
|
|
38578
|
+
v_cpu_count_min: jsii.Number,
|
|
38579
|
+
accelerator_count_max: typing.Optional[jsii.Number] = None,
|
|
38580
|
+
accelerator_count_min: typing.Optional[jsii.Number] = None,
|
|
38581
|
+
accelerator_manufacturers: typing.Optional[typing.Sequence[AcceleratorManufacturer]] = None,
|
|
38582
|
+
accelerator_names: typing.Optional[typing.Sequence[AcceleratorName]] = None,
|
|
38583
|
+
accelerator_total_memory_max: typing.Optional[_Size_7b441c34] = None,
|
|
38584
|
+
accelerator_total_memory_min: typing.Optional[_Size_7b441c34] = None,
|
|
38585
|
+
accelerator_types: typing.Optional[typing.Sequence[AcceleratorType]] = None,
|
|
38586
|
+
allowed_instance_types: typing.Optional[typing.Sequence[builtins.str]] = None,
|
|
38587
|
+
bare_metal: typing.Optional[BareMetal] = None,
|
|
38588
|
+
baseline_ebs_bandwidth_mbps_max: typing.Optional[jsii.Number] = None,
|
|
38589
|
+
baseline_ebs_bandwidth_mbps_min: typing.Optional[jsii.Number] = None,
|
|
38590
|
+
burstable_performance: typing.Optional[BurstablePerformance] = None,
|
|
38591
|
+
cpu_manufacturers: typing.Optional[typing.Sequence[CpuManufacturer]] = None,
|
|
38592
|
+
excluded_instance_types: typing.Optional[typing.Sequence[builtins.str]] = None,
|
|
38593
|
+
instance_generations: typing.Optional[typing.Sequence[InstanceGeneration]] = None,
|
|
38594
|
+
local_storage: typing.Optional["LocalStorage"] = None,
|
|
38595
|
+
local_storage_types: typing.Optional[typing.Sequence["LocalStorageType"]] = None,
|
|
38596
|
+
max_spot_price_as_percentage_of_optimal_on_demand_price: typing.Optional[jsii.Number] = None,
|
|
38597
|
+
memory_max: typing.Optional[_Size_7b441c34] = None,
|
|
38598
|
+
memory_per_v_cpu_max: typing.Optional[_Size_7b441c34] = None,
|
|
38599
|
+
memory_per_v_cpu_min: typing.Optional[_Size_7b441c34] = None,
|
|
38600
|
+
network_bandwidth_gbps_max: typing.Optional[jsii.Number] = None,
|
|
38601
|
+
network_bandwidth_gbps_min: typing.Optional[jsii.Number] = None,
|
|
38602
|
+
network_interface_count_max: typing.Optional[jsii.Number] = None,
|
|
38603
|
+
network_interface_count_min: typing.Optional[jsii.Number] = None,
|
|
38604
|
+
on_demand_max_price_percentage_over_lowest_price: typing.Optional[jsii.Number] = None,
|
|
38605
|
+
require_hibernate_support: typing.Optional[builtins.bool] = None,
|
|
38606
|
+
spot_max_price_percentage_over_lowest_price: typing.Optional[jsii.Number] = None,
|
|
38607
|
+
total_local_storage_gb_max: typing.Optional[jsii.Number] = None,
|
|
38608
|
+
total_local_storage_gb_min: typing.Optional[jsii.Number] = None,
|
|
38609
|
+
v_cpu_count_max: typing.Optional[jsii.Number] = None,
|
|
38610
|
+
) -> None:
|
|
38611
|
+
'''The attributes for the instance types for a mixed instances policy.
|
|
38612
|
+
|
|
38613
|
+
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.
|
|
38614
|
+
|
|
38615
|
+
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:
|
|
38616
|
+
|
|
38617
|
+
- AllowedInstanceTypes - The instance types to include in the list. All other instance types are ignored, even if they match your specified attributes.
|
|
38618
|
+
- ExcludedInstanceTypes - The instance types to exclude from the list, even if they match your specified attributes.
|
|
38619
|
+
|
|
38620
|
+
Note: You must specify VCpuCount and MemoryMiB. All other attributes are optional. Any unspecified optional attribute is set to its default.
|
|
38621
|
+
|
|
38622
|
+
:param memory_min: The minimum instance memory size for an instance type, in MiB. Required: Yes
|
|
38623
|
+
:param v_cpu_count_min: The minimum number of vCPUs for an instance type. Required: Yes
|
|
38624
|
+
: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
|
|
38625
|
+
: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
|
|
38626
|
+
: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
|
|
38627
|
+
: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
|
|
38628
|
+
: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
|
|
38629
|
+
: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
|
|
38630
|
+
: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
|
|
38631
|
+
: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
|
|
38632
|
+
:param bare_metal: Indicates whether bare metal instance types are included, excluded, or required. Default: - excluded
|
|
38633
|
+
: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
|
|
38634
|
+
: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
|
|
38635
|
+
: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
|
|
38636
|
+
: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
|
|
38637
|
+
: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
|
|
38638
|
+
: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
|
|
38639
|
+
: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
|
|
38640
|
+
: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
|
|
38641
|
+
: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
|
|
38642
|
+
:param memory_max: The maximum instance memory size for an instance type, in MiB. Default: - No maximum limit
|
|
38643
|
+
: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
|
|
38644
|
+
: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
|
|
38645
|
+
:param network_bandwidth_gbps_max: The maximum amount of network bandwidth, in gigabits per second (Gbps). Default: - No minimum or maximum limits
|
|
38646
|
+
:param network_bandwidth_gbps_min: The minimum amount of network bandwidth, in gigabits per second (Gbps). Default: - No minimum or maximum limits
|
|
38647
|
+
:param network_interface_count_max: The maximum number of network interfaces for an instance type. Default: - No minimum or maximum limits
|
|
38648
|
+
:param network_interface_count_min: The minimum number of network interfaces for an instance type. Default: - No minimum or maximum limits
|
|
38649
|
+
: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
|
|
38650
|
+
:param require_hibernate_support: Indicates whether instance types must provide On-Demand Instance hibernation support. Default: - false
|
|
38651
|
+
: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
|
|
38652
|
+
:param total_local_storage_gb_max: The maximum total local storage size for an instance type, in GB. Default: - No minimum or maximum limits
|
|
38653
|
+
:param total_local_storage_gb_min: The minimum total local storage size for an instance type, in GB. Default: - No minimum or maximum limits
|
|
38654
|
+
:param v_cpu_count_max: The maximum number of vCPUs for an instance type. Default: - No maximum limit
|
|
38655
|
+
|
|
38656
|
+
:exampleMetadata: infused
|
|
38657
|
+
|
|
38658
|
+
Example::
|
|
38659
|
+
|
|
38660
|
+
# vpc: ec2.Vpc
|
|
38661
|
+
# infrastructure_role: iam.Role
|
|
38662
|
+
# instance_profile: iam.InstanceProfile
|
|
38663
|
+
|
|
38664
|
+
|
|
38665
|
+
cluster = ecs.Cluster(self, "Cluster", vpc=vpc)
|
|
38666
|
+
|
|
38667
|
+
# Create a Managed Instances Capacity Provider
|
|
38668
|
+
mi_capacity_provider = ecs.ManagedInstancesCapacityProvider(self, "MICapacityProvider",
|
|
38669
|
+
infrastructure_role=infrastructure_role,
|
|
38670
|
+
ec2_instance_profile=instance_profile,
|
|
38671
|
+
subnets=vpc.private_subnets,
|
|
38672
|
+
security_groups=[ec2.SecurityGroup(self, "MISecurityGroup", vpc=vpc)],
|
|
38673
|
+
instance_requirements=ec2.InstanceRequirementsConfig(
|
|
38674
|
+
v_cpu_count_min=1,
|
|
38675
|
+
memory_min=Size.gibibytes(2),
|
|
38676
|
+
cpu_manufacturers=[ec2.CpuManufacturer.INTEL],
|
|
38677
|
+
accelerator_manufacturers=[ec2.AcceleratorManufacturer.NVIDIA]
|
|
38678
|
+
),
|
|
38679
|
+
propagate_tags=ecs.PropagateManagedInstancesTags.CAPACITY_PROVIDER
|
|
38680
|
+
)
|
|
38681
|
+
|
|
38682
|
+
# Add the capacity provider to the cluster
|
|
38683
|
+
cluster.add_managed_instances_capacity_provider(mi_capacity_provider)
|
|
38684
|
+
|
|
38685
|
+
task_definition = ecs.Ec2TaskDefinition(self, "TaskDef")
|
|
38686
|
+
|
|
38687
|
+
task_definition.add_container("web",
|
|
38688
|
+
image=ecs.ContainerImage.from_registry("amazon/amazon-ecs-sample"),
|
|
38689
|
+
memory_reservation_mi_b=256
|
|
38690
|
+
)
|
|
38691
|
+
|
|
38692
|
+
ecs.Ec2Service(self, "EC2Service",
|
|
38693
|
+
cluster=cluster,
|
|
38694
|
+
task_definition=task_definition,
|
|
38695
|
+
min_healthy_percent=100,
|
|
38696
|
+
capacity_provider_strategies=[ecs.CapacityProviderStrategy(
|
|
38697
|
+
capacity_provider=mi_capacity_provider.capacity_provider_name,
|
|
38698
|
+
weight=1
|
|
38699
|
+
)
|
|
38700
|
+
]
|
|
38701
|
+
)
|
|
38702
|
+
'''
|
|
38703
|
+
if __debug__:
|
|
38704
|
+
type_hints = typing.get_type_hints(_typecheckingstub__ec2256eb42c017c1221986108df1dba524eae16d4aaf51d7503ce5b1f919f3cd)
|
|
38705
|
+
check_type(argname="argument memory_min", value=memory_min, expected_type=type_hints["memory_min"])
|
|
38706
|
+
check_type(argname="argument v_cpu_count_min", value=v_cpu_count_min, expected_type=type_hints["v_cpu_count_min"])
|
|
38707
|
+
check_type(argname="argument accelerator_count_max", value=accelerator_count_max, expected_type=type_hints["accelerator_count_max"])
|
|
38708
|
+
check_type(argname="argument accelerator_count_min", value=accelerator_count_min, expected_type=type_hints["accelerator_count_min"])
|
|
38709
|
+
check_type(argname="argument accelerator_manufacturers", value=accelerator_manufacturers, expected_type=type_hints["accelerator_manufacturers"])
|
|
38710
|
+
check_type(argname="argument accelerator_names", value=accelerator_names, expected_type=type_hints["accelerator_names"])
|
|
38711
|
+
check_type(argname="argument accelerator_total_memory_max", value=accelerator_total_memory_max, expected_type=type_hints["accelerator_total_memory_max"])
|
|
38712
|
+
check_type(argname="argument accelerator_total_memory_min", value=accelerator_total_memory_min, expected_type=type_hints["accelerator_total_memory_min"])
|
|
38713
|
+
check_type(argname="argument accelerator_types", value=accelerator_types, expected_type=type_hints["accelerator_types"])
|
|
38714
|
+
check_type(argname="argument allowed_instance_types", value=allowed_instance_types, expected_type=type_hints["allowed_instance_types"])
|
|
38715
|
+
check_type(argname="argument bare_metal", value=bare_metal, expected_type=type_hints["bare_metal"])
|
|
38716
|
+
check_type(argname="argument baseline_ebs_bandwidth_mbps_max", value=baseline_ebs_bandwidth_mbps_max, expected_type=type_hints["baseline_ebs_bandwidth_mbps_max"])
|
|
38717
|
+
check_type(argname="argument baseline_ebs_bandwidth_mbps_min", value=baseline_ebs_bandwidth_mbps_min, expected_type=type_hints["baseline_ebs_bandwidth_mbps_min"])
|
|
38718
|
+
check_type(argname="argument burstable_performance", value=burstable_performance, expected_type=type_hints["burstable_performance"])
|
|
38719
|
+
check_type(argname="argument cpu_manufacturers", value=cpu_manufacturers, expected_type=type_hints["cpu_manufacturers"])
|
|
38720
|
+
check_type(argname="argument excluded_instance_types", value=excluded_instance_types, expected_type=type_hints["excluded_instance_types"])
|
|
38721
|
+
check_type(argname="argument instance_generations", value=instance_generations, expected_type=type_hints["instance_generations"])
|
|
38722
|
+
check_type(argname="argument local_storage", value=local_storage, expected_type=type_hints["local_storage"])
|
|
38723
|
+
check_type(argname="argument local_storage_types", value=local_storage_types, expected_type=type_hints["local_storage_types"])
|
|
38724
|
+
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"])
|
|
38725
|
+
check_type(argname="argument memory_max", value=memory_max, expected_type=type_hints["memory_max"])
|
|
38726
|
+
check_type(argname="argument memory_per_v_cpu_max", value=memory_per_v_cpu_max, expected_type=type_hints["memory_per_v_cpu_max"])
|
|
38727
|
+
check_type(argname="argument memory_per_v_cpu_min", value=memory_per_v_cpu_min, expected_type=type_hints["memory_per_v_cpu_min"])
|
|
38728
|
+
check_type(argname="argument network_bandwidth_gbps_max", value=network_bandwidth_gbps_max, expected_type=type_hints["network_bandwidth_gbps_max"])
|
|
38729
|
+
check_type(argname="argument network_bandwidth_gbps_min", value=network_bandwidth_gbps_min, expected_type=type_hints["network_bandwidth_gbps_min"])
|
|
38730
|
+
check_type(argname="argument network_interface_count_max", value=network_interface_count_max, expected_type=type_hints["network_interface_count_max"])
|
|
38731
|
+
check_type(argname="argument network_interface_count_min", value=network_interface_count_min, expected_type=type_hints["network_interface_count_min"])
|
|
38732
|
+
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"])
|
|
38733
|
+
check_type(argname="argument require_hibernate_support", value=require_hibernate_support, expected_type=type_hints["require_hibernate_support"])
|
|
38734
|
+
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"])
|
|
38735
|
+
check_type(argname="argument total_local_storage_gb_max", value=total_local_storage_gb_max, expected_type=type_hints["total_local_storage_gb_max"])
|
|
38736
|
+
check_type(argname="argument total_local_storage_gb_min", value=total_local_storage_gb_min, expected_type=type_hints["total_local_storage_gb_min"])
|
|
38737
|
+
check_type(argname="argument v_cpu_count_max", value=v_cpu_count_max, expected_type=type_hints["v_cpu_count_max"])
|
|
38738
|
+
self._values: typing.Dict[builtins.str, typing.Any] = {
|
|
38739
|
+
"memory_min": memory_min,
|
|
38740
|
+
"v_cpu_count_min": v_cpu_count_min,
|
|
38741
|
+
}
|
|
38742
|
+
if accelerator_count_max is not None:
|
|
38743
|
+
self._values["accelerator_count_max"] = accelerator_count_max
|
|
38744
|
+
if accelerator_count_min is not None:
|
|
38745
|
+
self._values["accelerator_count_min"] = accelerator_count_min
|
|
38746
|
+
if accelerator_manufacturers is not None:
|
|
38747
|
+
self._values["accelerator_manufacturers"] = accelerator_manufacturers
|
|
38748
|
+
if accelerator_names is not None:
|
|
38749
|
+
self._values["accelerator_names"] = accelerator_names
|
|
38750
|
+
if accelerator_total_memory_max is not None:
|
|
38751
|
+
self._values["accelerator_total_memory_max"] = accelerator_total_memory_max
|
|
38752
|
+
if accelerator_total_memory_min is not None:
|
|
38753
|
+
self._values["accelerator_total_memory_min"] = accelerator_total_memory_min
|
|
38754
|
+
if accelerator_types is not None:
|
|
38755
|
+
self._values["accelerator_types"] = accelerator_types
|
|
38756
|
+
if allowed_instance_types is not None:
|
|
38757
|
+
self._values["allowed_instance_types"] = allowed_instance_types
|
|
38758
|
+
if bare_metal is not None:
|
|
38759
|
+
self._values["bare_metal"] = bare_metal
|
|
38760
|
+
if baseline_ebs_bandwidth_mbps_max is not None:
|
|
38761
|
+
self._values["baseline_ebs_bandwidth_mbps_max"] = baseline_ebs_bandwidth_mbps_max
|
|
38762
|
+
if baseline_ebs_bandwidth_mbps_min is not None:
|
|
38763
|
+
self._values["baseline_ebs_bandwidth_mbps_min"] = baseline_ebs_bandwidth_mbps_min
|
|
38764
|
+
if burstable_performance is not None:
|
|
38765
|
+
self._values["burstable_performance"] = burstable_performance
|
|
38766
|
+
if cpu_manufacturers is not None:
|
|
38767
|
+
self._values["cpu_manufacturers"] = cpu_manufacturers
|
|
38768
|
+
if excluded_instance_types is not None:
|
|
38769
|
+
self._values["excluded_instance_types"] = excluded_instance_types
|
|
38770
|
+
if instance_generations is not None:
|
|
38771
|
+
self._values["instance_generations"] = instance_generations
|
|
38772
|
+
if local_storage is not None:
|
|
38773
|
+
self._values["local_storage"] = local_storage
|
|
38774
|
+
if local_storage_types is not None:
|
|
38775
|
+
self._values["local_storage_types"] = local_storage_types
|
|
38776
|
+
if max_spot_price_as_percentage_of_optimal_on_demand_price is not None:
|
|
38777
|
+
self._values["max_spot_price_as_percentage_of_optimal_on_demand_price"] = max_spot_price_as_percentage_of_optimal_on_demand_price
|
|
38778
|
+
if memory_max is not None:
|
|
38779
|
+
self._values["memory_max"] = memory_max
|
|
38780
|
+
if memory_per_v_cpu_max is not None:
|
|
38781
|
+
self._values["memory_per_v_cpu_max"] = memory_per_v_cpu_max
|
|
38782
|
+
if memory_per_v_cpu_min is not None:
|
|
38783
|
+
self._values["memory_per_v_cpu_min"] = memory_per_v_cpu_min
|
|
38784
|
+
if network_bandwidth_gbps_max is not None:
|
|
38785
|
+
self._values["network_bandwidth_gbps_max"] = network_bandwidth_gbps_max
|
|
38786
|
+
if network_bandwidth_gbps_min is not None:
|
|
38787
|
+
self._values["network_bandwidth_gbps_min"] = network_bandwidth_gbps_min
|
|
38788
|
+
if network_interface_count_max is not None:
|
|
38789
|
+
self._values["network_interface_count_max"] = network_interface_count_max
|
|
38790
|
+
if network_interface_count_min is not None:
|
|
38791
|
+
self._values["network_interface_count_min"] = network_interface_count_min
|
|
38792
|
+
if on_demand_max_price_percentage_over_lowest_price is not None:
|
|
38793
|
+
self._values["on_demand_max_price_percentage_over_lowest_price"] = on_demand_max_price_percentage_over_lowest_price
|
|
38794
|
+
if require_hibernate_support is not None:
|
|
38795
|
+
self._values["require_hibernate_support"] = require_hibernate_support
|
|
38796
|
+
if spot_max_price_percentage_over_lowest_price is not None:
|
|
38797
|
+
self._values["spot_max_price_percentage_over_lowest_price"] = spot_max_price_percentage_over_lowest_price
|
|
38798
|
+
if total_local_storage_gb_max is not None:
|
|
38799
|
+
self._values["total_local_storage_gb_max"] = total_local_storage_gb_max
|
|
38800
|
+
if total_local_storage_gb_min is not None:
|
|
38801
|
+
self._values["total_local_storage_gb_min"] = total_local_storage_gb_min
|
|
38802
|
+
if v_cpu_count_max is not None:
|
|
38803
|
+
self._values["v_cpu_count_max"] = v_cpu_count_max
|
|
38804
|
+
|
|
38805
|
+
@builtins.property
|
|
38806
|
+
def memory_min(self) -> _Size_7b441c34:
|
|
38807
|
+
'''The minimum instance memory size for an instance type, in MiB.
|
|
38808
|
+
|
|
38809
|
+
Required: Yes
|
|
38810
|
+
'''
|
|
38811
|
+
result = self._values.get("memory_min")
|
|
38812
|
+
assert result is not None, "Required property 'memory_min' is missing"
|
|
38813
|
+
return typing.cast(_Size_7b441c34, result)
|
|
38814
|
+
|
|
38815
|
+
@builtins.property
|
|
38816
|
+
def v_cpu_count_min(self) -> jsii.Number:
|
|
38817
|
+
'''The minimum number of vCPUs for an instance type.
|
|
38818
|
+
|
|
38819
|
+
Required: Yes
|
|
38820
|
+
'''
|
|
38821
|
+
result = self._values.get("v_cpu_count_min")
|
|
38822
|
+
assert result is not None, "Required property 'v_cpu_count_min' is missing"
|
|
38823
|
+
return typing.cast(jsii.Number, result)
|
|
38824
|
+
|
|
38825
|
+
@builtins.property
|
|
38826
|
+
def accelerator_count_max(self) -> typing.Optional[jsii.Number]:
|
|
38827
|
+
'''The maximum number of accelerators (GPUs, FPGAs, or AWS Inferentia chips) for an instance type.
|
|
38828
|
+
|
|
38829
|
+
To exclude accelerator-enabled instance types, set Max to 0.
|
|
38830
|
+
|
|
38831
|
+
:default: - No minimum or maximum limits
|
|
38832
|
+
'''
|
|
38833
|
+
result = self._values.get("accelerator_count_max")
|
|
38834
|
+
return typing.cast(typing.Optional[jsii.Number], result)
|
|
38835
|
+
|
|
38836
|
+
@builtins.property
|
|
38837
|
+
def accelerator_count_min(self) -> typing.Optional[jsii.Number]:
|
|
38838
|
+
'''The minimum number of accelerators (GPUs, FPGAs, or AWS Inferentia chips) for an instance type.
|
|
38839
|
+
|
|
38840
|
+
To exclude accelerator-enabled instance types, set acceleratorCountMax to 0.
|
|
38841
|
+
|
|
38842
|
+
:default: - No minimum or maximum limits
|
|
38843
|
+
'''
|
|
38844
|
+
result = self._values.get("accelerator_count_min")
|
|
38845
|
+
return typing.cast(typing.Optional[jsii.Number], result)
|
|
38846
|
+
|
|
38847
|
+
@builtins.property
|
|
38848
|
+
def accelerator_manufacturers(
|
|
38849
|
+
self,
|
|
38850
|
+
) -> typing.Optional[typing.List[AcceleratorManufacturer]]:
|
|
38851
|
+
'''Indicates whether instance types must have accelerators by specific manufacturers.
|
|
38852
|
+
|
|
38853
|
+
- For instance types with NVIDIA devices, specify nvidia.
|
|
38854
|
+
- For instance types with AMD devices, specify amd.
|
|
38855
|
+
- For instance types with AWS devices, specify amazon-web-services.
|
|
38856
|
+
- For instance types with Xilinx devices, specify xilinx.
|
|
38857
|
+
|
|
38858
|
+
:default: - Any manufacturer
|
|
38859
|
+
'''
|
|
38860
|
+
result = self._values.get("accelerator_manufacturers")
|
|
38861
|
+
return typing.cast(typing.Optional[typing.List[AcceleratorManufacturer]], result)
|
|
38862
|
+
|
|
38863
|
+
@builtins.property
|
|
38864
|
+
def accelerator_names(self) -> typing.Optional[typing.List[AcceleratorName]]:
|
|
38865
|
+
'''Lists the accelerators that must be on an instance type.
|
|
38866
|
+
|
|
38867
|
+
- For instance types with NVIDIA A100 GPUs, specify a100.
|
|
38868
|
+
- For instance types with NVIDIA V100 GPUs, specify v100.
|
|
38869
|
+
- For instance types with NVIDIA K80 GPUs, specify k80.
|
|
38870
|
+
- For instance types with NVIDIA T4 GPUs, specify t4.
|
|
38871
|
+
- For instance types with NVIDIA M60 GPUs, specify m60.
|
|
38872
|
+
- For instance types with AMD Radeon Pro V520 GPUs, specify radeon-pro-v520.
|
|
38873
|
+
- For instance types with Xilinx VU9P FPGAs, specify vu9p.
|
|
38874
|
+
|
|
38875
|
+
:default: - Any accelerator
|
|
38876
|
+
'''
|
|
38877
|
+
result = self._values.get("accelerator_names")
|
|
38878
|
+
return typing.cast(typing.Optional[typing.List[AcceleratorName]], result)
|
|
38879
|
+
|
|
38880
|
+
@builtins.property
|
|
38881
|
+
def accelerator_total_memory_max(self) -> typing.Optional[_Size_7b441c34]:
|
|
38882
|
+
'''The maximum total memory size for the accelerators on an instance type, in MiB.
|
|
38883
|
+
|
|
38884
|
+
:default: - No minimum or maximum limits
|
|
38885
|
+
'''
|
|
38886
|
+
result = self._values.get("accelerator_total_memory_max")
|
|
38887
|
+
return typing.cast(typing.Optional[_Size_7b441c34], result)
|
|
38888
|
+
|
|
38889
|
+
@builtins.property
|
|
38890
|
+
def accelerator_total_memory_min(self) -> typing.Optional[_Size_7b441c34]:
|
|
38891
|
+
'''The minimum total memory size for the accelerators on an instance type, in MiB.
|
|
38892
|
+
|
|
38893
|
+
:default: - No minimum or maximum limits
|
|
38894
|
+
'''
|
|
38895
|
+
result = self._values.get("accelerator_total_memory_min")
|
|
38896
|
+
return typing.cast(typing.Optional[_Size_7b441c34], result)
|
|
38897
|
+
|
|
38898
|
+
@builtins.property
|
|
38899
|
+
def accelerator_types(self) -> typing.Optional[typing.List[AcceleratorType]]:
|
|
38900
|
+
'''Lists the accelerator types that must be on an instance type.
|
|
38901
|
+
|
|
38902
|
+
- For instance types with GPU accelerators, specify gpu.
|
|
38903
|
+
- For instance types with FPGA accelerators, specify fpga.
|
|
38904
|
+
- For instance types with inference accelerators, specify inference.
|
|
38905
|
+
|
|
38906
|
+
:default: - Any accelerator type
|
|
38907
|
+
'''
|
|
38908
|
+
result = self._values.get("accelerator_types")
|
|
38909
|
+
return typing.cast(typing.Optional[typing.List[AcceleratorType]], result)
|
|
38910
|
+
|
|
38911
|
+
@builtins.property
|
|
38912
|
+
def allowed_instance_types(self) -> typing.Optional[typing.List[builtins.str]]:
|
|
38913
|
+
'''The instance types to apply your specified attributes against.
|
|
38914
|
+
|
|
38915
|
+
All other instance types are ignored, even if they match your specified attributes.
|
|
38916
|
+
|
|
38917
|
+
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*.
|
|
38918
|
+
|
|
38919
|
+
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.
|
|
38920
|
+
|
|
38921
|
+
Note: If you specify AllowedInstanceTypes, you can't specify ExcludedInstanceTypes.
|
|
38922
|
+
|
|
38923
|
+
:default: - All instance types
|
|
38924
|
+
'''
|
|
38925
|
+
result = self._values.get("allowed_instance_types")
|
|
38926
|
+
return typing.cast(typing.Optional[typing.List[builtins.str]], result)
|
|
38927
|
+
|
|
38928
|
+
@builtins.property
|
|
38929
|
+
def bare_metal(self) -> typing.Optional[BareMetal]:
|
|
38930
|
+
'''Indicates whether bare metal instance types are included, excluded, or required.
|
|
38931
|
+
|
|
38932
|
+
:default: - excluded
|
|
38933
|
+
'''
|
|
38934
|
+
result = self._values.get("bare_metal")
|
|
38935
|
+
return typing.cast(typing.Optional[BareMetal], result)
|
|
38936
|
+
|
|
38937
|
+
@builtins.property
|
|
38938
|
+
def baseline_ebs_bandwidth_mbps_max(self) -> typing.Optional[jsii.Number]:
|
|
38939
|
+
'''The maximum baseline bandwidth performance for an instance type, in Mbps.
|
|
38940
|
+
|
|
38941
|
+
For more information, see Amazon EBS–optimized instances in the Amazon EC2 User Guide.
|
|
38942
|
+
|
|
38943
|
+
:default: - No minimum or maximum limits
|
|
38944
|
+
'''
|
|
38945
|
+
result = self._values.get("baseline_ebs_bandwidth_mbps_max")
|
|
38946
|
+
return typing.cast(typing.Optional[jsii.Number], result)
|
|
38947
|
+
|
|
38948
|
+
@builtins.property
|
|
38949
|
+
def baseline_ebs_bandwidth_mbps_min(self) -> typing.Optional[jsii.Number]:
|
|
38950
|
+
'''The minimum baseline bandwidth performance for an instance type, in Mbps.
|
|
38951
|
+
|
|
38952
|
+
For more information, see Amazon EBS–optimized instances in the Amazon EC2 User Guide.
|
|
38953
|
+
|
|
38954
|
+
:default: - No minimum or maximum limits
|
|
38955
|
+
'''
|
|
38956
|
+
result = self._values.get("baseline_ebs_bandwidth_mbps_min")
|
|
38957
|
+
return typing.cast(typing.Optional[jsii.Number], result)
|
|
38958
|
+
|
|
38959
|
+
@builtins.property
|
|
38960
|
+
def burstable_performance(self) -> typing.Optional[BurstablePerformance]:
|
|
38961
|
+
'''Indicates whether burstable performance instance types are included, excluded, or required.
|
|
38962
|
+
|
|
38963
|
+
For more information, see Burstable performance instances in the Amazon EC2 User Guide.
|
|
38964
|
+
|
|
38965
|
+
:default: - excluded
|
|
38966
|
+
'''
|
|
38967
|
+
result = self._values.get("burstable_performance")
|
|
38968
|
+
return typing.cast(typing.Optional[BurstablePerformance], result)
|
|
38969
|
+
|
|
38970
|
+
@builtins.property
|
|
38971
|
+
def cpu_manufacturers(self) -> typing.Optional[typing.List[CpuManufacturer]]:
|
|
38972
|
+
'''Lists which specific CPU manufacturers to include.
|
|
38973
|
+
|
|
38974
|
+
- For instance types with Intel CPUs, specify intel.
|
|
38975
|
+
- For instance types with AMD CPUs, specify amd.
|
|
38976
|
+
- For instance types with AWS CPUs, specify amazon-web-services.
|
|
38977
|
+
- For instance types with Apple CPUs, specify apple.
|
|
38978
|
+
|
|
38979
|
+
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.
|
|
38980
|
+
|
|
38981
|
+
:default: - Any manufacturer
|
|
38982
|
+
'''
|
|
38983
|
+
result = self._values.get("cpu_manufacturers")
|
|
38984
|
+
return typing.cast(typing.Optional[typing.List[CpuManufacturer]], result)
|
|
38985
|
+
|
|
38986
|
+
@builtins.property
|
|
38987
|
+
def excluded_instance_types(self) -> typing.Optional[typing.List[builtins.str]]:
|
|
38988
|
+
'''The instance types to exclude.
|
|
38989
|
+
|
|
38990
|
+
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*.
|
|
38991
|
+
|
|
38992
|
+
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.
|
|
38993
|
+
|
|
38994
|
+
Note: If you specify ExcludedInstanceTypes, you can't specify AllowedInstanceTypes.
|
|
38995
|
+
|
|
38996
|
+
:default: - No excluded instance types
|
|
38997
|
+
'''
|
|
38998
|
+
result = self._values.get("excluded_instance_types")
|
|
38999
|
+
return typing.cast(typing.Optional[typing.List[builtins.str]], result)
|
|
39000
|
+
|
|
39001
|
+
@builtins.property
|
|
39002
|
+
def instance_generations(self) -> typing.Optional[typing.List[InstanceGeneration]]:
|
|
39003
|
+
'''Indicates whether current or previous generation instance types are included.
|
|
39004
|
+
|
|
39005
|
+
- 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.
|
|
39006
|
+
- For previous generation instance types, specify previous.
|
|
39007
|
+
|
|
39008
|
+
:default: - Any current or previous generation
|
|
39009
|
+
'''
|
|
39010
|
+
result = self._values.get("instance_generations")
|
|
39011
|
+
return typing.cast(typing.Optional[typing.List[InstanceGeneration]], result)
|
|
39012
|
+
|
|
39013
|
+
@builtins.property
|
|
39014
|
+
def local_storage(self) -> typing.Optional["LocalStorage"]:
|
|
39015
|
+
'''Indicates whether instance types with instance store volumes are included, excluded, or required.
|
|
39016
|
+
|
|
39017
|
+
For more information, see Amazon EC2 instance store in the Amazon EC2 User Guide.
|
|
39018
|
+
|
|
39019
|
+
:default: - included
|
|
39020
|
+
'''
|
|
39021
|
+
result = self._values.get("local_storage")
|
|
39022
|
+
return typing.cast(typing.Optional["LocalStorage"], result)
|
|
39023
|
+
|
|
39024
|
+
@builtins.property
|
|
39025
|
+
def local_storage_types(self) -> typing.Optional[typing.List["LocalStorageType"]]:
|
|
39026
|
+
'''Indicates the type of local storage that is required.
|
|
39027
|
+
|
|
39028
|
+
- For instance types with hard disk drive (HDD) storage, specify hdd.
|
|
39029
|
+
- For instance types with solid state drive (SSD) storage, specify ssd.
|
|
39030
|
+
|
|
39031
|
+
:default: - Any local storage type
|
|
39032
|
+
'''
|
|
39033
|
+
result = self._values.get("local_storage_types")
|
|
39034
|
+
return typing.cast(typing.Optional[typing.List["LocalStorageType"]], result)
|
|
39035
|
+
|
|
39036
|
+
@builtins.property
|
|
39037
|
+
def max_spot_price_as_percentage_of_optimal_on_demand_price(
|
|
39038
|
+
self,
|
|
39039
|
+
) -> typing.Optional[jsii.Number]:
|
|
39040
|
+
'''[Price protection] The price protection threshold for Spot Instances, as a percentage of an identified On-Demand price.
|
|
39041
|
+
|
|
39042
|
+
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.
|
|
39043
|
+
|
|
39044
|
+
The parameter accepts an integer, which Amazon EC2 Auto Scaling interprets as a percentage.
|
|
39045
|
+
|
|
39046
|
+
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.
|
|
39047
|
+
|
|
39048
|
+
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.
|
|
39049
|
+
|
|
39050
|
+
:default: - Automatic optimal price protection
|
|
39051
|
+
'''
|
|
39052
|
+
result = self._values.get("max_spot_price_as_percentage_of_optimal_on_demand_price")
|
|
39053
|
+
return typing.cast(typing.Optional[jsii.Number], result)
|
|
39054
|
+
|
|
39055
|
+
@builtins.property
|
|
39056
|
+
def memory_max(self) -> typing.Optional[_Size_7b441c34]:
|
|
39057
|
+
'''The maximum instance memory size for an instance type, in MiB.
|
|
39058
|
+
|
|
39059
|
+
:default: - No maximum limit
|
|
39060
|
+
'''
|
|
39061
|
+
result = self._values.get("memory_max")
|
|
39062
|
+
return typing.cast(typing.Optional[_Size_7b441c34], result)
|
|
39063
|
+
|
|
39064
|
+
@builtins.property
|
|
39065
|
+
def memory_per_v_cpu_max(self) -> typing.Optional[_Size_7b441c34]:
|
|
39066
|
+
'''The maximum amount of memory per vCPU for an instance type, in GiB.
|
|
39067
|
+
|
|
39068
|
+
:default: - No minimum or maximum limits
|
|
39069
|
+
'''
|
|
39070
|
+
result = self._values.get("memory_per_v_cpu_max")
|
|
39071
|
+
return typing.cast(typing.Optional[_Size_7b441c34], result)
|
|
39072
|
+
|
|
39073
|
+
@builtins.property
|
|
39074
|
+
def memory_per_v_cpu_min(self) -> typing.Optional[_Size_7b441c34]:
|
|
39075
|
+
'''The minimum amount of memory per vCPU for an instance type, in GiB.
|
|
39076
|
+
|
|
39077
|
+
:default: - No minimum or maximum limits
|
|
39078
|
+
'''
|
|
39079
|
+
result = self._values.get("memory_per_v_cpu_min")
|
|
39080
|
+
return typing.cast(typing.Optional[_Size_7b441c34], result)
|
|
39081
|
+
|
|
39082
|
+
@builtins.property
|
|
39083
|
+
def network_bandwidth_gbps_max(self) -> typing.Optional[jsii.Number]:
|
|
39084
|
+
'''The maximum amount of network bandwidth, in gigabits per second (Gbps).
|
|
39085
|
+
|
|
39086
|
+
:default: - No minimum or maximum limits
|
|
39087
|
+
'''
|
|
39088
|
+
result = self._values.get("network_bandwidth_gbps_max")
|
|
39089
|
+
return typing.cast(typing.Optional[jsii.Number], result)
|
|
39090
|
+
|
|
39091
|
+
@builtins.property
|
|
39092
|
+
def network_bandwidth_gbps_min(self) -> typing.Optional[jsii.Number]:
|
|
39093
|
+
'''The minimum amount of network bandwidth, in gigabits per second (Gbps).
|
|
39094
|
+
|
|
39095
|
+
:default: - No minimum or maximum limits
|
|
39096
|
+
'''
|
|
39097
|
+
result = self._values.get("network_bandwidth_gbps_min")
|
|
39098
|
+
return typing.cast(typing.Optional[jsii.Number], result)
|
|
39099
|
+
|
|
39100
|
+
@builtins.property
|
|
39101
|
+
def network_interface_count_max(self) -> typing.Optional[jsii.Number]:
|
|
39102
|
+
'''The maximum number of network interfaces for an instance type.
|
|
39103
|
+
|
|
39104
|
+
:default: - No minimum or maximum limits
|
|
39105
|
+
'''
|
|
39106
|
+
result = self._values.get("network_interface_count_max")
|
|
39107
|
+
return typing.cast(typing.Optional[jsii.Number], result)
|
|
39108
|
+
|
|
39109
|
+
@builtins.property
|
|
39110
|
+
def network_interface_count_min(self) -> typing.Optional[jsii.Number]:
|
|
39111
|
+
'''The minimum number of network interfaces for an instance type.
|
|
39112
|
+
|
|
39113
|
+
:default: - No minimum or maximum limits
|
|
39114
|
+
'''
|
|
39115
|
+
result = self._values.get("network_interface_count_min")
|
|
39116
|
+
return typing.cast(typing.Optional[jsii.Number], result)
|
|
39117
|
+
|
|
39118
|
+
@builtins.property
|
|
39119
|
+
def on_demand_max_price_percentage_over_lowest_price(
|
|
39120
|
+
self,
|
|
39121
|
+
) -> typing.Optional[jsii.Number]:
|
|
39122
|
+
'''[Price protection] The price protection threshold for On-Demand Instances, as a percentage higher than an identified On-Demand price.
|
|
39123
|
+
|
|
39124
|
+
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.
|
|
39125
|
+
|
|
39126
|
+
The parameter accepts an integer, which Amazon EC2 Auto Scaling interprets as a percentage.
|
|
39127
|
+
|
|
39128
|
+
To turn off price protection, specify a high value, such as 999999.
|
|
39129
|
+
|
|
39130
|
+
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.
|
|
39131
|
+
|
|
39132
|
+
:default: - 20
|
|
39133
|
+
'''
|
|
39134
|
+
result = self._values.get("on_demand_max_price_percentage_over_lowest_price")
|
|
39135
|
+
return typing.cast(typing.Optional[jsii.Number], result)
|
|
39136
|
+
|
|
39137
|
+
@builtins.property
|
|
39138
|
+
def require_hibernate_support(self) -> typing.Optional[builtins.bool]:
|
|
39139
|
+
'''Indicates whether instance types must provide On-Demand Instance hibernation support.
|
|
39140
|
+
|
|
39141
|
+
:default: - false
|
|
39142
|
+
'''
|
|
39143
|
+
result = self._values.get("require_hibernate_support")
|
|
39144
|
+
return typing.cast(typing.Optional[builtins.bool], result)
|
|
39145
|
+
|
|
39146
|
+
@builtins.property
|
|
39147
|
+
def spot_max_price_percentage_over_lowest_price(
|
|
39148
|
+
self,
|
|
39149
|
+
) -> typing.Optional[jsii.Number]:
|
|
39150
|
+
'''[Price protection] The price protection threshold for Spot Instances, as a percentage higher than an identified Spot price.
|
|
39151
|
+
|
|
39152
|
+
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.
|
|
39153
|
+
|
|
39154
|
+
The parameter accepts an integer, which Amazon EC2 Auto Scaling interprets as a percentage.
|
|
39155
|
+
|
|
39156
|
+
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.
|
|
39157
|
+
|
|
39158
|
+
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.
|
|
39159
|
+
|
|
39160
|
+
:default: - Automatic optimal price protection
|
|
39161
|
+
'''
|
|
39162
|
+
result = self._values.get("spot_max_price_percentage_over_lowest_price")
|
|
39163
|
+
return typing.cast(typing.Optional[jsii.Number], result)
|
|
39164
|
+
|
|
39165
|
+
@builtins.property
|
|
39166
|
+
def total_local_storage_gb_max(self) -> typing.Optional[jsii.Number]:
|
|
39167
|
+
'''The maximum total local storage size for an instance type, in GB.
|
|
39168
|
+
|
|
39169
|
+
:default: - No minimum or maximum limits
|
|
39170
|
+
'''
|
|
39171
|
+
result = self._values.get("total_local_storage_gb_max")
|
|
39172
|
+
return typing.cast(typing.Optional[jsii.Number], result)
|
|
39173
|
+
|
|
39174
|
+
@builtins.property
|
|
39175
|
+
def total_local_storage_gb_min(self) -> typing.Optional[jsii.Number]:
|
|
39176
|
+
'''The minimum total local storage size for an instance type, in GB.
|
|
39177
|
+
|
|
39178
|
+
:default: - No minimum or maximum limits
|
|
39179
|
+
'''
|
|
39180
|
+
result = self._values.get("total_local_storage_gb_min")
|
|
39181
|
+
return typing.cast(typing.Optional[jsii.Number], result)
|
|
39182
|
+
|
|
39183
|
+
@builtins.property
|
|
39184
|
+
def v_cpu_count_max(self) -> typing.Optional[jsii.Number]:
|
|
39185
|
+
'''The maximum number of vCPUs for an instance type.
|
|
39186
|
+
|
|
39187
|
+
:default: - No maximum limit
|
|
39188
|
+
'''
|
|
39189
|
+
result = self._values.get("v_cpu_count_max")
|
|
39190
|
+
return typing.cast(typing.Optional[jsii.Number], result)
|
|
39191
|
+
|
|
39192
|
+
def __eq__(self, rhs: typing.Any) -> builtins.bool:
|
|
39193
|
+
return isinstance(rhs, self.__class__) and rhs._values == self._values
|
|
39194
|
+
|
|
39195
|
+
def __ne__(self, rhs: typing.Any) -> builtins.bool:
|
|
39196
|
+
return not (rhs == self)
|
|
39197
|
+
|
|
39198
|
+
def __repr__(self) -> str:
|
|
39199
|
+
return "InstanceRequirementsConfig(%s)" % ", ".join(
|
|
39200
|
+
k + "=" + repr(v) for k, v in self._values.items()
|
|
39201
|
+
)
|
|
39202
|
+
|
|
39203
|
+
|
|
37656
39204
|
@jsii.enum(jsii_type="aws-cdk-lib.aws_ec2.InstanceSize")
|
|
37657
39205
|
class InstanceSize(enum.Enum):
|
|
37658
39206
|
'''What size of instance to use.
|
|
@@ -42446,6 +43994,262 @@ class LocalGatewayRouteTableVirtualInterfaceGroupAssociationReference:
|
|
|
42446
43994
|
)
|
|
42447
43995
|
|
|
42448
43996
|
|
|
43997
|
+
@jsii.data_type(
|
|
43998
|
+
jsii_type="aws-cdk-lib.aws_ec2.LocalGatewayVirtualInterfaceGroupReference",
|
|
43999
|
+
jsii_struct_bases=[],
|
|
44000
|
+
name_mapping={
|
|
44001
|
+
"local_gateway_virtual_interface_group_arn": "localGatewayVirtualInterfaceGroupArn",
|
|
44002
|
+
"local_gateway_virtual_interface_group_id": "localGatewayVirtualInterfaceGroupId",
|
|
44003
|
+
},
|
|
44004
|
+
)
|
|
44005
|
+
class LocalGatewayVirtualInterfaceGroupReference:
|
|
44006
|
+
def __init__(
|
|
44007
|
+
self,
|
|
44008
|
+
*,
|
|
44009
|
+
local_gateway_virtual_interface_group_arn: builtins.str,
|
|
44010
|
+
local_gateway_virtual_interface_group_id: builtins.str,
|
|
44011
|
+
) -> None:
|
|
44012
|
+
'''A reference to a LocalGatewayVirtualInterfaceGroup resource.
|
|
44013
|
+
|
|
44014
|
+
:param local_gateway_virtual_interface_group_arn: The ARN of the LocalGatewayVirtualInterfaceGroup resource.
|
|
44015
|
+
:param local_gateway_virtual_interface_group_id: The LocalGatewayVirtualInterfaceGroupId of the LocalGatewayVirtualInterfaceGroup resource.
|
|
44016
|
+
|
|
44017
|
+
:exampleMetadata: fixture=_generated
|
|
44018
|
+
|
|
44019
|
+
Example::
|
|
44020
|
+
|
|
44021
|
+
# The code below shows an example of how to instantiate this type.
|
|
44022
|
+
# The values are placeholders you should change.
|
|
44023
|
+
from aws_cdk import aws_ec2 as ec2
|
|
44024
|
+
|
|
44025
|
+
local_gateway_virtual_interface_group_reference = ec2.LocalGatewayVirtualInterfaceGroupReference(
|
|
44026
|
+
local_gateway_virtual_interface_group_arn="localGatewayVirtualInterfaceGroupArn",
|
|
44027
|
+
local_gateway_virtual_interface_group_id="localGatewayVirtualInterfaceGroupId"
|
|
44028
|
+
)
|
|
44029
|
+
'''
|
|
44030
|
+
if __debug__:
|
|
44031
|
+
type_hints = typing.get_type_hints(_typecheckingstub__c5749867b83865efb222663d0629d4ad2212132a3d659cf6e5b6eefb44fdc1b9)
|
|
44032
|
+
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"])
|
|
44033
|
+
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"])
|
|
44034
|
+
self._values: typing.Dict[builtins.str, typing.Any] = {
|
|
44035
|
+
"local_gateway_virtual_interface_group_arn": local_gateway_virtual_interface_group_arn,
|
|
44036
|
+
"local_gateway_virtual_interface_group_id": local_gateway_virtual_interface_group_id,
|
|
44037
|
+
}
|
|
44038
|
+
|
|
44039
|
+
@builtins.property
|
|
44040
|
+
def local_gateway_virtual_interface_group_arn(self) -> builtins.str:
|
|
44041
|
+
'''The ARN of the LocalGatewayVirtualInterfaceGroup resource.'''
|
|
44042
|
+
result = self._values.get("local_gateway_virtual_interface_group_arn")
|
|
44043
|
+
assert result is not None, "Required property 'local_gateway_virtual_interface_group_arn' is missing"
|
|
44044
|
+
return typing.cast(builtins.str, result)
|
|
44045
|
+
|
|
44046
|
+
@builtins.property
|
|
44047
|
+
def local_gateway_virtual_interface_group_id(self) -> builtins.str:
|
|
44048
|
+
'''The LocalGatewayVirtualInterfaceGroupId of the LocalGatewayVirtualInterfaceGroup resource.'''
|
|
44049
|
+
result = self._values.get("local_gateway_virtual_interface_group_id")
|
|
44050
|
+
assert result is not None, "Required property 'local_gateway_virtual_interface_group_id' is missing"
|
|
44051
|
+
return typing.cast(builtins.str, result)
|
|
44052
|
+
|
|
44053
|
+
def __eq__(self, rhs: typing.Any) -> builtins.bool:
|
|
44054
|
+
return isinstance(rhs, self.__class__) and rhs._values == self._values
|
|
44055
|
+
|
|
44056
|
+
def __ne__(self, rhs: typing.Any) -> builtins.bool:
|
|
44057
|
+
return not (rhs == self)
|
|
44058
|
+
|
|
44059
|
+
def __repr__(self) -> str:
|
|
44060
|
+
return "LocalGatewayVirtualInterfaceGroupReference(%s)" % ", ".join(
|
|
44061
|
+
k + "=" + repr(v) for k, v in self._values.items()
|
|
44062
|
+
)
|
|
44063
|
+
|
|
44064
|
+
|
|
44065
|
+
@jsii.data_type(
|
|
44066
|
+
jsii_type="aws-cdk-lib.aws_ec2.LocalGatewayVirtualInterfaceReference",
|
|
44067
|
+
jsii_struct_bases=[],
|
|
44068
|
+
name_mapping={
|
|
44069
|
+
"local_gateway_virtual_interface_id": "localGatewayVirtualInterfaceId",
|
|
44070
|
+
},
|
|
44071
|
+
)
|
|
44072
|
+
class LocalGatewayVirtualInterfaceReference:
|
|
44073
|
+
def __init__(self, *, local_gateway_virtual_interface_id: builtins.str) -> None:
|
|
44074
|
+
'''A reference to a LocalGatewayVirtualInterface resource.
|
|
44075
|
+
|
|
44076
|
+
:param local_gateway_virtual_interface_id: The LocalGatewayVirtualInterfaceId of the LocalGatewayVirtualInterface resource.
|
|
44077
|
+
|
|
44078
|
+
:exampleMetadata: fixture=_generated
|
|
44079
|
+
|
|
44080
|
+
Example::
|
|
44081
|
+
|
|
44082
|
+
# The code below shows an example of how to instantiate this type.
|
|
44083
|
+
# The values are placeholders you should change.
|
|
44084
|
+
from aws_cdk import aws_ec2 as ec2
|
|
44085
|
+
|
|
44086
|
+
local_gateway_virtual_interface_reference = ec2.LocalGatewayVirtualInterfaceReference(
|
|
44087
|
+
local_gateway_virtual_interface_id="localGatewayVirtualInterfaceId"
|
|
44088
|
+
)
|
|
44089
|
+
'''
|
|
44090
|
+
if __debug__:
|
|
44091
|
+
type_hints = typing.get_type_hints(_typecheckingstub__370c12dc1c7162c4f581d58e74af3136efcbc6bf0ba1e90bcab50deb09c4733f)
|
|
44092
|
+
check_type(argname="argument local_gateway_virtual_interface_id", value=local_gateway_virtual_interface_id, expected_type=type_hints["local_gateway_virtual_interface_id"])
|
|
44093
|
+
self._values: typing.Dict[builtins.str, typing.Any] = {
|
|
44094
|
+
"local_gateway_virtual_interface_id": local_gateway_virtual_interface_id,
|
|
44095
|
+
}
|
|
44096
|
+
|
|
44097
|
+
@builtins.property
|
|
44098
|
+
def local_gateway_virtual_interface_id(self) -> builtins.str:
|
|
44099
|
+
'''The LocalGatewayVirtualInterfaceId of the LocalGatewayVirtualInterface resource.'''
|
|
44100
|
+
result = self._values.get("local_gateway_virtual_interface_id")
|
|
44101
|
+
assert result is not None, "Required property 'local_gateway_virtual_interface_id' is missing"
|
|
44102
|
+
return typing.cast(builtins.str, result)
|
|
44103
|
+
|
|
44104
|
+
def __eq__(self, rhs: typing.Any) -> builtins.bool:
|
|
44105
|
+
return isinstance(rhs, self.__class__) and rhs._values == self._values
|
|
44106
|
+
|
|
44107
|
+
def __ne__(self, rhs: typing.Any) -> builtins.bool:
|
|
44108
|
+
return not (rhs == self)
|
|
44109
|
+
|
|
44110
|
+
def __repr__(self) -> str:
|
|
44111
|
+
return "LocalGatewayVirtualInterfaceReference(%s)" % ", ".join(
|
|
44112
|
+
k + "=" + repr(v) for k, v in self._values.items()
|
|
44113
|
+
)
|
|
44114
|
+
|
|
44115
|
+
|
|
44116
|
+
@jsii.enum(jsii_type="aws-cdk-lib.aws_ec2.LocalStorage")
|
|
44117
|
+
class LocalStorage(enum.Enum):
|
|
44118
|
+
'''Local storage support requirements for EC2 instances.
|
|
44119
|
+
|
|
44120
|
+
Controls whether selected instance types must, may, or must not
|
|
44121
|
+
include directly attached local storage (instance store).
|
|
44122
|
+
|
|
44123
|
+
:exampleMetadata: infused
|
|
44124
|
+
|
|
44125
|
+
Example::
|
|
44126
|
+
|
|
44127
|
+
# infrastructure_role: iam.Role
|
|
44128
|
+
# instance_profile: iam.InstanceProfile
|
|
44129
|
+
# vpc: ec2.Vpc
|
|
44130
|
+
|
|
44131
|
+
|
|
44132
|
+
mi_capacity_provider = ecs.ManagedInstancesCapacityProvider(self, "MICapacityProvider",
|
|
44133
|
+
infrastructure_role=infrastructure_role,
|
|
44134
|
+
ec2_instance_profile=instance_profile,
|
|
44135
|
+
subnets=vpc.private_subnets,
|
|
44136
|
+
instance_requirements=ec2.InstanceRequirementsConfig(
|
|
44137
|
+
# Required: CPU and memory constraints
|
|
44138
|
+
v_cpu_count_min=2,
|
|
44139
|
+
v_cpu_count_max=8,
|
|
44140
|
+
memory_min=Size.gibibytes(4),
|
|
44141
|
+
memory_max=Size.gibibytes(32),
|
|
44142
|
+
|
|
44143
|
+
# CPU preferences
|
|
44144
|
+
cpu_manufacturers=[ec2.CpuManufacturer.INTEL, ec2.CpuManufacturer.AMD],
|
|
44145
|
+
instance_generations=[ec2.InstanceGeneration.CURRENT],
|
|
44146
|
+
|
|
44147
|
+
# Instance type filtering
|
|
44148
|
+
allowed_instance_types=["m5.*", "c5.*"],
|
|
44149
|
+
|
|
44150
|
+
# Performance characteristics
|
|
44151
|
+
burstable_performance=ec2.BurstablePerformance.EXCLUDED,
|
|
44152
|
+
bare_metal=ec2.BareMetal.EXCLUDED,
|
|
44153
|
+
|
|
44154
|
+
# Accelerator requirements (for ML/AI workloads)
|
|
44155
|
+
accelerator_types=[ec2.AcceleratorType.GPU],
|
|
44156
|
+
accelerator_manufacturers=[ec2.AcceleratorManufacturer.NVIDIA],
|
|
44157
|
+
accelerator_names=[ec2.AcceleratorName.T4, ec2.AcceleratorName.V100],
|
|
44158
|
+
accelerator_count_min=1,
|
|
44159
|
+
|
|
44160
|
+
# Storage requirements
|
|
44161
|
+
local_storage=ec2.LocalStorage.REQUIRED,
|
|
44162
|
+
local_storage_types=[ec2.LocalStorageType.SSD],
|
|
44163
|
+
total_local_storage_gBMin=100,
|
|
44164
|
+
|
|
44165
|
+
# Network requirements
|
|
44166
|
+
network_interface_count_min=2,
|
|
44167
|
+
network_bandwidth_gbps_min=10,
|
|
44168
|
+
|
|
44169
|
+
# Cost optimization
|
|
44170
|
+
on_demand_max_price_percentage_over_lowest_price=10
|
|
44171
|
+
)
|
|
44172
|
+
)
|
|
44173
|
+
'''
|
|
44174
|
+
|
|
44175
|
+
INCLUDED = "INCLUDED"
|
|
44176
|
+
'''Instance types with local storage are allowed, but types without local storage may also be selected.'''
|
|
44177
|
+
REQUIRED = "REQUIRED"
|
|
44178
|
+
'''Only instance types with local storage are allowed.
|
|
44179
|
+
|
|
44180
|
+
Types without local storage will be excluded.
|
|
44181
|
+
'''
|
|
44182
|
+
EXCLUDED = "EXCLUDED"
|
|
44183
|
+
'''Instance types with local storage are disallowed.
|
|
44184
|
+
|
|
44185
|
+
Only types without local storage may be selected.
|
|
44186
|
+
'''
|
|
44187
|
+
|
|
44188
|
+
|
|
44189
|
+
@jsii.enum(jsii_type="aws-cdk-lib.aws_ec2.LocalStorageType")
|
|
44190
|
+
class LocalStorageType(enum.Enum):
|
|
44191
|
+
'''Types of local storage available for EC2 instances.
|
|
44192
|
+
|
|
44193
|
+
Specifies the physical medium used for local (instance store) storage.
|
|
44194
|
+
|
|
44195
|
+
:exampleMetadata: infused
|
|
44196
|
+
|
|
44197
|
+
Example::
|
|
44198
|
+
|
|
44199
|
+
# infrastructure_role: iam.Role
|
|
44200
|
+
# instance_profile: iam.InstanceProfile
|
|
44201
|
+
# vpc: ec2.Vpc
|
|
44202
|
+
|
|
44203
|
+
|
|
44204
|
+
mi_capacity_provider = ecs.ManagedInstancesCapacityProvider(self, "MICapacityProvider",
|
|
44205
|
+
infrastructure_role=infrastructure_role,
|
|
44206
|
+
ec2_instance_profile=instance_profile,
|
|
44207
|
+
subnets=vpc.private_subnets,
|
|
44208
|
+
instance_requirements=ec2.InstanceRequirementsConfig(
|
|
44209
|
+
# Required: CPU and memory constraints
|
|
44210
|
+
v_cpu_count_min=2,
|
|
44211
|
+
v_cpu_count_max=8,
|
|
44212
|
+
memory_min=Size.gibibytes(4),
|
|
44213
|
+
memory_max=Size.gibibytes(32),
|
|
44214
|
+
|
|
44215
|
+
# CPU preferences
|
|
44216
|
+
cpu_manufacturers=[ec2.CpuManufacturer.INTEL, ec2.CpuManufacturer.AMD],
|
|
44217
|
+
instance_generations=[ec2.InstanceGeneration.CURRENT],
|
|
44218
|
+
|
|
44219
|
+
# Instance type filtering
|
|
44220
|
+
allowed_instance_types=["m5.*", "c5.*"],
|
|
44221
|
+
|
|
44222
|
+
# Performance characteristics
|
|
44223
|
+
burstable_performance=ec2.BurstablePerformance.EXCLUDED,
|
|
44224
|
+
bare_metal=ec2.BareMetal.EXCLUDED,
|
|
44225
|
+
|
|
44226
|
+
# Accelerator requirements (for ML/AI workloads)
|
|
44227
|
+
accelerator_types=[ec2.AcceleratorType.GPU],
|
|
44228
|
+
accelerator_manufacturers=[ec2.AcceleratorManufacturer.NVIDIA],
|
|
44229
|
+
accelerator_names=[ec2.AcceleratorName.T4, ec2.AcceleratorName.V100],
|
|
44230
|
+
accelerator_count_min=1,
|
|
44231
|
+
|
|
44232
|
+
# Storage requirements
|
|
44233
|
+
local_storage=ec2.LocalStorage.REQUIRED,
|
|
44234
|
+
local_storage_types=[ec2.LocalStorageType.SSD],
|
|
44235
|
+
total_local_storage_gBMin=100,
|
|
44236
|
+
|
|
44237
|
+
# Network requirements
|
|
44238
|
+
network_interface_count_min=2,
|
|
44239
|
+
network_bandwidth_gbps_min=10,
|
|
44240
|
+
|
|
44241
|
+
# Cost optimization
|
|
44242
|
+
on_demand_max_price_percentage_over_lowest_price=10
|
|
44243
|
+
)
|
|
44244
|
+
)
|
|
44245
|
+
'''
|
|
44246
|
+
|
|
44247
|
+
HDD = "HDD"
|
|
44248
|
+
'''Hard disk drive storage.'''
|
|
44249
|
+
SSD = "SSD"
|
|
44250
|
+
'''Solid state drive storage.'''
|
|
44251
|
+
|
|
44252
|
+
|
|
42449
44253
|
@jsii.data_type(
|
|
42450
44254
|
jsii_type="aws-cdk-lib.aws_ec2.LocationPackageOptions",
|
|
42451
44255
|
jsii_struct_bases=[],
|
|
@@ -61947,10 +63751,10 @@ class CfnEC2Fleet(
|
|
|
61947
63751
|
|
|
61948
63752
|
: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
63753
|
: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 -
|
|
63754
|
+
: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
63755
|
: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
63756
|
: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``
|
|
63757
|
+
: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
63758
|
: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
63759
|
|
|
61956
63760
|
:see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-ec2fleet-ebsblockdevice.html
|
|
@@ -62040,7 +63844,7 @@ class CfnEC2Fleet(
|
|
|
62040
63844
|
|
|
62041
63845
|
The following are the supported values for each volume type:
|
|
62042
63846
|
|
|
62043
|
-
- ``gp3`` : 3,000 -
|
|
63847
|
+
- ``gp3`` : 3,000 - 80,000 IOPS
|
|
62044
63848
|
- ``io1`` : 100 - 64,000 IOPS
|
|
62045
63849
|
- ``io2`` : 100 - 256,000 IOPS
|
|
62046
63850
|
|
|
@@ -62081,7 +63885,8 @@ class CfnEC2Fleet(
|
|
|
62081
63885
|
|
|
62082
63886
|
The following are the supported sizes for each volume type:
|
|
62083
63887
|
|
|
62084
|
-
- ``gp2``
|
|
63888
|
+
- ``gp2`` : 1 - 16,384 GiB
|
|
63889
|
+
- ``gp3`` : 1 - 65,536 GiB
|
|
62085
63890
|
- ``io1`` : 4 - 16,384 GiB
|
|
62086
63891
|
- ``io2`` : 4 - 65,536 GiB
|
|
62087
63892
|
- ``st1`` and ``sc1`` : 125 - 16,384 GiB
|
|
@@ -73746,12 +75551,12 @@ class CfnLaunchTemplate(
|
|
|
73746
75551
|
|
|
73747
75552
|
:param delete_on_termination: Indicates whether the EBS volume is deleted on instance termination.
|
|
73748
75553
|
: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 -
|
|
75554
|
+
: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
75555
|
: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
75556
|
:param snapshot_id: The ID of the snapshot.
|
|
73752
|
-
:param throughput: The throughput to provision for a ``gp3`` volume, with a maximum of
|
|
75557
|
+
: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
75558
|
: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``
|
|
75559
|
+
: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
75560
|
: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
75561
|
|
|
73757
75562
|
:see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-launchtemplate-ebs.html
|
|
@@ -73838,7 +75643,7 @@ class CfnLaunchTemplate(
|
|
|
73838
75643
|
|
|
73839
75644
|
The following are the supported values for each volume type:
|
|
73840
75645
|
|
|
73841
|
-
- ``gp3`` : 3,000 -
|
|
75646
|
+
- ``gp3`` : 3,000 - 80,000 IOPS
|
|
73842
75647
|
- ``io1`` : 100 - 64,000 IOPS
|
|
73843
75648
|
- ``io2`` : 100 - 256,000 IOPS
|
|
73844
75649
|
|
|
@@ -73871,9 +75676,9 @@ class CfnLaunchTemplate(
|
|
|
73871
75676
|
|
|
73872
75677
|
@builtins.property
|
|
73873
75678
|
def throughput(self) -> typing.Optional[jsii.Number]:
|
|
73874
|
-
'''The throughput to provision for a ``gp3`` volume, with a maximum of
|
|
75679
|
+
'''The throughput to provision for a ``gp3`` volume, with a maximum of 2,000 MiB/s.
|
|
73875
75680
|
|
|
73876
|
-
Valid Range: Minimum value of 125. Maximum value of
|
|
75681
|
+
Valid Range: Minimum value of 125. Maximum value of 2,000.
|
|
73877
75682
|
|
|
73878
75683
|
:see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-launchtemplate-ebs.html#cfn-ec2-launchtemplate-ebs-throughput
|
|
73879
75684
|
'''
|
|
@@ -73911,7 +75716,8 @@ class CfnLaunchTemplate(
|
|
|
73911
75716
|
|
|
73912
75717
|
You must specify either a snapshot ID or a volume size. The following are the supported volumes sizes for each volume type:
|
|
73913
75718
|
|
|
73914
|
-
- ``gp2``
|
|
75719
|
+
- ``gp2`` : 1 - 16,384 GiB
|
|
75720
|
+
- ``gp3`` : 1 - 65,536 GiB
|
|
73915
75721
|
- ``io1`` : 4 - 16,384 GiB
|
|
73916
75722
|
- ``io2`` : 4 - 65,536 GiB
|
|
73917
75723
|
- ``st1`` and ``sc1`` : 125 - 16,384 GiB
|
|
@@ -79021,6 +80827,555 @@ class CfnLocalGatewayRouteTableVirtualInterfaceGroupAssociation(
|
|
|
79021
80827
|
jsii.set(self, "tagsRaw", value) # pyright: ignore[reportArgumentType]
|
|
79022
80828
|
|
|
79023
80829
|
|
|
80830
|
+
@jsii.implements(_IInspectable_c2943556, ILocalGatewayVirtualInterfaceRef, _ITaggableV2_4e6798f8)
|
|
80831
|
+
class CfnLocalGatewayVirtualInterface(
|
|
80832
|
+
_CfnResource_9df397a6,
|
|
80833
|
+
metaclass=jsii.JSIIMeta,
|
|
80834
|
+
jsii_type="aws-cdk-lib.aws_ec2.CfnLocalGatewayVirtualInterface",
|
|
80835
|
+
):
|
|
80836
|
+
'''Describes a local gateway virtual interface.
|
|
80837
|
+
|
|
80838
|
+
:see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-localgatewayvirtualinterface.html
|
|
80839
|
+
:cloudformationResource: AWS::EC2::LocalGatewayVirtualInterface
|
|
80840
|
+
:exampleMetadata: fixture=_generated
|
|
80841
|
+
|
|
80842
|
+
Example::
|
|
80843
|
+
|
|
80844
|
+
# The code below shows an example of how to instantiate this type.
|
|
80845
|
+
# The values are placeholders you should change.
|
|
80846
|
+
from aws_cdk import aws_ec2 as ec2
|
|
80847
|
+
|
|
80848
|
+
cfn_local_gateway_virtual_interface = ec2.CfnLocalGatewayVirtualInterface(self, "MyCfnLocalGatewayVirtualInterface",
|
|
80849
|
+
local_address="localAddress",
|
|
80850
|
+
local_gateway_virtual_interface_group_id="localGatewayVirtualInterfaceGroupId",
|
|
80851
|
+
outpost_lag_id="outpostLagId",
|
|
80852
|
+
peer_address="peerAddress",
|
|
80853
|
+
vlan=123,
|
|
80854
|
+
|
|
80855
|
+
# the properties below are optional
|
|
80856
|
+
peer_bgp_asn=123,
|
|
80857
|
+
peer_bgp_asn_extended=123,
|
|
80858
|
+
tags=[CfnTag(
|
|
80859
|
+
key="key",
|
|
80860
|
+
value="value"
|
|
80861
|
+
)]
|
|
80862
|
+
)
|
|
80863
|
+
'''
|
|
80864
|
+
|
|
80865
|
+
def __init__(
|
|
80866
|
+
self,
|
|
80867
|
+
scope: _constructs_77d1e7e8.Construct,
|
|
80868
|
+
id: builtins.str,
|
|
80869
|
+
*,
|
|
80870
|
+
local_address: builtins.str,
|
|
80871
|
+
local_gateway_virtual_interface_group_id: builtins.str,
|
|
80872
|
+
outpost_lag_id: builtins.str,
|
|
80873
|
+
peer_address: builtins.str,
|
|
80874
|
+
vlan: jsii.Number,
|
|
80875
|
+
peer_bgp_asn: typing.Optional[jsii.Number] = None,
|
|
80876
|
+
peer_bgp_asn_extended: typing.Optional[jsii.Number] = None,
|
|
80877
|
+
tags: typing.Optional[typing.Sequence[typing.Union[_CfnTag_f6864754, typing.Dict[builtins.str, typing.Any]]]] = None,
|
|
80878
|
+
) -> None:
|
|
80879
|
+
'''
|
|
80880
|
+
:param scope: Scope in which this resource is defined.
|
|
80881
|
+
:param id: Construct identifier for this resource (unique in its scope).
|
|
80882
|
+
:param local_address: The local address.
|
|
80883
|
+
:param local_gateway_virtual_interface_group_id: The ID of the local gateway virtual interface group.
|
|
80884
|
+
:param outpost_lag_id: The Outpost LAG ID.
|
|
80885
|
+
:param peer_address: The peer address.
|
|
80886
|
+
:param vlan: The ID of the VLAN.
|
|
80887
|
+
:param peer_bgp_asn: The peer BGP ASN.
|
|
80888
|
+
:param peer_bgp_asn_extended: The extended 32-bit ASN of the BGP peer for use with larger ASN values.
|
|
80889
|
+
:param tags: The tags assigned to the virtual interface.
|
|
80890
|
+
'''
|
|
80891
|
+
if __debug__:
|
|
80892
|
+
type_hints = typing.get_type_hints(_typecheckingstub__2aa88d11229e60744af7610169f28b3d5625cb154fd34b95efb791e8bfccfc63)
|
|
80893
|
+
check_type(argname="argument scope", value=scope, expected_type=type_hints["scope"])
|
|
80894
|
+
check_type(argname="argument id", value=id, expected_type=type_hints["id"])
|
|
80895
|
+
props = CfnLocalGatewayVirtualInterfaceProps(
|
|
80896
|
+
local_address=local_address,
|
|
80897
|
+
local_gateway_virtual_interface_group_id=local_gateway_virtual_interface_group_id,
|
|
80898
|
+
outpost_lag_id=outpost_lag_id,
|
|
80899
|
+
peer_address=peer_address,
|
|
80900
|
+
vlan=vlan,
|
|
80901
|
+
peer_bgp_asn=peer_bgp_asn,
|
|
80902
|
+
peer_bgp_asn_extended=peer_bgp_asn_extended,
|
|
80903
|
+
tags=tags,
|
|
80904
|
+
)
|
|
80905
|
+
|
|
80906
|
+
jsii.create(self.__class__, self, [scope, id, props])
|
|
80907
|
+
|
|
80908
|
+
@jsii.member(jsii_name="fromLocalGatewayVirtualInterfaceId")
|
|
80909
|
+
@builtins.classmethod
|
|
80910
|
+
def from_local_gateway_virtual_interface_id(
|
|
80911
|
+
cls,
|
|
80912
|
+
scope: _constructs_77d1e7e8.Construct,
|
|
80913
|
+
id: builtins.str,
|
|
80914
|
+
local_gateway_virtual_interface_id: builtins.str,
|
|
80915
|
+
) -> ILocalGatewayVirtualInterfaceRef:
|
|
80916
|
+
'''Creates a new ILocalGatewayVirtualInterfaceRef from a localGatewayVirtualInterfaceId.
|
|
80917
|
+
|
|
80918
|
+
:param scope: -
|
|
80919
|
+
:param id: -
|
|
80920
|
+
:param local_gateway_virtual_interface_id: -
|
|
80921
|
+
'''
|
|
80922
|
+
if __debug__:
|
|
80923
|
+
type_hints = typing.get_type_hints(_typecheckingstub__7e3e16f72affac0d04131f323309fd5617e7cabcdedcd19ac8ade915c112fa06)
|
|
80924
|
+
check_type(argname="argument scope", value=scope, expected_type=type_hints["scope"])
|
|
80925
|
+
check_type(argname="argument id", value=id, expected_type=type_hints["id"])
|
|
80926
|
+
check_type(argname="argument local_gateway_virtual_interface_id", value=local_gateway_virtual_interface_id, expected_type=type_hints["local_gateway_virtual_interface_id"])
|
|
80927
|
+
return typing.cast(ILocalGatewayVirtualInterfaceRef, jsii.sinvoke(cls, "fromLocalGatewayVirtualInterfaceId", [scope, id, local_gateway_virtual_interface_id]))
|
|
80928
|
+
|
|
80929
|
+
@jsii.member(jsii_name="inspect")
|
|
80930
|
+
def inspect(self, inspector: _TreeInspector_488e0dd5) -> None:
|
|
80931
|
+
'''Examines the CloudFormation resource and discloses attributes.
|
|
80932
|
+
|
|
80933
|
+
:param inspector: tree inspector to collect and process attributes.
|
|
80934
|
+
'''
|
|
80935
|
+
if __debug__:
|
|
80936
|
+
type_hints = typing.get_type_hints(_typecheckingstub__94977590a9f1d2767ea0830e9b759c542b741cd7dac530ebefe8f70c31670444)
|
|
80937
|
+
check_type(argname="argument inspector", value=inspector, expected_type=type_hints["inspector"])
|
|
80938
|
+
return typing.cast(None, jsii.invoke(self, "inspect", [inspector]))
|
|
80939
|
+
|
|
80940
|
+
@jsii.member(jsii_name="renderProperties")
|
|
80941
|
+
def _render_properties(
|
|
80942
|
+
self,
|
|
80943
|
+
props: typing.Mapping[builtins.str, typing.Any],
|
|
80944
|
+
) -> typing.Mapping[builtins.str, typing.Any]:
|
|
80945
|
+
'''
|
|
80946
|
+
:param props: -
|
|
80947
|
+
'''
|
|
80948
|
+
if __debug__:
|
|
80949
|
+
type_hints = typing.get_type_hints(_typecheckingstub__095a3726e61c66bed12ad64205be51561583ad09436d79a570b9239072336539)
|
|
80950
|
+
check_type(argname="argument props", value=props, expected_type=type_hints["props"])
|
|
80951
|
+
return typing.cast(typing.Mapping[builtins.str, typing.Any], jsii.invoke(self, "renderProperties", [props]))
|
|
80952
|
+
|
|
80953
|
+
@jsii.python.classproperty
|
|
80954
|
+
@jsii.member(jsii_name="CFN_RESOURCE_TYPE_NAME")
|
|
80955
|
+
def CFN_RESOURCE_TYPE_NAME(cls) -> builtins.str:
|
|
80956
|
+
'''The CloudFormation resource type name for this resource class.'''
|
|
80957
|
+
return typing.cast(builtins.str, jsii.sget(cls, "CFN_RESOURCE_TYPE_NAME"))
|
|
80958
|
+
|
|
80959
|
+
@builtins.property
|
|
80960
|
+
@jsii.member(jsii_name="attrConfigurationState")
|
|
80961
|
+
def attr_configuration_state(self) -> builtins.str:
|
|
80962
|
+
'''The current state of the local gateway virtual interface.
|
|
80963
|
+
|
|
80964
|
+
:cloudformationAttribute: ConfigurationState
|
|
80965
|
+
'''
|
|
80966
|
+
return typing.cast(builtins.str, jsii.get(self, "attrConfigurationState"))
|
|
80967
|
+
|
|
80968
|
+
@builtins.property
|
|
80969
|
+
@jsii.member(jsii_name="attrLocalBgpAsn")
|
|
80970
|
+
def attr_local_bgp_asn(self) -> jsii.Number:
|
|
80971
|
+
'''The Border Gateway Protocol (BGP) Autonomous System Number (ASN) of the local gateway.
|
|
80972
|
+
|
|
80973
|
+
:cloudformationAttribute: LocalBgpAsn
|
|
80974
|
+
'''
|
|
80975
|
+
return typing.cast(jsii.Number, jsii.get(self, "attrLocalBgpAsn"))
|
|
80976
|
+
|
|
80977
|
+
@builtins.property
|
|
80978
|
+
@jsii.member(jsii_name="attrLocalGatewayId")
|
|
80979
|
+
def attr_local_gateway_id(self) -> builtins.str:
|
|
80980
|
+
'''The ID of the local gateway.
|
|
80981
|
+
|
|
80982
|
+
:cloudformationAttribute: LocalGatewayId
|
|
80983
|
+
'''
|
|
80984
|
+
return typing.cast(builtins.str, jsii.get(self, "attrLocalGatewayId"))
|
|
80985
|
+
|
|
80986
|
+
@builtins.property
|
|
80987
|
+
@jsii.member(jsii_name="attrLocalGatewayVirtualInterfaceId")
|
|
80988
|
+
def attr_local_gateway_virtual_interface_id(self) -> builtins.str:
|
|
80989
|
+
'''The ID of the virtual interface.
|
|
80990
|
+
|
|
80991
|
+
:cloudformationAttribute: LocalGatewayVirtualInterfaceId
|
|
80992
|
+
'''
|
|
80993
|
+
return typing.cast(builtins.str, jsii.get(self, "attrLocalGatewayVirtualInterfaceId"))
|
|
80994
|
+
|
|
80995
|
+
@builtins.property
|
|
80996
|
+
@jsii.member(jsii_name="attrOwnerId")
|
|
80997
|
+
def attr_owner_id(self) -> builtins.str:
|
|
80998
|
+
'''The ID of the AWS account that owns the local gateway virtual interface.
|
|
80999
|
+
|
|
81000
|
+
:cloudformationAttribute: OwnerId
|
|
81001
|
+
'''
|
|
81002
|
+
return typing.cast(builtins.str, jsii.get(self, "attrOwnerId"))
|
|
81003
|
+
|
|
81004
|
+
@builtins.property
|
|
81005
|
+
@jsii.member(jsii_name="cdkTagManager")
|
|
81006
|
+
def cdk_tag_manager(self) -> _TagManager_0a598cb3:
|
|
81007
|
+
'''Tag Manager which manages the tags for this resource.'''
|
|
81008
|
+
return typing.cast(_TagManager_0a598cb3, jsii.get(self, "cdkTagManager"))
|
|
81009
|
+
|
|
81010
|
+
@builtins.property
|
|
81011
|
+
@jsii.member(jsii_name="cfnProperties")
|
|
81012
|
+
def _cfn_properties(self) -> typing.Mapping[builtins.str, typing.Any]:
|
|
81013
|
+
return typing.cast(typing.Mapping[builtins.str, typing.Any], jsii.get(self, "cfnProperties"))
|
|
81014
|
+
|
|
81015
|
+
@builtins.property
|
|
81016
|
+
@jsii.member(jsii_name="localGatewayVirtualInterfaceRef")
|
|
81017
|
+
def local_gateway_virtual_interface_ref(
|
|
81018
|
+
self,
|
|
81019
|
+
) -> LocalGatewayVirtualInterfaceReference:
|
|
81020
|
+
'''A reference to a LocalGatewayVirtualInterface resource.'''
|
|
81021
|
+
return typing.cast(LocalGatewayVirtualInterfaceReference, jsii.get(self, "localGatewayVirtualInterfaceRef"))
|
|
81022
|
+
|
|
81023
|
+
@builtins.property
|
|
81024
|
+
@jsii.member(jsii_name="localAddress")
|
|
81025
|
+
def local_address(self) -> builtins.str:
|
|
81026
|
+
'''The local address.'''
|
|
81027
|
+
return typing.cast(builtins.str, jsii.get(self, "localAddress"))
|
|
81028
|
+
|
|
81029
|
+
@local_address.setter
|
|
81030
|
+
def local_address(self, value: builtins.str) -> None:
|
|
81031
|
+
if __debug__:
|
|
81032
|
+
type_hints = typing.get_type_hints(_typecheckingstub__aea0d3e37c3a8dd56ec78450277d740b869a461b084be05fe5b483cc3069cf1d)
|
|
81033
|
+
check_type(argname="argument value", value=value, expected_type=type_hints["value"])
|
|
81034
|
+
jsii.set(self, "localAddress", value) # pyright: ignore[reportArgumentType]
|
|
81035
|
+
|
|
81036
|
+
@builtins.property
|
|
81037
|
+
@jsii.member(jsii_name="localGatewayVirtualInterfaceGroupId")
|
|
81038
|
+
def local_gateway_virtual_interface_group_id(self) -> builtins.str:
|
|
81039
|
+
'''The ID of the local gateway virtual interface group.'''
|
|
81040
|
+
return typing.cast(builtins.str, jsii.get(self, "localGatewayVirtualInterfaceGroupId"))
|
|
81041
|
+
|
|
81042
|
+
@local_gateway_virtual_interface_group_id.setter
|
|
81043
|
+
def local_gateway_virtual_interface_group_id(self, value: builtins.str) -> None:
|
|
81044
|
+
if __debug__:
|
|
81045
|
+
type_hints = typing.get_type_hints(_typecheckingstub__6022f5909fe462f9f3785e9d5d0bfec37b4fbdc32098ff0ed5b117e2095af317)
|
|
81046
|
+
check_type(argname="argument value", value=value, expected_type=type_hints["value"])
|
|
81047
|
+
jsii.set(self, "localGatewayVirtualInterfaceGroupId", value) # pyright: ignore[reportArgumentType]
|
|
81048
|
+
|
|
81049
|
+
@builtins.property
|
|
81050
|
+
@jsii.member(jsii_name="outpostLagId")
|
|
81051
|
+
def outpost_lag_id(self) -> builtins.str:
|
|
81052
|
+
'''The Outpost LAG ID.'''
|
|
81053
|
+
return typing.cast(builtins.str, jsii.get(self, "outpostLagId"))
|
|
81054
|
+
|
|
81055
|
+
@outpost_lag_id.setter
|
|
81056
|
+
def outpost_lag_id(self, value: builtins.str) -> None:
|
|
81057
|
+
if __debug__:
|
|
81058
|
+
type_hints = typing.get_type_hints(_typecheckingstub__d9e0940225d24f5768baac171eb4d7a02583d63a1dbff31fafd812a6612cf377)
|
|
81059
|
+
check_type(argname="argument value", value=value, expected_type=type_hints["value"])
|
|
81060
|
+
jsii.set(self, "outpostLagId", value) # pyright: ignore[reportArgumentType]
|
|
81061
|
+
|
|
81062
|
+
@builtins.property
|
|
81063
|
+
@jsii.member(jsii_name="peerAddress")
|
|
81064
|
+
def peer_address(self) -> builtins.str:
|
|
81065
|
+
'''The peer address.'''
|
|
81066
|
+
return typing.cast(builtins.str, jsii.get(self, "peerAddress"))
|
|
81067
|
+
|
|
81068
|
+
@peer_address.setter
|
|
81069
|
+
def peer_address(self, value: builtins.str) -> None:
|
|
81070
|
+
if __debug__:
|
|
81071
|
+
type_hints = typing.get_type_hints(_typecheckingstub__c55a99d7a9d8ce108f6383103a39169fa8ff7dbefa5fa9da14d3fdc18b33f56d)
|
|
81072
|
+
check_type(argname="argument value", value=value, expected_type=type_hints["value"])
|
|
81073
|
+
jsii.set(self, "peerAddress", value) # pyright: ignore[reportArgumentType]
|
|
81074
|
+
|
|
81075
|
+
@builtins.property
|
|
81076
|
+
@jsii.member(jsii_name="vlan")
|
|
81077
|
+
def vlan(self) -> jsii.Number:
|
|
81078
|
+
'''The ID of the VLAN.'''
|
|
81079
|
+
return typing.cast(jsii.Number, jsii.get(self, "vlan"))
|
|
81080
|
+
|
|
81081
|
+
@vlan.setter
|
|
81082
|
+
def vlan(self, value: jsii.Number) -> None:
|
|
81083
|
+
if __debug__:
|
|
81084
|
+
type_hints = typing.get_type_hints(_typecheckingstub__876a548873295da57ca1d79ac22c64da6f6bb90a671ef5e7e35327fa50455921)
|
|
81085
|
+
check_type(argname="argument value", value=value, expected_type=type_hints["value"])
|
|
81086
|
+
jsii.set(self, "vlan", value) # pyright: ignore[reportArgumentType]
|
|
81087
|
+
|
|
81088
|
+
@builtins.property
|
|
81089
|
+
@jsii.member(jsii_name="peerBgpAsn")
|
|
81090
|
+
def peer_bgp_asn(self) -> typing.Optional[jsii.Number]:
|
|
81091
|
+
'''The peer BGP ASN.'''
|
|
81092
|
+
return typing.cast(typing.Optional[jsii.Number], jsii.get(self, "peerBgpAsn"))
|
|
81093
|
+
|
|
81094
|
+
@peer_bgp_asn.setter
|
|
81095
|
+
def peer_bgp_asn(self, value: typing.Optional[jsii.Number]) -> None:
|
|
81096
|
+
if __debug__:
|
|
81097
|
+
type_hints = typing.get_type_hints(_typecheckingstub__0c59092a20afba0573e2b1509528b6946b674912bc181e34599b6b4caf2d6fc6)
|
|
81098
|
+
check_type(argname="argument value", value=value, expected_type=type_hints["value"])
|
|
81099
|
+
jsii.set(self, "peerBgpAsn", value) # pyright: ignore[reportArgumentType]
|
|
81100
|
+
|
|
81101
|
+
@builtins.property
|
|
81102
|
+
@jsii.member(jsii_name="peerBgpAsnExtended")
|
|
81103
|
+
def peer_bgp_asn_extended(self) -> typing.Optional[jsii.Number]:
|
|
81104
|
+
'''The extended 32-bit ASN of the BGP peer for use with larger ASN values.'''
|
|
81105
|
+
return typing.cast(typing.Optional[jsii.Number], jsii.get(self, "peerBgpAsnExtended"))
|
|
81106
|
+
|
|
81107
|
+
@peer_bgp_asn_extended.setter
|
|
81108
|
+
def peer_bgp_asn_extended(self, value: typing.Optional[jsii.Number]) -> None:
|
|
81109
|
+
if __debug__:
|
|
81110
|
+
type_hints = typing.get_type_hints(_typecheckingstub__f3cce6d05d44bd0efd48f94e34176bb44563507d53cdce3a678259de4fe36b18)
|
|
81111
|
+
check_type(argname="argument value", value=value, expected_type=type_hints["value"])
|
|
81112
|
+
jsii.set(self, "peerBgpAsnExtended", value) # pyright: ignore[reportArgumentType]
|
|
81113
|
+
|
|
81114
|
+
@builtins.property
|
|
81115
|
+
@jsii.member(jsii_name="tags")
|
|
81116
|
+
def tags(self) -> typing.Optional[typing.List[_CfnTag_f6864754]]:
|
|
81117
|
+
'''The tags assigned to the virtual interface.'''
|
|
81118
|
+
return typing.cast(typing.Optional[typing.List[_CfnTag_f6864754]], jsii.get(self, "tags"))
|
|
81119
|
+
|
|
81120
|
+
@tags.setter
|
|
81121
|
+
def tags(self, value: typing.Optional[typing.List[_CfnTag_f6864754]]) -> None:
|
|
81122
|
+
if __debug__:
|
|
81123
|
+
type_hints = typing.get_type_hints(_typecheckingstub__eb087b9b572ca18afe9a40645f05ba591d2e3255ff50d614f2090fe641563ff1)
|
|
81124
|
+
check_type(argname="argument value", value=value, expected_type=type_hints["value"])
|
|
81125
|
+
jsii.set(self, "tags", value) # pyright: ignore[reportArgumentType]
|
|
81126
|
+
|
|
81127
|
+
|
|
81128
|
+
@jsii.implements(_IInspectable_c2943556, ILocalGatewayVirtualInterfaceGroupRef, _ITaggableV2_4e6798f8)
|
|
81129
|
+
class CfnLocalGatewayVirtualInterfaceGroup(
|
|
81130
|
+
_CfnResource_9df397a6,
|
|
81131
|
+
metaclass=jsii.JSIIMeta,
|
|
81132
|
+
jsii_type="aws-cdk-lib.aws_ec2.CfnLocalGatewayVirtualInterfaceGroup",
|
|
81133
|
+
):
|
|
81134
|
+
'''Describes a local gateway virtual interface group.
|
|
81135
|
+
|
|
81136
|
+
:see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-localgatewayvirtualinterfacegroup.html
|
|
81137
|
+
:cloudformationResource: AWS::EC2::LocalGatewayVirtualInterfaceGroup
|
|
81138
|
+
:exampleMetadata: fixture=_generated
|
|
81139
|
+
|
|
81140
|
+
Example::
|
|
81141
|
+
|
|
81142
|
+
# The code below shows an example of how to instantiate this type.
|
|
81143
|
+
# The values are placeholders you should change.
|
|
81144
|
+
from aws_cdk import aws_ec2 as ec2
|
|
81145
|
+
|
|
81146
|
+
cfn_local_gateway_virtual_interface_group = ec2.CfnLocalGatewayVirtualInterfaceGroup(self, "MyCfnLocalGatewayVirtualInterfaceGroup",
|
|
81147
|
+
local_gateway_id="localGatewayId",
|
|
81148
|
+
|
|
81149
|
+
# the properties below are optional
|
|
81150
|
+
local_bgp_asn=123,
|
|
81151
|
+
local_bgp_asn_extended=123,
|
|
81152
|
+
tags=[CfnTag(
|
|
81153
|
+
key="key",
|
|
81154
|
+
value="value"
|
|
81155
|
+
)]
|
|
81156
|
+
)
|
|
81157
|
+
'''
|
|
81158
|
+
|
|
81159
|
+
def __init__(
|
|
81160
|
+
self,
|
|
81161
|
+
scope: _constructs_77d1e7e8.Construct,
|
|
81162
|
+
id: builtins.str,
|
|
81163
|
+
*,
|
|
81164
|
+
local_gateway_id: builtins.str,
|
|
81165
|
+
local_bgp_asn: typing.Optional[jsii.Number] = None,
|
|
81166
|
+
local_bgp_asn_extended: typing.Optional[jsii.Number] = None,
|
|
81167
|
+
tags: typing.Optional[typing.Sequence[typing.Union[_CfnTag_f6864754, typing.Dict[builtins.str, typing.Any]]]] = None,
|
|
81168
|
+
) -> None:
|
|
81169
|
+
'''
|
|
81170
|
+
:param scope: Scope in which this resource is defined.
|
|
81171
|
+
:param id: Construct identifier for this resource (unique in its scope).
|
|
81172
|
+
:param local_gateway_id: The ID of the local gateway.
|
|
81173
|
+
:param local_bgp_asn: The Autonomous System Number(ASN) for the local Border Gateway Protocol (BGP).
|
|
81174
|
+
:param local_bgp_asn_extended: The extended 32-bit ASN for the local BGP configuration.
|
|
81175
|
+
:param tags: The tags assigned to the virtual interface group.
|
|
81176
|
+
'''
|
|
81177
|
+
if __debug__:
|
|
81178
|
+
type_hints = typing.get_type_hints(_typecheckingstub__f4428e70a4cdbb5cb8cdf0b9a30ee1c62e12bf1982546a8f6fceda85eb1710d8)
|
|
81179
|
+
check_type(argname="argument scope", value=scope, expected_type=type_hints["scope"])
|
|
81180
|
+
check_type(argname="argument id", value=id, expected_type=type_hints["id"])
|
|
81181
|
+
props = CfnLocalGatewayVirtualInterfaceGroupProps(
|
|
81182
|
+
local_gateway_id=local_gateway_id,
|
|
81183
|
+
local_bgp_asn=local_bgp_asn,
|
|
81184
|
+
local_bgp_asn_extended=local_bgp_asn_extended,
|
|
81185
|
+
tags=tags,
|
|
81186
|
+
)
|
|
81187
|
+
|
|
81188
|
+
jsii.create(self.__class__, self, [scope, id, props])
|
|
81189
|
+
|
|
81190
|
+
@jsii.member(jsii_name="fromLocalGatewayVirtualInterfaceGroupArn")
|
|
81191
|
+
@builtins.classmethod
|
|
81192
|
+
def from_local_gateway_virtual_interface_group_arn(
|
|
81193
|
+
cls,
|
|
81194
|
+
scope: _constructs_77d1e7e8.Construct,
|
|
81195
|
+
id: builtins.str,
|
|
81196
|
+
arn: builtins.str,
|
|
81197
|
+
) -> ILocalGatewayVirtualInterfaceGroupRef:
|
|
81198
|
+
'''Creates a new ILocalGatewayVirtualInterfaceGroupRef from an ARN.
|
|
81199
|
+
|
|
81200
|
+
:param scope: -
|
|
81201
|
+
:param id: -
|
|
81202
|
+
:param arn: -
|
|
81203
|
+
'''
|
|
81204
|
+
if __debug__:
|
|
81205
|
+
type_hints = typing.get_type_hints(_typecheckingstub__d5a9b6710adb36dfbe12ad180d73bda56451914c2f050b2f3087ad3bcbc2d6fa)
|
|
81206
|
+
check_type(argname="argument scope", value=scope, expected_type=type_hints["scope"])
|
|
81207
|
+
check_type(argname="argument id", value=id, expected_type=type_hints["id"])
|
|
81208
|
+
check_type(argname="argument arn", value=arn, expected_type=type_hints["arn"])
|
|
81209
|
+
return typing.cast(ILocalGatewayVirtualInterfaceGroupRef, jsii.sinvoke(cls, "fromLocalGatewayVirtualInterfaceGroupArn", [scope, id, arn]))
|
|
81210
|
+
|
|
81211
|
+
@jsii.member(jsii_name="fromLocalGatewayVirtualInterfaceGroupId")
|
|
81212
|
+
@builtins.classmethod
|
|
81213
|
+
def from_local_gateway_virtual_interface_group_id(
|
|
81214
|
+
cls,
|
|
81215
|
+
scope: _constructs_77d1e7e8.Construct,
|
|
81216
|
+
id: builtins.str,
|
|
81217
|
+
local_gateway_virtual_interface_group_id: builtins.str,
|
|
81218
|
+
) -> ILocalGatewayVirtualInterfaceGroupRef:
|
|
81219
|
+
'''Creates a new ILocalGatewayVirtualInterfaceGroupRef from a localGatewayVirtualInterfaceGroupId.
|
|
81220
|
+
|
|
81221
|
+
:param scope: -
|
|
81222
|
+
:param id: -
|
|
81223
|
+
:param local_gateway_virtual_interface_group_id: -
|
|
81224
|
+
'''
|
|
81225
|
+
if __debug__:
|
|
81226
|
+
type_hints = typing.get_type_hints(_typecheckingstub__6c41061042437440fce590eb8d2e84ca2e31260fbb48f45a79f28c068eb57cf4)
|
|
81227
|
+
check_type(argname="argument scope", value=scope, expected_type=type_hints["scope"])
|
|
81228
|
+
check_type(argname="argument id", value=id, expected_type=type_hints["id"])
|
|
81229
|
+
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"])
|
|
81230
|
+
return typing.cast(ILocalGatewayVirtualInterfaceGroupRef, jsii.sinvoke(cls, "fromLocalGatewayVirtualInterfaceGroupId", [scope, id, local_gateway_virtual_interface_group_id]))
|
|
81231
|
+
|
|
81232
|
+
@jsii.member(jsii_name="inspect")
|
|
81233
|
+
def inspect(self, inspector: _TreeInspector_488e0dd5) -> None:
|
|
81234
|
+
'''Examines the CloudFormation resource and discloses attributes.
|
|
81235
|
+
|
|
81236
|
+
:param inspector: tree inspector to collect and process attributes.
|
|
81237
|
+
'''
|
|
81238
|
+
if __debug__:
|
|
81239
|
+
type_hints = typing.get_type_hints(_typecheckingstub__2cb275542481a92dcc0981a31e5b84f30303479387a077892f0ce93929c8683e)
|
|
81240
|
+
check_type(argname="argument inspector", value=inspector, expected_type=type_hints["inspector"])
|
|
81241
|
+
return typing.cast(None, jsii.invoke(self, "inspect", [inspector]))
|
|
81242
|
+
|
|
81243
|
+
@jsii.member(jsii_name="renderProperties")
|
|
81244
|
+
def _render_properties(
|
|
81245
|
+
self,
|
|
81246
|
+
props: typing.Mapping[builtins.str, typing.Any],
|
|
81247
|
+
) -> typing.Mapping[builtins.str, typing.Any]:
|
|
81248
|
+
'''
|
|
81249
|
+
:param props: -
|
|
81250
|
+
'''
|
|
81251
|
+
if __debug__:
|
|
81252
|
+
type_hints = typing.get_type_hints(_typecheckingstub__18212f2fc4e751f496b0f978560864ecefabe558ebf8ffcccfafbd83fcc076f9)
|
|
81253
|
+
check_type(argname="argument props", value=props, expected_type=type_hints["props"])
|
|
81254
|
+
return typing.cast(typing.Mapping[builtins.str, typing.Any], jsii.invoke(self, "renderProperties", [props]))
|
|
81255
|
+
|
|
81256
|
+
@jsii.python.classproperty
|
|
81257
|
+
@jsii.member(jsii_name="CFN_RESOURCE_TYPE_NAME")
|
|
81258
|
+
def CFN_RESOURCE_TYPE_NAME(cls) -> builtins.str:
|
|
81259
|
+
'''The CloudFormation resource type name for this resource class.'''
|
|
81260
|
+
return typing.cast(builtins.str, jsii.sget(cls, "CFN_RESOURCE_TYPE_NAME"))
|
|
81261
|
+
|
|
81262
|
+
@builtins.property
|
|
81263
|
+
@jsii.member(jsii_name="attrConfigurationState")
|
|
81264
|
+
def attr_configuration_state(self) -> builtins.str:
|
|
81265
|
+
'''The current state of the local gateway virtual interface group.
|
|
81266
|
+
|
|
81267
|
+
:cloudformationAttribute: ConfigurationState
|
|
81268
|
+
'''
|
|
81269
|
+
return typing.cast(builtins.str, jsii.get(self, "attrConfigurationState"))
|
|
81270
|
+
|
|
81271
|
+
@builtins.property
|
|
81272
|
+
@jsii.member(jsii_name="attrLocalGatewayVirtualInterfaceGroupArn")
|
|
81273
|
+
def attr_local_gateway_virtual_interface_group_arn(self) -> builtins.str:
|
|
81274
|
+
'''The Amazon Resource Number (ARN) of the local gateway virtual interface group.
|
|
81275
|
+
|
|
81276
|
+
:cloudformationAttribute: LocalGatewayVirtualInterfaceGroupArn
|
|
81277
|
+
'''
|
|
81278
|
+
return typing.cast(builtins.str, jsii.get(self, "attrLocalGatewayVirtualInterfaceGroupArn"))
|
|
81279
|
+
|
|
81280
|
+
@builtins.property
|
|
81281
|
+
@jsii.member(jsii_name="attrLocalGatewayVirtualInterfaceGroupId")
|
|
81282
|
+
def attr_local_gateway_virtual_interface_group_id(self) -> builtins.str:
|
|
81283
|
+
'''The ID of the virtual interface group.
|
|
81284
|
+
|
|
81285
|
+
:cloudformationAttribute: LocalGatewayVirtualInterfaceGroupId
|
|
81286
|
+
'''
|
|
81287
|
+
return typing.cast(builtins.str, jsii.get(self, "attrLocalGatewayVirtualInterfaceGroupId"))
|
|
81288
|
+
|
|
81289
|
+
@builtins.property
|
|
81290
|
+
@jsii.member(jsii_name="attrLocalGatewayVirtualInterfaceIds")
|
|
81291
|
+
def attr_local_gateway_virtual_interface_ids(self) -> typing.List[builtins.str]:
|
|
81292
|
+
'''The IDs of the virtual interfaces.
|
|
81293
|
+
|
|
81294
|
+
:cloudformationAttribute: LocalGatewayVirtualInterfaceIds
|
|
81295
|
+
'''
|
|
81296
|
+
return typing.cast(typing.List[builtins.str], jsii.get(self, "attrLocalGatewayVirtualInterfaceIds"))
|
|
81297
|
+
|
|
81298
|
+
@builtins.property
|
|
81299
|
+
@jsii.member(jsii_name="attrOwnerId")
|
|
81300
|
+
def attr_owner_id(self) -> builtins.str:
|
|
81301
|
+
'''The ID of the AWS account that owns the local gateway virtual interface group.
|
|
81302
|
+
|
|
81303
|
+
:cloudformationAttribute: OwnerId
|
|
81304
|
+
'''
|
|
81305
|
+
return typing.cast(builtins.str, jsii.get(self, "attrOwnerId"))
|
|
81306
|
+
|
|
81307
|
+
@builtins.property
|
|
81308
|
+
@jsii.member(jsii_name="cdkTagManager")
|
|
81309
|
+
def cdk_tag_manager(self) -> _TagManager_0a598cb3:
|
|
81310
|
+
'''Tag Manager which manages the tags for this resource.'''
|
|
81311
|
+
return typing.cast(_TagManager_0a598cb3, jsii.get(self, "cdkTagManager"))
|
|
81312
|
+
|
|
81313
|
+
@builtins.property
|
|
81314
|
+
@jsii.member(jsii_name="cfnProperties")
|
|
81315
|
+
def _cfn_properties(self) -> typing.Mapping[builtins.str, typing.Any]:
|
|
81316
|
+
return typing.cast(typing.Mapping[builtins.str, typing.Any], jsii.get(self, "cfnProperties"))
|
|
81317
|
+
|
|
81318
|
+
@builtins.property
|
|
81319
|
+
@jsii.member(jsii_name="localGatewayVirtualInterfaceGroupRef")
|
|
81320
|
+
def local_gateway_virtual_interface_group_ref(
|
|
81321
|
+
self,
|
|
81322
|
+
) -> LocalGatewayVirtualInterfaceGroupReference:
|
|
81323
|
+
'''A reference to a LocalGatewayVirtualInterfaceGroup resource.'''
|
|
81324
|
+
return typing.cast(LocalGatewayVirtualInterfaceGroupReference, jsii.get(self, "localGatewayVirtualInterfaceGroupRef"))
|
|
81325
|
+
|
|
81326
|
+
@builtins.property
|
|
81327
|
+
@jsii.member(jsii_name="localGatewayId")
|
|
81328
|
+
def local_gateway_id(self) -> builtins.str:
|
|
81329
|
+
'''The ID of the local gateway.'''
|
|
81330
|
+
return typing.cast(builtins.str, jsii.get(self, "localGatewayId"))
|
|
81331
|
+
|
|
81332
|
+
@local_gateway_id.setter
|
|
81333
|
+
def local_gateway_id(self, value: builtins.str) -> None:
|
|
81334
|
+
if __debug__:
|
|
81335
|
+
type_hints = typing.get_type_hints(_typecheckingstub__72980886c0b232d5cbf6c82b702ca8e8bad15827fe4b8c5a6125cccfd17a038f)
|
|
81336
|
+
check_type(argname="argument value", value=value, expected_type=type_hints["value"])
|
|
81337
|
+
jsii.set(self, "localGatewayId", value) # pyright: ignore[reportArgumentType]
|
|
81338
|
+
|
|
81339
|
+
@builtins.property
|
|
81340
|
+
@jsii.member(jsii_name="localBgpAsn")
|
|
81341
|
+
def local_bgp_asn(self) -> typing.Optional[jsii.Number]:
|
|
81342
|
+
'''The Autonomous System Number(ASN) for the local Border Gateway Protocol (BGP).'''
|
|
81343
|
+
return typing.cast(typing.Optional[jsii.Number], jsii.get(self, "localBgpAsn"))
|
|
81344
|
+
|
|
81345
|
+
@local_bgp_asn.setter
|
|
81346
|
+
def local_bgp_asn(self, value: typing.Optional[jsii.Number]) -> None:
|
|
81347
|
+
if __debug__:
|
|
81348
|
+
type_hints = typing.get_type_hints(_typecheckingstub__e17efd4cdc854aef38d95618d445b062d3dff94405b26cd2e5bf702d043d63c5)
|
|
81349
|
+
check_type(argname="argument value", value=value, expected_type=type_hints["value"])
|
|
81350
|
+
jsii.set(self, "localBgpAsn", value) # pyright: ignore[reportArgumentType]
|
|
81351
|
+
|
|
81352
|
+
@builtins.property
|
|
81353
|
+
@jsii.member(jsii_name="localBgpAsnExtended")
|
|
81354
|
+
def local_bgp_asn_extended(self) -> typing.Optional[jsii.Number]:
|
|
81355
|
+
'''The extended 32-bit ASN for the local BGP configuration.'''
|
|
81356
|
+
return typing.cast(typing.Optional[jsii.Number], jsii.get(self, "localBgpAsnExtended"))
|
|
81357
|
+
|
|
81358
|
+
@local_bgp_asn_extended.setter
|
|
81359
|
+
def local_bgp_asn_extended(self, value: typing.Optional[jsii.Number]) -> None:
|
|
81360
|
+
if __debug__:
|
|
81361
|
+
type_hints = typing.get_type_hints(_typecheckingstub__451e90a51f0d03f4296d1a4075273832941693edd09aeac29656d7364ee7c634)
|
|
81362
|
+
check_type(argname="argument value", value=value, expected_type=type_hints["value"])
|
|
81363
|
+
jsii.set(self, "localBgpAsnExtended", value) # pyright: ignore[reportArgumentType]
|
|
81364
|
+
|
|
81365
|
+
@builtins.property
|
|
81366
|
+
@jsii.member(jsii_name="tags")
|
|
81367
|
+
def tags(self) -> typing.Optional[typing.List[_CfnTag_f6864754]]:
|
|
81368
|
+
'''The tags assigned to the virtual interface group.'''
|
|
81369
|
+
return typing.cast(typing.Optional[typing.List[_CfnTag_f6864754]], jsii.get(self, "tags"))
|
|
81370
|
+
|
|
81371
|
+
@tags.setter
|
|
81372
|
+
def tags(self, value: typing.Optional[typing.List[_CfnTag_f6864754]]) -> None:
|
|
81373
|
+
if __debug__:
|
|
81374
|
+
type_hints = typing.get_type_hints(_typecheckingstub__c5e51302d318cef13096e5600090018d23258317ba4cb12507e944c98443851e)
|
|
81375
|
+
check_type(argname="argument value", value=value, expected_type=type_hints["value"])
|
|
81376
|
+
jsii.set(self, "tags", value) # pyright: ignore[reportArgumentType]
|
|
81377
|
+
|
|
81378
|
+
|
|
79024
81379
|
@jsii.implements(_IInspectable_c2943556, INatGatewayRef, _ITaggable_36806126)
|
|
79025
81380
|
class CfnNatGateway(
|
|
79026
81381
|
_CfnResource_9df397a6,
|
|
@@ -90975,9 +93330,9 @@ class CfnSpotFleet(
|
|
|
90975
93330
|
|
|
90976
93331
|
: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
93332
|
: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 -
|
|
93333
|
+
: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
93334
|
: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``
|
|
93335
|
+
: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
93336
|
: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
93337
|
|
|
90983
93338
|
:see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-spotfleet-ebsblockdevice.html
|
|
@@ -91060,7 +93415,7 @@ class CfnSpotFleet(
|
|
|
91060
93415
|
|
|
91061
93416
|
The following are the supported values for each volume type:
|
|
91062
93417
|
|
|
91063
|
-
- ``gp3`` : 3,000 -
|
|
93418
|
+
- ``gp3`` : 3,000 - 80,000 IOPS
|
|
91064
93419
|
- ``io1`` : 100 - 64,000 IOPS
|
|
91065
93420
|
- ``io2`` : 100 - 256,000 IOPS
|
|
91066
93421
|
|
|
@@ -91090,7 +93445,8 @@ class CfnSpotFleet(
|
|
|
91090
93445
|
|
|
91091
93446
|
The following are the supported sizes for each volume type:
|
|
91092
93447
|
|
|
91093
|
-
- ``gp2``
|
|
93448
|
+
- ``gp2`` : 1 - 16,384 GiB
|
|
93449
|
+
- ``gp3`` : 1 - 65,536 GiB
|
|
91094
93450
|
- ``io1`` : 4 - 16,384 GiB
|
|
91095
93451
|
- ``io2`` : 4 - 65,536 GiB
|
|
91096
93452
|
- ``st1`` and ``sc1`` : 125 - 16,384 GiB
|
|
@@ -108548,11 +110904,11 @@ class CfnVolume(
|
|
|
108548
110904
|
: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
110905
|
: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
110906
|
: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 -
|
|
110907
|
+
: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
110908
|
: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
110909
|
: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
110910
|
: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``
|
|
110911
|
+
: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
110912
|
:param snapshot_id: The snapshot from which to create the volume. You must specify either a snapshot ID or a volume size.
|
|
108557
110913
|
:param tags: The tags to apply to the volume during creation.
|
|
108558
110914
|
: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.
|
|
@@ -117561,6 +119917,9 @@ class PublicSubnet(
|
|
|
117561
119917
|
|
|
117562
119918
|
|
|
117563
119919
|
__all__ = [
|
|
119920
|
+
"AcceleratorManufacturer",
|
|
119921
|
+
"AcceleratorName",
|
|
119922
|
+
"AcceleratorType",
|
|
117564
119923
|
"AclCidr",
|
|
117565
119924
|
"AclCidrConfig",
|
|
117566
119925
|
"AclIcmp",
|
|
@@ -117598,10 +119957,12 @@ __all__ = [
|
|
|
117598
119957
|
"ApplyCloudFormationInitOptions",
|
|
117599
119958
|
"AttachInitOptions",
|
|
117600
119959
|
"AwsIpamProps",
|
|
119960
|
+
"BareMetal",
|
|
117601
119961
|
"BastionHostLinux",
|
|
117602
119962
|
"BastionHostLinuxProps",
|
|
117603
119963
|
"BlockDevice",
|
|
117604
119964
|
"BlockDeviceVolume",
|
|
119965
|
+
"BurstablePerformance",
|
|
117605
119966
|
"CapacityReservationFleetReference",
|
|
117606
119967
|
"CapacityReservationReference",
|
|
117607
119968
|
"CarrierGatewayReference",
|
|
@@ -117673,6 +120034,10 @@ __all__ = [
|
|
|
117673
120034
|
"CfnLocalGatewayRouteTableVPCAssociationProps",
|
|
117674
120035
|
"CfnLocalGatewayRouteTableVirtualInterfaceGroupAssociation",
|
|
117675
120036
|
"CfnLocalGatewayRouteTableVirtualInterfaceGroupAssociationProps",
|
|
120037
|
+
"CfnLocalGatewayVirtualInterface",
|
|
120038
|
+
"CfnLocalGatewayVirtualInterfaceGroup",
|
|
120039
|
+
"CfnLocalGatewayVirtualInterfaceGroupProps",
|
|
120040
|
+
"CfnLocalGatewayVirtualInterfaceProps",
|
|
117676
120041
|
"CfnNatGateway",
|
|
117677
120042
|
"CfnNatGatewayProps",
|
|
117678
120043
|
"CfnNetworkAcl",
|
|
@@ -117837,6 +120202,7 @@ __all__ = [
|
|
|
117837
120202
|
"Connections",
|
|
117838
120203
|
"ConnectionsProps",
|
|
117839
120204
|
"CpuCredits",
|
|
120205
|
+
"CpuManufacturer",
|
|
117840
120206
|
"CreateIpv6CidrBlocksRequest",
|
|
117841
120207
|
"CustomerGatewayReference",
|
|
117842
120208
|
"DHCPOptionsReference",
|
|
@@ -117924,6 +120290,8 @@ __all__ = [
|
|
|
117924
120290
|
"ILocalGatewayRouteTableRef",
|
|
117925
120291
|
"ILocalGatewayRouteTableVPCAssociationRef",
|
|
117926
120292
|
"ILocalGatewayRouteTableVirtualInterfaceGroupAssociationRef",
|
|
120293
|
+
"ILocalGatewayVirtualInterfaceGroupRef",
|
|
120294
|
+
"ILocalGatewayVirtualInterfaceRef",
|
|
117927
120295
|
"IMachineImage",
|
|
117928
120296
|
"INatGatewayRef",
|
|
117929
120297
|
"INetworkAcl",
|
|
@@ -118041,11 +120409,13 @@ __all__ = [
|
|
|
118041
120409
|
"InstanceArchitecture",
|
|
118042
120410
|
"InstanceClass",
|
|
118043
120411
|
"InstanceConnectEndpointReference",
|
|
120412
|
+
"InstanceGeneration",
|
|
118044
120413
|
"InstanceInitiatedShutdownBehavior",
|
|
118045
120414
|
"InstanceProps",
|
|
118046
120415
|
"InstanceReference",
|
|
118047
120416
|
"InstanceRequireImdsv2Aspect",
|
|
118048
120417
|
"InstanceRequireImdsv2AspectProps",
|
|
120418
|
+
"InstanceRequirementsConfig",
|
|
118049
120419
|
"InstanceSize",
|
|
118050
120420
|
"InstanceType",
|
|
118051
120421
|
"InterfaceVpcEndpoint",
|
|
@@ -118081,6 +120451,10 @@ __all__ = [
|
|
|
118081
120451
|
"LocalGatewayRouteTableReference",
|
|
118082
120452
|
"LocalGatewayRouteTableVPCAssociationReference",
|
|
118083
120453
|
"LocalGatewayRouteTableVirtualInterfaceGroupAssociationReference",
|
|
120454
|
+
"LocalGatewayVirtualInterfaceGroupReference",
|
|
120455
|
+
"LocalGatewayVirtualInterfaceReference",
|
|
120456
|
+
"LocalStorage",
|
|
120457
|
+
"LocalStorageType",
|
|
118084
120458
|
"LocationPackageOptions",
|
|
118085
120459
|
"LogFormat",
|
|
118086
120460
|
"LookupMachineImage",
|
|
@@ -118991,6 +121365,30 @@ def _typecheckingstub__b9a8cd9288a52b6663080797430bf0981183639ee7ad7887a7ff932d0
|
|
|
118991
121365
|
"""Type checking stubs"""
|
|
118992
121366
|
pass
|
|
118993
121367
|
|
|
121368
|
+
def _typecheckingstub__f7ce4c591b68ccf10989a9f20fd3c6f1fc55f0f986e5272574d1a8263ccb9638(
|
|
121369
|
+
*,
|
|
121370
|
+
local_gateway_id: builtins.str,
|
|
121371
|
+
local_bgp_asn: typing.Optional[jsii.Number] = None,
|
|
121372
|
+
local_bgp_asn_extended: typing.Optional[jsii.Number] = None,
|
|
121373
|
+
tags: typing.Optional[typing.Sequence[typing.Union[_CfnTag_f6864754, typing.Dict[builtins.str, typing.Any]]]] = None,
|
|
121374
|
+
) -> None:
|
|
121375
|
+
"""Type checking stubs"""
|
|
121376
|
+
pass
|
|
121377
|
+
|
|
121378
|
+
def _typecheckingstub__f937f1e5478df1249afd18165f33effb63a12f7ed00b1831a2fbee04cab4c28a(
|
|
121379
|
+
*,
|
|
121380
|
+
local_address: builtins.str,
|
|
121381
|
+
local_gateway_virtual_interface_group_id: builtins.str,
|
|
121382
|
+
outpost_lag_id: builtins.str,
|
|
121383
|
+
peer_address: builtins.str,
|
|
121384
|
+
vlan: jsii.Number,
|
|
121385
|
+
peer_bgp_asn: typing.Optional[jsii.Number] = None,
|
|
121386
|
+
peer_bgp_asn_extended: typing.Optional[jsii.Number] = None,
|
|
121387
|
+
tags: typing.Optional[typing.Sequence[typing.Union[_CfnTag_f6864754, typing.Dict[builtins.str, typing.Any]]]] = None,
|
|
121388
|
+
) -> None:
|
|
121389
|
+
"""Type checking stubs"""
|
|
121390
|
+
pass
|
|
121391
|
+
|
|
118994
121392
|
def _typecheckingstub__1aba83edf7a8e3f14e1d4f9ca76c7049f7f7c569d2ffb43bcad65b330ee9a581(
|
|
118995
121393
|
*,
|
|
118996
121394
|
allocation_id: typing.Optional[builtins.str] = None,
|
|
@@ -120948,6 +123346,45 @@ def _typecheckingstub__a9326e8778e870d6503548ff3c5ed500440af6b908992d24dc8f76fa8
|
|
|
120948
123346
|
"""Type checking stubs"""
|
|
120949
123347
|
pass
|
|
120950
123348
|
|
|
123349
|
+
def _typecheckingstub__ec2256eb42c017c1221986108df1dba524eae16d4aaf51d7503ce5b1f919f3cd(
|
|
123350
|
+
*,
|
|
123351
|
+
memory_min: _Size_7b441c34,
|
|
123352
|
+
v_cpu_count_min: jsii.Number,
|
|
123353
|
+
accelerator_count_max: typing.Optional[jsii.Number] = None,
|
|
123354
|
+
accelerator_count_min: typing.Optional[jsii.Number] = None,
|
|
123355
|
+
accelerator_manufacturers: typing.Optional[typing.Sequence[AcceleratorManufacturer]] = None,
|
|
123356
|
+
accelerator_names: typing.Optional[typing.Sequence[AcceleratorName]] = None,
|
|
123357
|
+
accelerator_total_memory_max: typing.Optional[_Size_7b441c34] = None,
|
|
123358
|
+
accelerator_total_memory_min: typing.Optional[_Size_7b441c34] = None,
|
|
123359
|
+
accelerator_types: typing.Optional[typing.Sequence[AcceleratorType]] = None,
|
|
123360
|
+
allowed_instance_types: typing.Optional[typing.Sequence[builtins.str]] = None,
|
|
123361
|
+
bare_metal: typing.Optional[BareMetal] = None,
|
|
123362
|
+
baseline_ebs_bandwidth_mbps_max: typing.Optional[jsii.Number] = None,
|
|
123363
|
+
baseline_ebs_bandwidth_mbps_min: typing.Optional[jsii.Number] = None,
|
|
123364
|
+
burstable_performance: typing.Optional[BurstablePerformance] = None,
|
|
123365
|
+
cpu_manufacturers: typing.Optional[typing.Sequence[CpuManufacturer]] = None,
|
|
123366
|
+
excluded_instance_types: typing.Optional[typing.Sequence[builtins.str]] = None,
|
|
123367
|
+
instance_generations: typing.Optional[typing.Sequence[InstanceGeneration]] = None,
|
|
123368
|
+
local_storage: typing.Optional[LocalStorage] = None,
|
|
123369
|
+
local_storage_types: typing.Optional[typing.Sequence[LocalStorageType]] = None,
|
|
123370
|
+
max_spot_price_as_percentage_of_optimal_on_demand_price: typing.Optional[jsii.Number] = None,
|
|
123371
|
+
memory_max: typing.Optional[_Size_7b441c34] = None,
|
|
123372
|
+
memory_per_v_cpu_max: typing.Optional[_Size_7b441c34] = None,
|
|
123373
|
+
memory_per_v_cpu_min: typing.Optional[_Size_7b441c34] = None,
|
|
123374
|
+
network_bandwidth_gbps_max: typing.Optional[jsii.Number] = None,
|
|
123375
|
+
network_bandwidth_gbps_min: typing.Optional[jsii.Number] = None,
|
|
123376
|
+
network_interface_count_max: typing.Optional[jsii.Number] = None,
|
|
123377
|
+
network_interface_count_min: typing.Optional[jsii.Number] = None,
|
|
123378
|
+
on_demand_max_price_percentage_over_lowest_price: typing.Optional[jsii.Number] = None,
|
|
123379
|
+
require_hibernate_support: typing.Optional[builtins.bool] = None,
|
|
123380
|
+
spot_max_price_percentage_over_lowest_price: typing.Optional[jsii.Number] = None,
|
|
123381
|
+
total_local_storage_gb_max: typing.Optional[jsii.Number] = None,
|
|
123382
|
+
total_local_storage_gb_min: typing.Optional[jsii.Number] = None,
|
|
123383
|
+
v_cpu_count_max: typing.Optional[jsii.Number] = None,
|
|
123384
|
+
) -> None:
|
|
123385
|
+
"""Type checking stubs"""
|
|
123386
|
+
pass
|
|
123387
|
+
|
|
120951
123388
|
def _typecheckingstub__f9e12e553c32475e068e0d7318afcf27197468eae438a6b5020d7d6a0231705f(
|
|
120952
123389
|
instance_type_identifier: builtins.str,
|
|
120953
123390
|
) -> None:
|
|
@@ -121199,6 +123636,21 @@ def _typecheckingstub__cd535e63329c308e9914cf9956b0964a6259b4c4557b9d3c8637793be
|
|
|
121199
123636
|
"""Type checking stubs"""
|
|
121200
123637
|
pass
|
|
121201
123638
|
|
|
123639
|
+
def _typecheckingstub__c5749867b83865efb222663d0629d4ad2212132a3d659cf6e5b6eefb44fdc1b9(
|
|
123640
|
+
*,
|
|
123641
|
+
local_gateway_virtual_interface_group_arn: builtins.str,
|
|
123642
|
+
local_gateway_virtual_interface_group_id: builtins.str,
|
|
123643
|
+
) -> None:
|
|
123644
|
+
"""Type checking stubs"""
|
|
123645
|
+
pass
|
|
123646
|
+
|
|
123647
|
+
def _typecheckingstub__370c12dc1c7162c4f581d58e74af3136efcbc6bf0ba1e90bcab50deb09c4733f(
|
|
123648
|
+
*,
|
|
123649
|
+
local_gateway_virtual_interface_id: builtins.str,
|
|
123650
|
+
) -> None:
|
|
123651
|
+
"""Type checking stubs"""
|
|
123652
|
+
pass
|
|
123653
|
+
|
|
121202
123654
|
def _typecheckingstub__adb9aead901a9e42e17ecf53f0a66db93e64d4cc2e633a62de1a847f4c40aa01(
|
|
121203
123655
|
*,
|
|
121204
123656
|
key: typing.Optional[builtins.str] = None,
|
|
@@ -126248,6 +128700,154 @@ def _typecheckingstub__3480fc1fb89ce602f4bc2bf15c99da71be91c04a233e81dcafb2795f1
|
|
|
126248
128700
|
"""Type checking stubs"""
|
|
126249
128701
|
pass
|
|
126250
128702
|
|
|
128703
|
+
def _typecheckingstub__2aa88d11229e60744af7610169f28b3d5625cb154fd34b95efb791e8bfccfc63(
|
|
128704
|
+
scope: _constructs_77d1e7e8.Construct,
|
|
128705
|
+
id: builtins.str,
|
|
128706
|
+
*,
|
|
128707
|
+
local_address: builtins.str,
|
|
128708
|
+
local_gateway_virtual_interface_group_id: builtins.str,
|
|
128709
|
+
outpost_lag_id: builtins.str,
|
|
128710
|
+
peer_address: builtins.str,
|
|
128711
|
+
vlan: jsii.Number,
|
|
128712
|
+
peer_bgp_asn: typing.Optional[jsii.Number] = None,
|
|
128713
|
+
peer_bgp_asn_extended: typing.Optional[jsii.Number] = None,
|
|
128714
|
+
tags: typing.Optional[typing.Sequence[typing.Union[_CfnTag_f6864754, typing.Dict[builtins.str, typing.Any]]]] = None,
|
|
128715
|
+
) -> None:
|
|
128716
|
+
"""Type checking stubs"""
|
|
128717
|
+
pass
|
|
128718
|
+
|
|
128719
|
+
def _typecheckingstub__7e3e16f72affac0d04131f323309fd5617e7cabcdedcd19ac8ade915c112fa06(
|
|
128720
|
+
scope: _constructs_77d1e7e8.Construct,
|
|
128721
|
+
id: builtins.str,
|
|
128722
|
+
local_gateway_virtual_interface_id: builtins.str,
|
|
128723
|
+
) -> None:
|
|
128724
|
+
"""Type checking stubs"""
|
|
128725
|
+
pass
|
|
128726
|
+
|
|
128727
|
+
def _typecheckingstub__94977590a9f1d2767ea0830e9b759c542b741cd7dac530ebefe8f70c31670444(
|
|
128728
|
+
inspector: _TreeInspector_488e0dd5,
|
|
128729
|
+
) -> None:
|
|
128730
|
+
"""Type checking stubs"""
|
|
128731
|
+
pass
|
|
128732
|
+
|
|
128733
|
+
def _typecheckingstub__095a3726e61c66bed12ad64205be51561583ad09436d79a570b9239072336539(
|
|
128734
|
+
props: typing.Mapping[builtins.str, typing.Any],
|
|
128735
|
+
) -> None:
|
|
128736
|
+
"""Type checking stubs"""
|
|
128737
|
+
pass
|
|
128738
|
+
|
|
128739
|
+
def _typecheckingstub__aea0d3e37c3a8dd56ec78450277d740b869a461b084be05fe5b483cc3069cf1d(
|
|
128740
|
+
value: builtins.str,
|
|
128741
|
+
) -> None:
|
|
128742
|
+
"""Type checking stubs"""
|
|
128743
|
+
pass
|
|
128744
|
+
|
|
128745
|
+
def _typecheckingstub__6022f5909fe462f9f3785e9d5d0bfec37b4fbdc32098ff0ed5b117e2095af317(
|
|
128746
|
+
value: builtins.str,
|
|
128747
|
+
) -> None:
|
|
128748
|
+
"""Type checking stubs"""
|
|
128749
|
+
pass
|
|
128750
|
+
|
|
128751
|
+
def _typecheckingstub__d9e0940225d24f5768baac171eb4d7a02583d63a1dbff31fafd812a6612cf377(
|
|
128752
|
+
value: builtins.str,
|
|
128753
|
+
) -> None:
|
|
128754
|
+
"""Type checking stubs"""
|
|
128755
|
+
pass
|
|
128756
|
+
|
|
128757
|
+
def _typecheckingstub__c55a99d7a9d8ce108f6383103a39169fa8ff7dbefa5fa9da14d3fdc18b33f56d(
|
|
128758
|
+
value: builtins.str,
|
|
128759
|
+
) -> None:
|
|
128760
|
+
"""Type checking stubs"""
|
|
128761
|
+
pass
|
|
128762
|
+
|
|
128763
|
+
def _typecheckingstub__876a548873295da57ca1d79ac22c64da6f6bb90a671ef5e7e35327fa50455921(
|
|
128764
|
+
value: jsii.Number,
|
|
128765
|
+
) -> None:
|
|
128766
|
+
"""Type checking stubs"""
|
|
128767
|
+
pass
|
|
128768
|
+
|
|
128769
|
+
def _typecheckingstub__0c59092a20afba0573e2b1509528b6946b674912bc181e34599b6b4caf2d6fc6(
|
|
128770
|
+
value: typing.Optional[jsii.Number],
|
|
128771
|
+
) -> None:
|
|
128772
|
+
"""Type checking stubs"""
|
|
128773
|
+
pass
|
|
128774
|
+
|
|
128775
|
+
def _typecheckingstub__f3cce6d05d44bd0efd48f94e34176bb44563507d53cdce3a678259de4fe36b18(
|
|
128776
|
+
value: typing.Optional[jsii.Number],
|
|
128777
|
+
) -> None:
|
|
128778
|
+
"""Type checking stubs"""
|
|
128779
|
+
pass
|
|
128780
|
+
|
|
128781
|
+
def _typecheckingstub__eb087b9b572ca18afe9a40645f05ba591d2e3255ff50d614f2090fe641563ff1(
|
|
128782
|
+
value: typing.Optional[typing.List[_CfnTag_f6864754]],
|
|
128783
|
+
) -> None:
|
|
128784
|
+
"""Type checking stubs"""
|
|
128785
|
+
pass
|
|
128786
|
+
|
|
128787
|
+
def _typecheckingstub__f4428e70a4cdbb5cb8cdf0b9a30ee1c62e12bf1982546a8f6fceda85eb1710d8(
|
|
128788
|
+
scope: _constructs_77d1e7e8.Construct,
|
|
128789
|
+
id: builtins.str,
|
|
128790
|
+
*,
|
|
128791
|
+
local_gateway_id: builtins.str,
|
|
128792
|
+
local_bgp_asn: typing.Optional[jsii.Number] = None,
|
|
128793
|
+
local_bgp_asn_extended: typing.Optional[jsii.Number] = None,
|
|
128794
|
+
tags: typing.Optional[typing.Sequence[typing.Union[_CfnTag_f6864754, typing.Dict[builtins.str, typing.Any]]]] = None,
|
|
128795
|
+
) -> None:
|
|
128796
|
+
"""Type checking stubs"""
|
|
128797
|
+
pass
|
|
128798
|
+
|
|
128799
|
+
def _typecheckingstub__d5a9b6710adb36dfbe12ad180d73bda56451914c2f050b2f3087ad3bcbc2d6fa(
|
|
128800
|
+
scope: _constructs_77d1e7e8.Construct,
|
|
128801
|
+
id: builtins.str,
|
|
128802
|
+
arn: builtins.str,
|
|
128803
|
+
) -> None:
|
|
128804
|
+
"""Type checking stubs"""
|
|
128805
|
+
pass
|
|
128806
|
+
|
|
128807
|
+
def _typecheckingstub__6c41061042437440fce590eb8d2e84ca2e31260fbb48f45a79f28c068eb57cf4(
|
|
128808
|
+
scope: _constructs_77d1e7e8.Construct,
|
|
128809
|
+
id: builtins.str,
|
|
128810
|
+
local_gateway_virtual_interface_group_id: builtins.str,
|
|
128811
|
+
) -> None:
|
|
128812
|
+
"""Type checking stubs"""
|
|
128813
|
+
pass
|
|
128814
|
+
|
|
128815
|
+
def _typecheckingstub__2cb275542481a92dcc0981a31e5b84f30303479387a077892f0ce93929c8683e(
|
|
128816
|
+
inspector: _TreeInspector_488e0dd5,
|
|
128817
|
+
) -> None:
|
|
128818
|
+
"""Type checking stubs"""
|
|
128819
|
+
pass
|
|
128820
|
+
|
|
128821
|
+
def _typecheckingstub__18212f2fc4e751f496b0f978560864ecefabe558ebf8ffcccfafbd83fcc076f9(
|
|
128822
|
+
props: typing.Mapping[builtins.str, typing.Any],
|
|
128823
|
+
) -> None:
|
|
128824
|
+
"""Type checking stubs"""
|
|
128825
|
+
pass
|
|
128826
|
+
|
|
128827
|
+
def _typecheckingstub__72980886c0b232d5cbf6c82b702ca8e8bad15827fe4b8c5a6125cccfd17a038f(
|
|
128828
|
+
value: builtins.str,
|
|
128829
|
+
) -> None:
|
|
128830
|
+
"""Type checking stubs"""
|
|
128831
|
+
pass
|
|
128832
|
+
|
|
128833
|
+
def _typecheckingstub__e17efd4cdc854aef38d95618d445b062d3dff94405b26cd2e5bf702d043d63c5(
|
|
128834
|
+
value: typing.Optional[jsii.Number],
|
|
128835
|
+
) -> None:
|
|
128836
|
+
"""Type checking stubs"""
|
|
128837
|
+
pass
|
|
128838
|
+
|
|
128839
|
+
def _typecheckingstub__451e90a51f0d03f4296d1a4075273832941693edd09aeac29656d7364ee7c634(
|
|
128840
|
+
value: typing.Optional[jsii.Number],
|
|
128841
|
+
) -> None:
|
|
128842
|
+
"""Type checking stubs"""
|
|
128843
|
+
pass
|
|
128844
|
+
|
|
128845
|
+
def _typecheckingstub__c5e51302d318cef13096e5600090018d23258317ba4cb12507e944c98443851e(
|
|
128846
|
+
value: typing.Optional[typing.List[_CfnTag_f6864754]],
|
|
128847
|
+
) -> None:
|
|
128848
|
+
"""Type checking stubs"""
|
|
128849
|
+
pass
|
|
128850
|
+
|
|
126251
128851
|
def _typecheckingstub__4d23f1a46df0174ce142c0ff05ac9cb901ecac30141c8b466b44569b409414aa(
|
|
126252
128852
|
scope: _constructs_77d1e7e8.Construct,
|
|
126253
128853
|
id: builtins.str,
|