aws-cdk-lib 2.173.4__py3-none-any.whl → 2.174.1__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.

Potentially problematic release.


This version of aws-cdk-lib might be problematic. Click here for more details.

Files changed (91) hide show
  1. aws_cdk/__init__.py +210 -181
  2. aws_cdk/_jsii/__init__.py +1 -1
  3. aws_cdk/_jsii/{aws-cdk-lib@2.173.4.jsii.tgz → aws-cdk-lib@2.174.1.jsii.tgz} +0 -0
  4. aws_cdk/aws_amazonmq/__init__.py +18 -0
  5. aws_cdk/aws_apigateway/__init__.py +127 -168
  6. aws_cdk/aws_appconfig/__init__.py +498 -1
  7. aws_cdk/aws_applicationautoscaling/__init__.py +4 -1
  8. aws_cdk/aws_appsync/__init__.py +4 -0
  9. aws_cdk/aws_autoscaling/__init__.py +96 -0
  10. aws_cdk/aws_batch/__init__.py +662 -237
  11. aws_cdk/aws_bedrock/__init__.py +2122 -181
  12. aws_cdk/aws_cassandra/__init__.py +476 -4
  13. aws_cdk/aws_cleanrooms/__init__.py +1227 -20
  14. aws_cdk/aws_cloudformation/__init__.py +172 -169
  15. aws_cdk/aws_cloudfront/__init__.py +773 -26
  16. aws_cdk/aws_cloudtrail/__init__.py +8 -2
  17. aws_cdk/aws_codebuild/__init__.py +83 -0
  18. aws_cdk/aws_codepipeline/__init__.py +2 -1
  19. aws_cdk/aws_cognito/__init__.py +232 -200
  20. aws_cdk/aws_connect/__init__.py +187 -36
  21. aws_cdk/aws_connectcampaignsv2/__init__.py +106 -12
  22. aws_cdk/aws_databrew/__init__.py +69 -1
  23. aws_cdk/aws_datasync/__init__.py +33 -28
  24. aws_cdk/aws_datazone/__init__.py +141 -41
  25. aws_cdk/aws_dlm/__init__.py +20 -10
  26. aws_cdk/aws_dms/__init__.py +736 -22
  27. aws_cdk/aws_docdb/__init__.py +134 -0
  28. aws_cdk/aws_dynamodb/__init__.py +76 -4
  29. aws_cdk/aws_ec2/__init__.py +1233 -65
  30. aws_cdk/aws_ecr/__init__.py +31 -0
  31. aws_cdk/aws_ecr_assets/__init__.py +5 -0
  32. aws_cdk/aws_ecs/__init__.py +88 -11
  33. aws_cdk/aws_efs/__init__.py +15 -8
  34. aws_cdk/aws_eks/__init__.py +114 -45
  35. aws_cdk/aws_elasticloadbalancingv2/__init__.py +2 -2
  36. aws_cdk/aws_emrserverless/__init__.py +143 -0
  37. aws_cdk/aws_events/__init__.py +50 -30
  38. aws_cdk/aws_fis/__init__.py +33 -33
  39. aws_cdk/aws_fsx/__init__.py +20 -10
  40. aws_cdk/aws_glue/__init__.py +34 -11
  41. aws_cdk/aws_greengrass/__init__.py +8 -8
  42. aws_cdk/aws_guardduty/__init__.py +1 -1
  43. aws_cdk/aws_imagebuilder/__init__.py +45 -47
  44. aws_cdk/aws_internetmonitor/__init__.py +3 -3
  45. aws_cdk/aws_invoicing/__init__.py +55 -30
  46. aws_cdk/aws_iot/__init__.py +1117 -4
  47. aws_cdk/aws_iot1click/__init__.py +17 -7
  48. aws_cdk/aws_kendra/__init__.py +4 -6
  49. aws_cdk/aws_lambda/__init__.py +15 -1
  50. aws_cdk/aws_logs/__init__.py +4011 -86
  51. aws_cdk/aws_m2/__init__.py +41 -0
  52. aws_cdk/aws_mediaconnect/__init__.py +202 -7
  53. aws_cdk/aws_mediaconvert/__init__.py +39 -0
  54. aws_cdk/aws_memorydb/__init__.py +22 -22
  55. aws_cdk/aws_networkmanager/__init__.py +758 -0
  56. aws_cdk/aws_opensearchservice/__init__.py +222 -0
  57. aws_cdk/aws_organizations/__init__.py +5 -3
  58. aws_cdk/aws_pcs/__init__.py +3038 -0
  59. aws_cdk/aws_pipes/__init__.py +10 -10
  60. aws_cdk/aws_qbusiness/__init__.py +415 -140
  61. aws_cdk/aws_quicksight/__init__.py +59795 -49748
  62. aws_cdk/aws_ram/__init__.py +5 -11
  63. aws_cdk/aws_rbin/__init__.py +28 -16
  64. aws_cdk/aws_rds/__init__.py +186 -31
  65. aws_cdk/aws_redshiftserverless/__init__.py +156 -0
  66. aws_cdk/aws_resiliencehub/__init__.py +2 -1
  67. aws_cdk/aws_route53_targets/__init__.py +5 -5
  68. aws_cdk/aws_s3/__init__.py +25 -15
  69. aws_cdk/aws_s3express/__init__.py +7 -7
  70. aws_cdk/aws_s3tables/__init__.py +683 -0
  71. aws_cdk/aws_sagemaker/__init__.py +580 -195
  72. aws_cdk/aws_secretsmanager/__init__.py +2 -0
  73. aws_cdk/aws_securityhub/__init__.py +41 -165
  74. aws_cdk/aws_servicediscovery/__init__.py +10 -3
  75. aws_cdk/aws_ses/__init__.py +190 -5
  76. aws_cdk/aws_sns/__init__.py +7 -3
  77. aws_cdk/aws_synthetics/__init__.py +29 -4
  78. aws_cdk/aws_transfer/__init__.py +8 -0
  79. aws_cdk/aws_vpclattice/__init__.py +147 -77
  80. aws_cdk/aws_wafv2/__init__.py +20 -8
  81. aws_cdk/aws_wisdom/__init__.py +162 -111
  82. aws_cdk/aws_workspaces/__init__.py +10 -4
  83. aws_cdk/cloud_assembly_schema/__init__.py +22 -0
  84. aws_cdk/custom_resources/__init__.py +31 -0
  85. aws_cdk/cx_api/__init__.py +19 -0
  86. {aws_cdk_lib-2.173.4.dist-info → aws_cdk_lib-2.174.1.dist-info}/LICENSE +1 -1
  87. {aws_cdk_lib-2.173.4.dist-info → aws_cdk_lib-2.174.1.dist-info}/METADATA +2 -2
  88. {aws_cdk_lib-2.173.4.dist-info → aws_cdk_lib-2.174.1.dist-info}/NOTICE +1 -1
  89. {aws_cdk_lib-2.173.4.dist-info → aws_cdk_lib-2.174.1.dist-info}/RECORD +91 -89
  90. {aws_cdk_lib-2.173.4.dist-info → aws_cdk_lib-2.174.1.dist-info}/WHEEL +0 -0
  91. {aws_cdk_lib-2.173.4.dist-info → aws_cdk_lib-2.174.1.dist-info}/top_level.txt +0 -0
@@ -10503,6 +10503,13 @@ class CfnEC2Fleet(
10503
10503
  max=123,
10504
10504
  min=123
10505
10505
  ),
10506
+ baseline_performance_factors=ec2.CfnEC2Fleet.BaselinePerformanceFactorsRequestProperty(
10507
+ cpu=ec2.CfnEC2Fleet.CpuPerformanceFactorRequestProperty(
10508
+ references=[ec2.CfnEC2Fleet.PerformanceFactorReferenceRequestProperty(
10509
+ instance_family="instanceFamily"
10510
+ )]
10511
+ )
10512
+ ),
10506
10513
  burstable_performance="burstablePerformance",
10507
10514
  cpu_manufacturers=["cpuManufacturers"],
10508
10515
  excluded_instance_types=["excludedInstanceTypes"],
@@ -11133,6 +11140,71 @@ class CfnEC2Fleet(
11133
11140
  k + "=" + repr(v) for k, v in self._values.items()
11134
11141
  )
11135
11142
 
11143
+ @jsii.data_type(
11144
+ jsii_type="aws-cdk-lib.aws_ec2.CfnEC2Fleet.BaselinePerformanceFactorsRequestProperty",
11145
+ jsii_struct_bases=[],
11146
+ name_mapping={"cpu": "cpu"},
11147
+ )
11148
+ class BaselinePerformanceFactorsRequestProperty:
11149
+ def __init__(
11150
+ self,
11151
+ *,
11152
+ cpu: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union["CfnEC2Fleet.CpuPerformanceFactorRequestProperty", typing.Dict[builtins.str, typing.Any]]]] = None,
11153
+ ) -> None:
11154
+ '''The baseline performance to consider, using an instance family as a baseline reference.
11155
+
11156
+ The instance family establishes the lowest acceptable level of performance. Amazon EC2 uses this baseline to guide instance type selection, but there is no guarantee that the selected instance types will always exceed the baseline for every application.
11157
+
11158
+ Currently, this parameter only supports CPU performance as a baseline performance factor. For example, specifying ``c6i`` would use the CPU performance of the ``c6i`` family as the baseline reference.
11159
+
11160
+ :param cpu: The CPU performance to consider, using an instance family as the baseline reference.
11161
+
11162
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-ec2fleet-baselineperformancefactorsrequest.html
11163
+ :exampleMetadata: fixture=_generated
11164
+
11165
+ Example::
11166
+
11167
+ # The code below shows an example of how to instantiate this type.
11168
+ # The values are placeholders you should change.
11169
+ from aws_cdk import aws_ec2 as ec2
11170
+
11171
+ baseline_performance_factors_request_property = ec2.CfnEC2Fleet.BaselinePerformanceFactorsRequestProperty(
11172
+ cpu=ec2.CfnEC2Fleet.CpuPerformanceFactorRequestProperty(
11173
+ references=[ec2.CfnEC2Fleet.PerformanceFactorReferenceRequestProperty(
11174
+ instance_family="instanceFamily"
11175
+ )]
11176
+ )
11177
+ )
11178
+ '''
11179
+ if __debug__:
11180
+ type_hints = typing.get_type_hints(_typecheckingstub__af90912c9ac24abaec82396197e6a69e4a9b7287343456143c11dce7650e71c5)
11181
+ check_type(argname="argument cpu", value=cpu, expected_type=type_hints["cpu"])
11182
+ self._values: typing.Dict[builtins.str, typing.Any] = {}
11183
+ if cpu is not None:
11184
+ self._values["cpu"] = cpu
11185
+
11186
+ @builtins.property
11187
+ def cpu(
11188
+ self,
11189
+ ) -> typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnEC2Fleet.CpuPerformanceFactorRequestProperty"]]:
11190
+ '''The CPU performance to consider, using an instance family as the baseline reference.
11191
+
11192
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-ec2fleet-baselineperformancefactorsrequest.html#cfn-ec2-ec2fleet-baselineperformancefactorsrequest-cpu
11193
+ '''
11194
+ result = self._values.get("cpu")
11195
+ return typing.cast(typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnEC2Fleet.CpuPerformanceFactorRequestProperty"]], result)
11196
+
11197
+ def __eq__(self, rhs: typing.Any) -> builtins.bool:
11198
+ return isinstance(rhs, self.__class__) and rhs._values == self._values
11199
+
11200
+ def __ne__(self, rhs: typing.Any) -> builtins.bool:
11201
+ return not (rhs == self)
11202
+
11203
+ def __repr__(self) -> str:
11204
+ return "BaselinePerformanceFactorsRequestProperty(%s)" % ", ".join(
11205
+ k + "=" + repr(v) for k, v in self._values.items()
11206
+ )
11207
+
11136
11208
  @jsii.data_type(
11137
11209
  jsii_type="aws-cdk-lib.aws_ec2.CfnEC2Fleet.CapacityRebalanceProperty",
11138
11210
  jsii_struct_bases=[],
@@ -11283,6 +11355,70 @@ class CfnEC2Fleet(
11283
11355
  k + "=" + repr(v) for k, v in self._values.items()
11284
11356
  )
11285
11357
 
11358
+ @jsii.data_type(
11359
+ jsii_type="aws-cdk-lib.aws_ec2.CfnEC2Fleet.CpuPerformanceFactorRequestProperty",
11360
+ jsii_struct_bases=[],
11361
+ name_mapping={"references": "references"},
11362
+ )
11363
+ class CpuPerformanceFactorRequestProperty:
11364
+ def __init__(
11365
+ self,
11366
+ *,
11367
+ references: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Sequence[typing.Union[_IResolvable_da3f097b, typing.Union["CfnEC2Fleet.PerformanceFactorReferenceRequestProperty", typing.Dict[builtins.str, typing.Any]]]]]] = None,
11368
+ ) -> None:
11369
+ '''The CPU performance to consider, using an instance family as the baseline reference.
11370
+
11371
+ :param references: Specify an instance family to use as the baseline reference for CPU performance. All instance types that match your specified attributes will be compared against the CPU performance of the referenced instance family, regardless of CPU manufacturer or architecture differences. .. epigraph:: Currently, only one instance family can be specified in the list.
11372
+
11373
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-ec2fleet-cpuperformancefactorrequest.html
11374
+ :exampleMetadata: fixture=_generated
11375
+
11376
+ Example::
11377
+
11378
+ # The code below shows an example of how to instantiate this type.
11379
+ # The values are placeholders you should change.
11380
+ from aws_cdk import aws_ec2 as ec2
11381
+
11382
+ cpu_performance_factor_request_property = ec2.CfnEC2Fleet.CpuPerformanceFactorRequestProperty(
11383
+ references=[ec2.CfnEC2Fleet.PerformanceFactorReferenceRequestProperty(
11384
+ instance_family="instanceFamily"
11385
+ )]
11386
+ )
11387
+ '''
11388
+ if __debug__:
11389
+ type_hints = typing.get_type_hints(_typecheckingstub__2e29954f7c2c9dfcf753ab53031041abbaad5b5371796092fa6a7e5ca77f22a6)
11390
+ check_type(argname="argument references", value=references, expected_type=type_hints["references"])
11391
+ self._values: typing.Dict[builtins.str, typing.Any] = {}
11392
+ if references is not None:
11393
+ self._values["references"] = references
11394
+
11395
+ @builtins.property
11396
+ def references(
11397
+ self,
11398
+ ) -> typing.Optional[typing.Union[_IResolvable_da3f097b, typing.List[typing.Union[_IResolvable_da3f097b, "CfnEC2Fleet.PerformanceFactorReferenceRequestProperty"]]]]:
11399
+ '''Specify an instance family to use as the baseline reference for CPU performance.
11400
+
11401
+ All instance types that match your specified attributes will be compared against the CPU performance of the referenced instance family, regardless of CPU manufacturer or architecture differences.
11402
+ .. epigraph::
11403
+
11404
+ Currently, only one instance family can be specified in the list.
11405
+
11406
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-ec2fleet-cpuperformancefactorrequest.html#cfn-ec2-ec2fleet-cpuperformancefactorrequest-references
11407
+ '''
11408
+ result = self._values.get("references")
11409
+ return typing.cast(typing.Optional[typing.Union[_IResolvable_da3f097b, typing.List[typing.Union[_IResolvable_da3f097b, "CfnEC2Fleet.PerformanceFactorReferenceRequestProperty"]]]], result)
11410
+
11411
+ def __eq__(self, rhs: typing.Any) -> builtins.bool:
11412
+ return isinstance(rhs, self.__class__) and rhs._values == self._values
11413
+
11414
+ def __ne__(self, rhs: typing.Any) -> builtins.bool:
11415
+ return not (rhs == self)
11416
+
11417
+ def __repr__(self) -> str:
11418
+ return "CpuPerformanceFactorRequestProperty(%s)" % ", ".join(
11419
+ k + "=" + repr(v) for k, v in self._values.items()
11420
+ )
11421
+
11286
11422
  @jsii.data_type(
11287
11423
  jsii_type="aws-cdk-lib.aws_ec2.CfnEC2Fleet.FleetLaunchTemplateConfigRequestProperty",
11288
11424
  jsii_struct_bases=[],
@@ -11342,6 +11478,13 @@ class CfnEC2Fleet(
11342
11478
  max=123,
11343
11479
  min=123
11344
11480
  ),
11481
+ baseline_performance_factors=ec2.CfnEC2Fleet.BaselinePerformanceFactorsRequestProperty(
11482
+ cpu=ec2.CfnEC2Fleet.CpuPerformanceFactorRequestProperty(
11483
+ references=[ec2.CfnEC2Fleet.PerformanceFactorReferenceRequestProperty(
11484
+ instance_family="instanceFamily"
11485
+ )]
11486
+ )
11487
+ ),
11345
11488
  burstable_performance="burstablePerformance",
11346
11489
  cpu_manufacturers=["cpuManufacturers"],
11347
11490
  excluded_instance_types=["excludedInstanceTypes"],
@@ -11511,6 +11654,13 @@ class CfnEC2Fleet(
11511
11654
  max=123,
11512
11655
  min=123
11513
11656
  ),
11657
+ baseline_performance_factors=ec2.CfnEC2Fleet.BaselinePerformanceFactorsRequestProperty(
11658
+ cpu=ec2.CfnEC2Fleet.CpuPerformanceFactorRequestProperty(
11659
+ references=[ec2.CfnEC2Fleet.PerformanceFactorReferenceRequestProperty(
11660
+ instance_family="instanceFamily"
11661
+ )]
11662
+ )
11663
+ ),
11514
11664
  burstable_performance="burstablePerformance",
11515
11665
  cpu_manufacturers=["cpuManufacturers"],
11516
11666
  excluded_instance_types=["excludedInstanceTypes"],
@@ -11831,6 +11981,7 @@ class CfnEC2Fleet(
11831
11981
  "allowed_instance_types": "allowedInstanceTypes",
11832
11982
  "bare_metal": "bareMetal",
11833
11983
  "baseline_ebs_bandwidth_mbps": "baselineEbsBandwidthMbps",
11984
+ "baseline_performance_factors": "baselinePerformanceFactors",
11834
11985
  "burstable_performance": "burstablePerformance",
11835
11986
  "cpu_manufacturers": "cpuManufacturers",
11836
11987
  "excluded_instance_types": "excludedInstanceTypes",
@@ -11861,6 +12012,7 @@ class CfnEC2Fleet(
11861
12012
  allowed_instance_types: typing.Optional[typing.Sequence[builtins.str]] = None,
11862
12013
  bare_metal: typing.Optional[builtins.str] = None,
11863
12014
  baseline_ebs_bandwidth_mbps: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union["CfnEC2Fleet.BaselineEbsBandwidthMbpsRequestProperty", typing.Dict[builtins.str, typing.Any]]]] = None,
12015
+ baseline_performance_factors: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union["CfnEC2Fleet.BaselinePerformanceFactorsRequestProperty", typing.Dict[builtins.str, typing.Any]]]] = None,
11864
12016
  burstable_performance: typing.Optional[builtins.str] = None,
11865
12017
  cpu_manufacturers: typing.Optional[typing.Sequence[builtins.str]] = None,
11866
12018
  excluded_instance_types: typing.Optional[typing.Sequence[builtins.str]] = None,
@@ -11907,6 +12059,7 @@ class CfnEC2Fleet(
11907
12059
  :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 will allow the entire C5 instance family, which includes all C5a and C5n instance types. If you specify ``m5a.*`` , Amazon EC2 will allow all the M5a instance types, but not the M5n instance types. .. epigraph:: If you specify ``AllowedInstanceTypes`` , you can't specify ``ExcludedInstanceTypes`` . Default: All instance types
11908
12060
  :param bare_metal: Indicates whether bare metal instance types must be included, excluded, or required. - To include bare metal instance types, specify ``included`` . - To require only bare metal instance types, specify ``required`` . - To exclude bare metal instance types, specify ``excluded`` . Default: ``excluded``
11909
12061
  :param baseline_ebs_bandwidth_mbps: The minimum and maximum baseline bandwidth to Amazon EBS, in Mbps. For more information, see `Amazon EBS–optimized instances <https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ebs-optimized.html>`_ in the *Amazon EC2 User Guide* . Default: No minimum or maximum limits
12062
+ :param baseline_performance_factors: The baseline performance to consider, using an instance family as a baseline reference. The instance family establishes the lowest acceptable level of performance. Amazon EC2 uses this baseline to guide instance type selection, but there is no guarantee that the selected instance types will always exceed the baseline for every application. Currently, this parameter only supports CPU performance as a baseline performance factor. For more information, see `Performance protection <https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-fleet-attribute-based-instance-type-selection.html#ec2fleet-abis-performance-protection>`_ in the *Amazon EC2 User Guide* .
11910
12063
  :param burstable_performance: Indicates whether burstable performance T instance types are included, excluded, or required. For more information, see `Burstable performance instances <https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/burstable-performance-instances.html>`_ . - To include burstable performance instance types, specify ``included`` . - To require only burstable performance instance types, specify ``required`` . - To exclude burstable performance instance types, specify ``excluded`` . Default: ``excluded``
11911
12064
  :param cpu_manufacturers: The 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`` . .. epigraph:: Don't confuse the CPU manufacturer with the CPU 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
11912
12065
  :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*`` ,Amazon EC2 will exclude the entire C5 instance family, which includes all C5a and C5n instance types. If you specify ``m5a.*`` , Amazon EC2 will exclude all the M5a instance types, but not the M5n instance types. .. epigraph:: If you specify ``ExcludedInstanceTypes`` , you can't specify ``AllowedInstanceTypes`` . Default: No excluded instance types
@@ -11951,6 +12104,13 @@ class CfnEC2Fleet(
11951
12104
  max=123,
11952
12105
  min=123
11953
12106
  ),
12107
+ baseline_performance_factors=ec2.CfnEC2Fleet.BaselinePerformanceFactorsRequestProperty(
12108
+ cpu=ec2.CfnEC2Fleet.CpuPerformanceFactorRequestProperty(
12109
+ references=[ec2.CfnEC2Fleet.PerformanceFactorReferenceRequestProperty(
12110
+ instance_family="instanceFamily"
12111
+ )]
12112
+ )
12113
+ ),
11954
12114
  burstable_performance="burstablePerformance",
11955
12115
  cpu_manufacturers=["cpuManufacturers"],
11956
12116
  excluded_instance_types=["excludedInstanceTypes"],
@@ -11997,6 +12157,7 @@ class CfnEC2Fleet(
11997
12157
  check_type(argname="argument allowed_instance_types", value=allowed_instance_types, expected_type=type_hints["allowed_instance_types"])
11998
12158
  check_type(argname="argument bare_metal", value=bare_metal, expected_type=type_hints["bare_metal"])
11999
12159
  check_type(argname="argument baseline_ebs_bandwidth_mbps", value=baseline_ebs_bandwidth_mbps, expected_type=type_hints["baseline_ebs_bandwidth_mbps"])
12160
+ check_type(argname="argument baseline_performance_factors", value=baseline_performance_factors, expected_type=type_hints["baseline_performance_factors"])
12000
12161
  check_type(argname="argument burstable_performance", value=burstable_performance, expected_type=type_hints["burstable_performance"])
12001
12162
  check_type(argname="argument cpu_manufacturers", value=cpu_manufacturers, expected_type=type_hints["cpu_manufacturers"])
12002
12163
  check_type(argname="argument excluded_instance_types", value=excluded_instance_types, expected_type=type_hints["excluded_instance_types"])
@@ -12030,6 +12191,8 @@ class CfnEC2Fleet(
12030
12191
  self._values["bare_metal"] = bare_metal
12031
12192
  if baseline_ebs_bandwidth_mbps is not None:
12032
12193
  self._values["baseline_ebs_bandwidth_mbps"] = baseline_ebs_bandwidth_mbps
12194
+ if baseline_performance_factors is not None:
12195
+ self._values["baseline_performance_factors"] = baseline_performance_factors
12033
12196
  if burstable_performance is not None:
12034
12197
  self._values["burstable_performance"] = burstable_performance
12035
12198
  if cpu_manufacturers is not None:
@@ -12198,6 +12361,19 @@ class CfnEC2Fleet(
12198
12361
  result = self._values.get("baseline_ebs_bandwidth_mbps")
12199
12362
  return typing.cast(typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnEC2Fleet.BaselineEbsBandwidthMbpsRequestProperty"]], result)
12200
12363
 
12364
+ @builtins.property
12365
+ def baseline_performance_factors(
12366
+ self,
12367
+ ) -> typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnEC2Fleet.BaselinePerformanceFactorsRequestProperty"]]:
12368
+ '''The baseline performance to consider, using an instance family as a baseline reference.
12369
+
12370
+ The instance family establishes the lowest acceptable level of performance. Amazon EC2 uses this baseline to guide instance type selection, but there is no guarantee that the selected instance types will always exceed the baseline for every application. Currently, this parameter only supports CPU performance as a baseline performance factor. For more information, see `Performance protection <https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-fleet-attribute-based-instance-type-selection.html#ec2fleet-abis-performance-protection>`_ in the *Amazon EC2 User Guide* .
12371
+
12372
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-ec2fleet-instancerequirementsrequest.html#cfn-ec2-ec2fleet-instancerequirementsrequest-baselineperformancefactors
12373
+ '''
12374
+ result = self._values.get("baseline_performance_factors")
12375
+ return typing.cast(typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnEC2Fleet.BaselinePerformanceFactorsRequestProperty"]], result)
12376
+
12201
12377
  @builtins.property
12202
12378
  def burstable_performance(self) -> typing.Optional[builtins.str]:
12203
12379
  '''Indicates whether burstable performance T instance types are included, excluded, or required.
@@ -13000,6 +13176,85 @@ class CfnEC2Fleet(
13000
13176
  k + "=" + repr(v) for k, v in self._values.items()
13001
13177
  )
13002
13178
 
13179
+ @jsii.data_type(
13180
+ jsii_type="aws-cdk-lib.aws_ec2.CfnEC2Fleet.PerformanceFactorReferenceRequestProperty",
13181
+ jsii_struct_bases=[],
13182
+ name_mapping={"instance_family": "instanceFamily"},
13183
+ )
13184
+ class PerformanceFactorReferenceRequestProperty:
13185
+ def __init__(
13186
+ self,
13187
+ *,
13188
+ instance_family: typing.Optional[builtins.str] = None,
13189
+ ) -> None:
13190
+ '''Specify an instance family to use as the baseline reference for CPU performance.
13191
+
13192
+ All instance types that match your specified attributes will be compared against the CPU performance of the referenced instance family, regardless of CPU manufacturer or architecture.
13193
+ .. epigraph::
13194
+
13195
+ Currently, only one instance family can be specified in the list.
13196
+
13197
+ :param instance_family: The instance family to use as a baseline reference. .. epigraph:: Ensure that you specify the correct value for the instance family. The instance family is everything before the period ( ``.`` ) in the instance type name. For example, in the instance type ``c6i.large`` , the instance family is ``c6i`` , not ``c6`` . For more information, see `Amazon EC2 instance type naming conventions <https://docs.aws.amazon.com/ec2/latest/instancetypes/instance-type-names.html>`_ in *Amazon EC2 Instance Types* . The following instance families are *not supported* for performance protection: - ``c1`` - ``g3`` | ``g3s`` - ``hpc7g`` - ``m1`` | ``m2`` - ``mac1`` | ``mac2`` | ``mac2-m1ultra`` | ``mac2-m2`` | ``mac2-m2pro`` - ``p3dn`` | ``p4d`` | ``p5`` - ``t1`` - ``u-12tb1`` | ``u-18tb1`` | ``u-24tb1`` | ``u-3tb1`` | ``u-6tb1`` | ``u-9tb1`` | ``u7i-12tb`` | ``u7in-16tb`` | ``u7in-24tb`` | ``u7in-32tb`` If you enable performance protection by specifying a supported instance family, the returned instance types will exclude the above unsupported instance families. If you specify an unsupported instance family as a value for baseline performance, the API returns an empty response response for `GetInstanceTypesFromInstanceRequirements <https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_GetInstanceTypesFromInstanceRequirements.html>`_ and an exception for `CreateFleet <https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_CreateFleet.html>`_ , `RequestSpotFleet <https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_RequestSpotFleet.html>`_ , `ModifyFleet <https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_ModifyFleet.html>`_ , and `ModifySpotFleetRequest <https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_ModifySpotFleetRequest.html>`_ .
13198
+
13199
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-ec2fleet-performancefactorreferencerequest.html
13200
+ :exampleMetadata: fixture=_generated
13201
+
13202
+ Example::
13203
+
13204
+ # The code below shows an example of how to instantiate this type.
13205
+ # The values are placeholders you should change.
13206
+ from aws_cdk import aws_ec2 as ec2
13207
+
13208
+ performance_factor_reference_request_property = ec2.CfnEC2Fleet.PerformanceFactorReferenceRequestProperty(
13209
+ instance_family="instanceFamily"
13210
+ )
13211
+ '''
13212
+ if __debug__:
13213
+ type_hints = typing.get_type_hints(_typecheckingstub__763de8714eb641fd97ed93223598e53004b5244dd3fb304b8b01f6c1d7375a58)
13214
+ check_type(argname="argument instance_family", value=instance_family, expected_type=type_hints["instance_family"])
13215
+ self._values: typing.Dict[builtins.str, typing.Any] = {}
13216
+ if instance_family is not None:
13217
+ self._values["instance_family"] = instance_family
13218
+
13219
+ @builtins.property
13220
+ def instance_family(self) -> typing.Optional[builtins.str]:
13221
+ '''The instance family to use as a baseline reference.
13222
+
13223
+ .. epigraph::
13224
+
13225
+ Ensure that you specify the correct value for the instance family. The instance family is everything before the period ( ``.`` ) in the instance type name. For example, in the instance type ``c6i.large`` , the instance family is ``c6i`` , not ``c6`` . For more information, see `Amazon EC2 instance type naming conventions <https://docs.aws.amazon.com/ec2/latest/instancetypes/instance-type-names.html>`_ in *Amazon EC2 Instance Types* .
13226
+
13227
+ The following instance families are *not supported* for performance protection:
13228
+
13229
+ - ``c1``
13230
+ - ``g3`` | ``g3s``
13231
+ - ``hpc7g``
13232
+ - ``m1`` | ``m2``
13233
+ - ``mac1`` | ``mac2`` | ``mac2-m1ultra`` | ``mac2-m2`` | ``mac2-m2pro``
13234
+ - ``p3dn`` | ``p4d`` | ``p5``
13235
+ - ``t1``
13236
+ - ``u-12tb1`` | ``u-18tb1`` | ``u-24tb1`` | ``u-3tb1`` | ``u-6tb1`` | ``u-9tb1`` | ``u7i-12tb`` | ``u7in-16tb`` | ``u7in-24tb`` | ``u7in-32tb``
13237
+
13238
+ If you enable performance protection by specifying a supported instance family, the returned instance types will exclude the above unsupported instance families.
13239
+
13240
+ If you specify an unsupported instance family as a value for baseline performance, the API returns an empty response response for `GetInstanceTypesFromInstanceRequirements <https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_GetInstanceTypesFromInstanceRequirements.html>`_ and an exception for `CreateFleet <https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_CreateFleet.html>`_ , `RequestSpotFleet <https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_RequestSpotFleet.html>`_ , `ModifyFleet <https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_ModifyFleet.html>`_ , and `ModifySpotFleetRequest <https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_ModifySpotFleetRequest.html>`_ .
13241
+
13242
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-ec2fleet-performancefactorreferencerequest.html#cfn-ec2-ec2fleet-performancefactorreferencerequest-instancefamily
13243
+ '''
13244
+ result = self._values.get("instance_family")
13245
+ return typing.cast(typing.Optional[builtins.str], result)
13246
+
13247
+ def __eq__(self, rhs: typing.Any) -> builtins.bool:
13248
+ return isinstance(rhs, self.__class__) and rhs._values == self._values
13249
+
13250
+ def __ne__(self, rhs: typing.Any) -> builtins.bool:
13251
+ return not (rhs == self)
13252
+
13253
+ def __repr__(self) -> str:
13254
+ return "PerformanceFactorReferenceRequestProperty(%s)" % ", ".join(
13255
+ k + "=" + repr(v) for k, v in self._values.items()
13256
+ )
13257
+
13003
13258
  @jsii.data_type(
13004
13259
  jsii_type="aws-cdk-lib.aws_ec2.CfnEC2Fleet.PlacementProperty",
13005
13260
  jsii_struct_bases=[],
@@ -13842,6 +14097,13 @@ class CfnEC2FleetProps:
13842
14097
  max=123,
13843
14098
  min=123
13844
14099
  ),
14100
+ baseline_performance_factors=ec2.CfnEC2Fleet.BaselinePerformanceFactorsRequestProperty(
14101
+ cpu=ec2.CfnEC2Fleet.CpuPerformanceFactorRequestProperty(
14102
+ references=[ec2.CfnEC2Fleet.PerformanceFactorReferenceRequestProperty(
14103
+ instance_family="instanceFamily"
14104
+ )]
14105
+ )
14106
+ ),
13845
14107
  burstable_performance="burstablePerformance",
13846
14108
  cpu_manufacturers=["cpuManufacturers"],
13847
14109
  excluded_instance_types=["excludedInstanceTypes"],
@@ -19734,7 +19996,7 @@ class CfnInstance(
19734
19996
  :param placement_group_name: The name of an existing placement group that you want to launch the instance into (cluster | partition | spread).
19735
19997
  :param private_dns_name_options: The options for the instance hostname.
19736
19998
  :param private_ip_address: The primary IPv4 address. You must specify a value from the IPv4 address range of the subnet. Only one private IP address can be designated as primary. You can't specify this option if you've specified the option to designate a private IP address as the primary IP address in a network interface specification. You cannot specify this option if you're launching more than one instance in the request. You cannot specify this option and the network interfaces option in the same request. If you make an update to an instance that requires replacement, you must assign a new private IP address. During a replacement, AWS CloudFormation creates a new instance but doesn't delete the old instance until the stack has successfully updated. If the stack update fails, AWS CloudFormation uses the old instance to roll back the stack to the previous working state. The old and new instances cannot have the same private IP address.
19737
- :param propagate_tags_to_volume_on_creation: Indicates whether to assign the tags from the instance to all of the volumes attached to the instance at launch. If you specify ``true`` and you assign tags to the instance, those tags are automatically assigned to all of the volumes that you attach to the instance at launch. If you specify ``false`` , those tags are not assigned to the attached volumes.
19999
+ :param propagate_tags_to_volume_on_creation: Indicates whether to assign the tags specified in the ``Tags`` property to the volumes specified in the ``BlockDeviceMappings`` property. Note that using this feature does not assign the tags to volumes that are created separately and then attached using ``AWS::EC2::VolumeAttachment`` .
19738
20000
  :param ramdisk_id: The ID of the RAM disk to select. Some kernels require additional drivers at launch. Check the kernel requirements for information about whether you need to specify a RAM disk. To find kernel requirements, go to the AWS Resource Center and search for the kernel ID. .. epigraph:: We recommend that you use PV-GRUB instead of kernels and RAM disks. For more information, see `PV-GRUB <https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/UserProvidedkernels.html>`_ in the *Amazon EC2 User Guide* .
19739
20001
  :param security_group_ids: The IDs of the security groups. You can specify the IDs of existing security groups and references to resources created by the stack template. If you specify a network interface, you must specify any security groups as part of the network interface.
19740
20002
  :param security_groups: [Default VPC] The names of the security groups. For a nondefault VPC, you must use security group IDs instead. You cannot specify this option and the network interfaces option in the same request. The list can contain both the name of existing Amazon EC2 security groups or references to AWS::EC2::SecurityGroup resources created in the template. Default: Amazon EC2 uses the default security group.
@@ -20384,7 +20646,7 @@ class CfnInstance(
20384
20646
  def propagate_tags_to_volume_on_creation(
20385
20647
  self,
20386
20648
  ) -> typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]]:
20387
- '''Indicates whether to assign the tags from the instance to all of the volumes attached to the instance at launch.'''
20649
+ '''Indicates whether to assign the tags specified in the ``Tags`` property to the volumes specified in the ``BlockDeviceMappings`` property.'''
20388
20650
  return typing.cast(typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]], jsii.get(self, "propagateTagsToVolumeOnCreation"))
20389
20651
 
20390
20652
  @propagate_tags_to_volume_on_creation.setter
@@ -22808,7 +23070,7 @@ class CfnInstanceProps:
22808
23070
  :param placement_group_name: The name of an existing placement group that you want to launch the instance into (cluster | partition | spread).
22809
23071
  :param private_dns_name_options: The options for the instance hostname.
22810
23072
  :param private_ip_address: The primary IPv4 address. You must specify a value from the IPv4 address range of the subnet. Only one private IP address can be designated as primary. You can't specify this option if you've specified the option to designate a private IP address as the primary IP address in a network interface specification. You cannot specify this option if you're launching more than one instance in the request. You cannot specify this option and the network interfaces option in the same request. If you make an update to an instance that requires replacement, you must assign a new private IP address. During a replacement, AWS CloudFormation creates a new instance but doesn't delete the old instance until the stack has successfully updated. If the stack update fails, AWS CloudFormation uses the old instance to roll back the stack to the previous working state. The old and new instances cannot have the same private IP address.
22811
- :param propagate_tags_to_volume_on_creation: Indicates whether to assign the tags from the instance to all of the volumes attached to the instance at launch. If you specify ``true`` and you assign tags to the instance, those tags are automatically assigned to all of the volumes that you attach to the instance at launch. If you specify ``false`` , those tags are not assigned to the attached volumes.
23073
+ :param propagate_tags_to_volume_on_creation: Indicates whether to assign the tags specified in the ``Tags`` property to the volumes specified in the ``BlockDeviceMappings`` property. Note that using this feature does not assign the tags to volumes that are created separately and then attached using ``AWS::EC2::VolumeAttachment`` .
22812
23074
  :param ramdisk_id: The ID of the RAM disk to select. Some kernels require additional drivers at launch. Check the kernel requirements for information about whether you need to specify a RAM disk. To find kernel requirements, go to the AWS Resource Center and search for the kernel ID. .. epigraph:: We recommend that you use PV-GRUB instead of kernels and RAM disks. For more information, see `PV-GRUB <https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/UserProvidedkernels.html>`_ in the *Amazon EC2 User Guide* .
22813
23075
  :param security_group_ids: The IDs of the security groups. You can specify the IDs of existing security groups and references to resources created by the stack template. If you specify a network interface, you must specify any security groups as part of the network interface.
22814
23076
  :param security_groups: [Default VPC] The names of the security groups. For a nondefault VPC, you must use security group IDs instead. You cannot specify this option and the network interfaces option in the same request. The list can contain both the name of existing Amazon EC2 security groups or references to AWS::EC2::SecurityGroup resources created in the template. Default: Amazon EC2 uses the default security group.
@@ -23456,9 +23718,9 @@ class CfnInstanceProps:
23456
23718
  def propagate_tags_to_volume_on_creation(
23457
23719
  self,
23458
23720
  ) -> typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]]:
23459
- '''Indicates whether to assign the tags from the instance to all of the volumes attached to the instance at launch.
23721
+ '''Indicates whether to assign the tags specified in the ``Tags`` property to the volumes specified in the ``BlockDeviceMappings`` property.
23460
23722
 
23461
- If you specify ``true`` and you assign tags to the instance, those tags are automatically assigned to all of the volumes that you attach to the instance at launch. If you specify ``false`` , those tags are not assigned to the attached volumes.
23723
+ Note that using this feature does not assign the tags to volumes that are created separately and then attached using ``AWS::EC2::VolumeAttachment`` .
23462
23724
 
23463
23725
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-instance.html#cfn-ec2-instance-propagatetagstovolumeoncreation
23464
23726
  '''
@@ -25112,8 +25374,9 @@ class CfnLaunchTemplate(
25112
25374
  *,
25113
25375
  references: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Sequence[typing.Union[_IResolvable_da3f097b, typing.Union["CfnLaunchTemplate.ReferenceProperty", typing.Dict[builtins.str, typing.Any]]]]]] = None,
25114
25376
  ) -> None:
25115
- '''
25116
- :param references: A list of references to be used as baseline for the CPU performance. Currently, you can only specify a single reference across different instance type variations such as CPU manufacturers, architectures etc.
25377
+ '''Specifies the CPU performance to consider when using an instance family as the baseline reference.
25378
+
25379
+ :param references: The instance family to use as the baseline reference for CPU performance. All instance types that match your specified attributes are compared against the CPU performance of the referenced instance family, regardless of CPU manufacturer or architecture differences.
25117
25380
 
25118
25381
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-launchtemplate-cpu.html
25119
25382
  :exampleMetadata: fixture=_generated
@@ -25141,9 +25404,9 @@ class CfnLaunchTemplate(
25141
25404
  def references(
25142
25405
  self,
25143
25406
  ) -> typing.Optional[typing.Union[_IResolvable_da3f097b, typing.List[typing.Union[_IResolvable_da3f097b, "CfnLaunchTemplate.ReferenceProperty"]]]]:
25144
- '''A list of references to be used as baseline for the CPU performance.
25407
+ '''The instance family to use as the baseline reference for CPU performance.
25145
25408
 
25146
- Currently, you can only specify a single reference across different instance type variations such as CPU manufacturers, architectures etc.
25409
+ All instance types that match your specified attributes are compared against the CPU performance of the referenced instance family, regardless of CPU manufacturer or architecture differences.
25147
25410
 
25148
25411
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-launchtemplate-cpu.html#cfn-ec2-launchtemplate-cpu-references
25149
25412
  '''
@@ -29227,8 +29490,9 @@ class CfnLaunchTemplate(
29227
29490
  *,
29228
29491
  instance_family: typing.Optional[builtins.str] = None,
29229
29492
  ) -> None:
29230
- '''
29231
- :param instance_family: The instance family to refer. Ensure that you specify the correct family name. For example, C6i and C6g are valid values, but C6 is not.
29493
+ '''Specifies an instance family to use as the baseline reference for CPU performance.
29494
+
29495
+ :param instance_family: The instance family to use as a baseline reference. .. epigraph:: Ensure that you specify the correct value for the instance family. The instance family is everything before the period ( ``.`` ) in the instance type name. For example, in the instance type ``c6i.large`` , the instance family is ``c6i`` , not ``c6`` . For more information, see `Amazon EC2 instance type naming conventions <https://docs.aws.amazon.com/ec2/latest/instancetypes/instance-type-names.html>`_ in *Amazon EC2 Instance Types* . The following instance families are *not supported* for performance protection: - ``c1`` - ``g3`` | ``g3s`` - ``hpc7g`` - ``m1`` | ``m2`` - ``mac1`` | ``mac2`` | ``mac2-m1ultra`` | ``mac2-m2`` | ``mac2-m2pro`` - ``p3dn`` | ``p4d`` | ``p5`` - ``t1`` - ``u-12tb1`` | ``u-18tb1`` | ``u-24tb1`` | ``u-3tb1`` | ``u-6tb1`` | ``u-9tb1`` | ``u7i-12tb`` | ``u7in-16tb`` | ``u7in-24tb`` | ``u7in-32tb`` If you enable performance protection by specifying a supported instance family, the returned instance types will exclude the above unsupported instance families.
29232
29496
 
29233
29497
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-launchtemplate-reference.html
29234
29498
  :exampleMetadata: fixture=_generated
@@ -29252,9 +29516,24 @@ class CfnLaunchTemplate(
29252
29516
 
29253
29517
  @builtins.property
29254
29518
  def instance_family(self) -> typing.Optional[builtins.str]:
29255
- '''The instance family to refer.
29519
+ '''The instance family to use as a baseline reference.
29520
+
29521
+ .. epigraph::
29256
29522
 
29257
- Ensure that you specify the correct family name. For example, C6i and C6g are valid values, but C6 is not.
29523
+ Ensure that you specify the correct value for the instance family. The instance family is everything before the period ( ``.`` ) in the instance type name. For example, in the instance type ``c6i.large`` , the instance family is ``c6i`` , not ``c6`` . For more information, see `Amazon EC2 instance type naming conventions <https://docs.aws.amazon.com/ec2/latest/instancetypes/instance-type-names.html>`_ in *Amazon EC2 Instance Types* .
29524
+
29525
+ The following instance families are *not supported* for performance protection:
29526
+
29527
+ - ``c1``
29528
+ - ``g3`` | ``g3s``
29529
+ - ``hpc7g``
29530
+ - ``m1`` | ``m2``
29531
+ - ``mac1`` | ``mac2`` | ``mac2-m1ultra`` | ``mac2-m2`` | ``mac2-m2pro``
29532
+ - ``p3dn`` | ``p4d`` | ``p5``
29533
+ - ``t1``
29534
+ - ``u-12tb1`` | ``u-18tb1`` | ``u-24tb1`` | ``u-3tb1`` | ``u-6tb1`` | ``u-9tb1`` | ``u7i-12tb`` | ``u7in-16tb`` | ``u7in-24tb`` | ``u7in-32tb``
29535
+
29536
+ If you enable performance protection by specifying a supported instance family, the returned instance types will exclude the above unsupported instance families.
29258
29537
 
29259
29538
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-launchtemplate-reference.html#cfn-ec2-launchtemplate-reference-instancefamily
29260
29539
  '''
@@ -42476,7 +42755,7 @@ class CfnSecurityGroupIngress(
42476
42755
  :param description: Updates the description of an ingress (inbound) security group rule. You can replace an existing description, or add a description to a rule that did not have one previously. Constraints: Up to 255 characters in length. Allowed characters are a-z, A-Z, 0-9, spaces, and ._-:/()#,@[]+=;{}!$*
42477
42756
  :param from_port: The start of port range for the TCP and UDP protocols, or an ICMP/ICMPv6 type number. A value of ``-1`` indicates all ICMP/ICMPv6 types. If you specify all ICMP/ICMPv6 types, you must specify all codes. Use this for ICMP and any protocol that uses ports.
42478
42757
  :param group_id: The ID of the security group.
42479
- :param group_name: The name of the security group. Constraints: Up to 255 characters in length. Cannot start with ``sg-`` . Valid characters: a-z, A-Z, 0-9, spaces, and ._-:/()#,@[]+=&;{}!$*
42758
+ :param group_name: [Default VPC] The name of the security group. For security groups for a default VPC you can specify either the ID or the name of the security group. For security groups for a nondefault VPC, you must specify the ID of the security group.
42480
42759
  :param source_prefix_list_id: The ID of a prefix list.
42481
42760
  :param source_security_group_id: The ID of the security group. You must specify either the security group ID or the security group name. For security groups in a nondefault VPC, you must specify the security group ID.
42482
42761
  :param source_security_group_name: [Default VPC] The name of the source security group. You must specify either the security group ID or the security group name. You can't specify the group name in combination with an IP address range. Creates rules that grant full ICMP, UDP, and TCP access. For security groups in a nondefault VPC, you must specify the group ID.
@@ -42629,7 +42908,7 @@ class CfnSecurityGroupIngress(
42629
42908
  @builtins.property
42630
42909
  @jsii.member(jsii_name="groupName")
42631
42910
  def group_name(self) -> typing.Optional[builtins.str]:
42632
- '''The name of the security group.'''
42911
+ '''[Default VPC] The name of the security group.'''
42633
42912
  return typing.cast(typing.Optional[builtins.str], jsii.get(self, "groupName"))
42634
42913
 
42635
42914
  @group_name.setter
@@ -42751,7 +43030,7 @@ class CfnSecurityGroupIngressProps:
42751
43030
  :param description: Updates the description of an ingress (inbound) security group rule. You can replace an existing description, or add a description to a rule that did not have one previously. Constraints: Up to 255 characters in length. Allowed characters are a-z, A-Z, 0-9, spaces, and ._-:/()#,@[]+=;{}!$*
42752
43031
  :param from_port: The start of port range for the TCP and UDP protocols, or an ICMP/ICMPv6 type number. A value of ``-1`` indicates all ICMP/ICMPv6 types. If you specify all ICMP/ICMPv6 types, you must specify all codes. Use this for ICMP and any protocol that uses ports.
42753
43032
  :param group_id: The ID of the security group.
42754
- :param group_name: The name of the security group. Constraints: Up to 255 characters in length. Cannot start with ``sg-`` . Valid characters: a-z, A-Z, 0-9, spaces, and ._-:/()#,@[]+=&;{}!$*
43033
+ :param group_name: [Default VPC] The name of the security group. For security groups for a default VPC you can specify either the ID or the name of the security group. For security groups for a nondefault VPC, you must specify the ID of the security group.
42755
43034
  :param source_prefix_list_id: The ID of a prefix list.
42756
43035
  :param source_security_group_id: The ID of the security group. You must specify either the security group ID or the security group name. For security groups in a nondefault VPC, you must specify the security group ID.
42757
43036
  :param source_security_group_name: [Default VPC] The name of the source security group. You must specify either the security group ID or the security group name. You can't specify the group name in combination with an IP address range. Creates rules that grant full ICMP, UDP, and TCP access. For security groups in a nondefault VPC, you must specify the group ID.
@@ -42899,11 +43178,9 @@ class CfnSecurityGroupIngressProps:
42899
43178
 
42900
43179
  @builtins.property
42901
43180
  def group_name(self) -> typing.Optional[builtins.str]:
42902
- '''The name of the security group.
43181
+ '''[Default VPC] The name of the security group.
42903
43182
 
42904
- Constraints: Up to 255 characters in length. Cannot start with ``sg-`` .
42905
-
42906
- Valid characters: a-z, A-Z, 0-9, spaces, and ._-:/()#,@[]+=&;{}!$*
43183
+ For security groups for a default VPC you can specify either the ID or the name of the security group. For security groups for a nondefault VPC, you must specify the ID of the security group.
42907
43184
 
42908
43185
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-securitygroupingress.html#cfn-ec2-securitygroupingress-groupname
42909
43186
  '''
@@ -43617,6 +43894,13 @@ class CfnSpotFleet(
43617
43894
  max=123,
43618
43895
  min=123
43619
43896
  ),
43897
+ baseline_performance_factors=ec2.CfnSpotFleet.BaselinePerformanceFactorsRequestProperty(
43898
+ cpu=ec2.CfnSpotFleet.CpuPerformanceFactorRequestProperty(
43899
+ references=[ec2.CfnSpotFleet.PerformanceFactorReferenceRequestProperty(
43900
+ instance_family="instanceFamily"
43901
+ )]
43902
+ )
43903
+ ),
43620
43904
  burstable_performance="burstablePerformance",
43621
43905
  cpu_manufacturers=["cpuManufacturers"],
43622
43906
  excluded_instance_types=["excludedInstanceTypes"],
@@ -43727,6 +44011,13 @@ class CfnSpotFleet(
43727
44011
  max=123,
43728
44012
  min=123
43729
44013
  ),
44014
+ baseline_performance_factors=ec2.CfnSpotFleet.BaselinePerformanceFactorsRequestProperty(
44015
+ cpu=ec2.CfnSpotFleet.CpuPerformanceFactorRequestProperty(
44016
+ references=[ec2.CfnSpotFleet.PerformanceFactorReferenceRequestProperty(
44017
+ instance_family="instanceFamily"
44018
+ )]
44019
+ )
44020
+ ),
43730
44021
  burstable_performance="burstablePerformance",
43731
44022
  cpu_manufacturers=["cpuManufacturers"],
43732
44023
  excluded_instance_types=["excludedInstanceTypes"],
@@ -44119,6 +44410,71 @@ class CfnSpotFleet(
44119
44410
  k + "=" + repr(v) for k, v in self._values.items()
44120
44411
  )
44121
44412
 
44413
+ @jsii.data_type(
44414
+ jsii_type="aws-cdk-lib.aws_ec2.CfnSpotFleet.BaselinePerformanceFactorsRequestProperty",
44415
+ jsii_struct_bases=[],
44416
+ name_mapping={"cpu": "cpu"},
44417
+ )
44418
+ class BaselinePerformanceFactorsRequestProperty:
44419
+ def __init__(
44420
+ self,
44421
+ *,
44422
+ cpu: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union["CfnSpotFleet.CpuPerformanceFactorRequestProperty", typing.Dict[builtins.str, typing.Any]]]] = None,
44423
+ ) -> None:
44424
+ '''The baseline performance to consider, using an instance family as a baseline reference.
44425
+
44426
+ The instance family establishes the lowest acceptable level of performance. Amazon EC2 uses this baseline to guide instance type selection, but there is no guarantee that the selected instance types will always exceed the baseline for every application.
44427
+
44428
+ Currently, this parameter only supports CPU performance as a baseline performance factor. For example, specifying ``c6i`` would use the CPU performance of the ``c6i`` family as the baseline reference.
44429
+
44430
+ :param cpu: The CPU performance to consider, using an instance family as the baseline reference.
44431
+
44432
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-spotfleet-baselineperformancefactorsrequest.html
44433
+ :exampleMetadata: fixture=_generated
44434
+
44435
+ Example::
44436
+
44437
+ # The code below shows an example of how to instantiate this type.
44438
+ # The values are placeholders you should change.
44439
+ from aws_cdk import aws_ec2 as ec2
44440
+
44441
+ baseline_performance_factors_request_property = ec2.CfnSpotFleet.BaselinePerformanceFactorsRequestProperty(
44442
+ cpu=ec2.CfnSpotFleet.CpuPerformanceFactorRequestProperty(
44443
+ references=[ec2.CfnSpotFleet.PerformanceFactorReferenceRequestProperty(
44444
+ instance_family="instanceFamily"
44445
+ )]
44446
+ )
44447
+ )
44448
+ '''
44449
+ if __debug__:
44450
+ type_hints = typing.get_type_hints(_typecheckingstub__4b09bafcaad2072db321872c01d17f0fcd2aa2098ea57ee0bfeb8bb5582a1c72)
44451
+ check_type(argname="argument cpu", value=cpu, expected_type=type_hints["cpu"])
44452
+ self._values: typing.Dict[builtins.str, typing.Any] = {}
44453
+ if cpu is not None:
44454
+ self._values["cpu"] = cpu
44455
+
44456
+ @builtins.property
44457
+ def cpu(
44458
+ self,
44459
+ ) -> typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnSpotFleet.CpuPerformanceFactorRequestProperty"]]:
44460
+ '''The CPU performance to consider, using an instance family as the baseline reference.
44461
+
44462
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-spotfleet-baselineperformancefactorsrequest.html#cfn-ec2-spotfleet-baselineperformancefactorsrequest-cpu
44463
+ '''
44464
+ result = self._values.get("cpu")
44465
+ return typing.cast(typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnSpotFleet.CpuPerformanceFactorRequestProperty"]], result)
44466
+
44467
+ def __eq__(self, rhs: typing.Any) -> builtins.bool:
44468
+ return isinstance(rhs, self.__class__) and rhs._values == self._values
44469
+
44470
+ def __ne__(self, rhs: typing.Any) -> builtins.bool:
44471
+ return not (rhs == self)
44472
+
44473
+ def __repr__(self) -> str:
44474
+ return "BaselinePerformanceFactorsRequestProperty(%s)" % ", ".join(
44475
+ k + "=" + repr(v) for k, v in self._values.items()
44476
+ )
44477
+
44122
44478
  @jsii.data_type(
44123
44479
  jsii_type="aws-cdk-lib.aws_ec2.CfnSpotFleet.BlockDeviceMappingProperty",
44124
44480
  jsii_struct_bases=[],
@@ -44360,6 +44716,70 @@ class CfnSpotFleet(
44360
44716
  k + "=" + repr(v) for k, v in self._values.items()
44361
44717
  )
44362
44718
 
44719
+ @jsii.data_type(
44720
+ jsii_type="aws-cdk-lib.aws_ec2.CfnSpotFleet.CpuPerformanceFactorRequestProperty",
44721
+ jsii_struct_bases=[],
44722
+ name_mapping={"references": "references"},
44723
+ )
44724
+ class CpuPerformanceFactorRequestProperty:
44725
+ def __init__(
44726
+ self,
44727
+ *,
44728
+ references: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Sequence[typing.Union[_IResolvable_da3f097b, typing.Union["CfnSpotFleet.PerformanceFactorReferenceRequestProperty", typing.Dict[builtins.str, typing.Any]]]]]] = None,
44729
+ ) -> None:
44730
+ '''The CPU performance to consider, using an instance family as the baseline reference.
44731
+
44732
+ :param references: Specify an instance family to use as the baseline reference for CPU performance. All instance types that match your specified attributes will be compared against the CPU performance of the referenced instance family, regardless of CPU manufacturer or architecture differences. .. epigraph:: Currently, only one instance family can be specified in the list.
44733
+
44734
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-spotfleet-cpuperformancefactorrequest.html
44735
+ :exampleMetadata: fixture=_generated
44736
+
44737
+ Example::
44738
+
44739
+ # The code below shows an example of how to instantiate this type.
44740
+ # The values are placeholders you should change.
44741
+ from aws_cdk import aws_ec2 as ec2
44742
+
44743
+ cpu_performance_factor_request_property = ec2.CfnSpotFleet.CpuPerformanceFactorRequestProperty(
44744
+ references=[ec2.CfnSpotFleet.PerformanceFactorReferenceRequestProperty(
44745
+ instance_family="instanceFamily"
44746
+ )]
44747
+ )
44748
+ '''
44749
+ if __debug__:
44750
+ type_hints = typing.get_type_hints(_typecheckingstub__d75686765a0f6d73f6fea1e136b6888c1536bcaa4c8395939d1cc6fff6d93861)
44751
+ check_type(argname="argument references", value=references, expected_type=type_hints["references"])
44752
+ self._values: typing.Dict[builtins.str, typing.Any] = {}
44753
+ if references is not None:
44754
+ self._values["references"] = references
44755
+
44756
+ @builtins.property
44757
+ def references(
44758
+ self,
44759
+ ) -> typing.Optional[typing.Union[_IResolvable_da3f097b, typing.List[typing.Union[_IResolvable_da3f097b, "CfnSpotFleet.PerformanceFactorReferenceRequestProperty"]]]]:
44760
+ '''Specify an instance family to use as the baseline reference for CPU performance.
44761
+
44762
+ All instance types that match your specified attributes will be compared against the CPU performance of the referenced instance family, regardless of CPU manufacturer or architecture differences.
44763
+ .. epigraph::
44764
+
44765
+ Currently, only one instance family can be specified in the list.
44766
+
44767
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-spotfleet-cpuperformancefactorrequest.html#cfn-ec2-spotfleet-cpuperformancefactorrequest-references
44768
+ '''
44769
+ result = self._values.get("references")
44770
+ return typing.cast(typing.Optional[typing.Union[_IResolvable_da3f097b, typing.List[typing.Union[_IResolvable_da3f097b, "CfnSpotFleet.PerformanceFactorReferenceRequestProperty"]]]], result)
44771
+
44772
+ def __eq__(self, rhs: typing.Any) -> builtins.bool:
44773
+ return isinstance(rhs, self.__class__) and rhs._values == self._values
44774
+
44775
+ def __ne__(self, rhs: typing.Any) -> builtins.bool:
44776
+ return not (rhs == self)
44777
+
44778
+ def __repr__(self) -> str:
44779
+ return "CpuPerformanceFactorRequestProperty(%s)" % ", ".join(
44780
+ k + "=" + repr(v) for k, v in self._values.items()
44781
+ )
44782
+
44363
44783
  @jsii.data_type(
44364
44784
  jsii_type="aws-cdk-lib.aws_ec2.CfnSpotFleet.EbsBlockDeviceProperty",
44365
44785
  jsii_struct_bases=[],
@@ -44843,7 +45263,7 @@ class CfnSpotFleet(
44843
45263
  :param ipv6_addresses: The IPv6 addresses to assign to the network interface. You cannot specify this option and the option to assign a number of IPv6 addresses in the same request. You cannot specify this option if you've specified a minimum number of instances to launch.
44844
45264
  :param network_interface_id: The ID of the network interface. If you are creating a Spot Fleet, omit this parameter because you can’t specify a network interface ID in a launch specification.
44845
45265
  :param private_ip_addresses: The private IPv4 addresses to assign to the network interface. Only one private IPv4 address can be designated as primary. You cannot specify this option if you're launching more than one instance in a `RunInstances <https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_RunInstances.html>`_ request.
44846
- :param secondary_private_ip_address_count: The number of secondary private IPv4 addresses. You can't specify this option and specify more than one private IP address using the private IP addresses option. You cannot specify this option if you're launching more than one instance in a `RunInstances <https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_RunInstances.html>`_ request.
45266
+ :param secondary_private_ip_address_count: The number of secondary private IPv4 addresses. You cant specify this parameter and also specify a secondary private IP address using the ``PrivateIpAddress`` parameter.
44847
45267
  :param subnet_id: The ID of the subnet associated with the network interface.
44848
45268
 
44849
45269
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-spotfleet-instancenetworkinterfacespecification.html
@@ -45026,7 +45446,7 @@ class CfnSpotFleet(
45026
45446
  def secondary_private_ip_address_count(self) -> typing.Optional[jsii.Number]:
45027
45447
  '''The number of secondary private IPv4 addresses.
45028
45448
 
45029
- You can't specify this option and specify more than one private IP address using the private IP addresses option. You cannot specify this option if you're launching more than one instance in a `RunInstances <https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_RunInstances.html>`_ request.
45449
+ You cant specify this parameter and also specify a secondary private IP address using the ``PrivateIpAddress`` parameter.
45030
45450
 
45031
45451
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-spotfleet-instancenetworkinterfacespecification.html#cfn-ec2-spotfleet-instancenetworkinterfacespecification-secondaryprivateipaddresscount
45032
45452
  '''
@@ -45065,6 +45485,7 @@ class CfnSpotFleet(
45065
45485
  "allowed_instance_types": "allowedInstanceTypes",
45066
45486
  "bare_metal": "bareMetal",
45067
45487
  "baseline_ebs_bandwidth_mbps": "baselineEbsBandwidthMbps",
45488
+ "baseline_performance_factors": "baselinePerformanceFactors",
45068
45489
  "burstable_performance": "burstablePerformance",
45069
45490
  "cpu_manufacturers": "cpuManufacturers",
45070
45491
  "excluded_instance_types": "excludedInstanceTypes",
@@ -45095,6 +45516,7 @@ class CfnSpotFleet(
45095
45516
  allowed_instance_types: typing.Optional[typing.Sequence[builtins.str]] = None,
45096
45517
  bare_metal: typing.Optional[builtins.str] = None,
45097
45518
  baseline_ebs_bandwidth_mbps: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union["CfnSpotFleet.BaselineEbsBandwidthMbpsRequestProperty", typing.Dict[builtins.str, typing.Any]]]] = None,
45519
+ baseline_performance_factors: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union["CfnSpotFleet.BaselinePerformanceFactorsRequestProperty", typing.Dict[builtins.str, typing.Any]]]] = None,
45098
45520
  burstable_performance: typing.Optional[builtins.str] = None,
45099
45521
  cpu_manufacturers: typing.Optional[typing.Sequence[builtins.str]] = None,
45100
45522
  excluded_instance_types: typing.Optional[typing.Sequence[builtins.str]] = None,
@@ -45141,6 +45563,7 @@ class CfnSpotFleet(
45141
45563
  :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 will allow the entire C5 instance family, which includes all C5a and C5n instance types. If you specify ``m5a.*`` , Amazon EC2 will allow all the M5a instance types, but not the M5n instance types. .. epigraph:: If you specify ``AllowedInstanceTypes`` , you can't specify ``ExcludedInstanceTypes`` . Default: All instance types
45142
45564
  :param bare_metal: Indicates whether bare metal instance types must be included, excluded, or required. - To include bare metal instance types, specify ``included`` . - To require only bare metal instance types, specify ``required`` . - To exclude bare metal instance types, specify ``excluded`` . Default: ``excluded``
45143
45565
  :param baseline_ebs_bandwidth_mbps: The minimum and maximum baseline bandwidth to Amazon EBS, in Mbps. For more information, see `Amazon EBS–optimized instances <https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ebs-optimized.html>`_ in the *Amazon EC2 User Guide* . Default: No minimum or maximum limits
45566
+ :param baseline_performance_factors: The baseline performance to consider, using an instance family as a baseline reference. The instance family establishes the lowest acceptable level of performance. Amazon EC2 uses this baseline to guide instance type selection, but there is no guarantee that the selected instance types will always exceed the baseline for every application. Currently, this parameter only supports CPU performance as a baseline performance factor. For more information, see `Performance protection <https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-fleet-attribute-based-instance-type-selection.html#ec2fleet-abis-performance-protection>`_ in the *Amazon EC2 User Guide* .
45144
45567
  :param burstable_performance: Indicates whether burstable performance T instance types are included, excluded, or required. For more information, see `Burstable performance instances <https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/burstable-performance-instances.html>`_ . - To include burstable performance instance types, specify ``included`` . - To require only burstable performance instance types, specify ``required`` . - To exclude burstable performance instance types, specify ``excluded`` . Default: ``excluded``
45145
45568
  :param cpu_manufacturers: The 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`` . .. epigraph:: Don't confuse the CPU manufacturer with the CPU 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
45146
45569
  :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*`` ,Amazon EC2 will exclude the entire C5 instance family, which includes all C5a and C5n instance types. If you specify ``m5a.*`` , Amazon EC2 will exclude all the M5a instance types, but not the M5n instance types. .. epigraph:: If you specify ``ExcludedInstanceTypes`` , you can't specify ``AllowedInstanceTypes`` . Default: No excluded instance types
@@ -45185,6 +45608,13 @@ class CfnSpotFleet(
45185
45608
  max=123,
45186
45609
  min=123
45187
45610
  ),
45611
+ baseline_performance_factors=ec2.CfnSpotFleet.BaselinePerformanceFactorsRequestProperty(
45612
+ cpu=ec2.CfnSpotFleet.CpuPerformanceFactorRequestProperty(
45613
+ references=[ec2.CfnSpotFleet.PerformanceFactorReferenceRequestProperty(
45614
+ instance_family="instanceFamily"
45615
+ )]
45616
+ )
45617
+ ),
45188
45618
  burstable_performance="burstablePerformance",
45189
45619
  cpu_manufacturers=["cpuManufacturers"],
45190
45620
  excluded_instance_types=["excludedInstanceTypes"],
@@ -45231,6 +45661,7 @@ class CfnSpotFleet(
45231
45661
  check_type(argname="argument allowed_instance_types", value=allowed_instance_types, expected_type=type_hints["allowed_instance_types"])
45232
45662
  check_type(argname="argument bare_metal", value=bare_metal, expected_type=type_hints["bare_metal"])
45233
45663
  check_type(argname="argument baseline_ebs_bandwidth_mbps", value=baseline_ebs_bandwidth_mbps, expected_type=type_hints["baseline_ebs_bandwidth_mbps"])
45664
+ check_type(argname="argument baseline_performance_factors", value=baseline_performance_factors, expected_type=type_hints["baseline_performance_factors"])
45234
45665
  check_type(argname="argument burstable_performance", value=burstable_performance, expected_type=type_hints["burstable_performance"])
45235
45666
  check_type(argname="argument cpu_manufacturers", value=cpu_manufacturers, expected_type=type_hints["cpu_manufacturers"])
45236
45667
  check_type(argname="argument excluded_instance_types", value=excluded_instance_types, expected_type=type_hints["excluded_instance_types"])
@@ -45264,6 +45695,8 @@ class CfnSpotFleet(
45264
45695
  self._values["bare_metal"] = bare_metal
45265
45696
  if baseline_ebs_bandwidth_mbps is not None:
45266
45697
  self._values["baseline_ebs_bandwidth_mbps"] = baseline_ebs_bandwidth_mbps
45698
+ if baseline_performance_factors is not None:
45699
+ self._values["baseline_performance_factors"] = baseline_performance_factors
45267
45700
  if burstable_performance is not None:
45268
45701
  self._values["burstable_performance"] = burstable_performance
45269
45702
  if cpu_manufacturers is not None:
@@ -45432,6 +45865,19 @@ class CfnSpotFleet(
45432
45865
  result = self._values.get("baseline_ebs_bandwidth_mbps")
45433
45866
  return typing.cast(typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnSpotFleet.BaselineEbsBandwidthMbpsRequestProperty"]], result)
45434
45867
 
45868
+ @builtins.property
45869
+ def baseline_performance_factors(
45870
+ self,
45871
+ ) -> typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnSpotFleet.BaselinePerformanceFactorsRequestProperty"]]:
45872
+ '''The baseline performance to consider, using an instance family as a baseline reference.
45873
+
45874
+ The instance family establishes the lowest acceptable level of performance. Amazon EC2 uses this baseline to guide instance type selection, but there is no guarantee that the selected instance types will always exceed the baseline for every application. Currently, this parameter only supports CPU performance as a baseline performance factor. For more information, see `Performance protection <https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-fleet-attribute-based-instance-type-selection.html#ec2fleet-abis-performance-protection>`_ in the *Amazon EC2 User Guide* .
45875
+
45876
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-spotfleet-instancerequirementsrequest.html#cfn-ec2-spotfleet-instancerequirementsrequest-baselineperformancefactors
45877
+ '''
45878
+ result = self._values.get("baseline_performance_factors")
45879
+ return typing.cast(typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnSpotFleet.BaselinePerformanceFactorsRequestProperty"]], result)
45880
+
45435
45881
  @builtins.property
45436
45882
  def burstable_performance(self) -> typing.Optional[builtins.str]:
45437
45883
  '''Indicates whether burstable performance T instance types are included, excluded, or required.
@@ -45762,6 +46208,13 @@ class CfnSpotFleet(
45762
46208
  max=123,
45763
46209
  min=123
45764
46210
  ),
46211
+ baseline_performance_factors=ec2.CfnSpotFleet.BaselinePerformanceFactorsRequestProperty(
46212
+ cpu=ec2.CfnSpotFleet.CpuPerformanceFactorRequestProperty(
46213
+ references=[ec2.CfnSpotFleet.PerformanceFactorReferenceRequestProperty(
46214
+ instance_family="instanceFamily"
46215
+ )]
46216
+ )
46217
+ ),
45765
46218
  burstable_performance="burstablePerformance",
45766
46219
  cpu_manufacturers=["cpuManufacturers"],
45767
46220
  excluded_instance_types=["excludedInstanceTypes"],
@@ -45914,6 +46367,13 @@ class CfnSpotFleet(
45914
46367
  max=123,
45915
46368
  min=123
45916
46369
  ),
46370
+ baseline_performance_factors=ec2.CfnSpotFleet.BaselinePerformanceFactorsRequestProperty(
46371
+ cpu=ec2.CfnSpotFleet.CpuPerformanceFactorRequestProperty(
46372
+ references=[ec2.CfnSpotFleet.PerformanceFactorReferenceRequestProperty(
46373
+ instance_family="instanceFamily"
46374
+ )]
46375
+ )
46376
+ ),
45917
46377
  burstable_performance="burstablePerformance",
45918
46378
  cpu_manufacturers=["cpuManufacturers"],
45919
46379
  excluded_instance_types=["excludedInstanceTypes"],
@@ -46465,6 +46925,85 @@ class CfnSpotFleet(
46465
46925
  k + "=" + repr(v) for k, v in self._values.items()
46466
46926
  )
46467
46927
 
46928
+ @jsii.data_type(
46929
+ jsii_type="aws-cdk-lib.aws_ec2.CfnSpotFleet.PerformanceFactorReferenceRequestProperty",
46930
+ jsii_struct_bases=[],
46931
+ name_mapping={"instance_family": "instanceFamily"},
46932
+ )
46933
+ class PerformanceFactorReferenceRequestProperty:
46934
+ def __init__(
46935
+ self,
46936
+ *,
46937
+ instance_family: typing.Optional[builtins.str] = None,
46938
+ ) -> None:
46939
+ '''Specify an instance family to use as the baseline reference for CPU performance.
46940
+
46941
+ All instance types that match your specified attributes will be compared against the CPU performance of the referenced instance family, regardless of CPU manufacturer or architecture.
46942
+ .. epigraph::
46943
+
46944
+ Currently, only one instance family can be specified in the list.
46945
+
46946
+ :param instance_family: The instance family to use as a baseline reference. .. epigraph:: Ensure that you specify the correct value for the instance family. The instance family is everything before the period ( ``.`` ) in the instance type name. For example, in the instance type ``c6i.large`` , the instance family is ``c6i`` , not ``c6`` . For more information, see `Amazon EC2 instance type naming conventions <https://docs.aws.amazon.com/ec2/latest/instancetypes/instance-type-names.html>`_ in *Amazon EC2 Instance Types* . The following instance families are *not supported* for performance protection: - ``c1`` - ``g3`` | ``g3s`` - ``hpc7g`` - ``m1`` | ``m2`` - ``mac1`` | ``mac2`` | ``mac2-m1ultra`` | ``mac2-m2`` | ``mac2-m2pro`` - ``p3dn`` | ``p4d`` | ``p5`` - ``t1`` - ``u-12tb1`` | ``u-18tb1`` | ``u-24tb1`` | ``u-3tb1`` | ``u-6tb1`` | ``u-9tb1`` | ``u7i-12tb`` | ``u7in-16tb`` | ``u7in-24tb`` | ``u7in-32tb`` If you enable performance protection by specifying a supported instance family, the returned instance types will exclude the above unsupported instance families. If you specify an unsupported instance family as a value for baseline performance, the API returns an empty response for `GetInstanceTypesFromInstanceRequirements <https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_GetInstanceTypesFromInstanceRequirements.html>`_ and an exception for `CreateFleet <https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_CreateFleet.html>`_ , `RequestSpotFleet <https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_RequestSpotFleet.html>`_ , `ModifyFleet <https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_ModifyFleet.html>`_ , and `ModifySpotFleetRequest <https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_ModifySpotFleetRequest.html>`_ .
46947
+
46948
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-spotfleet-performancefactorreferencerequest.html
46949
+ :exampleMetadata: fixture=_generated
46950
+
46951
+ Example::
46952
+
46953
+ # The code below shows an example of how to instantiate this type.
46954
+ # The values are placeholders you should change.
46955
+ from aws_cdk import aws_ec2 as ec2
46956
+
46957
+ performance_factor_reference_request_property = ec2.CfnSpotFleet.PerformanceFactorReferenceRequestProperty(
46958
+ instance_family="instanceFamily"
46959
+ )
46960
+ '''
46961
+ if __debug__:
46962
+ type_hints = typing.get_type_hints(_typecheckingstub__fee19e98f5282282488f466ae7704a7361e329dd081305b2b6d774a874487d2d)
46963
+ check_type(argname="argument instance_family", value=instance_family, expected_type=type_hints["instance_family"])
46964
+ self._values: typing.Dict[builtins.str, typing.Any] = {}
46965
+ if instance_family is not None:
46966
+ self._values["instance_family"] = instance_family
46967
+
46968
+ @builtins.property
46969
+ def instance_family(self) -> typing.Optional[builtins.str]:
46970
+ '''The instance family to use as a baseline reference.
46971
+
46972
+ .. epigraph::
46973
+
46974
+ Ensure that you specify the correct value for the instance family. The instance family is everything before the period ( ``.`` ) in the instance type name. For example, in the instance type ``c6i.large`` , the instance family is ``c6i`` , not ``c6`` . For more information, see `Amazon EC2 instance type naming conventions <https://docs.aws.amazon.com/ec2/latest/instancetypes/instance-type-names.html>`_ in *Amazon EC2 Instance Types* .
46975
+
46976
+ The following instance families are *not supported* for performance protection:
46977
+
46978
+ - ``c1``
46979
+ - ``g3`` | ``g3s``
46980
+ - ``hpc7g``
46981
+ - ``m1`` | ``m2``
46982
+ - ``mac1`` | ``mac2`` | ``mac2-m1ultra`` | ``mac2-m2`` | ``mac2-m2pro``
46983
+ - ``p3dn`` | ``p4d`` | ``p5``
46984
+ - ``t1``
46985
+ - ``u-12tb1`` | ``u-18tb1`` | ``u-24tb1`` | ``u-3tb1`` | ``u-6tb1`` | ``u-9tb1`` | ``u7i-12tb`` | ``u7in-16tb`` | ``u7in-24tb`` | ``u7in-32tb``
46986
+
46987
+ If you enable performance protection by specifying a supported instance family, the returned instance types will exclude the above unsupported instance families.
46988
+
46989
+ If you specify an unsupported instance family as a value for baseline performance, the API returns an empty response for `GetInstanceTypesFromInstanceRequirements <https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_GetInstanceTypesFromInstanceRequirements.html>`_ and an exception for `CreateFleet <https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_CreateFleet.html>`_ , `RequestSpotFleet <https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_RequestSpotFleet.html>`_ , `ModifyFleet <https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_ModifyFleet.html>`_ , and `ModifySpotFleetRequest <https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_ModifySpotFleetRequest.html>`_ .
46990
+
46991
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-spotfleet-performancefactorreferencerequest.html#cfn-ec2-spotfleet-performancefactorreferencerequest-instancefamily
46992
+ '''
46993
+ result = self._values.get("instance_family")
46994
+ return typing.cast(typing.Optional[builtins.str], result)
46995
+
46996
+ def __eq__(self, rhs: typing.Any) -> builtins.bool:
46997
+ return isinstance(rhs, self.__class__) and rhs._values == self._values
46998
+
46999
+ def __ne__(self, rhs: typing.Any) -> builtins.bool:
47000
+ return not (rhs == self)
47001
+
47002
+ def __repr__(self) -> str:
47003
+ return "PerformanceFactorReferenceRequestProperty(%s)" % ", ".join(
47004
+ k + "=" + repr(v) for k, v in self._values.items()
47005
+ )
47006
+
46468
47007
  @jsii.data_type(
46469
47008
  jsii_type="aws-cdk-lib.aws_ec2.CfnSpotFleet.PrivateIpAddressSpecificationProperty",
46470
47009
  jsii_struct_bases=[],
@@ -46747,6 +47286,13 @@ class CfnSpotFleet(
46747
47286
  max=123,
46748
47287
  min=123
46749
47288
  ),
47289
+ baseline_performance_factors=ec2.CfnSpotFleet.BaselinePerformanceFactorsRequestProperty(
47290
+ cpu=ec2.CfnSpotFleet.CpuPerformanceFactorRequestProperty(
47291
+ references=[ec2.CfnSpotFleet.PerformanceFactorReferenceRequestProperty(
47292
+ instance_family="instanceFamily"
47293
+ )]
47294
+ )
47295
+ ),
46750
47296
  burstable_performance="burstablePerformance",
46751
47297
  cpu_manufacturers=["cpuManufacturers"],
46752
47298
  excluded_instance_types=["excludedInstanceTypes"],
@@ -47323,6 +47869,13 @@ class CfnSpotFleet(
47323
47869
  max=123,
47324
47870
  min=123
47325
47871
  ),
47872
+ baseline_performance_factors=ec2.CfnSpotFleet.BaselinePerformanceFactorsRequestProperty(
47873
+ cpu=ec2.CfnSpotFleet.CpuPerformanceFactorRequestProperty(
47874
+ references=[ec2.CfnSpotFleet.PerformanceFactorReferenceRequestProperty(
47875
+ instance_family="instanceFamily"
47876
+ )]
47877
+ )
47878
+ ),
47326
47879
  burstable_performance="burstablePerformance",
47327
47880
  cpu_manufacturers=["cpuManufacturers"],
47328
47881
  excluded_instance_types=["excludedInstanceTypes"],
@@ -47433,6 +47986,13 @@ class CfnSpotFleet(
47433
47986
  max=123,
47434
47987
  min=123
47435
47988
  ),
47989
+ baseline_performance_factors=ec2.CfnSpotFleet.BaselinePerformanceFactorsRequestProperty(
47990
+ cpu=ec2.CfnSpotFleet.CpuPerformanceFactorRequestProperty(
47991
+ references=[ec2.CfnSpotFleet.PerformanceFactorReferenceRequestProperty(
47992
+ instance_family="instanceFamily"
47993
+ )]
47994
+ )
47995
+ ),
47436
47996
  burstable_performance="burstablePerformance",
47437
47997
  cpu_manufacturers=["cpuManufacturers"],
47438
47998
  excluded_instance_types=["excludedInstanceTypes"],
@@ -48448,6 +49008,13 @@ class CfnSpotFleetProps:
48448
49008
  max=123,
48449
49009
  min=123
48450
49010
  ),
49011
+ baseline_performance_factors=ec2.CfnSpotFleet.BaselinePerformanceFactorsRequestProperty(
49012
+ cpu=ec2.CfnSpotFleet.CpuPerformanceFactorRequestProperty(
49013
+ references=[ec2.CfnSpotFleet.PerformanceFactorReferenceRequestProperty(
49014
+ instance_family="instanceFamily"
49015
+ )]
49016
+ )
49017
+ ),
48451
49018
  burstable_performance="burstablePerformance",
48452
49019
  cpu_manufacturers=["cpuManufacturers"],
48453
49020
  excluded_instance_types=["excludedInstanceTypes"],
@@ -48558,6 +49125,13 @@ class CfnSpotFleetProps:
48558
49125
  max=123,
48559
49126
  min=123
48560
49127
  ),
49128
+ baseline_performance_factors=ec2.CfnSpotFleet.BaselinePerformanceFactorsRequestProperty(
49129
+ cpu=ec2.CfnSpotFleet.CpuPerformanceFactorRequestProperty(
49130
+ references=[ec2.CfnSpotFleet.PerformanceFactorReferenceRequestProperty(
49131
+ instance_family="instanceFamily"
49132
+ )]
49133
+ )
49134
+ ),
48561
49135
  burstable_performance="burstablePerformance",
48562
49136
  cpu_manufacturers=["cpuManufacturers"],
48563
49137
  excluded_instance_types=["excludedInstanceTypes"],
@@ -57052,6 +57626,7 @@ class CfnVPCCidrBlock(
57052
57626
  ipv4_ipam_pool_id: typing.Optional[builtins.str] = None,
57053
57627
  ipv4_netmask_length: typing.Optional[jsii.Number] = None,
57054
57628
  ipv6_cidr_block: typing.Optional[builtins.str] = None,
57629
+ ipv6_cidr_block_network_border_group: typing.Optional[builtins.str] = None,
57055
57630
  ipv6_ipam_pool_id: typing.Optional[builtins.str] = None,
57056
57631
  ipv6_netmask_length: typing.Optional[jsii.Number] = None,
57057
57632
  ipv6_pool: typing.Optional[builtins.str] = None,
@@ -57065,6 +57640,7 @@ class CfnVPCCidrBlock(
57065
57640
  :param ipv4_ipam_pool_id: Associate a CIDR allocated from an IPv4 IPAM pool to a VPC. For more information about Amazon VPC IP Address Manager (IPAM), see `What is IPAM? <https://docs.aws.amazon.com//vpc/latest/ipam/what-is-it-ipam.html>`_ in the *Amazon VPC IPAM User Guide* .
57066
57641
  :param ipv4_netmask_length: The netmask length of the IPv4 CIDR you would like to associate from an Amazon VPC IP Address Manager (IPAM) pool. For more information about IPAM, see `What is IPAM? <https://docs.aws.amazon.com//vpc/latest/ipam/what-is-it-ipam.html>`_ in the *Amazon VPC IPAM User Guide* .
57067
57642
  :param ipv6_cidr_block: An IPv6 CIDR block from the IPv6 address pool. You must also specify ``Ipv6Pool`` in the request. To let Amazon choose the IPv6 CIDR block for you, omit this parameter.
57643
+ :param ipv6_cidr_block_network_border_group: The name of the location from which we advertise the IPV6 CIDR block.
57068
57644
  :param ipv6_ipam_pool_id: Associates a CIDR allocated from an IPv6 IPAM pool to a VPC. For more information about Amazon VPC IP Address Manager (IPAM), see `What is IPAM? <https://docs.aws.amazon.com//vpc/latest/ipam/what-is-it-ipam.html>`_ in the *Amazon VPC IPAM User Guide* .
57069
57645
  :param ipv6_netmask_length: The netmask length of the IPv6 CIDR you would like to associate from an Amazon VPC IP Address Manager (IPAM) pool. For more information about IPAM, see `What is IPAM? <https://docs.aws.amazon.com//vpc/latest/ipam/what-is-it-ipam.html>`_ in the *Amazon VPC IPAM User Guide* .
57070
57646
  :param ipv6_pool: The ID of an IPv6 address pool from which to allocate the IPv6 CIDR block.
@@ -57080,6 +57656,7 @@ class CfnVPCCidrBlock(
57080
57656
  ipv4_ipam_pool_id=ipv4_ipam_pool_id,
57081
57657
  ipv4_netmask_length=ipv4_netmask_length,
57082
57658
  ipv6_cidr_block=ipv6_cidr_block,
57659
+ ipv6_cidr_block_network_border_group=ipv6_cidr_block_network_border_group,
57083
57660
  ipv6_ipam_pool_id=ipv6_ipam_pool_id,
57084
57661
  ipv6_netmask_length=ipv6_netmask_length,
57085
57662
  ipv6_pool=ipv6_pool,
@@ -57239,6 +57816,22 @@ class CfnVPCCidrBlock(
57239
57816
  check_type(argname="argument value", value=value, expected_type=type_hints["value"])
57240
57817
  jsii.set(self, "ipv6CidrBlock", value) # pyright: ignore[reportArgumentType]
57241
57818
 
57819
+ @builtins.property
57820
+ @jsii.member(jsii_name="ipv6CidrBlockNetworkBorderGroup")
57821
+ def ipv6_cidr_block_network_border_group(self) -> typing.Optional[builtins.str]:
57822
+ '''The name of the location from which we advertise the IPV6 CIDR block.'''
57823
+ return typing.cast(typing.Optional[builtins.str], jsii.get(self, "ipv6CidrBlockNetworkBorderGroup"))
57824
+
57825
+ @ipv6_cidr_block_network_border_group.setter
57826
+ def ipv6_cidr_block_network_border_group(
57827
+ self,
57828
+ value: typing.Optional[builtins.str],
57829
+ ) -> None:
57830
+ if __debug__:
57831
+ type_hints = typing.get_type_hints(_typecheckingstub__c07816654d2e6db5076edc2d96c661ac3fc43a49a2fde64cce15896ce093dd85)
57832
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
57833
+ jsii.set(self, "ipv6CidrBlockNetworkBorderGroup", value) # pyright: ignore[reportArgumentType]
57834
+
57242
57835
  @builtins.property
57243
57836
  @jsii.member(jsii_name="ipv6IpamPoolId")
57244
57837
  def ipv6_ipam_pool_id(self) -> typing.Optional[builtins.str]:
@@ -57289,6 +57882,7 @@ class CfnVPCCidrBlock(
57289
57882
  "ipv4_ipam_pool_id": "ipv4IpamPoolId",
57290
57883
  "ipv4_netmask_length": "ipv4NetmaskLength",
57291
57884
  "ipv6_cidr_block": "ipv6CidrBlock",
57885
+ "ipv6_cidr_block_network_border_group": "ipv6CidrBlockNetworkBorderGroup",
57292
57886
  "ipv6_ipam_pool_id": "ipv6IpamPoolId",
57293
57887
  "ipv6_netmask_length": "ipv6NetmaskLength",
57294
57888
  "ipv6_pool": "ipv6Pool",
@@ -57304,6 +57898,7 @@ class CfnVPCCidrBlockProps:
57304
57898
  ipv4_ipam_pool_id: typing.Optional[builtins.str] = None,
57305
57899
  ipv4_netmask_length: typing.Optional[jsii.Number] = None,
57306
57900
  ipv6_cidr_block: typing.Optional[builtins.str] = None,
57901
+ ipv6_cidr_block_network_border_group: typing.Optional[builtins.str] = None,
57307
57902
  ipv6_ipam_pool_id: typing.Optional[builtins.str] = None,
57308
57903
  ipv6_netmask_length: typing.Optional[jsii.Number] = None,
57309
57904
  ipv6_pool: typing.Optional[builtins.str] = None,
@@ -57316,6 +57911,7 @@ class CfnVPCCidrBlockProps:
57316
57911
  :param ipv4_ipam_pool_id: Associate a CIDR allocated from an IPv4 IPAM pool to a VPC. For more information about Amazon VPC IP Address Manager (IPAM), see `What is IPAM? <https://docs.aws.amazon.com//vpc/latest/ipam/what-is-it-ipam.html>`_ in the *Amazon VPC IPAM User Guide* .
57317
57912
  :param ipv4_netmask_length: The netmask length of the IPv4 CIDR you would like to associate from an Amazon VPC IP Address Manager (IPAM) pool. For more information about IPAM, see `What is IPAM? <https://docs.aws.amazon.com//vpc/latest/ipam/what-is-it-ipam.html>`_ in the *Amazon VPC IPAM User Guide* .
57318
57913
  :param ipv6_cidr_block: An IPv6 CIDR block from the IPv6 address pool. You must also specify ``Ipv6Pool`` in the request. To let Amazon choose the IPv6 CIDR block for you, omit this parameter.
57914
+ :param ipv6_cidr_block_network_border_group: The name of the location from which we advertise the IPV6 CIDR block.
57319
57915
  :param ipv6_ipam_pool_id: Associates a CIDR allocated from an IPv6 IPAM pool to a VPC. For more information about Amazon VPC IP Address Manager (IPAM), see `What is IPAM? <https://docs.aws.amazon.com//vpc/latest/ipam/what-is-it-ipam.html>`_ in the *Amazon VPC IPAM User Guide* .
57320
57916
  :param ipv6_netmask_length: The netmask length of the IPv6 CIDR you would like to associate from an Amazon VPC IP Address Manager (IPAM) pool. For more information about IPAM, see `What is IPAM? <https://docs.aws.amazon.com//vpc/latest/ipam/what-is-it-ipam.html>`_ in the *Amazon VPC IPAM User Guide* .
57321
57917
  :param ipv6_pool: The ID of an IPv6 address pool from which to allocate the IPv6 CIDR block.
@@ -57363,6 +57959,7 @@ class CfnVPCCidrBlockProps:
57363
57959
  check_type(argname="argument ipv4_ipam_pool_id", value=ipv4_ipam_pool_id, expected_type=type_hints["ipv4_ipam_pool_id"])
57364
57960
  check_type(argname="argument ipv4_netmask_length", value=ipv4_netmask_length, expected_type=type_hints["ipv4_netmask_length"])
57365
57961
  check_type(argname="argument ipv6_cidr_block", value=ipv6_cidr_block, expected_type=type_hints["ipv6_cidr_block"])
57962
+ check_type(argname="argument ipv6_cidr_block_network_border_group", value=ipv6_cidr_block_network_border_group, expected_type=type_hints["ipv6_cidr_block_network_border_group"])
57366
57963
  check_type(argname="argument ipv6_ipam_pool_id", value=ipv6_ipam_pool_id, expected_type=type_hints["ipv6_ipam_pool_id"])
57367
57964
  check_type(argname="argument ipv6_netmask_length", value=ipv6_netmask_length, expected_type=type_hints["ipv6_netmask_length"])
57368
57965
  check_type(argname="argument ipv6_pool", value=ipv6_pool, expected_type=type_hints["ipv6_pool"])
@@ -57379,6 +57976,8 @@ class CfnVPCCidrBlockProps:
57379
57976
  self._values["ipv4_netmask_length"] = ipv4_netmask_length
57380
57977
  if ipv6_cidr_block is not None:
57381
57978
  self._values["ipv6_cidr_block"] = ipv6_cidr_block
57979
+ if ipv6_cidr_block_network_border_group is not None:
57980
+ self._values["ipv6_cidr_block_network_border_group"] = ipv6_cidr_block_network_border_group
57382
57981
  if ipv6_ipam_pool_id is not None:
57383
57982
  self._values["ipv6_ipam_pool_id"] = ipv6_ipam_pool_id
57384
57983
  if ipv6_netmask_length is not None:
@@ -57451,6 +58050,15 @@ class CfnVPCCidrBlockProps:
57451
58050
  result = self._values.get("ipv6_cidr_block")
57452
58051
  return typing.cast(typing.Optional[builtins.str], result)
57453
58052
 
58053
+ @builtins.property
58054
+ def ipv6_cidr_block_network_border_group(self) -> typing.Optional[builtins.str]:
58055
+ '''The name of the location from which we advertise the IPV6 CIDR block.
58056
+
58057
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-vpccidrblock.html#cfn-ec2-vpccidrblock-ipv6cidrblocknetworkbordergroup
58058
+ '''
58059
+ result = self._values.get("ipv6_cidr_block_network_border_group")
58060
+ return typing.cast(typing.Optional[builtins.str], result)
58061
+
57454
58062
  @builtins.property
57455
58063
  def ipv6_ipam_pool_id(self) -> typing.Optional[builtins.str]:
57456
58064
  '''Associates a CIDR allocated from an IPv6 IPAM pool to a VPC.
@@ -57673,7 +58281,7 @@ class CfnVPCDHCPOptionsAssociationProps:
57673
58281
  )
57674
58282
 
57675
58283
 
57676
- @jsii.implements(_IInspectable_c2943556)
58284
+ @jsii.implements(_IInspectable_c2943556, _ITaggableV2_4e6798f8)
57677
58285
  class CfnVPCEndpoint(
57678
58286
  _CfnResource_9df397a6,
57679
58287
  metaclass=jsii.JSIIMeta,
@@ -57702,15 +58310,26 @@ class CfnVPCEndpoint(
57702
58310
  # policy_document: Any
57703
58311
 
57704
58312
  cfn_vPCEndpoint = ec2.CfnVPCEndpoint(self, "MyCfnVPCEndpoint",
57705
- service_name="serviceName",
57706
58313
  vpc_id="vpcId",
57707
58314
 
57708
58315
  # the properties below are optional
58316
+ dns_options=ec2.CfnVPCEndpoint.DnsOptionsSpecificationProperty(
58317
+ dns_record_ip_type="dnsRecordIpType",
58318
+ private_dns_only_for_inbound_resolver_endpoint="privateDnsOnlyForInboundResolverEndpoint"
58319
+ ),
58320
+ ip_address_type="ipAddressType",
57709
58321
  policy_document=policy_document,
57710
58322
  private_dns_enabled=False,
58323
+ resource_configuration_arn="resourceConfigurationArn",
57711
58324
  route_table_ids=["routeTableIds"],
57712
58325
  security_group_ids=["securityGroupIds"],
58326
+ service_name="serviceName",
58327
+ service_network_arn="serviceNetworkArn",
57713
58328
  subnet_ids=["subnetIds"],
58329
+ tags=[CfnTag(
58330
+ key="key",
58331
+ value="value"
58332
+ )],
57714
58333
  vpc_endpoint_type="vpcEndpointType"
57715
58334
  )
57716
58335
  '''
@@ -57720,25 +58339,35 @@ class CfnVPCEndpoint(
57720
58339
  scope: _constructs_77d1e7e8.Construct,
57721
58340
  id: builtins.str,
57722
58341
  *,
57723
- service_name: builtins.str,
57724
58342
  vpc_id: builtins.str,
58343
+ dns_options: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union["CfnVPCEndpoint.DnsOptionsSpecificationProperty", typing.Dict[builtins.str, typing.Any]]]] = None,
58344
+ ip_address_type: typing.Optional[builtins.str] = None,
57725
58345
  policy_document: typing.Any = None,
57726
58346
  private_dns_enabled: typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]] = None,
58347
+ resource_configuration_arn: typing.Optional[builtins.str] = None,
57727
58348
  route_table_ids: typing.Optional[typing.Sequence[builtins.str]] = None,
57728
58349
  security_group_ids: typing.Optional[typing.Sequence[builtins.str]] = None,
58350
+ service_name: typing.Optional[builtins.str] = None,
58351
+ service_network_arn: typing.Optional[builtins.str] = None,
57729
58352
  subnet_ids: typing.Optional[typing.Sequence[builtins.str]] = None,
58353
+ tags: typing.Optional[typing.Sequence[typing.Union[_CfnTag_f6864754, typing.Dict[builtins.str, typing.Any]]]] = None,
57730
58354
  vpc_endpoint_type: typing.Optional[builtins.str] = None,
57731
58355
  ) -> None:
57732
58356
  '''
57733
58357
  :param scope: Scope in which this resource is defined.
57734
58358
  :param id: Construct identifier for this resource (unique in its scope).
57735
- :param service_name: The name of the endpoint service.
57736
58359
  :param vpc_id: The ID of the VPC.
58360
+ :param dns_options: Describes the DNS options for an endpoint.
58361
+ :param ip_address_type: The supported IP address types.
57737
58362
  :param policy_document: An endpoint policy, which controls access to the service from the VPC. The default endpoint policy allows full access to the service. Endpoint policies are supported only for gateway and interface endpoints. 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: ``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":"*" }] }'``
57738
58363
  :param private_dns_enabled: Indicate whether to associate a private hosted zone with the specified VPC. The private hosted zone contains a record set for the default public DNS name for the service for the Region (for example, ``kinesis.us-east-1.amazonaws.com`` ), which resolves to the private IP addresses of the endpoint network interfaces in the VPC. This enables you to make requests to the default public DNS name for the service instead of the public DNS names that are automatically generated by the VPC endpoint service. To use a private hosted zone, you must set the following VPC attributes to ``true`` : ``enableDnsHostnames`` and ``enableDnsSupport`` . This property is supported only for interface endpoints. Default: ``false``
58364
+ :param resource_configuration_arn: The Amazon Resource Name (ARN) of the resource configuration.
57739
58365
  :param route_table_ids: The IDs of the route tables. Routing is supported only for gateway endpoints.
57740
58366
  :param security_group_ids: The IDs of the security groups to associate with the endpoint network interfaces. If this parameter is not specified, we use the default security group for the VPC. Security groups are supported only for interface endpoints.
58367
+ :param service_name: The name of the endpoint service.
58368
+ :param service_network_arn: The Amazon Resource Name (ARN) of the service network.
57741
58369
  :param subnet_ids: The IDs of the subnets in which to create endpoint network interfaces. You must specify this property for an interface endpoint or a Gateway Load Balancer endpoint. You can't specify this property for a gateway endpoint. For a Gateway Load Balancer endpoint, you can specify only one subnet.
58370
+ :param tags:
57742
58371
  :param vpc_endpoint_type: The type of endpoint. Default: Gateway
57743
58372
  '''
57744
58373
  if __debug__:
@@ -57746,13 +58375,18 @@ class CfnVPCEndpoint(
57746
58375
  check_type(argname="argument scope", value=scope, expected_type=type_hints["scope"])
57747
58376
  check_type(argname="argument id", value=id, expected_type=type_hints["id"])
57748
58377
  props = CfnVPCEndpointProps(
57749
- service_name=service_name,
57750
58378
  vpc_id=vpc_id,
58379
+ dns_options=dns_options,
58380
+ ip_address_type=ip_address_type,
57751
58381
  policy_document=policy_document,
57752
58382
  private_dns_enabled=private_dns_enabled,
58383
+ resource_configuration_arn=resource_configuration_arn,
57753
58384
  route_table_ids=route_table_ids,
57754
58385
  security_group_ids=security_group_ids,
58386
+ service_name=service_name,
58387
+ service_network_arn=service_network_arn,
57755
58388
  subnet_ids=subnet_ids,
58389
+ tags=tags,
57756
58390
  vpc_endpoint_type=vpc_endpoint_type,
57757
58391
  )
57758
58392
 
@@ -57836,24 +58470,17 @@ class CfnVPCEndpoint(
57836
58470
  '''
57837
58471
  return typing.cast(typing.List[builtins.str], jsii.get(self, "attrNetworkInterfaceIds"))
57838
58472
 
58473
+ @builtins.property
58474
+ @jsii.member(jsii_name="cdkTagManager")
58475
+ def cdk_tag_manager(self) -> _TagManager_0a598cb3:
58476
+ '''Tag Manager which manages the tags for this resource.'''
58477
+ return typing.cast(_TagManager_0a598cb3, jsii.get(self, "cdkTagManager"))
58478
+
57839
58479
  @builtins.property
57840
58480
  @jsii.member(jsii_name="cfnProperties")
57841
58481
  def _cfn_properties(self) -> typing.Mapping[builtins.str, typing.Any]:
57842
58482
  return typing.cast(typing.Mapping[builtins.str, typing.Any], jsii.get(self, "cfnProperties"))
57843
58483
 
57844
- @builtins.property
57845
- @jsii.member(jsii_name="serviceName")
57846
- def service_name(self) -> builtins.str:
57847
- '''The name of the endpoint service.'''
57848
- return typing.cast(builtins.str, jsii.get(self, "serviceName"))
57849
-
57850
- @service_name.setter
57851
- def service_name(self, value: builtins.str) -> None:
57852
- if __debug__:
57853
- type_hints = typing.get_type_hints(_typecheckingstub__c2090beb1c51f8f71e8d917867bb4a45a0f3f15917f6cca0b5e935b108f8f0d2)
57854
- check_type(argname="argument value", value=value, expected_type=type_hints["value"])
57855
- jsii.set(self, "serviceName", value) # pyright: ignore[reportArgumentType]
57856
-
57857
58484
  @builtins.property
57858
58485
  @jsii.member(jsii_name="vpcId")
57859
58486
  def vpc_id(self) -> builtins.str:
@@ -57867,6 +58494,37 @@ class CfnVPCEndpoint(
57867
58494
  check_type(argname="argument value", value=value, expected_type=type_hints["value"])
57868
58495
  jsii.set(self, "vpcId", value) # pyright: ignore[reportArgumentType]
57869
58496
 
58497
+ @builtins.property
58498
+ @jsii.member(jsii_name="dnsOptions")
58499
+ def dns_options(
58500
+ self,
58501
+ ) -> typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnVPCEndpoint.DnsOptionsSpecificationProperty"]]:
58502
+ '''Describes the DNS options for an endpoint.'''
58503
+ return typing.cast(typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnVPCEndpoint.DnsOptionsSpecificationProperty"]], jsii.get(self, "dnsOptions"))
58504
+
58505
+ @dns_options.setter
58506
+ def dns_options(
58507
+ self,
58508
+ value: typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnVPCEndpoint.DnsOptionsSpecificationProperty"]],
58509
+ ) -> None:
58510
+ if __debug__:
58511
+ type_hints = typing.get_type_hints(_typecheckingstub__e15ce11d6ebe57a6ac8a2fb4c889876100a6c328a1b0abb8b304cfd27cf7b5cd)
58512
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
58513
+ jsii.set(self, "dnsOptions", value) # pyright: ignore[reportArgumentType]
58514
+
58515
+ @builtins.property
58516
+ @jsii.member(jsii_name="ipAddressType")
58517
+ def ip_address_type(self) -> typing.Optional[builtins.str]:
58518
+ '''The supported IP address types.'''
58519
+ return typing.cast(typing.Optional[builtins.str], jsii.get(self, "ipAddressType"))
58520
+
58521
+ @ip_address_type.setter
58522
+ def ip_address_type(self, value: typing.Optional[builtins.str]) -> None:
58523
+ if __debug__:
58524
+ type_hints = typing.get_type_hints(_typecheckingstub__b4252d968c97703b5357195e08fd6929c33489fbd3ca6a552f87a6a0081d505b)
58525
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
58526
+ jsii.set(self, "ipAddressType", value) # pyright: ignore[reportArgumentType]
58527
+
57870
58528
  @builtins.property
57871
58529
  @jsii.member(jsii_name="policyDocument")
57872
58530
  def policy_document(self) -> typing.Any:
@@ -57898,6 +58556,19 @@ class CfnVPCEndpoint(
57898
58556
  check_type(argname="argument value", value=value, expected_type=type_hints["value"])
57899
58557
  jsii.set(self, "privateDnsEnabled", value) # pyright: ignore[reportArgumentType]
57900
58558
 
58559
+ @builtins.property
58560
+ @jsii.member(jsii_name="resourceConfigurationArn")
58561
+ def resource_configuration_arn(self) -> typing.Optional[builtins.str]:
58562
+ '''The Amazon Resource Name (ARN) of the resource configuration.'''
58563
+ return typing.cast(typing.Optional[builtins.str], jsii.get(self, "resourceConfigurationArn"))
58564
+
58565
+ @resource_configuration_arn.setter
58566
+ def resource_configuration_arn(self, value: typing.Optional[builtins.str]) -> None:
58567
+ if __debug__:
58568
+ type_hints = typing.get_type_hints(_typecheckingstub__3101a3e7fcb2835bd7b9fd3ade8b122baed16ffd76623f6a6d2d4757ff992d55)
58569
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
58570
+ jsii.set(self, "resourceConfigurationArn", value) # pyright: ignore[reportArgumentType]
58571
+
57901
58572
  @builtins.property
57902
58573
  @jsii.member(jsii_name="routeTableIds")
57903
58574
  def route_table_ids(self) -> typing.Optional[typing.List[builtins.str]]:
@@ -57930,6 +58601,32 @@ class CfnVPCEndpoint(
57930
58601
  check_type(argname="argument value", value=value, expected_type=type_hints["value"])
57931
58602
  jsii.set(self, "securityGroupIds", value) # pyright: ignore[reportArgumentType]
57932
58603
 
58604
+ @builtins.property
58605
+ @jsii.member(jsii_name="serviceName")
58606
+ def service_name(self) -> typing.Optional[builtins.str]:
58607
+ '''The name of the endpoint service.'''
58608
+ return typing.cast(typing.Optional[builtins.str], jsii.get(self, "serviceName"))
58609
+
58610
+ @service_name.setter
58611
+ def service_name(self, value: typing.Optional[builtins.str]) -> None:
58612
+ if __debug__:
58613
+ type_hints = typing.get_type_hints(_typecheckingstub__c2090beb1c51f8f71e8d917867bb4a45a0f3f15917f6cca0b5e935b108f8f0d2)
58614
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
58615
+ jsii.set(self, "serviceName", value) # pyright: ignore[reportArgumentType]
58616
+
58617
+ @builtins.property
58618
+ @jsii.member(jsii_name="serviceNetworkArn")
58619
+ def service_network_arn(self) -> typing.Optional[builtins.str]:
58620
+ '''The Amazon Resource Name (ARN) of the service network.'''
58621
+ return typing.cast(typing.Optional[builtins.str], jsii.get(self, "serviceNetworkArn"))
58622
+
58623
+ @service_network_arn.setter
58624
+ def service_network_arn(self, value: typing.Optional[builtins.str]) -> None:
58625
+ if __debug__:
58626
+ type_hints = typing.get_type_hints(_typecheckingstub__93ce6066a05ef231155e5be0db9255aa620b43b7f15caa8dbed327524e65a2e6)
58627
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
58628
+ jsii.set(self, "serviceNetworkArn", value) # pyright: ignore[reportArgumentType]
58629
+
57933
58630
  @builtins.property
57934
58631
  @jsii.member(jsii_name="subnetIds")
57935
58632
  def subnet_ids(self) -> typing.Optional[typing.List[builtins.str]]:
@@ -57943,6 +58640,18 @@ class CfnVPCEndpoint(
57943
58640
  check_type(argname="argument value", value=value, expected_type=type_hints["value"])
57944
58641
  jsii.set(self, "subnetIds", value) # pyright: ignore[reportArgumentType]
57945
58642
 
58643
+ @builtins.property
58644
+ @jsii.member(jsii_name="tags")
58645
+ def tags(self) -> typing.Optional[typing.List[_CfnTag_f6864754]]:
58646
+ return typing.cast(typing.Optional[typing.List[_CfnTag_f6864754]], jsii.get(self, "tags"))
58647
+
58648
+ @tags.setter
58649
+ def tags(self, value: typing.Optional[typing.List[_CfnTag_f6864754]]) -> None:
58650
+ if __debug__:
58651
+ type_hints = typing.get_type_hints(_typecheckingstub__d7d13f7185b8544ab5dcf009dcdc160c4ed471e8df5f1f06d023d70fe78b897d)
58652
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
58653
+ jsii.set(self, "tags", value) # pyright: ignore[reportArgumentType]
58654
+
57946
58655
  @builtins.property
57947
58656
  @jsii.member(jsii_name="vpcEndpointType")
57948
58657
  def vpc_endpoint_type(self) -> typing.Optional[builtins.str]:
@@ -57956,6 +58665,83 @@ class CfnVPCEndpoint(
57956
58665
  check_type(argname="argument value", value=value, expected_type=type_hints["value"])
57957
58666
  jsii.set(self, "vpcEndpointType", value) # pyright: ignore[reportArgumentType]
57958
58667
 
58668
+ @jsii.data_type(
58669
+ jsii_type="aws-cdk-lib.aws_ec2.CfnVPCEndpoint.DnsOptionsSpecificationProperty",
58670
+ jsii_struct_bases=[],
58671
+ name_mapping={
58672
+ "dns_record_ip_type": "dnsRecordIpType",
58673
+ "private_dns_only_for_inbound_resolver_endpoint": "privateDnsOnlyForInboundResolverEndpoint",
58674
+ },
58675
+ )
58676
+ class DnsOptionsSpecificationProperty:
58677
+ def __init__(
58678
+ self,
58679
+ *,
58680
+ dns_record_ip_type: typing.Optional[builtins.str] = None,
58681
+ private_dns_only_for_inbound_resolver_endpoint: typing.Optional[builtins.str] = None,
58682
+ ) -> None:
58683
+ '''Describes the DNS options for an endpoint.
58684
+
58685
+ :param dns_record_ip_type: The DNS records created for the endpoint.
58686
+ :param private_dns_only_for_inbound_resolver_endpoint: Indicates whether to enable private DNS only for inbound endpoints. This option is available only for services that support both gateway and interface endpoints. It routes traffic that originates from the VPC to the gateway endpoint and traffic that originates from on-premises to the interface endpoint.
58687
+
58688
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-vpcendpoint-dnsoptionsspecification.html
58689
+ :exampleMetadata: fixture=_generated
58690
+
58691
+ Example::
58692
+
58693
+ # The code below shows an example of how to instantiate this type.
58694
+ # The values are placeholders you should change.
58695
+ from aws_cdk import aws_ec2 as ec2
58696
+
58697
+ dns_options_specification_property = ec2.CfnVPCEndpoint.DnsOptionsSpecificationProperty(
58698
+ dns_record_ip_type="dnsRecordIpType",
58699
+ private_dns_only_for_inbound_resolver_endpoint="privateDnsOnlyForInboundResolverEndpoint"
58700
+ )
58701
+ '''
58702
+ if __debug__:
58703
+ type_hints = typing.get_type_hints(_typecheckingstub__2fd86e4ea4f842eb5fe88c977909161577350db8ca53666d6d23bbfe0d3b4df4)
58704
+ check_type(argname="argument dns_record_ip_type", value=dns_record_ip_type, expected_type=type_hints["dns_record_ip_type"])
58705
+ check_type(argname="argument private_dns_only_for_inbound_resolver_endpoint", value=private_dns_only_for_inbound_resolver_endpoint, expected_type=type_hints["private_dns_only_for_inbound_resolver_endpoint"])
58706
+ self._values: typing.Dict[builtins.str, typing.Any] = {}
58707
+ if dns_record_ip_type is not None:
58708
+ self._values["dns_record_ip_type"] = dns_record_ip_type
58709
+ if private_dns_only_for_inbound_resolver_endpoint is not None:
58710
+ self._values["private_dns_only_for_inbound_resolver_endpoint"] = private_dns_only_for_inbound_resolver_endpoint
58711
+
58712
+ @builtins.property
58713
+ def dns_record_ip_type(self) -> typing.Optional[builtins.str]:
58714
+ '''The DNS records created for the endpoint.
58715
+
58716
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-vpcendpoint-dnsoptionsspecification.html#cfn-ec2-vpcendpoint-dnsoptionsspecification-dnsrecordiptype
58717
+ '''
58718
+ result = self._values.get("dns_record_ip_type")
58719
+ return typing.cast(typing.Optional[builtins.str], result)
58720
+
58721
+ @builtins.property
58722
+ def private_dns_only_for_inbound_resolver_endpoint(
58723
+ self,
58724
+ ) -> typing.Optional[builtins.str]:
58725
+ '''Indicates whether to enable private DNS only for inbound endpoints.
58726
+
58727
+ This option is available only for services that support both gateway and interface endpoints. It routes traffic that originates from the VPC to the gateway endpoint and traffic that originates from on-premises to the interface endpoint.
58728
+
58729
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-vpcendpoint-dnsoptionsspecification.html#cfn-ec2-vpcendpoint-dnsoptionsspecification-privatednsonlyforinboundresolverendpoint
58730
+ '''
58731
+ result = self._values.get("private_dns_only_for_inbound_resolver_endpoint")
58732
+ return typing.cast(typing.Optional[builtins.str], result)
58733
+
58734
+ def __eq__(self, rhs: typing.Any) -> builtins.bool:
58735
+ return isinstance(rhs, self.__class__) and rhs._values == self._values
58736
+
58737
+ def __ne__(self, rhs: typing.Any) -> builtins.bool:
58738
+ return not (rhs == self)
58739
+
58740
+ def __repr__(self) -> str:
58741
+ return "DnsOptionsSpecificationProperty(%s)" % ", ".join(
58742
+ k + "=" + repr(v) for k, v in self._values.items()
58743
+ )
58744
+
57959
58745
 
57960
58746
  @jsii.implements(_IInspectable_c2943556)
57961
58747
  class CfnVPCEndpointConnectionNotification(
@@ -58232,13 +59018,18 @@ class CfnVPCEndpointConnectionNotificationProps:
58232
59018
  jsii_type="aws-cdk-lib.aws_ec2.CfnVPCEndpointProps",
58233
59019
  jsii_struct_bases=[],
58234
59020
  name_mapping={
58235
- "service_name": "serviceName",
58236
59021
  "vpc_id": "vpcId",
59022
+ "dns_options": "dnsOptions",
59023
+ "ip_address_type": "ipAddressType",
58237
59024
  "policy_document": "policyDocument",
58238
59025
  "private_dns_enabled": "privateDnsEnabled",
59026
+ "resource_configuration_arn": "resourceConfigurationArn",
58239
59027
  "route_table_ids": "routeTableIds",
58240
59028
  "security_group_ids": "securityGroupIds",
59029
+ "service_name": "serviceName",
59030
+ "service_network_arn": "serviceNetworkArn",
58241
59031
  "subnet_ids": "subnetIds",
59032
+ "tags": "tags",
58242
59033
  "vpc_endpoint_type": "vpcEndpointType",
58243
59034
  },
58244
59035
  )
@@ -58246,24 +59037,34 @@ class CfnVPCEndpointProps:
58246
59037
  def __init__(
58247
59038
  self,
58248
59039
  *,
58249
- service_name: builtins.str,
58250
59040
  vpc_id: builtins.str,
59041
+ dns_options: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnVPCEndpoint.DnsOptionsSpecificationProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
59042
+ ip_address_type: typing.Optional[builtins.str] = None,
58251
59043
  policy_document: typing.Any = None,
58252
59044
  private_dns_enabled: typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]] = None,
59045
+ resource_configuration_arn: typing.Optional[builtins.str] = None,
58253
59046
  route_table_ids: typing.Optional[typing.Sequence[builtins.str]] = None,
58254
59047
  security_group_ids: typing.Optional[typing.Sequence[builtins.str]] = None,
59048
+ service_name: typing.Optional[builtins.str] = None,
59049
+ service_network_arn: typing.Optional[builtins.str] = None,
58255
59050
  subnet_ids: typing.Optional[typing.Sequence[builtins.str]] = None,
59051
+ tags: typing.Optional[typing.Sequence[typing.Union[_CfnTag_f6864754, typing.Dict[builtins.str, typing.Any]]]] = None,
58256
59052
  vpc_endpoint_type: typing.Optional[builtins.str] = None,
58257
59053
  ) -> None:
58258
59054
  '''Properties for defining a ``CfnVPCEndpoint``.
58259
59055
 
58260
- :param service_name: The name of the endpoint service.
58261
59056
  :param vpc_id: The ID of the VPC.
59057
+ :param dns_options: Describes the DNS options for an endpoint.
59058
+ :param ip_address_type: The supported IP address types.
58262
59059
  :param policy_document: An endpoint policy, which controls access to the service from the VPC. The default endpoint policy allows full access to the service. Endpoint policies are supported only for gateway and interface endpoints. 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: ``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":"*" }] }'``
58263
59060
  :param private_dns_enabled: Indicate whether to associate a private hosted zone with the specified VPC. The private hosted zone contains a record set for the default public DNS name for the service for the Region (for example, ``kinesis.us-east-1.amazonaws.com`` ), which resolves to the private IP addresses of the endpoint network interfaces in the VPC. This enables you to make requests to the default public DNS name for the service instead of the public DNS names that are automatically generated by the VPC endpoint service. To use a private hosted zone, you must set the following VPC attributes to ``true`` : ``enableDnsHostnames`` and ``enableDnsSupport`` . This property is supported only for interface endpoints. Default: ``false``
59061
+ :param resource_configuration_arn: The Amazon Resource Name (ARN) of the resource configuration.
58264
59062
  :param route_table_ids: The IDs of the route tables. Routing is supported only for gateway endpoints.
58265
59063
  :param security_group_ids: The IDs of the security groups to associate with the endpoint network interfaces. If this parameter is not specified, we use the default security group for the VPC. Security groups are supported only for interface endpoints.
59064
+ :param service_name: The name of the endpoint service.
59065
+ :param service_network_arn: The Amazon Resource Name (ARN) of the service network.
58266
59066
  :param subnet_ids: The IDs of the subnets in which to create endpoint network interfaces. You must specify this property for an interface endpoint or a Gateway Load Balancer endpoint. You can't specify this property for a gateway endpoint. For a Gateway Load Balancer endpoint, you can specify only one subnet.
59067
+ :param tags:
58267
59068
  :param vpc_endpoint_type: The type of endpoint. Default: Gateway
58268
59069
 
58269
59070
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-vpcendpoint.html
@@ -58278,55 +59079,72 @@ class CfnVPCEndpointProps:
58278
59079
  # policy_document: Any
58279
59080
 
58280
59081
  cfn_vPCEndpoint_props = ec2.CfnVPCEndpointProps(
58281
- service_name="serviceName",
58282
59082
  vpc_id="vpcId",
58283
59083
 
58284
59084
  # the properties below are optional
59085
+ dns_options=ec2.CfnVPCEndpoint.DnsOptionsSpecificationProperty(
59086
+ dns_record_ip_type="dnsRecordIpType",
59087
+ private_dns_only_for_inbound_resolver_endpoint="privateDnsOnlyForInboundResolverEndpoint"
59088
+ ),
59089
+ ip_address_type="ipAddressType",
58285
59090
  policy_document=policy_document,
58286
59091
  private_dns_enabled=False,
59092
+ resource_configuration_arn="resourceConfigurationArn",
58287
59093
  route_table_ids=["routeTableIds"],
58288
59094
  security_group_ids=["securityGroupIds"],
59095
+ service_name="serviceName",
59096
+ service_network_arn="serviceNetworkArn",
58289
59097
  subnet_ids=["subnetIds"],
59098
+ tags=[CfnTag(
59099
+ key="key",
59100
+ value="value"
59101
+ )],
58290
59102
  vpc_endpoint_type="vpcEndpointType"
58291
59103
  )
58292
59104
  '''
58293
59105
  if __debug__:
58294
59106
  type_hints = typing.get_type_hints(_typecheckingstub__34ba69df521981275d9321266877bb15ffeaff485197a94710ae57c73b0cd2f1)
58295
- check_type(argname="argument service_name", value=service_name, expected_type=type_hints["service_name"])
58296
59107
  check_type(argname="argument vpc_id", value=vpc_id, expected_type=type_hints["vpc_id"])
59108
+ check_type(argname="argument dns_options", value=dns_options, expected_type=type_hints["dns_options"])
59109
+ check_type(argname="argument ip_address_type", value=ip_address_type, expected_type=type_hints["ip_address_type"])
58297
59110
  check_type(argname="argument policy_document", value=policy_document, expected_type=type_hints["policy_document"])
58298
59111
  check_type(argname="argument private_dns_enabled", value=private_dns_enabled, expected_type=type_hints["private_dns_enabled"])
59112
+ check_type(argname="argument resource_configuration_arn", value=resource_configuration_arn, expected_type=type_hints["resource_configuration_arn"])
58299
59113
  check_type(argname="argument route_table_ids", value=route_table_ids, expected_type=type_hints["route_table_ids"])
58300
59114
  check_type(argname="argument security_group_ids", value=security_group_ids, expected_type=type_hints["security_group_ids"])
59115
+ check_type(argname="argument service_name", value=service_name, expected_type=type_hints["service_name"])
59116
+ check_type(argname="argument service_network_arn", value=service_network_arn, expected_type=type_hints["service_network_arn"])
58301
59117
  check_type(argname="argument subnet_ids", value=subnet_ids, expected_type=type_hints["subnet_ids"])
59118
+ check_type(argname="argument tags", value=tags, expected_type=type_hints["tags"])
58302
59119
  check_type(argname="argument vpc_endpoint_type", value=vpc_endpoint_type, expected_type=type_hints["vpc_endpoint_type"])
58303
59120
  self._values: typing.Dict[builtins.str, typing.Any] = {
58304
- "service_name": service_name,
58305
59121
  "vpc_id": vpc_id,
58306
59122
  }
59123
+ if dns_options is not None:
59124
+ self._values["dns_options"] = dns_options
59125
+ if ip_address_type is not None:
59126
+ self._values["ip_address_type"] = ip_address_type
58307
59127
  if policy_document is not None:
58308
59128
  self._values["policy_document"] = policy_document
58309
59129
  if private_dns_enabled is not None:
58310
59130
  self._values["private_dns_enabled"] = private_dns_enabled
59131
+ if resource_configuration_arn is not None:
59132
+ self._values["resource_configuration_arn"] = resource_configuration_arn
58311
59133
  if route_table_ids is not None:
58312
59134
  self._values["route_table_ids"] = route_table_ids
58313
59135
  if security_group_ids is not None:
58314
59136
  self._values["security_group_ids"] = security_group_ids
59137
+ if service_name is not None:
59138
+ self._values["service_name"] = service_name
59139
+ if service_network_arn is not None:
59140
+ self._values["service_network_arn"] = service_network_arn
58315
59141
  if subnet_ids is not None:
58316
59142
  self._values["subnet_ids"] = subnet_ids
59143
+ if tags is not None:
59144
+ self._values["tags"] = tags
58317
59145
  if vpc_endpoint_type is not None:
58318
59146
  self._values["vpc_endpoint_type"] = vpc_endpoint_type
58319
59147
 
58320
- @builtins.property
58321
- def service_name(self) -> builtins.str:
58322
- '''The name of the endpoint service.
58323
-
58324
- :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-vpcendpoint.html#cfn-ec2-vpcendpoint-servicename
58325
- '''
58326
- result = self._values.get("service_name")
58327
- assert result is not None, "Required property 'service_name' is missing"
58328
- return typing.cast(builtins.str, result)
58329
-
58330
59148
  @builtins.property
58331
59149
  def vpc_id(self) -> builtins.str:
58332
59150
  '''The ID of the VPC.
@@ -58337,6 +59155,26 @@ class CfnVPCEndpointProps:
58337
59155
  assert result is not None, "Required property 'vpc_id' is missing"
58338
59156
  return typing.cast(builtins.str, result)
58339
59157
 
59158
+ @builtins.property
59159
+ def dns_options(
59160
+ self,
59161
+ ) -> typing.Optional[typing.Union[_IResolvable_da3f097b, CfnVPCEndpoint.DnsOptionsSpecificationProperty]]:
59162
+ '''Describes the DNS options for an endpoint.
59163
+
59164
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-vpcendpoint.html#cfn-ec2-vpcendpoint-dnsoptions
59165
+ '''
59166
+ result = self._values.get("dns_options")
59167
+ return typing.cast(typing.Optional[typing.Union[_IResolvable_da3f097b, CfnVPCEndpoint.DnsOptionsSpecificationProperty]], result)
59168
+
59169
+ @builtins.property
59170
+ def ip_address_type(self) -> typing.Optional[builtins.str]:
59171
+ '''The supported IP address types.
59172
+
59173
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-vpcendpoint.html#cfn-ec2-vpcendpoint-ipaddresstype
59174
+ '''
59175
+ result = self._values.get("ip_address_type")
59176
+ return typing.cast(typing.Optional[builtins.str], result)
59177
+
58340
59178
  @builtins.property
58341
59179
  def policy_document(self) -> typing.Any:
58342
59180
  '''An endpoint policy, which controls access to the service from the VPC.
@@ -58371,6 +59209,15 @@ class CfnVPCEndpointProps:
58371
59209
  result = self._values.get("private_dns_enabled")
58372
59210
  return typing.cast(typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]], result)
58373
59211
 
59212
+ @builtins.property
59213
+ def resource_configuration_arn(self) -> typing.Optional[builtins.str]:
59214
+ '''The Amazon Resource Name (ARN) of the resource configuration.
59215
+
59216
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-vpcendpoint.html#cfn-ec2-vpcendpoint-resourceconfigurationarn
59217
+ '''
59218
+ result = self._values.get("resource_configuration_arn")
59219
+ return typing.cast(typing.Optional[builtins.str], result)
59220
+
58374
59221
  @builtins.property
58375
59222
  def route_table_ids(self) -> typing.Optional[typing.List[builtins.str]]:
58376
59223
  '''The IDs of the route tables.
@@ -58393,6 +59240,24 @@ class CfnVPCEndpointProps:
58393
59240
  result = self._values.get("security_group_ids")
58394
59241
  return typing.cast(typing.Optional[typing.List[builtins.str]], result)
58395
59242
 
59243
+ @builtins.property
59244
+ def service_name(self) -> typing.Optional[builtins.str]:
59245
+ '''The name of the endpoint service.
59246
+
59247
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-vpcendpoint.html#cfn-ec2-vpcendpoint-servicename
59248
+ '''
59249
+ result = self._values.get("service_name")
59250
+ return typing.cast(typing.Optional[builtins.str], result)
59251
+
59252
+ @builtins.property
59253
+ def service_network_arn(self) -> typing.Optional[builtins.str]:
59254
+ '''The Amazon Resource Name (ARN) of the service network.
59255
+
59256
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-vpcendpoint.html#cfn-ec2-vpcendpoint-servicenetworkarn
59257
+ '''
59258
+ result = self._values.get("service_network_arn")
59259
+ return typing.cast(typing.Optional[builtins.str], result)
59260
+
58396
59261
  @builtins.property
58397
59262
  def subnet_ids(self) -> typing.Optional[typing.List[builtins.str]]:
58398
59263
  '''The IDs of the subnets in which to create endpoint network interfaces.
@@ -58404,6 +59269,14 @@ class CfnVPCEndpointProps:
58404
59269
  result = self._values.get("subnet_ids")
58405
59270
  return typing.cast(typing.Optional[typing.List[builtins.str]], result)
58406
59271
 
59272
+ @builtins.property
59273
+ def tags(self) -> typing.Optional[typing.List[_CfnTag_f6864754]]:
59274
+ '''
59275
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-vpcendpoint.html#cfn-ec2-vpcendpoint-tags
59276
+ '''
59277
+ result = self._values.get("tags")
59278
+ return typing.cast(typing.Optional[typing.List[_CfnTag_f6864754]], result)
59279
+
58407
59280
  @builtins.property
58408
59281
  def vpc_endpoint_type(self) -> typing.Optional[builtins.str]:
58409
59282
  '''The type of endpoint.
@@ -58427,7 +59300,7 @@ class CfnVPCEndpointProps:
58427
59300
  )
58428
59301
 
58429
59302
 
58430
- @jsii.implements(_IInspectable_c2943556)
59303
+ @jsii.implements(_IInspectable_c2943556, _ITaggableV2_4e6798f8)
58431
59304
  class CfnVPCEndpointService(
58432
59305
  _CfnResource_9df397a6,
58433
59306
  metaclass=jsii.JSIIMeta,
@@ -58457,7 +59330,11 @@ class CfnVPCEndpointService(
58457
59330
  contributor_insights_enabled=False,
58458
59331
  gateway_load_balancer_arns=["gatewayLoadBalancerArns"],
58459
59332
  network_load_balancer_arns=["networkLoadBalancerArns"],
58460
- payer_responsibility="payerResponsibility"
59333
+ payer_responsibility="payerResponsibility",
59334
+ tags=[CfnTag(
59335
+ key="key",
59336
+ value="value"
59337
+ )]
58461
59338
  )
58462
59339
  '''
58463
59340
 
@@ -58471,6 +59348,7 @@ class CfnVPCEndpointService(
58471
59348
  gateway_load_balancer_arns: typing.Optional[typing.Sequence[builtins.str]] = None,
58472
59349
  network_load_balancer_arns: typing.Optional[typing.Sequence[builtins.str]] = None,
58473
59350
  payer_responsibility: typing.Optional[builtins.str] = None,
59351
+ tags: typing.Optional[typing.Sequence[typing.Union[_CfnTag_f6864754, typing.Dict[builtins.str, typing.Any]]]] = None,
58474
59352
  ) -> None:
58475
59353
  '''
58476
59354
  :param scope: Scope in which this resource is defined.
@@ -58480,6 +59358,7 @@ class CfnVPCEndpointService(
58480
59358
  :param gateway_load_balancer_arns: The Amazon Resource Names (ARNs) of the Gateway Load Balancers.
58481
59359
  :param network_load_balancer_arns: The Amazon Resource Names (ARNs) of the Network Load Balancers.
58482
59360
  :param payer_responsibility: The entity that is responsible for the endpoint costs. The default is the endpoint owner. If you set the payer responsibility to the service owner, you cannot set it back to the endpoint owner.
59361
+ :param tags: The tags to add to the VPC endpoint service.
58483
59362
  '''
58484
59363
  if __debug__:
58485
59364
  type_hints = typing.get_type_hints(_typecheckingstub__bd65bb2d0beb1d62ef8b72a33a352ac48e00600bc2b025bdec06b82cf7cf57ee)
@@ -58491,6 +59370,7 @@ class CfnVPCEndpointService(
58491
59370
  gateway_load_balancer_arns=gateway_load_balancer_arns,
58492
59371
  network_load_balancer_arns=network_load_balancer_arns,
58493
59372
  payer_responsibility=payer_responsibility,
59373
+ tags=tags,
58494
59374
  )
58495
59375
 
58496
59376
  jsii.create(self.__class__, self, [scope, id, props])
@@ -58534,6 +59414,12 @@ class CfnVPCEndpointService(
58534
59414
  '''
58535
59415
  return typing.cast(builtins.str, jsii.get(self, "attrServiceId"))
58536
59416
 
59417
+ @builtins.property
59418
+ @jsii.member(jsii_name="cdkTagManager")
59419
+ def cdk_tag_manager(self) -> _TagManager_0a598cb3:
59420
+ '''Tag Manager which manages the tags for this resource.'''
59421
+ return typing.cast(_TagManager_0a598cb3, jsii.get(self, "cdkTagManager"))
59422
+
58537
59423
  @builtins.property
58538
59424
  @jsii.member(jsii_name="cfnProperties")
58539
59425
  def _cfn_properties(self) -> typing.Mapping[builtins.str, typing.Any]:
@@ -58620,6 +59506,19 @@ class CfnVPCEndpointService(
58620
59506
  check_type(argname="argument value", value=value, expected_type=type_hints["value"])
58621
59507
  jsii.set(self, "payerResponsibility", value) # pyright: ignore[reportArgumentType]
58622
59508
 
59509
+ @builtins.property
59510
+ @jsii.member(jsii_name="tags")
59511
+ def tags(self) -> typing.Optional[typing.List[_CfnTag_f6864754]]:
59512
+ '''The tags to add to the VPC endpoint service.'''
59513
+ return typing.cast(typing.Optional[typing.List[_CfnTag_f6864754]], jsii.get(self, "tags"))
59514
+
59515
+ @tags.setter
59516
+ def tags(self, value: typing.Optional[typing.List[_CfnTag_f6864754]]) -> None:
59517
+ if __debug__:
59518
+ type_hints = typing.get_type_hints(_typecheckingstub__fb88e38ee31fea753761176490a0c4f49435705e0e51b6d055979684ea151b42)
59519
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
59520
+ jsii.set(self, "tags", value) # pyright: ignore[reportArgumentType]
59521
+
58623
59522
 
58624
59523
  @jsii.implements(_IInspectable_c2943556)
58625
59524
  class CfnVPCEndpointServicePermissions(
@@ -58826,6 +59725,7 @@ class CfnVPCEndpointServicePermissionsProps:
58826
59725
  "gateway_load_balancer_arns": "gatewayLoadBalancerArns",
58827
59726
  "network_load_balancer_arns": "networkLoadBalancerArns",
58828
59727
  "payer_responsibility": "payerResponsibility",
59728
+ "tags": "tags",
58829
59729
  },
58830
59730
  )
58831
59731
  class CfnVPCEndpointServiceProps:
@@ -58837,6 +59737,7 @@ class CfnVPCEndpointServiceProps:
58837
59737
  gateway_load_balancer_arns: typing.Optional[typing.Sequence[builtins.str]] = None,
58838
59738
  network_load_balancer_arns: typing.Optional[typing.Sequence[builtins.str]] = None,
58839
59739
  payer_responsibility: typing.Optional[builtins.str] = None,
59740
+ tags: typing.Optional[typing.Sequence[typing.Union[_CfnTag_f6864754, typing.Dict[builtins.str, typing.Any]]]] = None,
58840
59741
  ) -> None:
58841
59742
  '''Properties for defining a ``CfnVPCEndpointService``.
58842
59743
 
@@ -58845,6 +59746,7 @@ class CfnVPCEndpointServiceProps:
58845
59746
  :param gateway_load_balancer_arns: The Amazon Resource Names (ARNs) of the Gateway Load Balancers.
58846
59747
  :param network_load_balancer_arns: The Amazon Resource Names (ARNs) of the Network Load Balancers.
58847
59748
  :param payer_responsibility: The entity that is responsible for the endpoint costs. The default is the endpoint owner. If you set the payer responsibility to the service owner, you cannot set it back to the endpoint owner.
59749
+ :param tags: The tags to add to the VPC endpoint service.
58848
59750
 
58849
59751
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-vpcendpointservice.html
58850
59752
  :exampleMetadata: fixture=_generated
@@ -58860,7 +59762,11 @@ class CfnVPCEndpointServiceProps:
58860
59762
  contributor_insights_enabled=False,
58861
59763
  gateway_load_balancer_arns=["gatewayLoadBalancerArns"],
58862
59764
  network_load_balancer_arns=["networkLoadBalancerArns"],
58863
- payer_responsibility="payerResponsibility"
59765
+ payer_responsibility="payerResponsibility",
59766
+ tags=[CfnTag(
59767
+ key="key",
59768
+ value="value"
59769
+ )]
58864
59770
  )
58865
59771
  '''
58866
59772
  if __debug__:
@@ -58870,6 +59776,7 @@ class CfnVPCEndpointServiceProps:
58870
59776
  check_type(argname="argument gateway_load_balancer_arns", value=gateway_load_balancer_arns, expected_type=type_hints["gateway_load_balancer_arns"])
58871
59777
  check_type(argname="argument network_load_balancer_arns", value=network_load_balancer_arns, expected_type=type_hints["network_load_balancer_arns"])
58872
59778
  check_type(argname="argument payer_responsibility", value=payer_responsibility, expected_type=type_hints["payer_responsibility"])
59779
+ check_type(argname="argument tags", value=tags, expected_type=type_hints["tags"])
58873
59780
  self._values: typing.Dict[builtins.str, typing.Any] = {}
58874
59781
  if acceptance_required is not None:
58875
59782
  self._values["acceptance_required"] = acceptance_required
@@ -58881,6 +59788,8 @@ class CfnVPCEndpointServiceProps:
58881
59788
  self._values["network_load_balancer_arns"] = network_load_balancer_arns
58882
59789
  if payer_responsibility is not None:
58883
59790
  self._values["payer_responsibility"] = payer_responsibility
59791
+ if tags is not None:
59792
+ self._values["tags"] = tags
58884
59793
 
58885
59794
  @builtins.property
58886
59795
  def acceptance_required(
@@ -58933,6 +59842,15 @@ class CfnVPCEndpointServiceProps:
58933
59842
  result = self._values.get("payer_responsibility")
58934
59843
  return typing.cast(typing.Optional[builtins.str], result)
58935
59844
 
59845
+ @builtins.property
59846
+ def tags(self) -> typing.Optional[typing.List[_CfnTag_f6864754]]:
59847
+ '''The tags to add to the VPC endpoint service.
59848
+
59849
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-vpcendpointservice.html#cfn-ec2-vpcendpointservice-tags
59850
+ '''
59851
+ result = self._values.get("tags")
59852
+ return typing.cast(typing.Optional[typing.List[_CfnTag_f6864754]], result)
59853
+
58936
59854
  def __eq__(self, rhs: typing.Any) -> builtins.bool:
58937
59855
  return isinstance(rhs, self.__class__) and rhs._values == self._values
58938
59856
 
@@ -75252,6 +76170,34 @@ class InstanceClass(enum.Enum):
75252
76170
  '''High memory instances (24TB) based on Intel Xeon Scalable (Cascade Lake) processors, 1st generation.'''
75253
76171
  U_24TB1 = "U_24TB1"
75254
76172
  '''High memory instances (24TB) based on Intel Xeon Scalable (Cascade Lake) processors, 1st generation.'''
76173
+ HIGH_MEMORY_6TB_7 = "HIGH_MEMORY_6TB_7"
76174
+ '''High memory instances (6TB) based on 4th Generation Intel Xeon Scalable processors (Sapphire Rapids), 7th generation.'''
76175
+ U7I_6TB = "U7I_6TB"
76176
+ '''High memory instances (6TB) based on 4th Generation Intel Xeon Scalable processors (Sapphire Rapids), 7th generation.'''
76177
+ HIGH_MEMORY_8TB_7 = "HIGH_MEMORY_8TB_7"
76178
+ '''High memory instances (8TB) based on 4th Generation Intel Xeon Scalable processors (Sapphire Rapids), 7th generation.'''
76179
+ U7I_8TB = "U7I_8TB"
76180
+ '''High memory instances (8TB) based on 4th Generation Intel Xeon Scalable processors (Sapphire Rapids), 7th generation.'''
76181
+ HIGH_MEMORY_12TB_7 = "HIGH_MEMORY_12TB_7"
76182
+ '''High memory instances (12TB) based on 4th Generation Intel Xeon Scalable processors (Sapphire Rapids), 7th generation.'''
76183
+ U7I_12TB = "U7I_12TB"
76184
+ '''High memory instances (12TB) based on 4th Generation Intel Xeon Scalable processors (Sapphire Rapids), 7th generation.'''
76185
+ HIGH_MEMORY_HIGH_NETWORK_16TB_7 = "HIGH_MEMORY_HIGH_NETWORK_16TB_7"
76186
+ '''High memory, network-intensive instances (16TB) based on 4th Generation Intel Xeon Scalable processors (Sapphire Rapids), 7th generation.'''
76187
+ U7IN_16TB = "U7IN_16TB"
76188
+ '''High memory, network-intensive instances (16TB) based on 4th Generation Intel Xeon Scalable processors (Sapphire Rapids), 7th generation.'''
76189
+ HIGH_MEMORY_HIGH_NETWORK_24TB_7 = "HIGH_MEMORY_HIGH_NETWORK_24TB_7"
76190
+ '''High memory, network-intensive instances (24TB) based on 4th Generation Intel Xeon Scalable processors (Sapphire Rapids), 7th generation.'''
76191
+ U7IN_24TB = "U7IN_24TB"
76192
+ '''High memory, network-intensive instances (24TB) based on 4th Generation Intel Xeon Scalable processors (Sapphire Rapids), 7th generation.'''
76193
+ HIGH_MEMORY_HIGH_NETWORK_32TB_7 = "HIGH_MEMORY_HIGH_NETWORK_32TB_7"
76194
+ '''High memory, network-intensive instances (32TB) based on 4th Generation Intel Xeon Scalable processors (Sapphire Rapids), 7th generation.'''
76195
+ U7IN_32TB = "U7IN_32TB"
76196
+ '''High memory, network-intensive instances (32TB) based on 4th Generation Intel Xeon Scalable processors (Sapphire Rapids), 7th generation.'''
76197
+ HIGH_MEMORY_HIGH_NETWORK_HPE_32TB_7 = "HIGH_MEMORY_HIGH_NETWORK_HPE_32TB_7"
76198
+ '''High memory, network-intensive instances (32TB) based on 4th Generation Intel Xeon Scalable processors (Sapphire Rapids), 7th generation U7inh instances use Hewlett Packard Enterprise (HPE) Compute Scale Up Server 3200.'''
76199
+ U7INH_32TB = "U7INH_32TB"
76200
+ '''High memory, network-intensive instances (32TB) based on 4th Generation Intel Xeon Scalable processors (Sapphire Rapids), 7th generation U7inh instances use Hewlett Packard Enterprise (HPE) Compute Scale Up Server 3200.'''
75255
76201
  MEMORY5_EBS_OPTIMIZED = "MEMORY5_EBS_OPTIMIZED"
75256
76202
  '''Memory optimized instances that are also EBS-optimized, 5th generation.'''
75257
76203
  R5B = "R5B"
@@ -75352,6 +76298,16 @@ class InstanceClass(enum.Enum):
75352
76298
  '''Compute optimized instances for high performance computing, 7th generation with Graviton3 processors.'''
75353
76299
  C7G = "C7G"
75354
76300
  '''Compute optimized instances for high performance computing, 7th generation with Graviton3 processors.'''
76301
+ COMPUTE8_GRAVITON4 = "COMPUTE8_GRAVITON4"
76302
+ '''Compute optimized instances for high performance computing, 8th generation with Graviton4 processors.
76303
+
76304
+ This instance class is currently only available in US East (Ohio), US East (N. Virginia), US West (Oregon), and Europe (Frankfurt).
76305
+ '''
76306
+ C8G = "C8G"
76307
+ '''Compute optimized instances for high performance computing, 8th generation with Graviton4 processors.
76308
+
76309
+ This instance class is currently only available in US East (Ohio), US East (N. Virginia), US West (Oregon), and Europe (Frankfurt).
76310
+ '''
75355
76311
  COMPUTE6_GRAVITON2_NVME_DRIVE = "COMPUTE6_GRAVITON2_NVME_DRIVE"
75356
76312
  '''Compute optimized instances for high performance computing, 6th generation with Graviton2 processors and local NVME drive.'''
75357
76313
  C6GD = "C6GD"
@@ -75378,6 +76334,10 @@ class InstanceClass(enum.Enum):
75378
76334
  '''Compute optimized instances based on Intel Xeon Scalable (Sapphire Rapids) processors, 7th generation.'''
75379
76335
  C7I = "C7I"
75380
76336
  '''Compute optimized instances based on Intel Xeon Scalable (Sapphire Rapids) processors, 7th generation.'''
76337
+ COMPUTE7_INTEL_FLEX = "COMPUTE7_INTEL_FLEX"
76338
+ '''Compute optimized instances based on Intel Xeon Scalable (Sapphire Rapids) processors, 7th generation C7i-flex instances efficiently use compute resources to deliver a baseline level of performance with the ability to scale up to the full compute performance a majority of the time.'''
76339
+ C7I_FLEX = "C7I_FLEX"
76340
+ '''Compute optimized instances based on Intel Xeon Scalable (Sapphire Rapids) processors, 7th generation C7i-flex instances efficiently use compute resources to deliver a baseline level of performance with the ability to scale up to the full compute performance a majority of the time.'''
75381
76341
  COMPUTE7_AMD = "COMPUTE7_AMD"
75382
76342
  '''Compute optimized instances based on 4th generation AMD EPYC (codename Genoa), 7th generation.'''
75383
76343
  C7A = "C7A"
@@ -75406,6 +76366,14 @@ class InstanceClass(enum.Enum):
75406
76366
  '''Network-optimized high performance computing powered by AWS Trainium.'''
75407
76367
  TRN1N = "TRN1N"
75408
76368
  '''Network-optimized high performance computing powered by AWS Trainium.'''
76369
+ TRAINING_ACCELERATOR2 = "TRAINING_ACCELERATOR2"
76370
+ '''High performance computing powered by AWS Trainium2, 2nd generation.'''
76371
+ TRN2 = "TRN2"
76372
+ '''High performance computing powered by AWS Trainium2, 2nd generation.'''
76373
+ TRAINING_ACCELERATOR2_ULTRASERVER = "TRAINING_ACCELERATOR2_ULTRASERVER"
76374
+ '''High performance computing powered by AWS Trainium2 and EC2 Ultra Servers, 2nd generation UltraServers connect multiple EC2 instances using a dedicated, high-bandwidth, low-latency accelerator interconnect.'''
76375
+ TRN2U = "TRN2U"
76376
+ '''High performance computing powered by AWS Trainium2 and EC2 Ultra Servers, 2nd generation UltraServers connect multiple EC2 instances using a dedicated, high-bandwidth, low-latency accelerator interconnect.'''
75409
76377
  IO3 = "IO3"
75410
76378
  '''I/O-optimized instances, 3rd generation.'''
75411
76379
  I3 = "I3"
@@ -75430,6 +76398,14 @@ class InstanceClass(enum.Enum):
75430
76398
  '''Storage optimized instances powered by Graviton2 processor, 4th generation.'''
75431
76399
  IS4GEN = "IS4GEN"
75432
76400
  '''Storage optimized instances powered by Graviton2 processor, 4th generation.'''
76401
+ STORAGE7_INTEL_STORAGE_OPTIMIZED = "STORAGE7_INTEL_STORAGE_OPTIMIZED"
76402
+ '''Storage optimized instances powered by 5th generation Intel Xeon Scalable processors, 7th generation.'''
76403
+ I7IE = "I7IE"
76404
+ '''Storage optimized instances powered by 5th generation Intel Xeon Scalable processors, 7th generation.'''
76405
+ STORAGE8_GRAVITON = "STORAGE8_GRAVITON"
76406
+ '''Storage optimized instances powered by Graviton4 processor, 8th generation.'''
76407
+ I8G = "I8G"
76408
+ '''Storage optimized instances powered by Graviton4 processor, 8th generation.'''
75433
76409
  BURSTABLE2 = "BURSTABLE2"
75434
76410
  '''Burstable instances, 2nd generation.'''
75435
76411
  T2 = "T2"
@@ -75486,10 +76462,18 @@ class InstanceClass(enum.Enum):
75486
76462
  '''Memory-intensive instances with higher network bandwith and single-threaded performance, Intel Xeon Scalable (Cascade Lake) processors.'''
75487
76463
  X2IEZN = "X2IEZN"
75488
76464
  '''Memory-intensive instances with higher network bandwith and single-threaded performance, Intel Xeon Scalable (Cascade Lake) processors.'''
76465
+ MEMORY_INTENSIVE_8_GRAVITON = "MEMORY_INTENSIVE_8_GRAVITON"
76466
+ '''Memory-intensive instances powered by Graviton4 processors, 8th generation.'''
76467
+ X8G = "X8G"
76468
+ '''Memory-intensive instances powered by Graviton4 processors, 8th generation.'''
75489
76469
  FPGA1 = "FPGA1"
75490
76470
  '''Instances with customizable hardware acceleration, 1st generation.'''
75491
76471
  F1 = "F1"
75492
76472
  '''Instances with customizable hardware acceleration, 1st generation.'''
76473
+ FPGA2 = "FPGA2"
76474
+ '''Instances with customizable hardware acceleration, 2nd generation.'''
76475
+ F2 = "F2"
76476
+ '''Instances with customizable hardware acceleration, 2nd generation.'''
75493
76477
  GRAPHICS3_SMALL = "GRAPHICS3_SMALL"
75494
76478
  '''Graphics-optimized instances, 3rd generation.'''
75495
76479
  G3S = "G3S"
@@ -75522,6 +76506,10 @@ class InstanceClass(enum.Enum):
75522
76506
  '''Cost-efficient GPU-based instances for AI inference and spatial computing workloads, 6th generation.'''
75523
76507
  G6E = "G6E"
75524
76508
  '''Cost-efficient GPU-based instances for AI inference and spatial computing workloads, 6th generation.'''
76509
+ GRAPHICS_RAM_6 = "GRAPHICS_RAM_6"
76510
+ '''Graphics-optimized instances, 6th generation Gr6 instances offer a 1:8 vCPU to RAM ratio, making them better suited for graphics workloads with higher memory requirements.'''
76511
+ GR6 = "GR6"
76512
+ '''Graphics-optimized instances, 6th generation Gr6 instances offer a 1:8 vCPU to RAM ratio, making them better suited for graphics workloads with higher memory requirements.'''
75525
76513
  PARALLEL2 = "PARALLEL2"
75526
76514
  '''Parallel-processing optimized instances, 2nd generation.'''
75527
76515
  P2 = "P2"
@@ -75543,8 +76531,16 @@ class InstanceClass(enum.Enum):
75543
76531
  P4D = "P4D"
75544
76532
  '''Parallel-processing optimized instances, 4th generation.'''
75545
76533
  PARALLEL5 = "PARALLEL5"
75546
- '''Parallel-processing optimized instances, 5th generation.'''
76534
+ '''Parallel-processing optimized instances powered by NVIDIA H100 Tensor Core GPUs, 5th generation.'''
75547
76535
  P5 = "P5"
76536
+ '''Parallel-processing optimized instances powered by NVIDIA H100 Tensor Core GPUs, 5th generation.'''
76537
+ PARALLEL5_EXTENDED = "PARALLEL5_EXTENDED"
76538
+ '''Parallel-processing optimized instances powered by NVIDIA H200 Tensor Core GPUs, 5th generation.'''
76539
+ P5E = "P5E"
76540
+ '''Parallel-processing optimized instances, 5th generation.'''
76541
+ PARALLEL5_EXTENDED_NETWORK = "PARALLEL5_EXTENDED_NETWORK"
76542
+ '''Parallel-processing, network-optimized instances powered by NVIDIA H200 Tensor Core GPUs, 5th generation P5en instances pair NVIDIA H200 Tensor Core GPUs with Intel Sapphire Rapids CPU, enabling Gen5 PCIe between CPU and GPU.'''
76543
+ P5EN = "P5EN"
75548
76544
  '''Parallel-processing optimized instances, 5th generation.'''
75549
76545
  ARM1 = "ARM1"
75550
76546
  '''Arm processor based instances, 1st generation.'''
@@ -75588,6 +76584,16 @@ class InstanceClass(enum.Enum):
75588
76584
 
75589
76585
  This instance class is currently only available in US East (Ohio), US East (N. Virginia), US West (Oregon), and Europe (Ireland).
75590
76586
  '''
76587
+ STANDARD8_GRAVITON = "STANDARD8_GRAVITON"
76588
+ '''Standard instances, 8th generation with Graviton4 processors.
76589
+
76590
+ This instance class is currently only available in US East (Ohio), US East (N. Virginia), US West (Oregon), and Europe (Frankfurt).
76591
+ '''
76592
+ M8G = "M8G"
76593
+ '''Standard instances, 8th generation with Graviton4 processors.
76594
+
76595
+ This instance class is currently only available in US East (Ohio), US East (N. Virginia), US West (Oregon), and Europe (Frankfurt).
76596
+ '''
75591
76597
  STANDARD7_GRAVITON3_NVME_DRIVE = "STANDARD7_GRAVITON3_NVME_DRIVE"
75592
76598
  '''Standard instances, 7th generation with Graviton3 processors and local NVME drive.
75593
76599
 
@@ -76568,6 +77574,10 @@ class InstanceSize(enum.Enum):
76568
77574
  '''Instance size XLARGE96 (96xlarge).'''
76569
77575
  XLARGE112 = "XLARGE112"
76570
77576
  '''Instance size XLARGE112 (112xlarge).'''
77577
+ XLARGE224 = "XLARGE224"
77578
+ '''Instance size XLARGE224 (224xlarge).'''
77579
+ XLARGE480 = "XLARGE480"
77580
+ '''Instance size XLARGE480 (480xlarge).'''
76571
77581
  METAL = "METAL"
76572
77582
  '''Instance size METAL (metal).'''
76573
77583
  XLARGE16METAL = "XLARGE16METAL"
@@ -77369,11 +78379,21 @@ class InterfaceVpcEndpointAwsService(
77369
78379
  def DIRECTORY_SERVICE(cls) -> "InterfaceVpcEndpointAwsService":
77370
78380
  return typing.cast("InterfaceVpcEndpointAwsService", jsii.sget(cls, "DIRECTORY_SERVICE"))
77371
78381
 
78382
+ @jsii.python.classproperty
78383
+ @jsii.member(jsii_name="DIRECTORY_SERVICE_DATA")
78384
+ def DIRECTORY_SERVICE_DATA(cls) -> "InterfaceVpcEndpointAwsService":
78385
+ return typing.cast("InterfaceVpcEndpointAwsService", jsii.sget(cls, "DIRECTORY_SERVICE_DATA"))
78386
+
77372
78387
  @jsii.python.classproperty
77373
78388
  @jsii.member(jsii_name="DYNAMODB")
77374
78389
  def DYNAMODB(cls) -> "InterfaceVpcEndpointAwsService":
77375
78390
  return typing.cast("InterfaceVpcEndpointAwsService", jsii.sget(cls, "DYNAMODB"))
77376
78391
 
78392
+ @jsii.python.classproperty
78393
+ @jsii.member(jsii_name="DYNAMODB_FIPS")
78394
+ def DYNAMODB_FIPS(cls) -> "InterfaceVpcEndpointAwsService":
78395
+ return typing.cast("InterfaceVpcEndpointAwsService", jsii.sget(cls, "DYNAMODB_FIPS"))
78396
+
77377
78397
  @jsii.python.classproperty
77378
78398
  @jsii.member(jsii_name="EBS_DIRECT")
77379
78399
  def EBS_DIRECT(cls) -> "InterfaceVpcEndpointAwsService":
@@ -77674,6 +78694,16 @@ class InterfaceVpcEndpointAwsService(
77674
78694
  def INSPECTOR_SCAN(cls) -> "InterfaceVpcEndpointAwsService":
77675
78695
  return typing.cast("InterfaceVpcEndpointAwsService", jsii.sget(cls, "INSPECTOR_SCAN"))
77676
78696
 
78697
+ @jsii.python.classproperty
78698
+ @jsii.member(jsii_name="INTERNET_MONITOR")
78699
+ def INTERNET_MONITOR(cls) -> "InterfaceVpcEndpointAwsService":
78700
+ return typing.cast("InterfaceVpcEndpointAwsService", jsii.sget(cls, "INTERNET_MONITOR"))
78701
+
78702
+ @jsii.python.classproperty
78703
+ @jsii.member(jsii_name="INTERNET_MONITOR_FIPS")
78704
+ def INTERNET_MONITOR_FIPS(cls) -> "InterfaceVpcEndpointAwsService":
78705
+ return typing.cast("InterfaceVpcEndpointAwsService", jsii.sget(cls, "INTERNET_MONITOR_FIPS"))
78706
+
77677
78707
  @jsii.python.classproperty
77678
78708
  @jsii.member(jsii_name="INVOICING")
77679
78709
  def INVOICING(cls) -> "InterfaceVpcEndpointAwsService":
@@ -77966,11 +78996,26 @@ class InterfaceVpcEndpointAwsService(
77966
78996
  def NETWORK_FIREWALL_FIPS(cls) -> "InterfaceVpcEndpointAwsService":
77967
78997
  return typing.cast("InterfaceVpcEndpointAwsService", jsii.sget(cls, "NETWORK_FIREWALL_FIPS"))
77968
78998
 
78999
+ @jsii.python.classproperty
79000
+ @jsii.member(jsii_name="NETWORK_FLOW_MONITOR")
79001
+ def NETWORK_FLOW_MONITOR(cls) -> "InterfaceVpcEndpointAwsService":
79002
+ return typing.cast("InterfaceVpcEndpointAwsService", jsii.sget(cls, "NETWORK_FLOW_MONITOR"))
79003
+
79004
+ @jsii.python.classproperty
79005
+ @jsii.member(jsii_name="NETWORK_FLOW_MONITOR_REPORTS")
79006
+ def NETWORK_FLOW_MONITOR_REPORTS(cls) -> "InterfaceVpcEndpointAwsService":
79007
+ return typing.cast("InterfaceVpcEndpointAwsService", jsii.sget(cls, "NETWORK_FLOW_MONITOR_REPORTS"))
79008
+
77969
79009
  @jsii.python.classproperty
77970
79010
  @jsii.member(jsii_name="NIMBLE_STUDIO")
77971
79011
  def NIMBLE_STUDIO(cls) -> "InterfaceVpcEndpointAwsService":
77972
79012
  return typing.cast("InterfaceVpcEndpointAwsService", jsii.sget(cls, "NIMBLE_STUDIO"))
77973
79013
 
79014
+ @jsii.python.classproperty
79015
+ @jsii.member(jsii_name="OBSERVABILITY_ADMIN")
79016
+ def OBSERVABILITY_ADMIN(cls) -> "InterfaceVpcEndpointAwsService":
79017
+ return typing.cast("InterfaceVpcEndpointAwsService", jsii.sget(cls, "OBSERVABILITY_ADMIN"))
79018
+
77974
79019
  @jsii.python.classproperty
77975
79020
  @jsii.member(jsii_name="OMICS_ANALYTICS")
77976
79021
  def OMICS_ANALYTICS(cls) -> "InterfaceVpcEndpointAwsService":
@@ -78300,6 +79345,11 @@ class InterfaceVpcEndpointAwsService(
78300
79345
  def SAGEMAKER_API(cls) -> "InterfaceVpcEndpointAwsService":
78301
79346
  return typing.cast("InterfaceVpcEndpointAwsService", jsii.sget(cls, "SAGEMAKER_API"))
78302
79347
 
79348
+ @jsii.python.classproperty
79349
+ @jsii.member(jsii_name="SAGEMAKER_API_FIPS")
79350
+ def SAGEMAKER_API_FIPS(cls) -> "InterfaceVpcEndpointAwsService":
79351
+ return typing.cast("InterfaceVpcEndpointAwsService", jsii.sget(cls, "SAGEMAKER_API_FIPS"))
79352
+
78303
79353
  @jsii.python.classproperty
78304
79354
  @jsii.member(jsii_name="SAGEMAKER_DATA_SCIENCE_ASSISTANT")
78305
79355
  def SAGEMAKER_DATA_SCIENCE_ASSISTANT(cls) -> "InterfaceVpcEndpointAwsService":
@@ -78580,6 +79630,16 @@ class InterfaceVpcEndpointAwsService(
78580
79630
  def WORKSPACES_THIN_CLIENT(cls) -> "InterfaceVpcEndpointAwsService":
78581
79631
  return typing.cast("InterfaceVpcEndpointAwsService", jsii.sget(cls, "WORKSPACES_THIN_CLIENT"))
78582
79632
 
79633
+ @jsii.python.classproperty
79634
+ @jsii.member(jsii_name="WORKSPACES_WEB")
79635
+ def WORKSPACES_WEB(cls) -> "InterfaceVpcEndpointAwsService":
79636
+ return typing.cast("InterfaceVpcEndpointAwsService", jsii.sget(cls, "WORKSPACES_WEB"))
79637
+
79638
+ @jsii.python.classproperty
79639
+ @jsii.member(jsii_name="WORKSPACES_WEB_FIPS")
79640
+ def WORKSPACES_WEB_FIPS(cls) -> "InterfaceVpcEndpointAwsService":
79641
+ return typing.cast("InterfaceVpcEndpointAwsService", jsii.sget(cls, "WORKSPACES_WEB_FIPS"))
79642
+
78583
79643
  @jsii.python.classproperty
78584
79644
  @jsii.member(jsii_name="XRAY")
78585
79645
  def XRAY(cls) -> "InterfaceVpcEndpointAwsService":
@@ -99137,6 +100197,13 @@ def _typecheckingstub__e0a4de467a89057f40232d0ebf30c0027feeac4eb5957e8b9a24d27f3
99137
100197
  """Type checking stubs"""
99138
100198
  pass
99139
100199
 
100200
+ def _typecheckingstub__af90912c9ac24abaec82396197e6a69e4a9b7287343456143c11dce7650e71c5(
100201
+ *,
100202
+ cpu: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnEC2Fleet.CpuPerformanceFactorRequestProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
100203
+ ) -> None:
100204
+ """Type checking stubs"""
100205
+ pass
100206
+
99140
100207
  def _typecheckingstub__1c9644ecfacce71230069287c64c15045d2faa220f98ae11e6e91993204231d1(
99141
100208
  *,
99142
100209
  replacement_strategy: typing.Optional[builtins.str] = None,
@@ -99152,6 +100219,13 @@ def _typecheckingstub__3e503851d3968a25a6118b10e016d02c1a13b189fe5c588615ad2269d
99152
100219
  """Type checking stubs"""
99153
100220
  pass
99154
100221
 
100222
+ def _typecheckingstub__2e29954f7c2c9dfcf753ab53031041abbaad5b5371796092fa6a7e5ca77f22a6(
100223
+ *,
100224
+ references: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Sequence[typing.Union[_IResolvable_da3f097b, typing.Union[CfnEC2Fleet.PerformanceFactorReferenceRequestProperty, typing.Dict[builtins.str, typing.Any]]]]]] = None,
100225
+ ) -> None:
100226
+ """Type checking stubs"""
100227
+ pass
100228
+
99155
100229
  def _typecheckingstub__a16391ac858f174f4e714e8b72b94e7e61e1b50ead8e638dff708e3d739752d5(
99156
100230
  *,
99157
100231
  launch_template_specification: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnEC2Fleet.FleetLaunchTemplateSpecificationRequestProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
@@ -99193,6 +100267,7 @@ def _typecheckingstub__a5fc35aff5e96972c3cf7c89fef75da6adc5eb146fd5504925579235a
99193
100267
  allowed_instance_types: typing.Optional[typing.Sequence[builtins.str]] = None,
99194
100268
  bare_metal: typing.Optional[builtins.str] = None,
99195
100269
  baseline_ebs_bandwidth_mbps: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnEC2Fleet.BaselineEbsBandwidthMbpsRequestProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
100270
+ baseline_performance_factors: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnEC2Fleet.BaselinePerformanceFactorsRequestProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
99196
100271
  burstable_performance: typing.Optional[builtins.str] = None,
99197
100272
  cpu_manufacturers: typing.Optional[typing.Sequence[builtins.str]] = None,
99198
100273
  excluded_instance_types: typing.Optional[typing.Sequence[builtins.str]] = None,
@@ -99264,6 +100339,13 @@ def _typecheckingstub__dce716d2e517f4e8c297cb02cd9e5e88232758cb9732040686bdfb59b
99264
100339
  """Type checking stubs"""
99265
100340
  pass
99266
100341
 
100342
+ def _typecheckingstub__763de8714eb641fd97ed93223598e53004b5244dd3fb304b8b01f6c1d7375a58(
100343
+ *,
100344
+ instance_family: typing.Optional[builtins.str] = None,
100345
+ ) -> None:
100346
+ """Type checking stubs"""
100347
+ pass
100348
+
99267
100349
  def _typecheckingstub__28c598518bf40690e18af7409981451456cd4d41d853891f648b55488b7113f5(
99268
100350
  *,
99269
100351
  affinity: typing.Optional[builtins.str] = None,
@@ -103633,6 +104715,13 @@ def _typecheckingstub__9ce4579262afb56f65f3c52460d38101dc8cc8042547f0bd533d017fb
103633
104715
  """Type checking stubs"""
103634
104716
  pass
103635
104717
 
104718
+ def _typecheckingstub__4b09bafcaad2072db321872c01d17f0fcd2aa2098ea57ee0bfeb8bb5582a1c72(
104719
+ *,
104720
+ cpu: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnSpotFleet.CpuPerformanceFactorRequestProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
104721
+ ) -> None:
104722
+ """Type checking stubs"""
104723
+ pass
104724
+
103636
104725
  def _typecheckingstub__eaf57c5479d93c1d582f3d3d29acc1adcd3859e499d942b90078c476602172fd(
103637
104726
  *,
103638
104727
  device_name: builtins.str,
@@ -103657,6 +104746,13 @@ def _typecheckingstub__239f11e515811c4899eaf71cbfdfae21b9e614b8afcf11b03fbbfb25f
103657
104746
  """Type checking stubs"""
103658
104747
  pass
103659
104748
 
104749
+ def _typecheckingstub__d75686765a0f6d73f6fea1e136b6888c1536bcaa4c8395939d1cc6fff6d93861(
104750
+ *,
104751
+ references: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Sequence[typing.Union[_IResolvable_da3f097b, typing.Union[CfnSpotFleet.PerformanceFactorReferenceRequestProperty, typing.Dict[builtins.str, typing.Any]]]]]] = None,
104752
+ ) -> None:
104753
+ """Type checking stubs"""
104754
+ pass
104755
+
103660
104756
  def _typecheckingstub__8886c06b4b6ffc2fd12b358b844b8cec0e460ac72bc835d6e99c49fc6e885e1c(
103661
104757
  *,
103662
104758
  delete_on_termination: typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]] = None,
@@ -103726,6 +104822,7 @@ def _typecheckingstub__d87a87ea48430983e2d408471599b12b60b4f49c59df11756641689db
103726
104822
  allowed_instance_types: typing.Optional[typing.Sequence[builtins.str]] = None,
103727
104823
  bare_metal: typing.Optional[builtins.str] = None,
103728
104824
  baseline_ebs_bandwidth_mbps: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnSpotFleet.BaselineEbsBandwidthMbpsRequestProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
104825
+ baseline_performance_factors: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnSpotFleet.BaselinePerformanceFactorsRequestProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
103729
104826
  burstable_performance: typing.Optional[builtins.str] = None,
103730
104827
  cpu_manufacturers: typing.Optional[typing.Sequence[builtins.str]] = None,
103731
104828
  excluded_instance_types: typing.Optional[typing.Sequence[builtins.str]] = None,
@@ -103807,6 +104904,13 @@ def _typecheckingstub__9f1c2a58b07974c9e23679ec83cb7b814966f49625f30a69b4cc73039
103807
104904
  """Type checking stubs"""
103808
104905
  pass
103809
104906
 
104907
+ def _typecheckingstub__fee19e98f5282282488f466ae7704a7361e329dd081305b2b6d774a874487d2d(
104908
+ *,
104909
+ instance_family: typing.Optional[builtins.str] = None,
104910
+ ) -> None:
104911
+ """Type checking stubs"""
104912
+ pass
104913
+
103810
104914
  def _typecheckingstub__b3fbf82fafbeb8256df96bc5af5ab7495e0fad3c525a6e21c0558c4942e59306(
103811
104915
  *,
103812
104916
  private_ip_address: builtins.str,
@@ -105578,6 +106682,7 @@ def _typecheckingstub__183c6879cecf5e6ddd997bbb9856489efd89dd91a20b0a897e4a12a45
105578
106682
  ipv4_ipam_pool_id: typing.Optional[builtins.str] = None,
105579
106683
  ipv4_netmask_length: typing.Optional[jsii.Number] = None,
105580
106684
  ipv6_cidr_block: typing.Optional[builtins.str] = None,
106685
+ ipv6_cidr_block_network_border_group: typing.Optional[builtins.str] = None,
105581
106686
  ipv6_ipam_pool_id: typing.Optional[builtins.str] = None,
105582
106687
  ipv6_netmask_length: typing.Optional[jsii.Number] = None,
105583
106688
  ipv6_pool: typing.Optional[builtins.str] = None,
@@ -105633,6 +106738,12 @@ def _typecheckingstub__d2efd97c3af41c8a8c16797aaca56cbbacebc3fff0fc5ec71d75cd3d0
105633
106738
  """Type checking stubs"""
105634
106739
  pass
105635
106740
 
106741
+ def _typecheckingstub__c07816654d2e6db5076edc2d96c661ac3fc43a49a2fde64cce15896ce093dd85(
106742
+ value: typing.Optional[builtins.str],
106743
+ ) -> None:
106744
+ """Type checking stubs"""
106745
+ pass
106746
+
105636
106747
  def _typecheckingstub__90a5a1f83f5bbe2892474aeba0dbaee518350d03fcd592eb44bce97ecc24b6b4(
105637
106748
  value: typing.Optional[builtins.str],
105638
106749
  ) -> None:
@@ -105659,6 +106770,7 @@ def _typecheckingstub__55248a04c0e8026131066b5c27e0e5fd8fa2cbce8f31b88e00a3080d9
105659
106770
  ipv4_ipam_pool_id: typing.Optional[builtins.str] = None,
105660
106771
  ipv4_netmask_length: typing.Optional[jsii.Number] = None,
105661
106772
  ipv6_cidr_block: typing.Optional[builtins.str] = None,
106773
+ ipv6_cidr_block_network_border_group: typing.Optional[builtins.str] = None,
105662
106774
  ipv6_ipam_pool_id: typing.Optional[builtins.str] = None,
105663
106775
  ipv6_netmask_length: typing.Optional[jsii.Number] = None,
105664
106776
  ipv6_pool: typing.Optional[builtins.str] = None,
@@ -105712,13 +106824,18 @@ def _typecheckingstub__a16478d34754d994e7b5d75d1e427abd720d7df3e6b3c870e3e83c927
105712
106824
  scope: _constructs_77d1e7e8.Construct,
105713
106825
  id: builtins.str,
105714
106826
  *,
105715
- service_name: builtins.str,
105716
106827
  vpc_id: builtins.str,
106828
+ dns_options: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnVPCEndpoint.DnsOptionsSpecificationProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
106829
+ ip_address_type: typing.Optional[builtins.str] = None,
105717
106830
  policy_document: typing.Any = None,
105718
106831
  private_dns_enabled: typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]] = None,
106832
+ resource_configuration_arn: typing.Optional[builtins.str] = None,
105719
106833
  route_table_ids: typing.Optional[typing.Sequence[builtins.str]] = None,
105720
106834
  security_group_ids: typing.Optional[typing.Sequence[builtins.str]] = None,
106835
+ service_name: typing.Optional[builtins.str] = None,
106836
+ service_network_arn: typing.Optional[builtins.str] = None,
105721
106837
  subnet_ids: typing.Optional[typing.Sequence[builtins.str]] = None,
106838
+ tags: typing.Optional[typing.Sequence[typing.Union[_CfnTag_f6864754, typing.Dict[builtins.str, typing.Any]]]] = None,
105722
106839
  vpc_endpoint_type: typing.Optional[builtins.str] = None,
105723
106840
  ) -> None:
105724
106841
  """Type checking stubs"""
@@ -105736,14 +106853,20 @@ def _typecheckingstub__8180577e06d5f40db7bfe860861e761a322315b93022f1003a828f6a7
105736
106853
  """Type checking stubs"""
105737
106854
  pass
105738
106855
 
105739
- def _typecheckingstub__c2090beb1c51f8f71e8d917867bb4a45a0f3f15917f6cca0b5e935b108f8f0d2(
106856
+ def _typecheckingstub__cb23b7f52de7db6e9a625fa8454752268536cb8ff8ba9c44811e4eb3a0387370(
105740
106857
  value: builtins.str,
105741
106858
  ) -> None:
105742
106859
  """Type checking stubs"""
105743
106860
  pass
105744
106861
 
105745
- def _typecheckingstub__cb23b7f52de7db6e9a625fa8454752268536cb8ff8ba9c44811e4eb3a0387370(
105746
- value: builtins.str,
106862
+ def _typecheckingstub__e15ce11d6ebe57a6ac8a2fb4c889876100a6c328a1b0abb8b304cfd27cf7b5cd(
106863
+ value: typing.Optional[typing.Union[_IResolvable_da3f097b, CfnVPCEndpoint.DnsOptionsSpecificationProperty]],
106864
+ ) -> None:
106865
+ """Type checking stubs"""
106866
+ pass
106867
+
106868
+ def _typecheckingstub__b4252d968c97703b5357195e08fd6929c33489fbd3ca6a552f87a6a0081d505b(
106869
+ value: typing.Optional[builtins.str],
105747
106870
  ) -> None:
105748
106871
  """Type checking stubs"""
105749
106872
  pass
@@ -105760,6 +106883,12 @@ def _typecheckingstub__4dbca35e4914255e0279b1d61059956804d0f7250234053b0ee76a638
105760
106883
  """Type checking stubs"""
105761
106884
  pass
105762
106885
 
106886
+ def _typecheckingstub__3101a3e7fcb2835bd7b9fd3ade8b122baed16ffd76623f6a6d2d4757ff992d55(
106887
+ value: typing.Optional[builtins.str],
106888
+ ) -> None:
106889
+ """Type checking stubs"""
106890
+ pass
106891
+
105763
106892
  def _typecheckingstub__f91ab410767d141e4748e5e96f72e9a5ccd579262fc325deb4f474e64b17369a(
105764
106893
  value: typing.Optional[typing.List[builtins.str]],
105765
106894
  ) -> None:
@@ -105772,18 +106901,44 @@ def _typecheckingstub__ab2dcbb20cd327f7a249c214f6cfc93f9e023fea8764cdb0dba2461b1
105772
106901
  """Type checking stubs"""
105773
106902
  pass
105774
106903
 
106904
+ def _typecheckingstub__c2090beb1c51f8f71e8d917867bb4a45a0f3f15917f6cca0b5e935b108f8f0d2(
106905
+ value: typing.Optional[builtins.str],
106906
+ ) -> None:
106907
+ """Type checking stubs"""
106908
+ pass
106909
+
106910
+ def _typecheckingstub__93ce6066a05ef231155e5be0db9255aa620b43b7f15caa8dbed327524e65a2e6(
106911
+ value: typing.Optional[builtins.str],
106912
+ ) -> None:
106913
+ """Type checking stubs"""
106914
+ pass
106915
+
105775
106916
  def _typecheckingstub__b83f77b13bf225d451aa245360aebfaece0685d635a9b435d657b957d2d8bdc0(
105776
106917
  value: typing.Optional[typing.List[builtins.str]],
105777
106918
  ) -> None:
105778
106919
  """Type checking stubs"""
105779
106920
  pass
105780
106921
 
106922
+ def _typecheckingstub__d7d13f7185b8544ab5dcf009dcdc160c4ed471e8df5f1f06d023d70fe78b897d(
106923
+ value: typing.Optional[typing.List[_CfnTag_f6864754]],
106924
+ ) -> None:
106925
+ """Type checking stubs"""
106926
+ pass
106927
+
105781
106928
  def _typecheckingstub__8718b471ff8e08b446d204932a62ced5c20dc254a0eb7a3d246a776fcd8f0e83(
105782
106929
  value: typing.Optional[builtins.str],
105783
106930
  ) -> None:
105784
106931
  """Type checking stubs"""
105785
106932
  pass
105786
106933
 
106934
+ def _typecheckingstub__2fd86e4ea4f842eb5fe88c977909161577350db8ca53666d6d23bbfe0d3b4df4(
106935
+ *,
106936
+ dns_record_ip_type: typing.Optional[builtins.str] = None,
106937
+ private_dns_only_for_inbound_resolver_endpoint: typing.Optional[builtins.str] = None,
106938
+ ) -> None:
106939
+ """Type checking stubs"""
106940
+ pass
106941
+
105787
106942
  def _typecheckingstub__28ca470645ae7106b593e02924e610dbf279c08694ac6f66651c214c74d412de(
105788
106943
  scope: _constructs_77d1e7e8.Construct,
105789
106944
  id: builtins.str,
@@ -105844,13 +106999,18 @@ def _typecheckingstub__e41c3ca58468397b88d0fe9b9af25af62cccc7a408eadc3db2286a9f2
105844
106999
 
105845
107000
  def _typecheckingstub__34ba69df521981275d9321266877bb15ffeaff485197a94710ae57c73b0cd2f1(
105846
107001
  *,
105847
- service_name: builtins.str,
105848
107002
  vpc_id: builtins.str,
107003
+ dns_options: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnVPCEndpoint.DnsOptionsSpecificationProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
107004
+ ip_address_type: typing.Optional[builtins.str] = None,
105849
107005
  policy_document: typing.Any = None,
105850
107006
  private_dns_enabled: typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]] = None,
107007
+ resource_configuration_arn: typing.Optional[builtins.str] = None,
105851
107008
  route_table_ids: typing.Optional[typing.Sequence[builtins.str]] = None,
105852
107009
  security_group_ids: typing.Optional[typing.Sequence[builtins.str]] = None,
107010
+ service_name: typing.Optional[builtins.str] = None,
107011
+ service_network_arn: typing.Optional[builtins.str] = None,
105853
107012
  subnet_ids: typing.Optional[typing.Sequence[builtins.str]] = None,
107013
+ tags: typing.Optional[typing.Sequence[typing.Union[_CfnTag_f6864754, typing.Dict[builtins.str, typing.Any]]]] = None,
105854
107014
  vpc_endpoint_type: typing.Optional[builtins.str] = None,
105855
107015
  ) -> None:
105856
107016
  """Type checking stubs"""
@@ -105865,6 +107025,7 @@ def _typecheckingstub__bd65bb2d0beb1d62ef8b72a33a352ac48e00600bc2b025bdec06b82cf
105865
107025
  gateway_load_balancer_arns: typing.Optional[typing.Sequence[builtins.str]] = None,
105866
107026
  network_load_balancer_arns: typing.Optional[typing.Sequence[builtins.str]] = None,
105867
107027
  payer_responsibility: typing.Optional[builtins.str] = None,
107028
+ tags: typing.Optional[typing.Sequence[typing.Union[_CfnTag_f6864754, typing.Dict[builtins.str, typing.Any]]]] = None,
105868
107029
  ) -> None:
105869
107030
  """Type checking stubs"""
105870
107031
  pass
@@ -105911,6 +107072,12 @@ def _typecheckingstub__c2babfa96e86ea450f85f7e83cc11905d68dc09b226c3e578bfcba308
105911
107072
  """Type checking stubs"""
105912
107073
  pass
105913
107074
 
107075
+ def _typecheckingstub__fb88e38ee31fea753761176490a0c4f49435705e0e51b6d055979684ea151b42(
107076
+ value: typing.Optional[typing.List[_CfnTag_f6864754]],
107077
+ ) -> None:
107078
+ """Type checking stubs"""
107079
+ pass
107080
+
105914
107081
  def _typecheckingstub__e9f265c29703b637af4ed1222cca0cdcd5ff13a4888b2a6771b0476aa3c6edb0(
105915
107082
  scope: _constructs_77d1e7e8.Construct,
105916
107083
  id: builtins.str,
@@ -105960,6 +107127,7 @@ def _typecheckingstub__0924bdc7dd965ab8320d62e573fa88bcec434cb586b2ba9e4f2916169
105960
107127
  gateway_load_balancer_arns: typing.Optional[typing.Sequence[builtins.str]] = None,
105961
107128
  network_load_balancer_arns: typing.Optional[typing.Sequence[builtins.str]] = None,
105962
107129
  payer_responsibility: typing.Optional[builtins.str] = None,
107130
+ tags: typing.Optional[typing.Sequence[typing.Union[_CfnTag_f6864754, typing.Dict[builtins.str, typing.Any]]]] = None,
105963
107131
  ) -> None:
105964
107132
  """Type checking stubs"""
105965
107133
  pass