aws-cdk-lib 2.132.1__py3-none-any.whl → 2.134.0__py3-none-any.whl

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

Potentially problematic release.


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

Files changed (69) hide show
  1. aws_cdk/__init__.py +9 -1
  2. aws_cdk/_jsii/__init__.py +1 -1
  3. aws_cdk/_jsii/{aws-cdk-lib@2.132.1.jsii.tgz → aws-cdk-lib@2.134.0.jsii.tgz} +0 -0
  4. aws_cdk/aws_amplify/__init__.py +12 -10
  5. aws_cdk/aws_apigatewayv2/__init__.py +112 -6
  6. aws_cdk/aws_apigatewayv2_integrations/__init__.py +155 -3
  7. aws_cdk/aws_appconfig/__init__.py +186 -8
  8. aws_cdk/aws_appintegrations/__init__.py +551 -0
  9. aws_cdk/aws_applicationautoscaling/__init__.py +6 -6
  10. aws_cdk/aws_appsync/__init__.py +71 -0
  11. aws_cdk/aws_autoscaling/__init__.py +10 -14
  12. aws_cdk/aws_b2bi/__init__.py +2 -42
  13. aws_cdk/aws_backup/__init__.py +23 -12
  14. aws_cdk/aws_batch/__init__.py +2150 -1078
  15. aws_cdk/aws_bedrock/__init__.py +197 -2
  16. aws_cdk/aws_cloudformation/__init__.py +1 -1
  17. aws_cdk/aws_cloudfront/__init__.py +4 -4
  18. aws_cdk/aws_cloudtrail/__init__.py +44 -14
  19. aws_cdk/aws_cloudwatch/__init__.py +20 -4
  20. aws_cdk/aws_codeartifact/__init__.py +812 -2
  21. aws_cdk/aws_codebuild/__init__.py +32 -10
  22. aws_cdk/aws_codepipeline/__init__.py +33 -11
  23. aws_cdk/aws_cognito/__init__.py +49 -44
  24. aws_cdk/aws_connect/__init__.py +256 -0
  25. aws_cdk/aws_controltower/__init__.py +4 -4
  26. aws_cdk/aws_datasync/__init__.py +393 -13
  27. aws_cdk/aws_dlm/__init__.py +2 -2
  28. aws_cdk/aws_docdbelastic/__init__.py +117 -0
  29. aws_cdk/aws_dynamodb/__init__.py +416 -5
  30. aws_cdk/aws_ec2/__init__.py +590 -134
  31. aws_cdk/aws_ecs/__init__.py +29 -20
  32. aws_cdk/aws_ecs_patterns/__init__.py +52 -12
  33. aws_cdk/aws_eks/__init__.py +27 -25
  34. aws_cdk/aws_elasticloadbalancing/__init__.py +6 -9
  35. aws_cdk/aws_elasticloadbalancingv2/__init__.py +363 -62
  36. aws_cdk/aws_emr/__init__.py +7 -4
  37. aws_cdk/aws_entityresolution/__init__.py +91 -64
  38. aws_cdk/aws_fsx/__init__.py +7 -7
  39. aws_cdk/aws_glue/__init__.py +137 -3
  40. aws_cdk/aws_iam/__init__.py +9 -10
  41. aws_cdk/aws_internetmonitor/__init__.py +85 -0
  42. aws_cdk/aws_iotsitewise/__init__.py +208 -198
  43. aws_cdk/aws_iotwireless/__init__.py +6 -5
  44. aws_cdk/aws_kafkaconnect/__init__.py +1237 -162
  45. aws_cdk/aws_kendra/__init__.py +34 -24
  46. aws_cdk/aws_kinesisanalytics/__init__.py +37 -37
  47. aws_cdk/aws_kinesisanalyticsv2/__init__.py +37 -37
  48. aws_cdk/aws_kinesisfirehose/__init__.py +6 -2
  49. aws_cdk/aws_lambda/__init__.py +16 -16
  50. aws_cdk/aws_msk/__init__.py +88 -0
  51. aws_cdk/aws_opensearchservice/__init__.py +61 -18
  52. aws_cdk/aws_pinpoint/__init__.py +42 -0
  53. aws_cdk/aws_rds/__init__.py +1292 -216
  54. aws_cdk/aws_redshift/__init__.py +6 -3
  55. aws_cdk/aws_redshiftserverless/__init__.py +0 -157
  56. aws_cdk/aws_sagemaker/__init__.py +29 -9
  57. aws_cdk/aws_shield/__init__.py +7 -8
  58. aws_cdk/aws_ssm/__init__.py +15 -12
  59. aws_cdk/aws_stepfunctions_tasks/__init__.py +476 -0
  60. aws_cdk/aws_synthetics/__init__.py +74 -14
  61. aws_cdk/aws_transfer/__init__.py +4 -3
  62. aws_cdk/aws_wafv2/__init__.py +516 -42
  63. aws_cdk/cx_api/__init__.py +34 -0
  64. {aws_cdk_lib-2.132.1.dist-info → aws_cdk_lib-2.134.0.dist-info}/METADATA +2 -2
  65. {aws_cdk_lib-2.132.1.dist-info → aws_cdk_lib-2.134.0.dist-info}/RECORD +69 -69
  66. {aws_cdk_lib-2.132.1.dist-info → aws_cdk_lib-2.134.0.dist-info}/LICENSE +0 -0
  67. {aws_cdk_lib-2.132.1.dist-info → aws_cdk_lib-2.134.0.dist-info}/NOTICE +0 -0
  68. {aws_cdk_lib-2.132.1.dist-info → aws_cdk_lib-2.134.0.dist-info}/WHEEL +0 -0
  69. {aws_cdk_lib-2.132.1.dist-info → aws_cdk_lib-2.134.0.dist-info}/top_level.txt +0 -0
@@ -1163,6 +1163,19 @@ ec2.VpcEndpointService(self, "EndpointService",
1163
1163
  )
1164
1164
  ```
1165
1165
 
1166
+ You can also include a service principal in the `allowedPrincipals` property by specifying it as a parameter to the `ArnPrincipal` constructor.
1167
+ The resulting VPC endpoint will have an allowlisted principal of type `Service`, instead of `Arn` for that item in the list.
1168
+
1169
+ ```python
1170
+ # network_load_balancer: elbv2.NetworkLoadBalancer
1171
+
1172
+
1173
+ ec2.VpcEndpointService(self, "EndpointService",
1174
+ vpc_endpoint_service_load_balancers=[network_load_balancer],
1175
+ allowed_principals=[iam.ArnPrincipal("ec2.amazonaws.com")]
1176
+ )
1177
+ ```
1178
+
1166
1179
  Endpoint services support private DNS, which makes it easier for clients to connect to your service by automatically setting up DNS in their VPC.
1167
1180
  You can enable private DNS on an endpoint service like so:
1168
1181
 
@@ -9616,6 +9629,7 @@ class CfnDHCPOptions(
9616
9629
  cfn_dHCPOptions = ec2.CfnDHCPOptions(self, "MyCfnDHCPOptions",
9617
9630
  domain_name="domainName",
9618
9631
  domain_name_servers=["domainNameServers"],
9632
+ ipv6_address_preferred_lease_time=123,
9619
9633
  netbios_name_servers=["netbiosNameServers"],
9620
9634
  netbios_node_type=123,
9621
9635
  ntp_servers=["ntpServers"],
@@ -9633,6 +9647,7 @@ class CfnDHCPOptions(
9633
9647
  *,
9634
9648
  domain_name: typing.Optional[builtins.str] = None,
9635
9649
  domain_name_servers: typing.Optional[typing.Sequence[builtins.str]] = None,
9650
+ ipv6_address_preferred_lease_time: typing.Optional[jsii.Number] = None,
9636
9651
  netbios_name_servers: typing.Optional[typing.Sequence[builtins.str]] = None,
9637
9652
  netbios_node_type: typing.Optional[jsii.Number] = None,
9638
9653
  ntp_servers: typing.Optional[typing.Sequence[builtins.str]] = None,
@@ -9643,6 +9658,7 @@ class CfnDHCPOptions(
9643
9658
  :param id: Construct identifier for this resource (unique in its scope).
9644
9659
  :param domain_name: This value is used to complete unqualified DNS hostnames. If you're using AmazonProvidedDNS in ``us-east-1`` , specify ``ec2.internal`` . If you're using AmazonProvidedDNS in another Region, specify *region* . ``compute.internal`` (for example, ``ap-northeast-1.compute.internal`` ). Otherwise, specify a domain name (for example, *MyCompany.com* ).
9645
9660
  :param domain_name_servers: The IPv4 addresses of up to four domain name servers, or ``AmazonProvidedDNS`` . The default is ``AmazonProvidedDNS`` . To have your instance receive a custom DNS hostname as specified in ``DomainName`` , you must set this property to a custom DNS server.
9661
+ :param ipv6_address_preferred_lease_time: A value (in seconds, minutes, hours, or years) for how frequently a running instance with an IPv6 assigned to it goes through DHCPv6 lease renewal. Acceptable values are between 140 and 2147483647 seconds (approximately 68 years). If no value is entered, the default lease time is 140 seconds. If you use long-term addressing for EC2 instances, you can increase the lease time and avoid frequent lease renewal requests. Lease renewal typically occurs when half of the lease time has elapsed.
9646
9662
  :param netbios_name_servers: The IPv4 addresses of up to four NetBIOS name servers.
9647
9663
  :param netbios_node_type: The NetBIOS node type (1, 2, 4, or 8). We recommend that you specify 2 (broadcast and multicast are not currently supported).
9648
9664
  :param ntp_servers: The IPv4 addresses of up to four Network Time Protocol (NTP) servers.
@@ -9655,6 +9671,7 @@ class CfnDHCPOptions(
9655
9671
  props = CfnDHCPOptionsProps(
9656
9672
  domain_name=domain_name,
9657
9673
  domain_name_servers=domain_name_servers,
9674
+ ipv6_address_preferred_lease_time=ipv6_address_preferred_lease_time,
9658
9675
  netbios_name_servers=netbios_name_servers,
9659
9676
  netbios_node_type=netbios_node_type,
9660
9677
  ntp_servers=ntp_servers,
@@ -9742,6 +9759,22 @@ class CfnDHCPOptions(
9742
9759
  check_type(argname="argument value", value=value, expected_type=type_hints["value"])
9743
9760
  jsii.set(self, "domainNameServers", value)
9744
9761
 
9762
+ @builtins.property
9763
+ @jsii.member(jsii_name="ipv6AddressPreferredLeaseTime")
9764
+ def ipv6_address_preferred_lease_time(self) -> typing.Optional[jsii.Number]:
9765
+ '''A value (in seconds, minutes, hours, or years) for how frequently a running instance with an IPv6 assigned to it goes through DHCPv6 lease renewal.'''
9766
+ return typing.cast(typing.Optional[jsii.Number], jsii.get(self, "ipv6AddressPreferredLeaseTime"))
9767
+
9768
+ @ipv6_address_preferred_lease_time.setter
9769
+ def ipv6_address_preferred_lease_time(
9770
+ self,
9771
+ value: typing.Optional[jsii.Number],
9772
+ ) -> None:
9773
+ if __debug__:
9774
+ type_hints = typing.get_type_hints(_typecheckingstub__0cbb91e4162eb4b7aab6b1e90fa6fbbbade04b38a95d6c1bb778946ae93b50a3)
9775
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
9776
+ jsii.set(self, "ipv6AddressPreferredLeaseTime", value)
9777
+
9745
9778
  @builtins.property
9746
9779
  @jsii.member(jsii_name="netbiosNameServers")
9747
9780
  def netbios_name_servers(self) -> typing.Optional[typing.List[builtins.str]]:
@@ -9804,6 +9837,7 @@ class CfnDHCPOptions(
9804
9837
  name_mapping={
9805
9838
  "domain_name": "domainName",
9806
9839
  "domain_name_servers": "domainNameServers",
9840
+ "ipv6_address_preferred_lease_time": "ipv6AddressPreferredLeaseTime",
9807
9841
  "netbios_name_servers": "netbiosNameServers",
9808
9842
  "netbios_node_type": "netbiosNodeType",
9809
9843
  "ntp_servers": "ntpServers",
@@ -9816,6 +9850,7 @@ class CfnDHCPOptionsProps:
9816
9850
  *,
9817
9851
  domain_name: typing.Optional[builtins.str] = None,
9818
9852
  domain_name_servers: typing.Optional[typing.Sequence[builtins.str]] = None,
9853
+ ipv6_address_preferred_lease_time: typing.Optional[jsii.Number] = None,
9819
9854
  netbios_name_servers: typing.Optional[typing.Sequence[builtins.str]] = None,
9820
9855
  netbios_node_type: typing.Optional[jsii.Number] = None,
9821
9856
  ntp_servers: typing.Optional[typing.Sequence[builtins.str]] = None,
@@ -9825,6 +9860,7 @@ class CfnDHCPOptionsProps:
9825
9860
 
9826
9861
  :param domain_name: This value is used to complete unqualified DNS hostnames. If you're using AmazonProvidedDNS in ``us-east-1`` , specify ``ec2.internal`` . If you're using AmazonProvidedDNS in another Region, specify *region* . ``compute.internal`` (for example, ``ap-northeast-1.compute.internal`` ). Otherwise, specify a domain name (for example, *MyCompany.com* ).
9827
9862
  :param domain_name_servers: The IPv4 addresses of up to four domain name servers, or ``AmazonProvidedDNS`` . The default is ``AmazonProvidedDNS`` . To have your instance receive a custom DNS hostname as specified in ``DomainName`` , you must set this property to a custom DNS server.
9863
+ :param ipv6_address_preferred_lease_time: A value (in seconds, minutes, hours, or years) for how frequently a running instance with an IPv6 assigned to it goes through DHCPv6 lease renewal. Acceptable values are between 140 and 2147483647 seconds (approximately 68 years). If no value is entered, the default lease time is 140 seconds. If you use long-term addressing for EC2 instances, you can increase the lease time and avoid frequent lease renewal requests. Lease renewal typically occurs when half of the lease time has elapsed.
9828
9864
  :param netbios_name_servers: The IPv4 addresses of up to four NetBIOS name servers.
9829
9865
  :param netbios_node_type: The NetBIOS node type (1, 2, 4, or 8). We recommend that you specify 2 (broadcast and multicast are not currently supported).
9830
9866
  :param ntp_servers: The IPv4 addresses of up to four Network Time Protocol (NTP) servers.
@@ -9842,6 +9878,7 @@ class CfnDHCPOptionsProps:
9842
9878
  cfn_dHCPOptions_props = ec2.CfnDHCPOptionsProps(
9843
9879
  domain_name="domainName",
9844
9880
  domain_name_servers=["domainNameServers"],
9881
+ ipv6_address_preferred_lease_time=123,
9845
9882
  netbios_name_servers=["netbiosNameServers"],
9846
9883
  netbios_node_type=123,
9847
9884
  ntp_servers=["ntpServers"],
@@ -9855,6 +9892,7 @@ class CfnDHCPOptionsProps:
9855
9892
  type_hints = typing.get_type_hints(_typecheckingstub__569097ad87e4dddbcfaee4fb50fc7ddb345c4f97ae82fcf897497039e7f81a38)
9856
9893
  check_type(argname="argument domain_name", value=domain_name, expected_type=type_hints["domain_name"])
9857
9894
  check_type(argname="argument domain_name_servers", value=domain_name_servers, expected_type=type_hints["domain_name_servers"])
9895
+ check_type(argname="argument ipv6_address_preferred_lease_time", value=ipv6_address_preferred_lease_time, expected_type=type_hints["ipv6_address_preferred_lease_time"])
9858
9896
  check_type(argname="argument netbios_name_servers", value=netbios_name_servers, expected_type=type_hints["netbios_name_servers"])
9859
9897
  check_type(argname="argument netbios_node_type", value=netbios_node_type, expected_type=type_hints["netbios_node_type"])
9860
9898
  check_type(argname="argument ntp_servers", value=ntp_servers, expected_type=type_hints["ntp_servers"])
@@ -9864,6 +9902,8 @@ class CfnDHCPOptionsProps:
9864
9902
  self._values["domain_name"] = domain_name
9865
9903
  if domain_name_servers is not None:
9866
9904
  self._values["domain_name_servers"] = domain_name_servers
9905
+ if ipv6_address_preferred_lease_time is not None:
9906
+ self._values["ipv6_address_preferred_lease_time"] = ipv6_address_preferred_lease_time
9867
9907
  if netbios_name_servers is not None:
9868
9908
  self._values["netbios_name_servers"] = netbios_name_servers
9869
9909
  if netbios_node_type is not None:
@@ -9895,6 +9935,17 @@ class CfnDHCPOptionsProps:
9895
9935
  result = self._values.get("domain_name_servers")
9896
9936
  return typing.cast(typing.Optional[typing.List[builtins.str]], result)
9897
9937
 
9938
+ @builtins.property
9939
+ def ipv6_address_preferred_lease_time(self) -> typing.Optional[jsii.Number]:
9940
+ '''A value (in seconds, minutes, hours, or years) for how frequently a running instance with an IPv6 assigned to it goes through DHCPv6 lease renewal.
9941
+
9942
+ Acceptable values are between 140 and 2147483647 seconds (approximately 68 years). If no value is entered, the default lease time is 140 seconds. If you use long-term addressing for EC2 instances, you can increase the lease time and avoid frequent lease renewal requests. Lease renewal typically occurs when half of the lease time has elapsed.
9943
+
9944
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-dhcpoptions.html#cfn-ec2-dhcpoptions-ipv6addresspreferredleasetime
9945
+ '''
9946
+ result = self._values.get("ipv6_address_preferred_lease_time")
9947
+ return typing.cast(typing.Optional[jsii.Number], result)
9948
+
9898
9949
  @builtins.property
9899
9950
  def netbios_name_servers(self) -> typing.Optional[typing.List[builtins.str]]:
9900
9951
  '''The IPv4 addresses of up to four NetBIOS name servers.
@@ -11401,14 +11452,14 @@ class CfnEC2Fleet(
11401
11452
  :param instance_generations: Indicates whether current or previous generation instance types are included. The current generation instance types are recommended for use. Current generation instance types are typically the latest two to three generations in each instance family. For more information, see `Instance types <https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/instance-types.html>`_ in the *Amazon EC2 User Guide* . For current generation instance types, specify ``current`` . For previous generation instance types, specify ``previous`` . Default: Current and previous generation instance types
11402
11453
  :param local_storage: Indicates whether instance types with instance store volumes are included, excluded, or required. For more information, `Amazon EC2 instance store <https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/InstanceStorage.html>`_ in the *Amazon EC2 User Guide* . - To include instance types with instance store volumes, specify ``included`` . - To require only instance types with instance store volumes, specify ``required`` . - To exclude instance types with instance store volumes, specify ``excluded`` . Default: ``included``
11403
11454
  :param local_storage_types: The type of local storage that is required. - For instance types with hard disk drive (HDD) storage, specify ``hdd`` . - For instance types with solid state drive (SSD) storage, specify ``ssd`` . Default: ``hdd`` and ``ssd``
11404
- :param max_spot_price_as_percentage_of_optimal_on_demand_price: [Price protection] The price protection threshold for Spot Instances, as a percentage of an identified On-Demand price. The identified On-Demand price is the price of the lowest priced current generation C, M, or R instance type with your specified attributes. If no current generation C, M, or R instance type matches your attributes, then the identified price is from the lowest priced current generation instance types, and failing that, from the lowest priced previous generation instance types that match your attributes. When Amazon EC2 selects instance types with your attributes, it will exclude instance types whose price exceeds your specified threshold. The parameter accepts an integer, which Amazon EC2 interprets as a percentage. To indicate no price protection threshold, specify a high value, such as ``999999`` . If you set ``DesiredCapacityType`` to ``vcpu`` or ``memory-mib`` , the price protection threshold is based on the per vCPU or per memory price instead of the per instance price. .. epigraph:: Only one of ``SpotMaxPricePercentageOverLowestPrice`` or ``MaxSpotPriceAsPercentageOfOptimalOnDemandPrice`` can be specified. If you don't specify either, then ``SpotMaxPricePercentageOverLowestPrice`` is used and the value for that parameter defaults to ``100`` .
11455
+ :param max_spot_price_as_percentage_of_optimal_on_demand_price: [Price protection] The price protection threshold for Spot Instances, as a percentage of an identified On-Demand price. The identified On-Demand price is the price of the lowest priced current generation C, M, or R instance type with your specified attributes. If no current generation C, M, or R instance type matches your attributes, then the identified price is from the lowest priced current generation instance types, and failing that, from the lowest priced previous generation instance types that match your attributes. When Amazon EC2 selects instance types with your attributes, it will exclude instance types whose price exceeds your specified threshold. The parameter accepts an integer, which Amazon EC2 interprets as a percentage. If you set ``DesiredCapacityType`` to ``vcpu`` or ``memory-mib`` , the price protection threshold is based on the per vCPU or per memory price instead of the per instance price. .. epigraph:: Only one of ``SpotMaxPricePercentageOverLowestPrice`` or ``MaxSpotPriceAsPercentageOfOptimalOnDemandPrice`` can be specified. If you don't specify either, Amazon EC2 will automatically apply optimal price protection to consistently select from a wide range of instance types. To indicate no price protection threshold for Spot Instances, meaning you want to consider all instance types that match your attributes, include one of these parameters and specify a high value, such as ``999999`` .
11405
11456
  :param memory_gib_per_v_cpu: The minimum and maximum amount of memory per vCPU, in GiB. Default: No minimum or maximum limits
11406
11457
  :param memory_mib: The minimum and maximum amount of memory, in MiB.
11407
11458
  :param network_bandwidth_gbps: The minimum and maximum amount of baseline network bandwidth, in gigabits per second (Gbps). For more information, see `Amazon EC2 instance network bandwidth <https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-instance-network-bandwidth.html>`_ in the *Amazon EC2 User Guide* . Default: No minimum or maximum limits
11408
11459
  :param network_interface_count: The minimum and maximum number of network interfaces. Default: No minimum or maximum limits
11409
11460
  :param on_demand_max_price_percentage_over_lowest_price: [Price protection] The price protection threshold for On-Demand Instances, as a percentage higher than an identified On-Demand price. The identified On-Demand price is the price of the lowest priced current generation C, M, or R instance type with your specified attributes. When Amazon EC2 selects instance types with your attributes, it will exclude instance types whose price exceeds your specified threshold. The parameter accepts an integer, which Amazon EC2 interprets as a percentage. To indicate no price protection threshold, specify a high value, such as ``999999`` . This parameter is not supported for `GetSpotPlacementScores <https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_GetSpotPlacementScores.html>`_ and `GetInstanceTypesFromInstanceRequirements <https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_GetInstanceTypesFromInstanceRequirements.html>`_ . .. epigraph:: If you set ``TargetCapacityUnitType`` to ``vcpu`` or ``memory-mib`` , the price protection threshold is applied based on the per-vCPU or per-memory price instead of the per-instance price. Default: ``20``
11410
11461
  :param require_hibernate_support: Indicates whether instance types must support hibernation for On-Demand Instances. This parameter is not supported for `GetSpotPlacementScores <https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_GetSpotPlacementScores.html>`_ . Default: ``false``
11411
- :param spot_max_price_percentage_over_lowest_price: [Price protection] The price protection threshold for Spot Instances, as a percentage higher than an identified Spot price. The identified Spot price is the Spot price of the lowest priced current generation C, M, or R instance type with your specified attributes. If no current generation C, M, or R instance type matches your attributes, then the identified Spot price is from the lowest priced current generation instance types, and failing that, from the lowest priced previous generation instance types that match your attributes. When Amazon EC2 selects instance types with your attributes, it will exclude instance types whose Spot price exceeds your specified threshold. The parameter accepts an integer, which Amazon EC2 interprets as a percentage. To indicate no price protection threshold, specify a high value, such as ``999999`` . If you set ``TargetCapacityUnitType`` to ``vcpu`` or ``memory-mib`` , the price protection threshold is applied based on the per-vCPU or per-memory price instead of the per-instance price. This parameter is not supported for `GetSpotPlacementScores <https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_GetSpotPlacementScores.html>`_ and `GetInstanceTypesFromInstanceRequirements <https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_GetInstanceTypesFromInstanceRequirements.html>`_ . .. epigraph:: Only one of ``SpotMaxPricePercentageOverLowestPrice`` or ``MaxSpotPriceAsPercentageOfOptimalOnDemandPrice`` can be specified. If you don't specify either, then ``SpotMaxPricePercentageOverLowestPrice`` is used and the value for that parameter defaults to ``100`` . Default: ``100``
11462
+ :param spot_max_price_percentage_over_lowest_price: [Price protection] The price protection threshold for Spot Instances, as a percentage higher than an identified Spot price. The identified Spot price is the Spot price of the lowest priced current generation C, M, or R instance type with your specified attributes. If no current generation C, M, or R instance type matches your attributes, then the identified Spot price is from the lowest priced current generation instance types, and failing that, from the lowest priced previous generation instance types that match your attributes. When Amazon EC2 selects instance types with your attributes, it will exclude instance types whose Spot price exceeds your specified threshold. The parameter accepts an integer, which Amazon EC2 interprets as a percentage. If you set ``TargetCapacityUnitType`` to ``vcpu`` or ``memory-mib`` , the price protection threshold is applied based on the per-vCPU or per-memory price instead of the per-instance price. This parameter is not supported for `GetSpotPlacementScores <https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_GetSpotPlacementScores.html>`_ and `GetInstanceTypesFromInstanceRequirements <https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_GetInstanceTypesFromInstanceRequirements.html>`_ . .. epigraph:: Only one of ``SpotMaxPricePercentageOverLowestPrice`` or ``MaxSpotPriceAsPercentageOfOptimalOnDemandPrice`` can be specified. If you don't specify either, Amazon EC2 will automatically apply optimal price protection to consistently select from a wide range of instance types. To indicate no price protection threshold for Spot Instances, meaning you want to consider all instance types that match your attributes, include one of these parameters and specify a high value, such as ``999999`` . Default: ``100``
11412
11463
  :param total_local_storage_gb: The minimum and maximum amount of total local storage, in GB. Default: No minimum or maximum limits
11413
11464
  :param v_cpu_count: The minimum and maximum number of vCPUs.
11414
11465
 
@@ -11799,12 +11850,10 @@ class CfnEC2Fleet(
11799
11850
 
11800
11851
  The parameter accepts an integer, which Amazon EC2 interprets as a percentage.
11801
11852
 
11802
- To indicate no price protection threshold, specify a high value, such as ``999999`` .
11803
-
11804
11853
  If you set ``DesiredCapacityType`` to ``vcpu`` or ``memory-mib`` , the price protection threshold is based on the per vCPU or per memory price instead of the per instance price.
11805
11854
  .. epigraph::
11806
11855
 
11807
- Only one of ``SpotMaxPricePercentageOverLowestPrice`` or ``MaxSpotPriceAsPercentageOfOptimalOnDemandPrice`` can be specified. If you don't specify either, then ``SpotMaxPricePercentageOverLowestPrice`` is used and the value for that parameter defaults to ``100`` .
11856
+ Only one of ``SpotMaxPricePercentageOverLowestPrice`` or ``MaxSpotPriceAsPercentageOfOptimalOnDemandPrice`` can be specified. If you don't specify either, Amazon EC2 will automatically apply optimal price protection to consistently select from a wide range of instance types. To indicate no price protection threshold for Spot Instances, meaning you want to consider all instance types that match your attributes, include one of these parameters and specify a high value, such as ``999999`` .
11808
11857
 
11809
11858
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-ec2fleet-instancerequirementsrequest.html#cfn-ec2-ec2fleet-instancerequirementsrequest-maxspotpriceaspercentageofoptimalondemandprice
11810
11859
  '''
@@ -11912,14 +11961,12 @@ class CfnEC2Fleet(
11912
11961
 
11913
11962
  The parameter accepts an integer, which Amazon EC2 interprets as a percentage.
11914
11963
 
11915
- To indicate no price protection threshold, specify a high value, such as ``999999`` .
11916
-
11917
11964
  If you set ``TargetCapacityUnitType`` to ``vcpu`` or ``memory-mib`` , the price protection threshold is applied based on the per-vCPU or per-memory price instead of the per-instance price.
11918
11965
 
11919
11966
  This parameter is not supported for `GetSpotPlacementScores <https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_GetSpotPlacementScores.html>`_ and `GetInstanceTypesFromInstanceRequirements <https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_GetInstanceTypesFromInstanceRequirements.html>`_ .
11920
11967
  .. epigraph::
11921
11968
 
11922
- Only one of ``SpotMaxPricePercentageOverLowestPrice`` or ``MaxSpotPriceAsPercentageOfOptimalOnDemandPrice`` can be specified. If you don't specify either, then ``SpotMaxPricePercentageOverLowestPrice`` is used and the value for that parameter defaults to ``100`` .
11969
+ Only one of ``SpotMaxPricePercentageOverLowestPrice`` or ``MaxSpotPriceAsPercentageOfOptimalOnDemandPrice`` can be specified. If you don't specify either, Amazon EC2 will automatically apply optimal price protection to consistently select from a wide range of instance types. To indicate no price protection threshold for Spot Instances, meaning you want to consider all instance types that match your attributes, include one of these parameters and specify a high value, such as ``999999`` .
11923
11970
 
11924
11971
  Default: ``100``
11925
11972
 
@@ -14758,8 +14805,8 @@ class CfnFlowLog(
14758
14805
  :param resource_id: The ID of the resource to monitor. For example, if the resource type is ``VPC`` , specify the ID of the VPC.
14759
14806
  :param resource_type: The type of resource to monitor.
14760
14807
  :param deliver_cross_account_role: The ARN of the IAM role that allows the service to publish flow logs across accounts.
14761
- :param deliver_logs_permission_arn: The ARN of the IAM role that allows Amazon EC2 to publish flow logs to a CloudWatch Logs log group in your account. This parameter is required if the destination type is ``cloud-watch-logs`` and unsupported otherwise.
14762
- :param destination_options: The destination options. The following options are supported:. - ``FileFormat`` - The format for the flow log ( ``plain-text`` | ``parquet`` ). The default is ``plain-text`` . - ``HiveCompatiblePartitions`` - Indicates whether to use Hive-compatible prefixes for flow logs stored in Amazon S3 ( ``true`` | ``false`` ). The default is ``false`` . - ``PerHourPartition`` - Indicates whether to partition the flow log per hour ( ``true`` | ``false`` ). The default is ``false`` .
14808
+ :param deliver_logs_permission_arn: The ARN of the IAM role that allows Amazon EC2 to publish flow logs to the log destination. This parameter is required if the destination type is ``cloud-watch-logs`` , or if the destination type is ``kinesis-data-firehose`` and the delivery stream and the resources to monitor are in different accounts.
14809
+ :param destination_options: The destination options.
14763
14810
  :param log_destination: The destination for the flow log data. The meaning of this parameter depends on the destination type. - If the destination type is ``cloud-watch-logs`` , specify the ARN of a CloudWatch Logs log group. For example: arn:aws:logs: *region* : *account_id* :log-group: *my_group* Alternatively, use the ``LogGroupName`` parameter. - If the destination type is ``s3`` , specify the ARN of an S3 bucket. For example: arn:aws:s3::: *my_bucket* / *my_subfolder* / The subfolder is optional. Note that you can't use ``AWSLogs`` as a subfolder name. - If the destination type is ``kinesis-data-firehose`` , specify the ARN of a Kinesis Data Firehose delivery stream. For example: arn:aws:firehose: *region* : *account_id* :deliverystream: *my_stream*
14764
14811
  :param log_destination_type: The type of destination for the flow log data. Default: ``cloud-watch-logs``
14765
14812
  :param log_format: The fields to include in the flow log record, in the order in which they should appear. If you omit this parameter, the flow log is created using the default format. If you specify this parameter, you must include at least one field. For more information about the available fields, see `Flow log records <https://docs.aws.amazon.com/vpc/latest/userguide/flow-logs.html#flow-log-records>`_ in the *Amazon VPC User Guide* or `Transit Gateway Flow Log records <https://docs.aws.amazon.com/vpc/latest/tgw/tgw-flow-logs.html#flow-log-records>`_ in the *AWS Transit Gateway Guide* . Specify the fields using the ``${field-id}`` format, separated by spaces.
@@ -14883,7 +14930,7 @@ class CfnFlowLog(
14883
14930
  @builtins.property
14884
14931
  @jsii.member(jsii_name="deliverLogsPermissionArn")
14885
14932
  def deliver_logs_permission_arn(self) -> typing.Optional[builtins.str]:
14886
- '''The ARN of the IAM role that allows Amazon EC2 to publish flow logs to a CloudWatch Logs log group in your account.'''
14933
+ '''The ARN of the IAM role that allows Amazon EC2 to publish flow logs to the log destination.'''
14887
14934
  return typing.cast(typing.Optional[builtins.str], jsii.get(self, "deliverLogsPermissionArn"))
14888
14935
 
14889
14936
  @deliver_logs_permission_arn.setter
@@ -14896,10 +14943,7 @@ class CfnFlowLog(
14896
14943
  @builtins.property
14897
14944
  @jsii.member(jsii_name="destinationOptions")
14898
14945
  def destination_options(self) -> typing.Any:
14899
- '''The destination options.
14900
-
14901
- The following options are supported:.
14902
- '''
14946
+ '''The destination options.'''
14903
14947
  return typing.cast(typing.Any, jsii.get(self, "destinationOptions"))
14904
14948
 
14905
14949
  @destination_options.setter
@@ -15144,8 +15188,8 @@ class CfnFlowLogProps:
15144
15188
  :param resource_id: The ID of the resource to monitor. For example, if the resource type is ``VPC`` , specify the ID of the VPC.
15145
15189
  :param resource_type: The type of resource to monitor.
15146
15190
  :param deliver_cross_account_role: The ARN of the IAM role that allows the service to publish flow logs across accounts.
15147
- :param deliver_logs_permission_arn: The ARN of the IAM role that allows Amazon EC2 to publish flow logs to a CloudWatch Logs log group in your account. This parameter is required if the destination type is ``cloud-watch-logs`` and unsupported otherwise.
15148
- :param destination_options: The destination options. The following options are supported:. - ``FileFormat`` - The format for the flow log ( ``plain-text`` | ``parquet`` ). The default is ``plain-text`` . - ``HiveCompatiblePartitions`` - Indicates whether to use Hive-compatible prefixes for flow logs stored in Amazon S3 ( ``true`` | ``false`` ). The default is ``false`` . - ``PerHourPartition`` - Indicates whether to partition the flow log per hour ( ``true`` | ``false`` ). The default is ``false`` .
15191
+ :param deliver_logs_permission_arn: The ARN of the IAM role that allows Amazon EC2 to publish flow logs to the log destination. This parameter is required if the destination type is ``cloud-watch-logs`` , or if the destination type is ``kinesis-data-firehose`` and the delivery stream and the resources to monitor are in different accounts.
15192
+ :param destination_options: The destination options.
15149
15193
  :param log_destination: The destination for the flow log data. The meaning of this parameter depends on the destination type. - If the destination type is ``cloud-watch-logs`` , specify the ARN of a CloudWatch Logs log group. For example: arn:aws:logs: *region* : *account_id* :log-group: *my_group* Alternatively, use the ``LogGroupName`` parameter. - If the destination type is ``s3`` , specify the ARN of an S3 bucket. For example: arn:aws:s3::: *my_bucket* / *my_subfolder* / The subfolder is optional. Note that you can't use ``AWSLogs`` as a subfolder name. - If the destination type is ``kinesis-data-firehose`` , specify the ARN of a Kinesis Data Firehose delivery stream. For example: arn:aws:firehose: *region* : *account_id* :deliverystream: *my_stream*
15150
15194
  :param log_destination_type: The type of destination for the flow log data. Default: ``cloud-watch-logs``
15151
15195
  :param log_format: The fields to include in the flow log record, in the order in which they should appear. If you omit this parameter, the flow log is created using the default format. If you specify this parameter, you must include at least one field. For more information about the available fields, see `Flow log records <https://docs.aws.amazon.com/vpc/latest/userguide/flow-logs.html#flow-log-records>`_ in the *Amazon VPC User Guide* or `Transit Gateway Flow Log records <https://docs.aws.amazon.com/vpc/latest/tgw/tgw-flow-logs.html#flow-log-records>`_ in the *AWS Transit Gateway Guide* . Specify the fields using the ``${field-id}`` format, separated by spaces.
@@ -15257,9 +15301,9 @@ class CfnFlowLogProps:
15257
15301
 
15258
15302
  @builtins.property
15259
15303
  def deliver_logs_permission_arn(self) -> typing.Optional[builtins.str]:
15260
- '''The ARN of the IAM role that allows Amazon EC2 to publish flow logs to a CloudWatch Logs log group in your account.
15304
+ '''The ARN of the IAM role that allows Amazon EC2 to publish flow logs to the log destination.
15261
15305
 
15262
- This parameter is required if the destination type is ``cloud-watch-logs`` and unsupported otherwise.
15306
+ This parameter is required if the destination type is ``cloud-watch-logs`` , or if the destination type is ``kinesis-data-firehose`` and the delivery stream and the resources to monitor are in different accounts.
15263
15307
 
15264
15308
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-flowlog.html#cfn-ec2-flowlog-deliverlogspermissionarn
15265
15309
  '''
@@ -15268,11 +15312,7 @@ class CfnFlowLogProps:
15268
15312
 
15269
15313
  @builtins.property
15270
15314
  def destination_options(self) -> typing.Any:
15271
- '''The destination options. The following options are supported:.
15272
-
15273
- - ``FileFormat`` - The format for the flow log ( ``plain-text`` | ``parquet`` ). The default is ``plain-text`` .
15274
- - ``HiveCompatiblePartitions`` - Indicates whether to use Hive-compatible prefixes for flow logs stored in Amazon S3 ( ``true`` | ``false`` ). The default is ``false`` .
15275
- - ``PerHourPartition`` - Indicates whether to partition the flow log per hour ( ``true`` | ``false`` ). The default is ``false`` .
15315
+ '''The destination options.
15276
15316
 
15277
15317
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-flowlog.html#cfn-ec2-flowlog-destinationoptions
15278
15318
  '''
@@ -19218,10 +19258,7 @@ class CfnInstance(
19218
19258
  @builtins.property
19219
19259
  @jsii.member(jsii_name="attrAvailabilityZone")
19220
19260
  def attr_availability_zone(self) -> builtins.str:
19221
- '''The Availability Zone where the specified instance is launched. For example: ``us-east-1b`` .
19222
-
19223
- You can retrieve a list of all Availability Zones for a Region by using the `Fn::GetAZs <https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/intrinsic-function-reference-getavailabilityzones.html>`_ intrinsic function.
19224
-
19261
+ '''
19225
19262
  :cloudformationAttribute: AvailabilityZone
19226
19263
  '''
19227
19264
  return typing.cast(builtins.str, jsii.get(self, "attrAvailabilityZone"))
@@ -19229,12 +19266,20 @@ class CfnInstance(
19229
19266
  @builtins.property
19230
19267
  @jsii.member(jsii_name="attrId")
19231
19268
  def attr_id(self) -> builtins.str:
19232
- '''The ID of the instance.
19233
-
19269
+ '''
19234
19270
  :cloudformationAttribute: Id
19235
19271
  '''
19236
19272
  return typing.cast(builtins.str, jsii.get(self, "attrId"))
19237
19273
 
19274
+ @builtins.property
19275
+ @jsii.member(jsii_name="attrInstanceId")
19276
+ def attr_instance_id(self) -> builtins.str:
19277
+ '''The ID of the instance.
19278
+
19279
+ :cloudformationAttribute: InstanceId
19280
+ '''
19281
+ return typing.cast(builtins.str, jsii.get(self, "attrInstanceId"))
19282
+
19238
19283
  @builtins.property
19239
19284
  @jsii.member(jsii_name="attrPrivateDnsName")
19240
19285
  def attr_private_dns_name(self) -> builtins.str:
@@ -19279,6 +19324,15 @@ class CfnInstance(
19279
19324
  '''
19280
19325
  return typing.cast(builtins.str, jsii.get(self, "attrPublicIp"))
19281
19326
 
19327
+ @builtins.property
19328
+ @jsii.member(jsii_name="attrVpcId")
19329
+ def attr_vpc_id(self) -> builtins.str:
19330
+ '''The ID of the VPC in which the instance is running.
19331
+
19332
+ :cloudformationAttribute: VpcId
19333
+ '''
19334
+ return typing.cast(builtins.str, jsii.get(self, "attrVpcId"))
19335
+
19282
19336
  @builtins.property
19283
19337
  @jsii.member(jsii_name="cfnProperties")
19284
19338
  def _cfn_properties(self) -> typing.Mapping[builtins.str, typing.Any]:
@@ -20721,7 +20775,7 @@ class CfnInstance(
20721
20775
 
20722
20776
  ``HibernationOptions`` is a property of the `AWS::EC2::Instance <https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-instance.html>`_ resource.
20723
20777
 
20724
- :param configured: Set to ``true`` to enable your instance for hibernation. For Spot Instances, if you set ``Configured`` to ``true`` , either omit the ``InstanceInterruptionBehavior`` parameter (for ```SpotMarketOptions`` <https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_SpotMarketOptions.html>`_ ), or set it to ``hibernate`` . When ``Configured`` is true: - If you omit ``InstanceInterruptionBehavior`` , it defaults to ``hibernate`` . - If you set ``InstanceInterruptionBehavior`` to a value other than ``hibernate`` , you'll get an error. Default: ``false``
20778
+ :param configured: Set to ``true`` to enable your instance for hibernation. For Spot Instances, if you set ``Configured`` to ``true`` , either omit the ``InstanceInterruptionBehavior`` parameter (for ```SpotMarketOptions`` <https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_SpotMarketOptions.html>`_ ), or set it to ``hibernate`` . When ``Configured`` is true: - If you omit ``InstanceInterruptionBehavior`` , it defaults to ``hibernate`` . - If you set ``InstanceInterruptionBehavior`` to a value other than ``hibernate`` , you'll get an error. Default: ``false`` Default: - false
20725
20779
 
20726
20780
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-instance-hibernationoptions.html
20727
20781
  :exampleMetadata: fixture=_generated
@@ -20756,6 +20810,8 @@ class CfnInstance(
20756
20810
 
20757
20811
  Default: ``false``
20758
20812
 
20813
+ :default: - false
20814
+
20759
20815
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-instance-hibernationoptions.html#cfn-ec2-instance-hibernationoptions-configured
20760
20816
  '''
20761
20817
  result = self._values.get("configured")
@@ -24429,7 +24485,7 @@ class CfnLaunchTemplate(
24429
24485
  :param snapshot_id: The ID of the snapshot.
24430
24486
  :param throughput: The throughput to provision for a ``gp3`` volume, with a maximum of 1,000 MiB/s. Valid Range: Minimum value of 125. Maximum value of 1000.
24431
24487
  :param volume_size: The size of the volume, in GiBs. You must specify either a snapshot ID or a volume size. The following are the supported volumes sizes for each volume type: - ``gp2`` and ``gp3`` : 1 - 16,384 GiB - ``io1`` : 4 - 16,384 GiB - ``io2`` : 4 - 65,536 GiB - ``st1`` and ``sc1`` : 125 - 16,384 GiB - ``standard`` : 1 - 1024 GiB
24432
- :param volume_type: The volume type. For more information, see `Amazon EBS volume types <https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EBSVolumeTypes.html>`_ in the *Amazon Elastic Compute Cloud User Guide* .
24488
+ :param volume_type: The volume type. For more information, see `Amazon EBS volume types <https://docs.aws.amazon.com/ebs/latest/userguide/ebs-volume-types.html>`_ in the *Amazon EBS User Guide* .
24433
24489
 
24434
24490
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-launchtemplate-ebs.html
24435
24491
  :exampleMetadata: fixture=_generated
@@ -24574,7 +24630,7 @@ class CfnLaunchTemplate(
24574
24630
  def volume_type(self) -> typing.Optional[builtins.str]:
24575
24631
  '''The volume type.
24576
24632
 
24577
- For more information, see `Amazon EBS volume types <https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EBSVolumeTypes.html>`_ in the *Amazon Elastic Compute Cloud User Guide* .
24633
+ For more information, see `Amazon EBS volume types <https://docs.aws.amazon.com/ebs/latest/userguide/ebs-volume-types.html>`_ in the *Amazon EBS User Guide* .
24578
24634
 
24579
24635
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-launchtemplate-ebs.html#cfn-ec2-launchtemplate-ebs-volumetype
24580
24636
  '''
@@ -25169,14 +25225,14 @@ class CfnLaunchTemplate(
25169
25225
  :param instance_generations: Indicates whether current or previous generation instance types are included. The current generation instance types are recommended for use. Current generation instance types are typically the latest two to three generations in each instance family. For more information, see `Instance types <https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/instance-types.html>`_ in the *Amazon EC2 User Guide* . For current generation instance types, specify ``current`` . For previous generation instance types, specify ``previous`` . Default: Current and previous generation instance types
25170
25226
  :param local_storage: Indicates whether instance types with instance store volumes are included, excluded, or required. For more information, `Amazon EC2 instance store <https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/InstanceStorage.html>`_ in the *Amazon EC2 User Guide* . - To include instance types with instance store volumes, specify ``included`` . - To require only instance types with instance store volumes, specify ``required`` . - To exclude instance types with instance store volumes, specify ``excluded`` . Default: ``included``
25171
25227
  :param local_storage_types: The type of local storage that is required. - For instance types with hard disk drive (HDD) storage, specify ``hdd`` . - For instance types with solid state drive (SSD) storage, specify ``ssd`` . Default: ``hdd`` and ``ssd``
25172
- :param max_spot_price_as_percentage_of_optimal_on_demand_price: [Price protection] The price protection threshold for Spot Instances, as a percentage of an identified On-Demand price. The identified On-Demand price is the price of the lowest priced current generation C, M, or R instance type with your specified attributes. If no current generation C, M, or R instance type matches your attributes, then the identified price is from the lowest priced current generation instance types, and failing that, from the lowest priced previous generation instance types that match your attributes. When Amazon EC2 selects instance types with your attributes, it will exclude instance types whose price exceeds your specified threshold. The parameter accepts an integer, which Amazon EC2 interprets as a percentage. To indicate no price protection threshold, specify a high value, such as ``999999`` . If you set ``DesiredCapacityType`` to ``vcpu`` or ``memory-mib`` , the price protection threshold is based on the per vCPU or per memory price instead of the per instance price. .. epigraph:: Only one of ``SpotMaxPricePercentageOverLowestPrice`` or ``MaxSpotPriceAsPercentageOfOptimalOnDemandPrice`` can be specified. If you don't specify either, then ``SpotMaxPricePercentageOverLowestPrice`` is used and the value for that parameter defaults to ``100`` .
25228
+ :param max_spot_price_as_percentage_of_optimal_on_demand_price: [Price protection] The price protection threshold for Spot Instances, as a percentage of an identified On-Demand price. The identified On-Demand price is the price of the lowest priced current generation C, M, or R instance type with your specified attributes. If no current generation C, M, or R instance type matches your attributes, then the identified price is from the lowest priced current generation instance types, and failing that, from the lowest priced previous generation instance types that match your attributes. When Amazon EC2 selects instance types with your attributes, it will exclude instance types whose price exceeds your specified threshold. The parameter accepts an integer, which Amazon EC2 interprets as a percentage. If you set ``DesiredCapacityType`` to ``vcpu`` or ``memory-mib`` , the price protection threshold is based on the per vCPU or per memory price instead of the per instance price. .. epigraph:: Only one of ``SpotMaxPricePercentageOverLowestPrice`` or ``MaxSpotPriceAsPercentageOfOptimalOnDemandPrice`` can be specified. If you don't specify either, Amazon EC2 will automatically apply optimal price protection to consistently select from a wide range of instance types. To indicate no price protection threshold for Spot Instances, meaning you want to consider all instance types that match your attributes, include one of these parameters and specify a high value, such as ``999999`` .
25173
25229
  :param memory_gib_per_v_cpu: The minimum and maximum amount of memory per vCPU, in GiB. Default: No minimum or maximum limits
25174
25230
  :param memory_mib: The minimum and maximum amount of memory, in MiB.
25175
25231
  :param network_bandwidth_gbps: The minimum and maximum amount of network bandwidth, in gigabits per second (Gbps). Default: No minimum or maximum limits
25176
25232
  :param network_interface_count: The minimum and maximum number of network interfaces. Default: No minimum or maximum limits
25177
25233
  :param on_demand_max_price_percentage_over_lowest_price: [Price protection] The price protection threshold for On-Demand Instances, as a percentage higher than an identified On-Demand price. The identified On-Demand price is the price of the lowest priced current generation C, M, or R instance type with your specified attributes. When Amazon EC2 selects instance types with your attributes, it will exclude instance types whose price exceeds your specified threshold. The parameter accepts an integer, which Amazon EC2 interprets as a percentage. To turn off price protection, specify a high value, such as ``999999`` . This parameter is not supported for `GetSpotPlacementScores <https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_GetSpotPlacementScores.html>`_ and `GetInstanceTypesFromInstanceRequirements <https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_GetInstanceTypesFromInstanceRequirements.html>`_ . .. epigraph:: If you set ``TargetCapacityUnitType`` to ``vcpu`` or ``memory-mib`` , the price protection threshold is applied based on the per-vCPU or per-memory price instead of the per-instance price. Default: ``20``
25178
25234
  :param require_hibernate_support: Indicates whether instance types must support hibernation for On-Demand Instances. This parameter is not supported for `GetSpotPlacementScores <https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_GetSpotPlacementScores.html>`_ . Default: ``false``
25179
- :param spot_max_price_percentage_over_lowest_price: [Price protection] The price protection threshold for Spot Instances, as a percentage higher than an identified Spot price. The identified Spot price is the Spot price of the lowest priced current generation C, M, or R instance type with your specified attributes. If no current generation C, M, or R instance type matches your attributes, then the identified Spot price is from the lowest priced current generation instance types, and failing that, from the lowest priced previous generation instance types that match your attributes. When Amazon EC2 selects instance types with your attributes, it will exclude instance types whose Spot price exceeds your specified threshold. The parameter accepts an integer, which Amazon EC2 interprets as a percentage. To indicate no price protection threshold, specify a high value, such as ``999999`` . If you set ``TargetCapacityUnitType`` to ``vcpu`` or ``memory-mib`` , the price protection threshold is applied based on the per-vCPU or per-memory price instead of the per-instance price. This parameter is not supported for `GetSpotPlacementScores <https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_GetSpotPlacementScores.html>`_ and `GetInstanceTypesFromInstanceRequirements <https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_GetInstanceTypesFromInstanceRequirements.html>`_ . .. epigraph:: Only one of ``SpotMaxPricePercentageOverLowestPrice`` or ``MaxSpotPriceAsPercentageOfOptimalOnDemandPrice`` can be specified. If you don't specify either, then ``SpotMaxPricePercentageOverLowestPrice`` is used and the value for that parameter defaults to ``100`` . Default: ``100``
25235
+ :param spot_max_price_percentage_over_lowest_price: [Price protection] The price protection threshold for Spot Instances, as a percentage higher than an identified Spot price. The identified Spot price is the Spot price of the lowest priced current generation C, M, or R instance type with your specified attributes. If no current generation C, M, or R instance type matches your attributes, then the identified Spot price is from the lowest priced current generation instance types, and failing that, from the lowest priced previous generation instance types that match your attributes. When Amazon EC2 selects instance types with your attributes, it will exclude instance types whose Spot price exceeds your specified threshold. The parameter accepts an integer, which Amazon EC2 interprets as a percentage. If you set ``TargetCapacityUnitType`` to ``vcpu`` or ``memory-mib`` , the price protection threshold is applied based on the per-vCPU or per-memory price instead of the per-instance price. This parameter is not supported for `GetSpotPlacementScores <https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_GetSpotPlacementScores.html>`_ and `GetInstanceTypesFromInstanceRequirements <https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_GetInstanceTypesFromInstanceRequirements.html>`_ . .. epigraph:: Only one of ``SpotMaxPricePercentageOverLowestPrice`` or ``MaxSpotPriceAsPercentageOfOptimalOnDemandPrice`` can be specified. If you don't specify either, Amazon EC2 will automatically apply optimal price protection to consistently select from a wide range of instance types. To indicate no price protection threshold for Spot Instances, meaning you want to consider all instance types that match your attributes, include one of these parameters and specify a high value, such as ``999999`` . Default: ``100``
25180
25236
  :param total_local_storage_gb: The minimum and maximum amount of total local storage, in GB. Default: No minimum or maximum limits
25181
25237
  :param v_cpu_count: The minimum and maximum number of vCPUs.
25182
25238
 
@@ -25567,12 +25623,10 @@ class CfnLaunchTemplate(
25567
25623
 
25568
25624
  The parameter accepts an integer, which Amazon EC2 interprets as a percentage.
25569
25625
 
25570
- To indicate no price protection threshold, specify a high value, such as ``999999`` .
25571
-
25572
25626
  If you set ``DesiredCapacityType`` to ``vcpu`` or ``memory-mib`` , the price protection threshold is based on the per vCPU or per memory price instead of the per instance price.
25573
25627
  .. epigraph::
25574
25628
 
25575
- Only one of ``SpotMaxPricePercentageOverLowestPrice`` or ``MaxSpotPriceAsPercentageOfOptimalOnDemandPrice`` can be specified. If you don't specify either, then ``SpotMaxPricePercentageOverLowestPrice`` is used and the value for that parameter defaults to ``100`` .
25629
+ Only one of ``SpotMaxPricePercentageOverLowestPrice`` or ``MaxSpotPriceAsPercentageOfOptimalOnDemandPrice`` can be specified. If you don't specify either, Amazon EC2 will automatically apply optimal price protection to consistently select from a wide range of instance types. To indicate no price protection threshold for Spot Instances, meaning you want to consider all instance types that match your attributes, include one of these parameters and specify a high value, such as ``999999`` .
25576
25630
 
25577
25631
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-launchtemplate-instancerequirements.html#cfn-ec2-launchtemplate-instancerequirements-maxspotpriceaspercentageofoptimalondemandprice
25578
25632
  '''
@@ -25678,14 +25732,12 @@ class CfnLaunchTemplate(
25678
25732
 
25679
25733
  The parameter accepts an integer, which Amazon EC2 interprets as a percentage.
25680
25734
 
25681
- To indicate no price protection threshold, specify a high value, such as ``999999`` .
25682
-
25683
25735
  If you set ``TargetCapacityUnitType`` to ``vcpu`` or ``memory-mib`` , the price protection threshold is applied based on the per-vCPU or per-memory price instead of the per-instance price.
25684
25736
 
25685
25737
  This parameter is not supported for `GetSpotPlacementScores <https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_GetSpotPlacementScores.html>`_ and `GetInstanceTypesFromInstanceRequirements <https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_GetInstanceTypesFromInstanceRequirements.html>`_ .
25686
25738
  .. epigraph::
25687
25739
 
25688
- Only one of ``SpotMaxPricePercentageOverLowestPrice`` or ``MaxSpotPriceAsPercentageOfOptimalOnDemandPrice`` can be specified. If you don't specify either, then ``SpotMaxPricePercentageOverLowestPrice`` is used and the value for that parameter defaults to ``100`` .
25740
+ Only one of ``SpotMaxPricePercentageOverLowestPrice`` or ``MaxSpotPriceAsPercentageOfOptimalOnDemandPrice`` can be specified. If you don't specify either, Amazon EC2 will automatically apply optimal price protection to consistently select from a wide range of instance types. To indicate no price protection threshold for Spot Instances, meaning you want to consider all instance types that match your attributes, include one of these parameters and specify a high value, such as ``999999`` .
25689
25741
 
25690
25742
  Default: ``100``
25691
25743
 
@@ -36698,19 +36750,19 @@ class CfnNetworkInterface(
36698
36750
  :param connection_tracking_specification: A connection tracking specification for the network interface.
36699
36751
  :param description: A description for the network interface.
36700
36752
  :param enable_primary_ipv6: If you’re modifying a network interface in a dual-stack or IPv6-only subnet, you have the option to assign a primary IPv6 IP address. A primary IPv6 address is an IPv6 GUA address associated with an ENI that you have enabled to use a primary IPv6 address. Use this option if the instance that this ENI will be attached to relies on its IPv6 address not changing. AWS will automatically assign an IPv6 address associated with the ENI attached to your instance to be the primary IPv6 address. Once you enable an IPv6 GUA address to be a primary IPv6, you cannot disable it. When you enable an IPv6 GUA address to be a primary IPv6, the first IPv6 GUA will be made the primary IPv6 address until the instance is terminated or the network interface is detached. If you have multiple IPv6 addresses associated with an ENI attached to your instance and you enable a primary IPv6 address, the first IPv6 GUA address associated with the ENI becomes the primary IPv6 address.
36701
- :param group_set: The security group IDs associated with this network interface.
36753
+ :param group_set: The IDs of the security groups associated with this network interface.
36702
36754
  :param interface_type: The type of network interface. The default is ``interface`` . The supported values are ``efa`` and ``trunk`` .
36703
36755
  :param ipv4_prefix_count: The number of IPv4 prefixes to be automatically assigned to the network interface. When creating a network interface, you can't specify a count of IPv4 prefixes if you've specified one of the following: specific IPv4 prefixes, specific private IPv4 addresses, or a count of private IPv4 addresses.
36704
36756
  :param ipv4_prefixes: The IPv4 delegated prefixes that are assigned to the network interface. When creating a network interface, you can't specify IPv4 prefixes if you've specified one of the following: a count of IPv4 prefixes, specific private IPv4 addresses, or a count of private IPv4 addresses.
36705
- :param ipv6_address_count: The number of IPv6 addresses to assign to a network interface. Amazon EC2 automatically selects the IPv6 addresses from the subnet range. To specify specific IPv6 addresses, use the ``Ipv6Addresses`` property and don't specify this property. When creating a network interface, you can't specify a count of IPv6 addresses if you've specified one of the following: specific IPv6 addresses, specific IPv6 prefixes, or a count of IPv6 prefixes.
36706
- :param ipv6_addresses: One or more specific IPv6 addresses from the IPv6 CIDR block range of your subnet to associate with the network interface. If you're specifying a number of IPv6 addresses, use the ``Ipv6AddressCount`` property and don't specify this property. When creating a network interface, you can't specify IPv6 addresses if you've specified one of the following: a count of IPv6 addresses, specific IPv6 prefixes, or a count of IPv6 prefixes.
36757
+ :param ipv6_address_count: The number of IPv6 addresses to assign to the network interface. Amazon EC2 automatically selects the IPv6 addresses from the subnet range. To specify specific IPv6 addresses, use the ``Ipv6Addresses`` property and don't specify this property. When creating a network interface, you can't specify a count of IPv6 addresses if you've specified one of the following: specific IPv6 addresses, specific IPv6 prefixes, or a count of IPv6 prefixes.
36758
+ :param ipv6_addresses: The IPv6 addresses from the IPv6 CIDR block range of your subnet to assign to the network interface. If you're specifying a number of IPv6 addresses, use the ``Ipv6AddressCount`` property and don't specify this property. When creating a network interface, you can't specify IPv6 addresses if you've specified one of the following: a count of IPv6 addresses, specific IPv6 prefixes, or a count of IPv6 prefixes.
36707
36759
  :param ipv6_prefix_count: The number of IPv6 prefixes to be automatically assigned to the network interface. When creating a network interface, you can't specify a count of IPv6 prefixes if you've specified one of the following: specific IPv6 prefixes, specific IPv6 addresses, or a count of IPv6 addresses.
36708
36760
  :param ipv6_prefixes: The IPv6 delegated prefixes that are assigned to the network interface. When creating a network interface, you can't specify IPv6 prefixes if you've specified one of the following: a count of IPv6 prefixes, specific IPv6 addresses, or a count of IPv6 addresses.
36709
- :param private_ip_address: Assigns a single private IP address to the network interface, which is used as the primary private IP address. If you want to specify multiple private IP address, use the ``PrivateIpAddresses`` property.
36710
- :param private_ip_addresses: Assigns private IP addresses to the network interface. You can specify a primary private IP address by setting the value of the ``Primary`` property to ``true`` in the ``PrivateIpAddressSpecification`` property. If you want EC2 to automatically assign private IP addresses, use the ``SecondaryPrivateIpAddressCount`` property and do not specify this property. When creating a network interface, you can't specify private IPv4 addresses if you've specified one of the following: a count of private IPv4 addresses, specific IPv4 prefixes, or a count of IPv4 prefixes.
36761
+ :param private_ip_address: The private IPv4 address to assign to the network interface as the primary private IP address. If you want to specify multiple private IP addresses, use the ``PrivateIpAddresses`` property.
36762
+ :param private_ip_addresses: The private IPv4 addresses to assign to the network interface. You can specify a primary private IP address by setting the value of the ``Primary`` property to ``true`` in the ``PrivateIpAddressSpecification`` property. If you want EC2 to automatically assign private IP addresses, use the ``SecondaryPrivateIpAddressCount`` property and do not specify this property. When creating a network interface, you can't specify private IPv4 addresses if you've specified one of the following: a count of private IPv4 addresses, specific IPv4 prefixes, or a count of IPv4 prefixes.
36711
36763
  :param secondary_private_ip_address_count: The number of secondary private IPv4 addresses to assign to a network interface. When you specify a number of secondary IPv4 addresses, Amazon EC2 selects these IP addresses within the subnet's IPv4 CIDR range. You can't specify this option and specify more than one private IP address using ``privateIpAddresses`` . When creating a Network Interface, you can't specify a count of private IPv4 addresses if you've specified one of the following: specific private IPv4 addresses, specific IPv4 prefixes, or a count of IPv4 prefixes.
36712
36764
  :param source_dest_check: Enable or disable source/destination checks, which ensure that the instance is either the source or the destination of any traffic that it receives. If the value is ``true`` , source/destination checks are enabled; otherwise, they are disabled. The default value is ``true`` . You must disable source/destination checks if the instance runs services such as network address translation, routing, or firewalls.
36713
- :param tags: An arbitrary set of tags (key-value pairs) for this network interface.
36765
+ :param tags: The tags to apply to the network interface.
36714
36766
  '''
36715
36767
  if __debug__:
36716
36768
  type_hints = typing.get_type_hints(_typecheckingstub__8393da3cca9727d94c340192bc7d8b11bde1fb62e8d43771091b9a3e120a301a)
@@ -36782,8 +36834,6 @@ class CfnNetworkInterface(
36782
36834
  def attr_primary_ipv6_address(self) -> builtins.str:
36783
36835
  '''The primary IPv6 address of the network interface.
36784
36836
 
36785
- When you enable an IPv6 GUA address to be a primary IPv6, the first IPv6 GUA will be made the primary IPv6 address until the instance is terminated or the network interface is detached.
36786
-
36787
36837
  :cloudformationAttribute: PrimaryIpv6Address
36788
36838
  '''
36789
36839
  return typing.cast(builtins.str, jsii.get(self, "attrPrimaryIpv6Address"))
@@ -36810,6 +36860,15 @@ class CfnNetworkInterface(
36810
36860
  '''
36811
36861
  return typing.cast(typing.List[builtins.str], jsii.get(self, "attrSecondaryPrivateIpAddresses"))
36812
36862
 
36863
+ @builtins.property
36864
+ @jsii.member(jsii_name="attrVpcId")
36865
+ def attr_vpc_id(self) -> builtins.str:
36866
+ '''The ID of the VPC.
36867
+
36868
+ :cloudformationAttribute: VpcId
36869
+ '''
36870
+ return typing.cast(builtins.str, jsii.get(self, "attrVpcId"))
36871
+
36813
36872
  @builtins.property
36814
36873
  @jsii.member(jsii_name="cfnProperties")
36815
36874
  def _cfn_properties(self) -> typing.Mapping[builtins.str, typing.Any]:
@@ -36886,7 +36945,7 @@ class CfnNetworkInterface(
36886
36945
  @builtins.property
36887
36946
  @jsii.member(jsii_name="groupSet")
36888
36947
  def group_set(self) -> typing.Optional[typing.List[builtins.str]]:
36889
- '''The security group IDs associated with this network interface.'''
36948
+ '''The IDs of the security groups associated with this network interface.'''
36890
36949
  return typing.cast(typing.Optional[typing.List[builtins.str]], jsii.get(self, "groupSet"))
36891
36950
 
36892
36951
  @group_set.setter
@@ -36943,7 +37002,7 @@ class CfnNetworkInterface(
36943
37002
  @builtins.property
36944
37003
  @jsii.member(jsii_name="ipv6AddressCount")
36945
37004
  def ipv6_address_count(self) -> typing.Optional[jsii.Number]:
36946
- '''The number of IPv6 addresses to assign to a network interface.'''
37005
+ '''The number of IPv6 addresses to assign to the network interface.'''
36947
37006
  return typing.cast(typing.Optional[jsii.Number], jsii.get(self, "ipv6AddressCount"))
36948
37007
 
36949
37008
  @ipv6_address_count.setter
@@ -36958,7 +37017,7 @@ class CfnNetworkInterface(
36958
37017
  def ipv6_addresses(
36959
37018
  self,
36960
37019
  ) -> typing.Optional[typing.Union[_IResolvable_da3f097b, typing.List[typing.Union[_IResolvable_da3f097b, "CfnNetworkInterface.InstanceIpv6AddressProperty"]]]]:
36961
- '''One or more specific IPv6 addresses from the IPv6 CIDR block range of your subnet to associate with the network interface.'''
37020
+ '''The IPv6 addresses from the IPv6 CIDR block range of your subnet to assign to the network interface.'''
36962
37021
  return typing.cast(typing.Optional[typing.Union[_IResolvable_da3f097b, typing.List[typing.Union[_IResolvable_da3f097b, "CfnNetworkInterface.InstanceIpv6AddressProperty"]]]], jsii.get(self, "ipv6Addresses"))
36963
37022
 
36964
37023
  @ipv6_addresses.setter
@@ -37005,7 +37064,7 @@ class CfnNetworkInterface(
37005
37064
  @builtins.property
37006
37065
  @jsii.member(jsii_name="privateIpAddress")
37007
37066
  def private_ip_address(self) -> typing.Optional[builtins.str]:
37008
- '''Assigns a single private IP address to the network interface, which is used as the primary private IP address.'''
37067
+ '''The private IPv4 address to assign to the network interface as the primary private IP address.'''
37009
37068
  return typing.cast(typing.Optional[builtins.str], jsii.get(self, "privateIpAddress"))
37010
37069
 
37011
37070
  @private_ip_address.setter
@@ -37020,7 +37079,7 @@ class CfnNetworkInterface(
37020
37079
  def private_ip_addresses(
37021
37080
  self,
37022
37081
  ) -> typing.Optional[typing.Union[_IResolvable_da3f097b, typing.List[typing.Union[_IResolvable_da3f097b, "CfnNetworkInterface.PrivateIpAddressSpecificationProperty"]]]]:
37023
- '''Assigns private IP addresses to the network interface.'''
37082
+ '''The private IPv4 addresses to assign to the network interface.'''
37024
37083
  return typing.cast(typing.Optional[typing.Union[_IResolvable_da3f097b, typing.List[typing.Union[_IResolvable_da3f097b, "CfnNetworkInterface.PrivateIpAddressSpecificationProperty"]]]], jsii.get(self, "privateIpAddresses"))
37025
37084
 
37026
37085
  @private_ip_addresses.setter
@@ -37070,7 +37129,7 @@ class CfnNetworkInterface(
37070
37129
  @builtins.property
37071
37130
  @jsii.member(jsii_name="tagsRaw")
37072
37131
  def tags_raw(self) -> typing.Optional[typing.List[_CfnTag_f6864754]]:
37073
- '''An arbitrary set of tags (key-value pairs) for this network interface.'''
37132
+ '''The tags to apply to the network interface.'''
37074
37133
  return typing.cast(typing.Optional[typing.List[_CfnTag_f6864754]], jsii.get(self, "tagsRaw"))
37075
37134
 
37076
37135
  @tags_raw.setter
@@ -38165,19 +38224,19 @@ class CfnNetworkInterfaceProps:
38165
38224
  :param connection_tracking_specification: A connection tracking specification for the network interface.
38166
38225
  :param description: A description for the network interface.
38167
38226
  :param enable_primary_ipv6: If you’re modifying a network interface in a dual-stack or IPv6-only subnet, you have the option to assign a primary IPv6 IP address. A primary IPv6 address is an IPv6 GUA address associated with an ENI that you have enabled to use a primary IPv6 address. Use this option if the instance that this ENI will be attached to relies on its IPv6 address not changing. AWS will automatically assign an IPv6 address associated with the ENI attached to your instance to be the primary IPv6 address. Once you enable an IPv6 GUA address to be a primary IPv6, you cannot disable it. When you enable an IPv6 GUA address to be a primary IPv6, the first IPv6 GUA will be made the primary IPv6 address until the instance is terminated or the network interface is detached. If you have multiple IPv6 addresses associated with an ENI attached to your instance and you enable a primary IPv6 address, the first IPv6 GUA address associated with the ENI becomes the primary IPv6 address.
38168
- :param group_set: The security group IDs associated with this network interface.
38227
+ :param group_set: The IDs of the security groups associated with this network interface.
38169
38228
  :param interface_type: The type of network interface. The default is ``interface`` . The supported values are ``efa`` and ``trunk`` .
38170
38229
  :param ipv4_prefix_count: The number of IPv4 prefixes to be automatically assigned to the network interface. When creating a network interface, you can't specify a count of IPv4 prefixes if you've specified one of the following: specific IPv4 prefixes, specific private IPv4 addresses, or a count of private IPv4 addresses.
38171
38230
  :param ipv4_prefixes: The IPv4 delegated prefixes that are assigned to the network interface. When creating a network interface, you can't specify IPv4 prefixes if you've specified one of the following: a count of IPv4 prefixes, specific private IPv4 addresses, or a count of private IPv4 addresses.
38172
- :param ipv6_address_count: The number of IPv6 addresses to assign to a network interface. Amazon EC2 automatically selects the IPv6 addresses from the subnet range. To specify specific IPv6 addresses, use the ``Ipv6Addresses`` property and don't specify this property. When creating a network interface, you can't specify a count of IPv6 addresses if you've specified one of the following: specific IPv6 addresses, specific IPv6 prefixes, or a count of IPv6 prefixes.
38173
- :param ipv6_addresses: One or more specific IPv6 addresses from the IPv6 CIDR block range of your subnet to associate with the network interface. If you're specifying a number of IPv6 addresses, use the ``Ipv6AddressCount`` property and don't specify this property. When creating a network interface, you can't specify IPv6 addresses if you've specified one of the following: a count of IPv6 addresses, specific IPv6 prefixes, or a count of IPv6 prefixes.
38231
+ :param ipv6_address_count: The number of IPv6 addresses to assign to the network interface. Amazon EC2 automatically selects the IPv6 addresses from the subnet range. To specify specific IPv6 addresses, use the ``Ipv6Addresses`` property and don't specify this property. When creating a network interface, you can't specify a count of IPv6 addresses if you've specified one of the following: specific IPv6 addresses, specific IPv6 prefixes, or a count of IPv6 prefixes.
38232
+ :param ipv6_addresses: The IPv6 addresses from the IPv6 CIDR block range of your subnet to assign to the network interface. If you're specifying a number of IPv6 addresses, use the ``Ipv6AddressCount`` property and don't specify this property. When creating a network interface, you can't specify IPv6 addresses if you've specified one of the following: a count of IPv6 addresses, specific IPv6 prefixes, or a count of IPv6 prefixes.
38174
38233
  :param ipv6_prefix_count: The number of IPv6 prefixes to be automatically assigned to the network interface. When creating a network interface, you can't specify a count of IPv6 prefixes if you've specified one of the following: specific IPv6 prefixes, specific IPv6 addresses, or a count of IPv6 addresses.
38175
38234
  :param ipv6_prefixes: The IPv6 delegated prefixes that are assigned to the network interface. When creating a network interface, you can't specify IPv6 prefixes if you've specified one of the following: a count of IPv6 prefixes, specific IPv6 addresses, or a count of IPv6 addresses.
38176
- :param private_ip_address: Assigns a single private IP address to the network interface, which is used as the primary private IP address. If you want to specify multiple private IP address, use the ``PrivateIpAddresses`` property.
38177
- :param private_ip_addresses: Assigns private IP addresses to the network interface. You can specify a primary private IP address by setting the value of the ``Primary`` property to ``true`` in the ``PrivateIpAddressSpecification`` property. If you want EC2 to automatically assign private IP addresses, use the ``SecondaryPrivateIpAddressCount`` property and do not specify this property. When creating a network interface, you can't specify private IPv4 addresses if you've specified one of the following: a count of private IPv4 addresses, specific IPv4 prefixes, or a count of IPv4 prefixes.
38235
+ :param private_ip_address: The private IPv4 address to assign to the network interface as the primary private IP address. If you want to specify multiple private IP addresses, use the ``PrivateIpAddresses`` property.
38236
+ :param private_ip_addresses: The private IPv4 addresses to assign to the network interface. You can specify a primary private IP address by setting the value of the ``Primary`` property to ``true`` in the ``PrivateIpAddressSpecification`` property. If you want EC2 to automatically assign private IP addresses, use the ``SecondaryPrivateIpAddressCount`` property and do not specify this property. When creating a network interface, you can't specify private IPv4 addresses if you've specified one of the following: a count of private IPv4 addresses, specific IPv4 prefixes, or a count of IPv4 prefixes.
38178
38237
  :param secondary_private_ip_address_count: The number of secondary private IPv4 addresses to assign to a network interface. When you specify a number of secondary IPv4 addresses, Amazon EC2 selects these IP addresses within the subnet's IPv4 CIDR range. You can't specify this option and specify more than one private IP address using ``privateIpAddresses`` . When creating a Network Interface, you can't specify a count of private IPv4 addresses if you've specified one of the following: specific private IPv4 addresses, specific IPv4 prefixes, or a count of IPv4 prefixes.
38179
38238
  :param source_dest_check: Enable or disable source/destination checks, which ensure that the instance is either the source or the destination of any traffic that it receives. If the value is ``true`` , source/destination checks are enabled; otherwise, they are disabled. The default value is ``true`` . You must disable source/destination checks if the instance runs services such as network address translation, routing, or firewalls.
38180
- :param tags: An arbitrary set of tags (key-value pairs) for this network interface.
38239
+ :param tags: The tags to apply to the network interface.
38181
38240
 
38182
38241
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-networkinterface.html
38183
38242
  :exampleMetadata: fixture=_generated
@@ -38326,7 +38385,7 @@ class CfnNetworkInterfaceProps:
38326
38385
 
38327
38386
  @builtins.property
38328
38387
  def group_set(self) -> typing.Optional[typing.List[builtins.str]]:
38329
- '''The security group IDs associated with this network interface.
38388
+ '''The IDs of the security groups associated with this network interface.
38330
38389
 
38331
38390
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-networkinterface.html#cfn-ec2-networkinterface-groupset
38332
38391
  '''
@@ -38370,7 +38429,7 @@ class CfnNetworkInterfaceProps:
38370
38429
 
38371
38430
  @builtins.property
38372
38431
  def ipv6_address_count(self) -> typing.Optional[jsii.Number]:
38373
- '''The number of IPv6 addresses to assign to a network interface.
38432
+ '''The number of IPv6 addresses to assign to the network interface.
38374
38433
 
38375
38434
  Amazon EC2 automatically selects the IPv6 addresses from the subnet range. To specify specific IPv6 addresses, use the ``Ipv6Addresses`` property and don't specify this property.
38376
38435
 
@@ -38385,7 +38444,7 @@ class CfnNetworkInterfaceProps:
38385
38444
  def ipv6_addresses(
38386
38445
  self,
38387
38446
  ) -> typing.Optional[typing.Union[_IResolvable_da3f097b, typing.List[typing.Union[_IResolvable_da3f097b, CfnNetworkInterface.InstanceIpv6AddressProperty]]]]:
38388
- '''One or more specific IPv6 addresses from the IPv6 CIDR block range of your subnet to associate with the network interface.
38447
+ '''The IPv6 addresses from the IPv6 CIDR block range of your subnet to assign to the network interface.
38389
38448
 
38390
38449
  If you're specifying a number of IPv6 addresses, use the ``Ipv6AddressCount`` property and don't specify this property.
38391
38450
 
@@ -38422,9 +38481,9 @@ class CfnNetworkInterfaceProps:
38422
38481
 
38423
38482
  @builtins.property
38424
38483
  def private_ip_address(self) -> typing.Optional[builtins.str]:
38425
- '''Assigns a single private IP address to the network interface, which is used as the primary private IP address.
38484
+ '''The private IPv4 address to assign to the network interface as the primary private IP address.
38426
38485
 
38427
- If you want to specify multiple private IP address, use the ``PrivateIpAddresses`` property.
38486
+ If you want to specify multiple private IP addresses, use the ``PrivateIpAddresses`` property.
38428
38487
 
38429
38488
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-networkinterface.html#cfn-ec2-networkinterface-privateipaddress
38430
38489
  '''
@@ -38435,7 +38494,7 @@ class CfnNetworkInterfaceProps:
38435
38494
  def private_ip_addresses(
38436
38495
  self,
38437
38496
  ) -> typing.Optional[typing.Union[_IResolvable_da3f097b, typing.List[typing.Union[_IResolvable_da3f097b, CfnNetworkInterface.PrivateIpAddressSpecificationProperty]]]]:
38438
- '''Assigns private IP addresses to the network interface.
38497
+ '''The private IPv4 addresses to assign to the network interface.
38439
38498
 
38440
38499
  You can specify a primary private IP address by setting the value of the ``Primary`` property to ``true`` in the ``PrivateIpAddressSpecification`` property. If you want EC2 to automatically assign private IP addresses, use the ``SecondaryPrivateIpAddressCount`` property and do not specify this property.
38441
38500
 
@@ -38474,7 +38533,7 @@ class CfnNetworkInterfaceProps:
38474
38533
 
38475
38534
  @builtins.property
38476
38535
  def tags(self) -> typing.Optional[typing.List[_CfnTag_f6864754]]:
38477
- '''An arbitrary set of tags (key-value pairs) for this network interface.
38536
+ '''The tags to apply to the network interface.
38478
38537
 
38479
38538
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-networkinterface.html#cfn-ec2-networkinterface-tags
38480
38539
  '''
@@ -40368,6 +40427,7 @@ class CfnSecurityGroup(
40368
40427
  destination_prefix_list_id="destinationPrefixListId",
40369
40428
  destination_security_group_id="destinationSecurityGroupId",
40370
40429
  from_port=123,
40430
+ source_security_group_id="sourceSecurityGroupId",
40371
40431
  to_port=123
40372
40432
  )],
40373
40433
  security_group_ingress=[ec2.CfnSecurityGroup.IngressProperty(
@@ -40471,7 +40531,8 @@ class CfnSecurityGroup(
40471
40531
  @builtins.property
40472
40532
  @jsii.member(jsii_name="attrId")
40473
40533
  def attr_id(self) -> builtins.str:
40474
- '''
40534
+ '''The group name or group ID depending on whether the SG is created in default or specific VPC.
40535
+
40475
40536
  :cloudformationAttribute: Id
40476
40537
  '''
40477
40538
  return typing.cast(builtins.str, jsii.get(self, "attrId"))
@@ -40597,6 +40658,7 @@ class CfnSecurityGroup(
40597
40658
  "destination_prefix_list_id": "destinationPrefixListId",
40598
40659
  "destination_security_group_id": "destinationSecurityGroupId",
40599
40660
  "from_port": "fromPort",
40661
+ "source_security_group_id": "sourceSecurityGroupId",
40600
40662
  "to_port": "toPort",
40601
40663
  },
40602
40664
  )
@@ -40611,25 +40673,27 @@ class CfnSecurityGroup(
40611
40673
  destination_prefix_list_id: typing.Optional[builtins.str] = None,
40612
40674
  destination_security_group_id: typing.Optional[builtins.str] = None,
40613
40675
  from_port: typing.Optional[jsii.Number] = None,
40676
+ source_security_group_id: typing.Optional[builtins.str] = None,
40614
40677
  to_port: typing.Optional[jsii.Number] = None,
40615
40678
  ) -> None:
40616
40679
  '''Adds the specified outbound (egress) rule to a security group.
40617
40680
 
40618
40681
  An outbound rule permits instances to send traffic to the specified IPv4 or IPv6 address range, the IP address ranges that are specified by a prefix list, or the instances that are associated with a destination security group. For more information, see `Security group rules <https://docs.aws.amazon.com/vpc/latest/userguide/security-group-rules.html>`_ .
40619
40682
 
40620
- You must specify exactly one of the following destinations: an IPv4 or IPv6 address range, a prefix list, or a security group. Otherwise, the stack launches successfully but the rule is not added to the security group.
40683
+ You must specify exactly one of the following destinations: an IPv4 address range, an IPv6 address range, a prefix list, or a security group.
40621
40684
 
40622
40685
  You must specify a protocol for each rule (for example, TCP). If the protocol is TCP or UDP, you must also specify a port or port range. If the protocol is ICMP or ICMPv6, you must also specify the ICMP/ICMPv6 type and code.
40623
40686
 
40624
40687
  Rule changes are propagated to instances associated with the security group as quickly as possible. However, a small delay might occur.
40625
40688
 
40626
40689
  :param ip_protocol: The IP protocol name ( ``tcp`` , ``udp`` , ``icmp`` , ``icmpv6`` ) or number (see `Protocol Numbers <https://docs.aws.amazon.com/http://www.iana.org/assignments/protocol-numbers/protocol-numbers.xhtml>`_ ). Use ``-1`` to specify all protocols. When authorizing security group rules, specifying ``-1`` or a protocol number other than ``tcp`` , ``udp`` , ``icmp`` , or ``icmpv6`` allows traffic on all ports, regardless of any port range you specify. For ``tcp`` , ``udp`` , and ``icmp`` , you must specify a port range. For ``icmpv6`` , the port range is optional; if you omit the port range, traffic for all types and codes is allowed.
40627
- :param cidr_ip: The IPv4 address range, in CIDR format. You must specify a destination security group ( ``DestinationPrefixListId`` or ``DestinationSecurityGroupId`` ) or a CIDR range ( ``CidrIp`` or ``CidrIpv6`` ). For examples of rules that you can add to security groups for specific access scenarios, see `Security group rules for different use cases <https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/security-group-rules-reference.html>`_ in the *Amazon EC2 User Guide* .
40628
- :param cidr_ipv6: The IPv6 address range, in CIDR format. You must specify a destination security group ( ``DestinationPrefixListId`` or ``DestinationSecurityGroupId`` ) or a CIDR range ( ``CidrIp`` or ``CidrIpv6`` ). For examples of rules that you can add to security groups for specific access scenarios, see `Security group rules for different use cases <https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/security-group-rules-reference.html>`_ in the *Amazon EC2 User Guide* .
40690
+ :param cidr_ip: The IPv4 address range, in CIDR format. You must specify exactly one of the following: ``CidrIp`` , ``CidrIpv6`` , ``DestinationPrefixListId`` , or ``DestinationSecurityGroupId`` . For examples of rules that you can add to security groups for specific access scenarios, see `Security group rules for different use cases <https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/security-group-rules-reference.html>`_ in the *Amazon EC2 User Guide* .
40691
+ :param cidr_ipv6: The IPv6 address range, in CIDR format. You must specify exactly one of the following: ``CidrIp`` , ``CidrIpv6`` , ``DestinationPrefixListId`` , or ``DestinationSecurityGroupId`` . For examples of rules that you can add to security groups for specific access scenarios, see `Security group rules for different use cases <https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/security-group-rules-reference.html>`_ in the *Amazon EC2 User Guide* .
40629
40692
  :param description: A description for the security group rule. Constraints: Up to 255 characters in length. Allowed characters are a-z, A-Z, 0-9, spaces, and ._-:/()#,@[]+=;{}!$*
40630
- :param destination_prefix_list_id: The prefix list IDs for the destination AWS service. This is the AWS service that you want to access through a VPC endpoint from instances associated with the security group. You must specify a destination security group ( ``DestinationPrefixListId`` or ``DestinationSecurityGroupId`` ) or a CIDR range ( ``CidrIp`` or ``CidrIpv6`` ).
40631
- :param destination_security_group_id: The ID of the destination VPC security group. You must specify a destination security group ( ``DestinationPrefixListId`` or ``DestinationSecurityGroupId`` ) or a CIDR range ( ``CidrIp`` or ``CidrIpv6`` ).
40693
+ :param destination_prefix_list_id: The prefix list IDs for the destination AWS service. This is the AWS service that you want to access through a VPC endpoint from instances associated with the security group. You must specify exactly one of the following: ``CidrIp`` , ``CidrIpv6`` , ``DestinationPrefixListId`` , or ``DestinationSecurityGroupId`` .
40694
+ :param destination_security_group_id: The ID of the destination VPC security group. You must specify exactly one of the following: ``CidrIp`` , ``CidrIpv6`` , ``DestinationPrefixListId`` , or ``DestinationSecurityGroupId`` .
40632
40695
  :param from_port: If the protocol is TCP or UDP, this is the start of the port range. If the protocol is ICMP or ICMPv6, this is the ICMP type or -1 (all ICMP types).
40696
+ :param source_security_group_id:
40633
40697
  :param to_port: If the protocol is TCP or UDP, this is the end of the port range. If the protocol is ICMP or ICMPv6, this is the ICMP code or -1 (all ICMP codes). If the start port is -1 (all ICMP types), then the end port must be -1 (all ICMP codes).
40634
40698
 
40635
40699
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-securitygroup-egress.html
@@ -40651,6 +40715,7 @@ class CfnSecurityGroup(
40651
40715
  destination_prefix_list_id="destinationPrefixListId",
40652
40716
  destination_security_group_id="destinationSecurityGroupId",
40653
40717
  from_port=123,
40718
+ source_security_group_id="sourceSecurityGroupId",
40654
40719
  to_port=123
40655
40720
  )
40656
40721
  '''
@@ -40663,6 +40728,7 @@ class CfnSecurityGroup(
40663
40728
  check_type(argname="argument destination_prefix_list_id", value=destination_prefix_list_id, expected_type=type_hints["destination_prefix_list_id"])
40664
40729
  check_type(argname="argument destination_security_group_id", value=destination_security_group_id, expected_type=type_hints["destination_security_group_id"])
40665
40730
  check_type(argname="argument from_port", value=from_port, expected_type=type_hints["from_port"])
40731
+ check_type(argname="argument source_security_group_id", value=source_security_group_id, expected_type=type_hints["source_security_group_id"])
40666
40732
  check_type(argname="argument to_port", value=to_port, expected_type=type_hints["to_port"])
40667
40733
  self._values: typing.Dict[builtins.str, typing.Any] = {
40668
40734
  "ip_protocol": ip_protocol,
@@ -40679,6 +40745,8 @@ class CfnSecurityGroup(
40679
40745
  self._values["destination_security_group_id"] = destination_security_group_id
40680
40746
  if from_port is not None:
40681
40747
  self._values["from_port"] = from_port
40748
+ if source_security_group_id is not None:
40749
+ self._values["source_security_group_id"] = source_security_group_id
40682
40750
  if to_port is not None:
40683
40751
  self._values["to_port"] = to_port
40684
40752
 
@@ -40698,7 +40766,7 @@ class CfnSecurityGroup(
40698
40766
  def cidr_ip(self) -> typing.Optional[builtins.str]:
40699
40767
  '''The IPv4 address range, in CIDR format.
40700
40768
 
40701
- You must specify a destination security group ( ``DestinationPrefixListId`` or ``DestinationSecurityGroupId`` ) or a CIDR range ( ``CidrIp`` or ``CidrIpv6`` ).
40769
+ You must specify exactly one of the following: ``CidrIp`` , ``CidrIpv6`` , ``DestinationPrefixListId`` , or ``DestinationSecurityGroupId`` .
40702
40770
 
40703
40771
  For examples of rules that you can add to security groups for specific access scenarios, see `Security group rules for different use cases <https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/security-group-rules-reference.html>`_ in the *Amazon EC2 User Guide* .
40704
40772
 
@@ -40711,7 +40779,7 @@ class CfnSecurityGroup(
40711
40779
  def cidr_ipv6(self) -> typing.Optional[builtins.str]:
40712
40780
  '''The IPv6 address range, in CIDR format.
40713
40781
 
40714
- You must specify a destination security group ( ``DestinationPrefixListId`` or ``DestinationSecurityGroupId`` ) or a CIDR range ( ``CidrIp`` or ``CidrIpv6`` ).
40782
+ You must specify exactly one of the following: ``CidrIp`` , ``CidrIpv6`` , ``DestinationPrefixListId`` , or ``DestinationSecurityGroupId`` .
40715
40783
 
40716
40784
  For examples of rules that you can add to security groups for specific access scenarios, see `Security group rules for different use cases <https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/security-group-rules-reference.html>`_ in the *Amazon EC2 User Guide* .
40717
40785
 
@@ -40737,7 +40805,7 @@ class CfnSecurityGroup(
40737
40805
 
40738
40806
  This is the AWS service that you want to access through a VPC endpoint from instances associated with the security group.
40739
40807
 
40740
- You must specify a destination security group ( ``DestinationPrefixListId`` or ``DestinationSecurityGroupId`` ) or a CIDR range ( ``CidrIp`` or ``CidrIpv6`` ).
40808
+ You must specify exactly one of the following: ``CidrIp`` , ``CidrIpv6`` , ``DestinationPrefixListId`` , or ``DestinationSecurityGroupId`` .
40741
40809
 
40742
40810
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-securitygroup-egress.html#cfn-ec2-securitygroup-egress-destinationprefixlistid
40743
40811
  '''
@@ -40748,7 +40816,7 @@ class CfnSecurityGroup(
40748
40816
  def destination_security_group_id(self) -> typing.Optional[builtins.str]:
40749
40817
  '''The ID of the destination VPC security group.
40750
40818
 
40751
- You must specify a destination security group ( ``DestinationPrefixListId`` or ``DestinationSecurityGroupId`` ) or a CIDR range ( ``CidrIp`` or ``CidrIpv6`` ).
40819
+ You must specify exactly one of the following: ``CidrIp`` , ``CidrIpv6`` , ``DestinationPrefixListId`` , or ``DestinationSecurityGroupId`` .
40752
40820
 
40753
40821
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-securitygroup-egress.html#cfn-ec2-securitygroup-egress-destinationsecuritygroupid
40754
40822
  '''
@@ -40766,6 +40834,14 @@ class CfnSecurityGroup(
40766
40834
  result = self._values.get("from_port")
40767
40835
  return typing.cast(typing.Optional[jsii.Number], result)
40768
40836
 
40837
+ @builtins.property
40838
+ def source_security_group_id(self) -> typing.Optional[builtins.str]:
40839
+ '''
40840
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-securitygroup-egress.html#cfn-ec2-securitygroup-egress-sourcesecuritygroupid
40841
+ '''
40842
+ result = self._values.get("source_security_group_id")
40843
+ return typing.cast(typing.Optional[builtins.str], result)
40844
+
40769
40845
  @builtins.property
40770
40846
  def to_port(self) -> typing.Optional[jsii.Number]:
40771
40847
  '''If the protocol is TCP or UDP, this is the end of the port range.
@@ -40823,15 +40899,15 @@ class CfnSecurityGroup(
40823
40899
 
40824
40900
  An inbound rule permits instances to receive traffic from the specified IPv4 or IPv6 address range, the IP address ranges that are specified by a prefix list, or the instances that are associated with a source security group. For more information, see `Security group rules <https://docs.aws.amazon.com/vpc/latest/userguide/security-group-rules.html>`_ .
40825
40901
 
40826
- You must specify exactly one of the following sources: an IPv4 or IPv6 address range, a prefix list, or a security group. Otherwise, the stack launches successfully, but the rule is not added to the security group.
40902
+ You must specify exactly one of the following sources: an IPv4 address range, an IPv6 address range, a prefix list, or a security group.
40827
40903
 
40828
40904
  You must specify a protocol for each rule (for example, TCP). If the protocol is TCP or UDP, you must also specify a port or port range. If the protocol is ICMP or ICMPv6, you must also specify the ICMP/ICMPv6 type and code.
40829
40905
 
40830
40906
  Rule changes are propagated to instances associated with the security group as quickly as possible. However, a small delay might occur.
40831
40907
 
40832
40908
  :param ip_protocol: The IP protocol name ( ``tcp`` , ``udp`` , ``icmp`` , ``icmpv6`` ) or number (see `Protocol Numbers <https://docs.aws.amazon.com/http://www.iana.org/assignments/protocol-numbers/protocol-numbers.xhtml>`_ ). Use ``-1`` to specify all protocols. When authorizing security group rules, specifying ``-1`` or a protocol number other than ``tcp`` , ``udp`` , ``icmp`` , or ``icmpv6`` allows traffic on all ports, regardless of any port range you specify. For ``tcp`` , ``udp`` , and ``icmp`` , you must specify a port range. For ``icmpv6`` , the port range is optional; if you omit the port range, traffic for all types and codes is allowed.
40833
- :param cidr_ip: The IPv4 address range, in CIDR format. You must specify a source security group ( ``SourcePrefixListId`` or ``SourceSecurityGroupId`` ) or a CIDR range ( ``CidrIp`` or ``CidrIpv6`` ). For examples of rules that you can add to security groups for specific access scenarios, see `Security group rules for different use cases <https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/security-group-rules-reference.html>`_ in the *Amazon EC2 User Guide* .
40834
- :param cidr_ipv6: The IPv6 address range, in CIDR format. You must specify a source security group ( ``SourcePrefixListId`` or ``SourceSecurityGroupId`` ) or a CIDR range ( ``CidrIp`` or ``CidrIpv6`` ). For examples of rules that you can add to security groups for specific access scenarios, see `Security group rules for different use cases <https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/security-group-rules-reference.html>`_ in the *Amazon EC2 User Guide* .
40909
+ :param cidr_ip: The IPv4 address range, in CIDR format. You must specify exactly one of the following: ``CidrIp`` , ``CidrIpv6`` , ``SourcePrefixListId`` , or ``SourceSecurityGroupId`` . For examples of rules that you can add to security groups for specific access scenarios, see `Security group rules for different use cases <https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/security-group-rules-reference.html>`_ in the *Amazon EC2 User Guide* .
40910
+ :param cidr_ipv6: The IPv6 address range, in CIDR format. You must specify exactly one of the following: ``CidrIp`` , ``CidrIpv6`` , ``SourcePrefixListId`` , or ``SourceSecurityGroupId`` . For examples of rules that you can add to security groups for specific access scenarios, see `Security group rules for different use cases <https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/security-group-rules-reference.html>`_ in the *Amazon EC2 User Guide* .
40835
40911
  :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 ._-:/()#,@[]+=;{}!$*
40836
40912
  :param from_port: If the protocol is TCP or UDP, this is the start of the port range. If the protocol is ICMP or ICMPv6, this is the ICMP type or -1 (all ICMP types).
40837
40913
  :param source_prefix_list_id: The ID of a prefix list.
@@ -40914,7 +40990,7 @@ class CfnSecurityGroup(
40914
40990
  def cidr_ip(self) -> typing.Optional[builtins.str]:
40915
40991
  '''The IPv4 address range, in CIDR format.
40916
40992
 
40917
- You must specify a source security group ( ``SourcePrefixListId`` or ``SourceSecurityGroupId`` ) or a CIDR range ( ``CidrIp`` or ``CidrIpv6`` ).
40993
+ You must specify exactly one of the following: ``CidrIp`` , ``CidrIpv6`` , ``SourcePrefixListId`` , or ``SourceSecurityGroupId`` .
40918
40994
 
40919
40995
  For examples of rules that you can add to security groups for specific access scenarios, see `Security group rules for different use cases <https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/security-group-rules-reference.html>`_ in the *Amazon EC2 User Guide* .
40920
40996
 
@@ -40927,7 +41003,7 @@ class CfnSecurityGroup(
40927
41003
  def cidr_ipv6(self) -> typing.Optional[builtins.str]:
40928
41004
  '''The IPv6 address range, in CIDR format.
40929
41005
 
40930
- You must specify a source security group ( ``SourcePrefixListId`` or ``SourceSecurityGroupId`` ) or a CIDR range ( ``CidrIp`` or ``CidrIpv6`` ).
41006
+ You must specify exactly one of the following: ``CidrIp`` , ``CidrIpv6`` , ``SourcePrefixListId`` , or ``SourceSecurityGroupId`` .
40931
41007
 
40932
41008
  For examples of rules that you can add to security groups for specific access scenarios, see `Security group rules for different use cases <https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/security-group-rules-reference.html>`_ in the *Amazon EC2 User Guide* .
40933
41009
 
@@ -41037,7 +41113,7 @@ class CfnSecurityGroupEgress(
41037
41113
 
41038
41114
  An outbound rule permits instances to send traffic to the specified IPv4 or IPv6 address range, the IP addresses that are specified by a prefix list, or the instances that are associated with a destination security group. For more information, see `Security group rules <https://docs.aws.amazon.com/vpc/latest/userguide/security-group-rules.html>`_ .
41039
41115
 
41040
- You must specify exactly one of the following destinations: an IPv4 or IPv6 address range, a prefix list, or a security group. Otherwise, the stack launches successfully but the rule is not added to the security group.
41116
+ You must specify exactly one of the following destinations: an IPv4 address range, an IPv6 address range, a prefix list, or a security group.
41041
41117
 
41042
41118
  You must specify a protocol for each rule (for example, TCP). If the protocol is TCP or UDP, you must also specify a port or port range. If the protocol is ICMP or ICMPv6, you must also specify the ICMP/ICMPv6 type and code. To specify all types or all codes, use -1.
41043
41119
 
@@ -41088,11 +41164,11 @@ class CfnSecurityGroupEgress(
41088
41164
  :param id: Construct identifier for this resource (unique in its scope).
41089
41165
  :param group_id: The ID of the security group. You must specify either the security group ID or the security group name in the request. For security groups in a nondefault VPC, you must specify the security group ID.
41090
41166
  :param ip_protocol: The IP protocol name ( ``tcp`` , ``udp`` , ``icmp`` , ``icmpv6`` ) or number (see `Protocol Numbers <https://docs.aws.amazon.com/http://www.iana.org/assignments/protocol-numbers/protocol-numbers.xhtml>`_ ). Use ``-1`` to specify all protocols. When authorizing security group rules, specifying ``-1`` or a protocol number other than ``tcp`` , ``udp`` , ``icmp`` , or ``icmpv6`` allows traffic on all ports, regardless of any port range you specify. For ``tcp`` , ``udp`` , and ``icmp`` , you must specify a port range. For ``icmpv6`` , the port range is optional; if you omit the port range, traffic for all types and codes is allowed.
41091
- :param cidr_ip: The IPv4 address range, in CIDR format. You must specify a destination security group ( ``DestinationPrefixListId`` or ``DestinationSecurityGroupId`` ) or a CIDR range ( ``CidrIp`` or ``CidrIpv6`` ). For examples of rules that you can add to security groups for specific access scenarios, see `Security group rules for different use cases <https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/security-group-rules-reference.html>`_ in the *Amazon EC2 User Guide* .
41092
- :param cidr_ipv6: The IPv6 address range, in CIDR format. You must specify a destination security group ( ``DestinationPrefixListId`` or ``DestinationSecurityGroupId`` ) or a CIDR range ( ``CidrIp`` or ``CidrIpv6`` ). For examples of rules that you can add to security groups for specific access scenarios, see `Security group rules for different use cases <https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/security-group-rules-reference.html>`_ in the *Amazon EC2 User Guide* .
41167
+ :param cidr_ip: The IPv4 address range, in CIDR format. You must specify exactly one of the following: ``CidrIp`` , ``CidrIpv6`` , ``DestinationPrefixListId`` , or ``DestinationSecurityGroupId`` . For examples of rules that you can add to security groups for specific access scenarios, see `Security group rules for different use cases <https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/security-group-rules-reference.html>`_ in the *Amazon EC2 User Guide* .
41168
+ :param cidr_ipv6: The IPv6 address range, in CIDR format. You must specify exactly one of the following: ``CidrIp`` , ``CidrIpv6`` , ``DestinationPrefixListId`` , or ``DestinationSecurityGroupId`` . For examples of rules that you can add to security groups for specific access scenarios, see `Security group rules for different use cases <https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/security-group-rules-reference.html>`_ in the *Amazon EC2 User Guide* .
41093
41169
  :param description: The description of an egress (outbound) security group rule. Constraints: Up to 255 characters in length. Allowed characters are a-z, A-Z, 0-9, spaces, and ._-:/()#,@[]+=;{}!$*
41094
- :param destination_prefix_list_id: The prefix list IDs for an AWS service. This is the AWS service that you want to access through a VPC endpoint from instances associated with the security group. You must specify a destination security group ( ``DestinationPrefixListId`` or ``DestinationSecurityGroupId`` ) or a CIDR range ( ``CidrIp`` or ``CidrIpv6`` ).
41095
- :param destination_security_group_id: The ID of the security group. You must specify a destination security group ( ``DestinationPrefixListId`` or ``DestinationSecurityGroupId`` ) or a CIDR range ( ``CidrIp`` or ``CidrIpv6`` ).
41170
+ :param destination_prefix_list_id: The prefix list IDs for an AWS service. This is the AWS service to access through a VPC endpoint from instances associated with the security group. You must specify exactly one of the following: ``CidrIp`` , ``CidrIpv6`` , ``DestinationPrefixListId`` , or ``DestinationSecurityGroupId`` .
41171
+ :param destination_security_group_id: The ID of the security group. You must specify exactly one of the following: ``CidrIp`` , ``CidrIpv6`` , ``DestinationPrefixListId`` , or ``DestinationSecurityGroupId`` .
41096
41172
  :param from_port: If the protocol is TCP or UDP, this is the start of the port range. If the protocol is ICMP or ICMPv6, this is the ICMP type or -1 (all ICMP types).
41097
41173
  :param to_port: If the protocol is TCP or UDP, this is the end of the port range. If the protocol is ICMP or ICMPv6, this is the ICMP code or -1 (all ICMP codes). If the start port is -1 (all ICMP types), then the end port must be -1 (all ICMP codes).
41098
41174
  '''
@@ -41311,11 +41387,11 @@ class CfnSecurityGroupEgressProps:
41311
41387
 
41312
41388
  :param group_id: The ID of the security group. You must specify either the security group ID or the security group name in the request. For security groups in a nondefault VPC, you must specify the security group ID.
41313
41389
  :param ip_protocol: The IP protocol name ( ``tcp`` , ``udp`` , ``icmp`` , ``icmpv6`` ) or number (see `Protocol Numbers <https://docs.aws.amazon.com/http://www.iana.org/assignments/protocol-numbers/protocol-numbers.xhtml>`_ ). Use ``-1`` to specify all protocols. When authorizing security group rules, specifying ``-1`` or a protocol number other than ``tcp`` , ``udp`` , ``icmp`` , or ``icmpv6`` allows traffic on all ports, regardless of any port range you specify. For ``tcp`` , ``udp`` , and ``icmp`` , you must specify a port range. For ``icmpv6`` , the port range is optional; if you omit the port range, traffic for all types and codes is allowed.
41314
- :param cidr_ip: The IPv4 address range, in CIDR format. You must specify a destination security group ( ``DestinationPrefixListId`` or ``DestinationSecurityGroupId`` ) or a CIDR range ( ``CidrIp`` or ``CidrIpv6`` ). For examples of rules that you can add to security groups for specific access scenarios, see `Security group rules for different use cases <https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/security-group-rules-reference.html>`_ in the *Amazon EC2 User Guide* .
41315
- :param cidr_ipv6: The IPv6 address range, in CIDR format. You must specify a destination security group ( ``DestinationPrefixListId`` or ``DestinationSecurityGroupId`` ) or a CIDR range ( ``CidrIp`` or ``CidrIpv6`` ). For examples of rules that you can add to security groups for specific access scenarios, see `Security group rules for different use cases <https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/security-group-rules-reference.html>`_ in the *Amazon EC2 User Guide* .
41390
+ :param cidr_ip: The IPv4 address range, in CIDR format. You must specify exactly one of the following: ``CidrIp`` , ``CidrIpv6`` , ``DestinationPrefixListId`` , or ``DestinationSecurityGroupId`` . For examples of rules that you can add to security groups for specific access scenarios, see `Security group rules for different use cases <https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/security-group-rules-reference.html>`_ in the *Amazon EC2 User Guide* .
41391
+ :param cidr_ipv6: The IPv6 address range, in CIDR format. You must specify exactly one of the following: ``CidrIp`` , ``CidrIpv6`` , ``DestinationPrefixListId`` , or ``DestinationSecurityGroupId`` . For examples of rules that you can add to security groups for specific access scenarios, see `Security group rules for different use cases <https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/security-group-rules-reference.html>`_ in the *Amazon EC2 User Guide* .
41316
41392
  :param description: The description of an egress (outbound) security group rule. Constraints: Up to 255 characters in length. Allowed characters are a-z, A-Z, 0-9, spaces, and ._-:/()#,@[]+=;{}!$*
41317
- :param destination_prefix_list_id: The prefix list IDs for an AWS service. This is the AWS service that you want to access through a VPC endpoint from instances associated with the security group. You must specify a destination security group ( ``DestinationPrefixListId`` or ``DestinationSecurityGroupId`` ) or a CIDR range ( ``CidrIp`` or ``CidrIpv6`` ).
41318
- :param destination_security_group_id: The ID of the security group. You must specify a destination security group ( ``DestinationPrefixListId`` or ``DestinationSecurityGroupId`` ) or a CIDR range ( ``CidrIp`` or ``CidrIpv6`` ).
41393
+ :param destination_prefix_list_id: The prefix list IDs for an AWS service. This is the AWS service to access through a VPC endpoint from instances associated with the security group. You must specify exactly one of the following: ``CidrIp`` , ``CidrIpv6`` , ``DestinationPrefixListId`` , or ``DestinationSecurityGroupId`` .
41394
+ :param destination_security_group_id: The ID of the security group. You must specify exactly one of the following: ``CidrIp`` , ``CidrIpv6`` , ``DestinationPrefixListId`` , or ``DestinationSecurityGroupId`` .
41319
41395
  :param from_port: If the protocol is TCP or UDP, this is the start of the port range. If the protocol is ICMP or ICMPv6, this is the ICMP type or -1 (all ICMP types).
41320
41396
  :param to_port: If the protocol is TCP or UDP, this is the end of the port range. If the protocol is ICMP or ICMPv6, this is the ICMP code or -1 (all ICMP codes). If the start port is -1 (all ICMP types), then the end port must be -1 (all ICMP codes).
41321
41397
 
@@ -41400,7 +41476,7 @@ class CfnSecurityGroupEgressProps:
41400
41476
  def cidr_ip(self) -> typing.Optional[builtins.str]:
41401
41477
  '''The IPv4 address range, in CIDR format.
41402
41478
 
41403
- You must specify a destination security group ( ``DestinationPrefixListId`` or ``DestinationSecurityGroupId`` ) or a CIDR range ( ``CidrIp`` or ``CidrIpv6`` ).
41479
+ You must specify exactly one of the following: ``CidrIp`` , ``CidrIpv6`` , ``DestinationPrefixListId`` , or ``DestinationSecurityGroupId`` .
41404
41480
 
41405
41481
  For examples of rules that you can add to security groups for specific access scenarios, see `Security group rules for different use cases <https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/security-group-rules-reference.html>`_ in the *Amazon EC2 User Guide* .
41406
41482
 
@@ -41413,7 +41489,7 @@ class CfnSecurityGroupEgressProps:
41413
41489
  def cidr_ipv6(self) -> typing.Optional[builtins.str]:
41414
41490
  '''The IPv6 address range, in CIDR format.
41415
41491
 
41416
- You must specify a destination security group ( ``DestinationPrefixListId`` or ``DestinationSecurityGroupId`` ) or a CIDR range ( ``CidrIp`` or ``CidrIpv6`` ).
41492
+ You must specify exactly one of the following: ``CidrIp`` , ``CidrIpv6`` , ``DestinationPrefixListId`` , or ``DestinationSecurityGroupId`` .
41417
41493
 
41418
41494
  For examples of rules that you can add to security groups for specific access scenarios, see `Security group rules for different use cases <https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/security-group-rules-reference.html>`_ in the *Amazon EC2 User Guide* .
41419
41495
 
@@ -41437,9 +41513,9 @@ class CfnSecurityGroupEgressProps:
41437
41513
  def destination_prefix_list_id(self) -> typing.Optional[builtins.str]:
41438
41514
  '''The prefix list IDs for an AWS service.
41439
41515
 
41440
- This is the AWS service that you want to access through a VPC endpoint from instances associated with the security group.
41516
+ This is the AWS service to access through a VPC endpoint from instances associated with the security group.
41441
41517
 
41442
- You must specify a destination security group ( ``DestinationPrefixListId`` or ``DestinationSecurityGroupId`` ) or a CIDR range ( ``CidrIp`` or ``CidrIpv6`` ).
41518
+ You must specify exactly one of the following: ``CidrIp`` , ``CidrIpv6`` , ``DestinationPrefixListId`` , or ``DestinationSecurityGroupId`` .
41443
41519
 
41444
41520
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-securitygroupegress.html#cfn-ec2-securitygroupegress-destinationprefixlistid
41445
41521
  '''
@@ -41450,7 +41526,7 @@ class CfnSecurityGroupEgressProps:
41450
41526
  def destination_security_group_id(self) -> typing.Optional[builtins.str]:
41451
41527
  '''The ID of the security group.
41452
41528
 
41453
- You must specify a destination security group ( ``DestinationPrefixListId`` or ``DestinationSecurityGroupId`` ) or a CIDR range ( ``CidrIp`` or ``CidrIpv6`` ).
41529
+ You must specify exactly one of the following: ``CidrIp`` , ``CidrIpv6`` , ``DestinationPrefixListId`` , or ``DestinationSecurityGroupId`` .
41454
41530
 
41455
41531
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-securitygroupegress.html#cfn-ec2-securitygroupegress-destinationsecuritygroupid
41456
41532
  '''
@@ -41501,7 +41577,7 @@ class CfnSecurityGroupIngress(
41501
41577
 
41502
41578
  An inbound rule permits instances to receive traffic from the specified IPv4 or IPv6 address range, the IP addresses that are specified by a prefix list, or the instances that are associated with a source security group. For more information, see `Security group rules <https://docs.aws.amazon.com/vpc/latest/userguide/security-group-rules.html>`_ .
41503
41579
 
41504
- You must specify only one of the following sources: an IPv4 or IPv6 address range, a prefix list, or a security group. Otherwise, the stack launches successfully, but the rule is not added to the security group.
41580
+ You must specify exactly one of the following sources: an IPv4 address range, an IPv6 address range, a prefix list, or a security group.
41505
41581
 
41506
41582
  You must specify a protocol for each rule (for example, TCP). If the protocol is TCP or UDP, you must also specify a port or port range. If the protocol is ICMP or ICMPv6, you must also specify the ICMP/ICMPv6 type and code.
41507
41583
 
@@ -41557,8 +41633,8 @@ class CfnSecurityGroupIngress(
41557
41633
  :param scope: Scope in which this resource is defined.
41558
41634
  :param id: Construct identifier for this resource (unique in its scope).
41559
41635
  :param ip_protocol: The IP protocol name ( ``tcp`` , ``udp`` , ``icmp`` , ``icmpv6`` ) or number (see `Protocol Numbers <https://docs.aws.amazon.com/http://www.iana.org/assignments/protocol-numbers/protocol-numbers.xhtml>`_ ). Use ``-1`` to specify all protocols. When authorizing security group rules, specifying ``-1`` or a protocol number other than ``tcp`` , ``udp`` , ``icmp`` , or ``icmpv6`` allows traffic on all ports, regardless of any port range you specify. For ``tcp`` , ``udp`` , and ``icmp`` , you must specify a port range. For ``icmpv6`` , the port range is optional; if you omit the port range, traffic for all types and codes is allowed.
41560
- :param cidr_ip: The IPv4 address range, in CIDR format. You must specify a source security group ( ``SourcePrefixListId`` or ``SourceSecurityGroupId`` ) or a CIDR range ( ``CidrIp`` or ``CidrIpv6`` ). For examples of rules that you can add to security groups for specific access scenarios, see `Security group rules for different use cases <https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/security-group-rules-reference.html>`_ in the *Amazon EC2 User Guide* .
41561
- :param cidr_ipv6: The IPv6 address range, in CIDR format. You must specify a source security group ( ``SourcePrefixListId`` or ``SourceSecurityGroupId`` ) or a CIDR range ( ``CidrIp`` or ``CidrIpv6`` ). For examples of rules that you can add to security groups for specific access scenarios, see `Security group rules for different use cases <https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/security-group-rules-reference.html>`_ in the *Amazon EC2 User Guide* .
41636
+ :param cidr_ip: The IPv4 address range, in CIDR format. You must specify exactly one of the following: ``CidrIp`` , ``CidrIpv6`` , ``SourcePrefixListId`` , or ``SourceSecurityGroupId`` . For examples of rules that you can add to security groups for specific access scenarios, see `Security group rules for different use cases <https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/security-group-rules-reference.html>`_ in the *Amazon EC2 User Guide* .
41637
+ :param cidr_ipv6: The IPv6 address range, in CIDR format. You must specify exactly one of the following: ``CidrIp`` , ``CidrIpv6`` , ``SourcePrefixListId`` , or ``SourceSecurityGroupId`` . For examples of rules that you can add to security groups for specific access scenarios, see `Security group rules for different use cases <https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/security-group-rules-reference.html>`_ in the *Amazon EC2 User Guide* .
41562
41638
  :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 ._-:/()#,@[]+=;{}!$*
41563
41639
  :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.
41564
41640
  :param group_id: The ID of the security group.
@@ -41832,8 +41908,8 @@ class CfnSecurityGroupIngressProps:
41832
41908
  '''Properties for defining a ``CfnSecurityGroupIngress``.
41833
41909
 
41834
41910
  :param ip_protocol: The IP protocol name ( ``tcp`` , ``udp`` , ``icmp`` , ``icmpv6`` ) or number (see `Protocol Numbers <https://docs.aws.amazon.com/http://www.iana.org/assignments/protocol-numbers/protocol-numbers.xhtml>`_ ). Use ``-1`` to specify all protocols. When authorizing security group rules, specifying ``-1`` or a protocol number other than ``tcp`` , ``udp`` , ``icmp`` , or ``icmpv6`` allows traffic on all ports, regardless of any port range you specify. For ``tcp`` , ``udp`` , and ``icmp`` , you must specify a port range. For ``icmpv6`` , the port range is optional; if you omit the port range, traffic for all types and codes is allowed.
41835
- :param cidr_ip: The IPv4 address range, in CIDR format. You must specify a source security group ( ``SourcePrefixListId`` or ``SourceSecurityGroupId`` ) or a CIDR range ( ``CidrIp`` or ``CidrIpv6`` ). For examples of rules that you can add to security groups for specific access scenarios, see `Security group rules for different use cases <https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/security-group-rules-reference.html>`_ in the *Amazon EC2 User Guide* .
41836
- :param cidr_ipv6: The IPv6 address range, in CIDR format. You must specify a source security group ( ``SourcePrefixListId`` or ``SourceSecurityGroupId`` ) or a CIDR range ( ``CidrIp`` or ``CidrIpv6`` ). For examples of rules that you can add to security groups for specific access scenarios, see `Security group rules for different use cases <https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/security-group-rules-reference.html>`_ in the *Amazon EC2 User Guide* .
41911
+ :param cidr_ip: The IPv4 address range, in CIDR format. You must specify exactly one of the following: ``CidrIp`` , ``CidrIpv6`` , ``SourcePrefixListId`` , or ``SourceSecurityGroupId`` . For examples of rules that you can add to security groups for specific access scenarios, see `Security group rules for different use cases <https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/security-group-rules-reference.html>`_ in the *Amazon EC2 User Guide* .
41912
+ :param cidr_ipv6: The IPv6 address range, in CIDR format. You must specify exactly one of the following: ``CidrIp`` , ``CidrIpv6`` , ``SourcePrefixListId`` , or ``SourceSecurityGroupId`` . For examples of rules that you can add to security groups for specific access scenarios, see `Security group rules for different use cases <https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/security-group-rules-reference.html>`_ in the *Amazon EC2 User Guide* .
41837
41913
  :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 ._-:/()#,@[]+=;{}!$*
41838
41914
  :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.
41839
41915
  :param group_id: The ID of the security group.
@@ -41926,7 +42002,7 @@ class CfnSecurityGroupIngressProps:
41926
42002
  def cidr_ip(self) -> typing.Optional[builtins.str]:
41927
42003
  '''The IPv4 address range, in CIDR format.
41928
42004
 
41929
- You must specify a source security group ( ``SourcePrefixListId`` or ``SourceSecurityGroupId`` ) or a CIDR range ( ``CidrIp`` or ``CidrIpv6`` ).
42005
+ You must specify exactly one of the following: ``CidrIp`` , ``CidrIpv6`` , ``SourcePrefixListId`` , or ``SourceSecurityGroupId`` .
41930
42006
 
41931
42007
  For examples of rules that you can add to security groups for specific access scenarios, see `Security group rules for different use cases <https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/security-group-rules-reference.html>`_ in the *Amazon EC2 User Guide* .
41932
42008
 
@@ -41939,7 +42015,7 @@ class CfnSecurityGroupIngressProps:
41939
42015
  def cidr_ipv6(self) -> typing.Optional[builtins.str]:
41940
42016
  '''The IPv6 address range, in CIDR format.
41941
42017
 
41942
- You must specify a source security group ( ``SourcePrefixListId`` or ``SourceSecurityGroupId`` ) or a CIDR range ( ``CidrIp`` or ``CidrIpv6`` ).
42018
+ You must specify exactly one of the following: ``CidrIp`` , ``CidrIpv6`` , ``SourcePrefixListId`` , or ``SourceSecurityGroupId`` .
41943
42019
 
41944
42020
  For examples of rules that you can add to security groups for specific access scenarios, see `Security group rules for different use cases <https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/security-group-rules-reference.html>`_ in the *Amazon EC2 User Guide* .
41945
42021
 
@@ -42123,6 +42199,7 @@ class CfnSecurityGroupProps:
42123
42199
  destination_prefix_list_id="destinationPrefixListId",
42124
42200
  destination_security_group_id="destinationSecurityGroupId",
42125
42201
  from_port=123,
42202
+ source_security_group_id="sourceSecurityGroupId",
42126
42203
  to_port=123
42127
42204
  )],
42128
42205
  security_group_ingress=[ec2.CfnSecurityGroup.IngressProperty(
@@ -42261,7 +42338,7 @@ class CfnSnapshotBlockPublicAccess(
42261
42338
  ):
42262
42339
  '''Specifies the state of the *block public access for snapshots* setting for the Region.
42263
42340
 
42264
- For more information, see `Block public access for snapshots <https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/block-public-access-snapshots.html>`_ .
42341
+ For more information, see `Block public access for snapshots <https://docs.aws.amazon.com/ebs/latest/userguide/block-public-access-snapshots.html>`_ .
42265
42342
 
42266
42343
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-snapshotblockpublicaccess.html
42267
42344
  :cloudformationResource: AWS::EC2::SnapshotBlockPublicAccess
@@ -43277,7 +43354,7 @@ class CfnSpotFleet(
43277
43354
  :param iops: The number of I/O operations per second (IOPS). For ``gp3`` , ``io1`` , and ``io2`` volumes, this represents the number of IOPS that are provisioned for the volume. For ``gp2`` volumes, this represents the baseline performance of the volume and the rate at which the volume accumulates I/O credits for bursting. The following are the supported values for each volume type: - ``gp3`` : 3,000 - 16,000 IOPS - ``io1`` : 100 - 64,000 IOPS - ``io2`` : 100 - 256,000 IOPS For ``io2`` volumes, you can achieve up to 256,000 IOPS on `instances built on the Nitro System <https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/instance-types.html#ec2-nitro-instances>`_ . On other instances, you can achieve performance up to 32,000 IOPS. This parameter is required for ``io1`` and ``io2`` volumes. The default for ``gp3`` volumes is 3,000 IOPS.
43278
43355
  :param snapshot_id: The ID of the snapshot.
43279
43356
  :param volume_size: The size of the volume, in GiBs. You must specify either a snapshot ID or a volume size. If you specify a snapshot, the default is the snapshot size. You can specify a volume size that is equal to or larger than the snapshot size. The following are the supported sizes for each volume type: - ``gp2`` and ``gp3`` : 1 - 16,384 GiB - ``io1`` : 4 - 16,384 GiB - ``io2`` : 4 - 65,536 GiB - ``st1`` and ``sc1`` : 125 - 16,384 GiB - ``standard`` : 1 - 1024 GiB
43280
- :param volume_type: The volume type. For more information, see `Amazon EBS volume types <https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EBSVolumeTypes.html>`_ in the *Amazon EC2 User Guide* .
43357
+ :param volume_type: The volume type. For more information, see `Amazon EBS volume types <https://docs.aws.amazon.com/ebs/latest/userguide/ebs-volume-types.html>`_ in the *Amazon EBS User Guide* .
43281
43358
 
43282
43359
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-spotfleet-ebsblockdevice.html
43283
43360
  :exampleMetadata: fixture=_generated
@@ -43404,7 +43481,7 @@ class CfnSpotFleet(
43404
43481
  def volume_type(self) -> typing.Optional[builtins.str]:
43405
43482
  '''The volume type.
43406
43483
 
43407
- For more information, see `Amazon EBS volume types <https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EBSVolumeTypes.html>`_ in the *Amazon EC2 User Guide* .
43484
+ For more information, see `Amazon EBS volume types <https://docs.aws.amazon.com/ebs/latest/userguide/ebs-volume-types.html>`_ in the *Amazon EBS User Guide* .
43408
43485
 
43409
43486
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-spotfleet-ebsblockdevice.html#cfn-ec2-spotfleet-ebsblockdevice-volumetype
43410
43487
  '''
@@ -44036,14 +44113,14 @@ class CfnSpotFleet(
44036
44113
  :param instance_generations: Indicates whether current or previous generation instance types are included. The current generation instance types are recommended for use. Current generation instance types are typically the latest two to three generations in each instance family. For more information, see `Instance types <https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/instance-types.html>`_ in the *Amazon EC2 User Guide* . For current generation instance types, specify ``current`` . For previous generation instance types, specify ``previous`` . Default: Current and previous generation instance types
44037
44114
  :param local_storage: Indicates whether instance types with instance store volumes are included, excluded, or required. For more information, `Amazon EC2 instance store <https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/InstanceStorage.html>`_ in the *Amazon EC2 User Guide* . - To include instance types with instance store volumes, specify ``included`` . - To require only instance types with instance store volumes, specify ``required`` . - To exclude instance types with instance store volumes, specify ``excluded`` . Default: ``included``
44038
44115
  :param local_storage_types: The type of local storage that is required. - For instance types with hard disk drive (HDD) storage, specify ``hdd`` . - For instance types with solid state drive (SSD) storage, specify ``ssd`` . Default: ``hdd`` and ``ssd``
44039
- :param max_spot_price_as_percentage_of_optimal_on_demand_price: [Price protection] The price protection threshold for Spot Instances, as a percentage of an identified On-Demand price. The identified On-Demand price is the price of the lowest priced current generation C, M, or R instance type with your specified attributes. If no current generation C, M, or R instance type matches your attributes, then the identified price is from the lowest priced current generation instance types, and failing that, from the lowest priced previous generation instance types that match your attributes. When Amazon EC2 selects instance types with your attributes, it will exclude instance types whose price exceeds your specified threshold. The parameter accepts an integer, which Amazon EC2 interprets as a percentage. To indicate no price protection threshold, specify a high value, such as ``999999`` . If you set ``DesiredCapacityType`` to ``vcpu`` or ``memory-mib`` , the price protection threshold is based on the per vCPU or per memory price instead of the per instance price. .. epigraph:: Only one of ``SpotMaxPricePercentageOverLowestPrice`` or ``MaxSpotPriceAsPercentageOfOptimalOnDemandPrice`` can be specified. If you don't specify either, then ``SpotMaxPricePercentageOverLowestPrice`` is used and the value for that parameter defaults to ``100`` .
44116
+ :param max_spot_price_as_percentage_of_optimal_on_demand_price: [Price protection] The price protection threshold for Spot Instances, as a percentage of an identified On-Demand price. The identified On-Demand price is the price of the lowest priced current generation C, M, or R instance type with your specified attributes. If no current generation C, M, or R instance type matches your attributes, then the identified price is from the lowest priced current generation instance types, and failing that, from the lowest priced previous generation instance types that match your attributes. When Amazon EC2 selects instance types with your attributes, it will exclude instance types whose price exceeds your specified threshold. The parameter accepts an integer, which Amazon EC2 interprets as a percentage. If you set ``DesiredCapacityType`` to ``vcpu`` or ``memory-mib`` , the price protection threshold is based on the per vCPU or per memory price instead of the per instance price. .. epigraph:: Only one of ``SpotMaxPricePercentageOverLowestPrice`` or ``MaxSpotPriceAsPercentageOfOptimalOnDemandPrice`` can be specified. If you don't specify either, Amazon EC2 will automatically apply optimal price protection to consistently select from a wide range of instance types. To indicate no price protection threshold for Spot Instances, meaning you want to consider all instance types that match your attributes, include one of these parameters and specify a high value, such as ``999999`` .
44040
44117
  :param memory_gib_per_v_cpu: The minimum and maximum amount of memory per vCPU, in GiB. Default: No minimum or maximum limits
44041
44118
  :param memory_mib: The minimum and maximum amount of memory, in MiB.
44042
44119
  :param network_bandwidth_gbps: The minimum and maximum amount of baseline network bandwidth, in gigabits per second (Gbps). For more information, see `Amazon EC2 instance network bandwidth <https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-instance-network-bandwidth.html>`_ in the *Amazon EC2 User Guide* . Default: No minimum or maximum limits
44043
44120
  :param network_interface_count: The minimum and maximum number of network interfaces. Default: No minimum or maximum limits
44044
44121
  :param on_demand_max_price_percentage_over_lowest_price: [Price protection] The price protection threshold for On-Demand Instances, as a percentage higher than an identified On-Demand price. The identified On-Demand price is the price of the lowest priced current generation C, M, or R instance type with your specified attributes. When Amazon EC2 selects instance types with your attributes, it will exclude instance types whose price exceeds your specified threshold. The parameter accepts an integer, which Amazon EC2 interprets as a percentage. To indicate no price protection threshold, specify a high value, such as ``999999`` . This parameter is not supported for `GetSpotPlacementScores <https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_GetSpotPlacementScores.html>`_ and `GetInstanceTypesFromInstanceRequirements <https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_GetInstanceTypesFromInstanceRequirements.html>`_ . .. epigraph:: If you set ``TargetCapacityUnitType`` to ``vcpu`` or ``memory-mib`` , the price protection threshold is applied based on the per-vCPU or per-memory price instead of the per-instance price. Default: ``20``
44045
44122
  :param require_hibernate_support: Indicates whether instance types must support hibernation for On-Demand Instances. This parameter is not supported for `GetSpotPlacementScores <https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_GetSpotPlacementScores.html>`_ . Default: ``false``
44046
- :param spot_max_price_percentage_over_lowest_price: [Price protection] The price protection threshold for Spot Instances, as a percentage higher than an identified Spot price. The identified Spot price is the Spot price of the lowest priced current generation C, M, or R instance type with your specified attributes. If no current generation C, M, or R instance type matches your attributes, then the identified Spot price is from the lowest priced current generation instance types, and failing that, from the lowest priced previous generation instance types that match your attributes. When Amazon EC2 selects instance types with your attributes, it will exclude instance types whose Spot price exceeds your specified threshold. The parameter accepts an integer, which Amazon EC2 interprets as a percentage. To indicate no price protection threshold, specify a high value, such as ``999999`` . If you set ``TargetCapacityUnitType`` to ``vcpu`` or ``memory-mib`` , the price protection threshold is applied based on the per-vCPU or per-memory price instead of the per-instance price. This parameter is not supported for `GetSpotPlacementScores <https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_GetSpotPlacementScores.html>`_ and `GetInstanceTypesFromInstanceRequirements <https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_GetInstanceTypesFromInstanceRequirements.html>`_ . .. epigraph:: Only one of ``SpotMaxPricePercentageOverLowestPrice`` or ``MaxSpotPriceAsPercentageOfOptimalOnDemandPrice`` can be specified. If you don't specify either, then ``SpotMaxPricePercentageOverLowestPrice`` is used and the value for that parameter defaults to ``100`` . Default: ``100``
44123
+ :param spot_max_price_percentage_over_lowest_price: [Price protection] The price protection threshold for Spot Instances, as a percentage higher than an identified Spot price. The identified Spot price is the Spot price of the lowest priced current generation C, M, or R instance type with your specified attributes. If no current generation C, M, or R instance type matches your attributes, then the identified Spot price is from the lowest priced current generation instance types, and failing that, from the lowest priced previous generation instance types that match your attributes. When Amazon EC2 selects instance types with your attributes, it will exclude instance types whose Spot price exceeds your specified threshold. The parameter accepts an integer, which Amazon EC2 interprets as a percentage. If you set ``TargetCapacityUnitType`` to ``vcpu`` or ``memory-mib`` , the price protection threshold is applied based on the per-vCPU or per-memory price instead of the per-instance price. This parameter is not supported for `GetSpotPlacementScores <https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_GetSpotPlacementScores.html>`_ and `GetInstanceTypesFromInstanceRequirements <https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_GetInstanceTypesFromInstanceRequirements.html>`_ . .. epigraph:: Only one of ``SpotMaxPricePercentageOverLowestPrice`` or ``MaxSpotPriceAsPercentageOfOptimalOnDemandPrice`` can be specified. If you don't specify either, Amazon EC2 will automatically apply optimal price protection to consistently select from a wide range of instance types. To indicate no price protection threshold for Spot Instances, meaning you want to consider all instance types that match your attributes, include one of these parameters and specify a high value, such as ``999999`` . Default: ``100``
44047
44124
  :param total_local_storage_gb: The minimum and maximum amount of total local storage, in GB. Default: No minimum or maximum limits
44048
44125
  :param v_cpu_count: The minimum and maximum number of vCPUs.
44049
44126
 
@@ -44434,12 +44511,10 @@ class CfnSpotFleet(
44434
44511
 
44435
44512
  The parameter accepts an integer, which Amazon EC2 interprets as a percentage.
44436
44513
 
44437
- To indicate no price protection threshold, specify a high value, such as ``999999`` .
44438
-
44439
44514
  If you set ``DesiredCapacityType`` to ``vcpu`` or ``memory-mib`` , the price protection threshold is based on the per vCPU or per memory price instead of the per instance price.
44440
44515
  .. epigraph::
44441
44516
 
44442
- Only one of ``SpotMaxPricePercentageOverLowestPrice`` or ``MaxSpotPriceAsPercentageOfOptimalOnDemandPrice`` can be specified. If you don't specify either, then ``SpotMaxPricePercentageOverLowestPrice`` is used and the value for that parameter defaults to ``100`` .
44517
+ Only one of ``SpotMaxPricePercentageOverLowestPrice`` or ``MaxSpotPriceAsPercentageOfOptimalOnDemandPrice`` can be specified. If you don't specify either, Amazon EC2 will automatically apply optimal price protection to consistently select from a wide range of instance types. To indicate no price protection threshold for Spot Instances, meaning you want to consider all instance types that match your attributes, include one of these parameters and specify a high value, such as ``999999`` .
44443
44518
 
44444
44519
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-spotfleet-instancerequirementsrequest.html#cfn-ec2-spotfleet-instancerequirementsrequest-maxspotpriceaspercentageofoptimalondemandprice
44445
44520
  '''
@@ -44547,14 +44622,12 @@ class CfnSpotFleet(
44547
44622
 
44548
44623
  The parameter accepts an integer, which Amazon EC2 interprets as a percentage.
44549
44624
 
44550
- To indicate no price protection threshold, specify a high value, such as ``999999`` .
44551
-
44552
44625
  If you set ``TargetCapacityUnitType`` to ``vcpu`` or ``memory-mib`` , the price protection threshold is applied based on the per-vCPU or per-memory price instead of the per-instance price.
44553
44626
 
44554
44627
  This parameter is not supported for `GetSpotPlacementScores <https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_GetSpotPlacementScores.html>`_ and `GetInstanceTypesFromInstanceRequirements <https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_GetInstanceTypesFromInstanceRequirements.html>`_ .
44555
44628
  .. epigraph::
44556
44629
 
44557
- Only one of ``SpotMaxPricePercentageOverLowestPrice`` or ``MaxSpotPriceAsPercentageOfOptimalOnDemandPrice`` can be specified. If you don't specify either, then ``SpotMaxPricePercentageOverLowestPrice`` is used and the value for that parameter defaults to ``100`` .
44630
+ Only one of ``SpotMaxPricePercentageOverLowestPrice`` or ``MaxSpotPriceAsPercentageOfOptimalOnDemandPrice`` can be specified. If you don't specify either, Amazon EC2 will automatically apply optimal price protection to consistently select from a wide range of instance types. To indicate no price protection threshold for Spot Instances, meaning you want to consider all instance types that match your attributes, include one of these parameters and specify a high value, such as ``999999`` .
44558
44631
 
44559
44632
  Default: ``100``
44560
44633
 
@@ -44776,7 +44849,7 @@ class CfnSpotFleet(
44776
44849
  :param priority: The priority for the launch template override. The highest priority is launched first. If ``OnDemandAllocationStrategy`` is set to ``prioritized`` , Spot Fleet uses priority to determine which launch template override to use first in fulfilling On-Demand capacity. If the Spot ``AllocationStrategy`` is set to ``capacityOptimizedPrioritized`` , Spot Fleet uses priority on a best-effort basis to determine which launch template override to use in fulfilling Spot capacity, but optimizes for capacity first. Valid values are whole numbers starting at ``0`` . The lower the number, the higher the priority. If no number is set, the launch template override has the lowest priority. You can set the same priority for different launch template overrides.
44777
44850
  :param spot_price: The maximum price per unit hour that you are willing to pay for a Spot Instance. We do not recommend using this parameter because it can lead to increased interruptions. If you do not specify this parameter, you will pay the current Spot price. .. epigraph:: If you specify a maximum price, your instances will be interrupted more frequently than if you do not specify this parameter.
44778
44851
  :param subnet_id: The ID of the subnet in which to launch the instances.
44779
- :param weighted_capacity: The number of units provided by the specified instance type.
44852
+ :param weighted_capacity: The number of units provided by the specified instance type. .. epigraph:: When specifying weights, the price used in the ``lowest-price`` and ``price-capacity-optimized`` allocation strategies is per *unit* hour (where the instance price is divided by the specified weight). However, if all the specified weights are above the requested ``TargetCapacity`` , resulting in only 1 instance being launched, the price used is per *instance* hour.
44780
44853
 
44781
44854
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-spotfleet-launchtemplateoverrides.html
44782
44855
  :exampleMetadata: fixture=_generated
@@ -44950,6 +45023,10 @@ class CfnSpotFleet(
44950
45023
  def weighted_capacity(self) -> typing.Optional[jsii.Number]:
44951
45024
  '''The number of units provided by the specified instance type.
44952
45025
 
45026
+ .. epigraph::
45027
+
45028
+ When specifying weights, the price used in the ``lowest-price`` and ``price-capacity-optimized`` allocation strategies is per *unit* hour (where the instance price is divided by the specified weight). However, if all the specified weights are above the requested ``TargetCapacity`` , resulting in only 1 instance being launched, the price used is per *instance* hour.
45029
+
44953
45030
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-spotfleet-launchtemplateoverrides.html#cfn-ec2-spotfleet-launchtemplateoverrides-weightedcapacity
44954
45031
  '''
44955
45032
  result = self._values.get("weighted_capacity")
@@ -55450,7 +55527,8 @@ class CfnVPCCidrBlock(
55450
55527
  @builtins.property
55451
55528
  @jsii.member(jsii_name="attrId")
55452
55529
  def attr_id(self) -> builtins.str:
55453
- '''
55530
+ '''The Id of the VPC associated CIDR Block.
55531
+
55454
55532
  :cloudformationAttribute: Id
55455
55533
  '''
55456
55534
  return typing.cast(builtins.str, jsii.get(self, "attrId"))
@@ -62408,7 +62486,7 @@ class CfnVolume(
62408
62486
  - You successfully update an Amazon EBS volume and the update succeeds. When you attempt another update within the cooldown window, that update will be subject to a cooldown period.
62409
62487
  - You successfully update an Amazon EBS volume and the update succeeds but another change in your ``update-stack`` call fails. The rollback will be subject to a cooldown period.
62410
62488
 
62411
- For more information on the cooldown period, see `Requirements when modifying volumes <https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/modify-volume-requirements.html>`_ .
62489
+ For more information, see `Requirements for EBS volume modifications <https://docs.aws.amazon.com/ebs/latest/userguide/modify-volume-requirements.html>`_ .
62412
62490
 
62413
62491
  *DeletionPolicy attribute*
62414
62492
 
@@ -62471,7 +62549,7 @@ class CfnVolume(
62471
62549
  :param id: Construct identifier for this resource (unique in its scope).
62472
62550
  :param availability_zone: The ID of the Availability Zone in which to create the volume. For example, ``us-east-1a`` .
62473
62551
  :param auto_enable_io: Indicates whether the volume is auto-enabled for I/O operations. By default, Amazon EBS disables I/O to the volume from attached EC2 instances when it determines that a volume's data is potentially inconsistent. If the consistency of the volume is not a concern, and you prefer that the volume be made available immediately if it's impaired, you can configure the volume to automatically enable I/O.
62474
- :param encrypted: Indicates whether the volume should be encrypted. The effect of setting the encryption state to ``true`` depends on the volume origin (new or from a snapshot), starting encryption state, ownership, and whether encryption by default is enabled. For more information, see `Encryption by default <https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EBSEncryption.html#encryption-by-default>`_ in the *Amazon Elastic Compute Cloud User Guide* . Encrypted Amazon EBS volumes must be attached to instances that support Amazon EBS encryption. For more information, see `Supported instance types <https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EBSEncryption.html#EBSEncryption_supported_instances>`_ .
62552
+ :param encrypted: Indicates whether the volume should be encrypted. The effect of setting the encryption state to ``true`` depends on the volume origin (new or from a snapshot), starting encryption state, ownership, and whether encryption by default is enabled. For more information, see `Encryption by default <https://docs.aws.amazon.com/ebs/latest/userguide/work-with-ebs-encr.html#encryption-by-default>`_ in the *Amazon EBS User Guide* . Encrypted Amazon EBS volumes must be attached to instances that support Amazon EBS encryption. For more information, see `Supported instance types <https://docs.aws.amazon.com/ebs/latest/userguide/ebs-encryption-requirements.html#ebs-encryption_supported_instances>`_ .
62475
62553
  :param iops: The number of I/O operations per second (IOPS). For ``gp3`` , ``io1`` , and ``io2`` volumes, this represents the number of IOPS that are provisioned for the volume. For ``gp2`` volumes, this represents the baseline performance of the volume and the rate at which the volume accumulates I/O credits for bursting. The following are the supported values for each volume type: - ``gp3`` : 3,000 - 16,000 IOPS - ``io1`` : 100 - 64,000 IOPS - ``io2`` : 100 - 256,000 IOPS For ``io2`` volumes, you can achieve up to 256,000 IOPS on `instances built on the Nitro System <https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/instance-types.html#ec2-nitro-instances>`_ . On other instances, you can achieve performance up to 32,000 IOPS. This parameter is required for ``io1`` and ``io2`` volumes. The default for ``gp3`` volumes is 3,000 IOPS. This parameter is not supported for ``gp2`` , ``st1`` , ``sc1`` , or ``standard`` volumes.
62476
62554
  :param kms_key_id: The identifier of the AWS KMS key to use for Amazon EBS encryption. If ``KmsKeyId`` is specified, the encrypted state must be ``true`` . If you omit this property and your account is enabled for encryption by default, or *Encrypted* is set to ``true`` , then the volume is encrypted using the default key specified for your account. If your account does not have a default key, then the volume is encrypted using the AWS managed key . Alternatively, if you want to specify a different key, you can specify one of the following: - Key ID. For example, 1234abcd-12ab-34cd-56ef-1234567890ab. - Key alias. Specify the alias for the key, prefixed with ``alias/`` . For example, for a key with the alias ``my_cmk`` , use ``alias/my_cmk`` . Or to specify the AWS managed key , use ``alias/aws/ebs`` . - Key ARN. For example, arn:aws:kms:us-east-1:012345678910:key/1234abcd-12ab-34cd-56ef-1234567890ab. - Alias ARN. For example, arn:aws:kms:us-east-1:012345678910:alias/ExampleAlias.
62477
62555
  :param multi_attach_enabled: Indicates whether Amazon EBS Multi-Attach is enabled. AWS CloudFormation does not currently support updating a single-attach volume to be multi-attach enabled, updating a multi-attach enabled volume to be single-attach, or updating the size or number of I/O operations per second (IOPS) of a multi-attach enabled volume.
@@ -62480,7 +62558,7 @@ class CfnVolume(
62480
62558
  :param snapshot_id: The snapshot from which to create the volume. You must specify either a snapshot ID or a volume size.
62481
62559
  :param tags: The tags to apply to the volume during creation.
62482
62560
  :param throughput: The throughput to provision for a volume, with a maximum of 1,000 MiB/s. This parameter is valid only for ``gp3`` volumes. The default value is 125. Valid Range: Minimum value of 125. Maximum value of 1000.
62483
- :param volume_type: The volume type. This parameter can be one of the following values:. - General Purpose SSD: ``gp2`` | ``gp3`` - Provisioned IOPS SSD: ``io1`` | ``io2`` - Throughput Optimized HDD: ``st1`` - Cold HDD: ``sc1`` - Magnetic: ``standard`` For more information, see `Amazon EBS volume types <https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EBSVolumeTypes.html>`_ in the *Amazon Elastic Compute Cloud User Guide* . Default: ``gp2``
62561
+ :param volume_type: The volume type. This parameter can be one of the following values:. - General Purpose SSD: ``gp2`` | ``gp3`` - Provisioned IOPS SSD: ``io1`` | ``io2`` - Throughput Optimized HDD: ``st1`` - Cold HDD: ``sc1`` - Magnetic: ``standard`` For more information, see `Amazon EBS volume types <https://docs.aws.amazon.com/ebs/latest/userguide/ebs-volume-types.html>`_ . Default: ``gp2``
62484
62562
  '''
62485
62563
  if __debug__:
62486
62564
  type_hints = typing.get_type_hints(_typecheckingstub__915a70f35b9237e059cd8fc78c5da31e1d4f2476ed4857c7ac173e559447905e)
@@ -62998,7 +63076,7 @@ class CfnVolumeProps:
62998
63076
 
62999
63077
  :param availability_zone: The ID of the Availability Zone in which to create the volume. For example, ``us-east-1a`` .
63000
63078
  :param auto_enable_io: Indicates whether the volume is auto-enabled for I/O operations. By default, Amazon EBS disables I/O to the volume from attached EC2 instances when it determines that a volume's data is potentially inconsistent. If the consistency of the volume is not a concern, and you prefer that the volume be made available immediately if it's impaired, you can configure the volume to automatically enable I/O.
63001
- :param encrypted: Indicates whether the volume should be encrypted. The effect of setting the encryption state to ``true`` depends on the volume origin (new or from a snapshot), starting encryption state, ownership, and whether encryption by default is enabled. For more information, see `Encryption by default <https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EBSEncryption.html#encryption-by-default>`_ in the *Amazon Elastic Compute Cloud User Guide* . Encrypted Amazon EBS volumes must be attached to instances that support Amazon EBS encryption. For more information, see `Supported instance types <https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EBSEncryption.html#EBSEncryption_supported_instances>`_ .
63079
+ :param encrypted: Indicates whether the volume should be encrypted. The effect of setting the encryption state to ``true`` depends on the volume origin (new or from a snapshot), starting encryption state, ownership, and whether encryption by default is enabled. For more information, see `Encryption by default <https://docs.aws.amazon.com/ebs/latest/userguide/work-with-ebs-encr.html#encryption-by-default>`_ in the *Amazon EBS User Guide* . Encrypted Amazon EBS volumes must be attached to instances that support Amazon EBS encryption. For more information, see `Supported instance types <https://docs.aws.amazon.com/ebs/latest/userguide/ebs-encryption-requirements.html#ebs-encryption_supported_instances>`_ .
63002
63080
  :param iops: The number of I/O operations per second (IOPS). For ``gp3`` , ``io1`` , and ``io2`` volumes, this represents the number of IOPS that are provisioned for the volume. For ``gp2`` volumes, this represents the baseline performance of the volume and the rate at which the volume accumulates I/O credits for bursting. The following are the supported values for each volume type: - ``gp3`` : 3,000 - 16,000 IOPS - ``io1`` : 100 - 64,000 IOPS - ``io2`` : 100 - 256,000 IOPS For ``io2`` volumes, you can achieve up to 256,000 IOPS on `instances built on the Nitro System <https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/instance-types.html#ec2-nitro-instances>`_ . On other instances, you can achieve performance up to 32,000 IOPS. This parameter is required for ``io1`` and ``io2`` volumes. The default for ``gp3`` volumes is 3,000 IOPS. This parameter is not supported for ``gp2`` , ``st1`` , ``sc1`` , or ``standard`` volumes.
63003
63081
  :param kms_key_id: The identifier of the AWS KMS key to use for Amazon EBS encryption. If ``KmsKeyId`` is specified, the encrypted state must be ``true`` . If you omit this property and your account is enabled for encryption by default, or *Encrypted* is set to ``true`` , then the volume is encrypted using the default key specified for your account. If your account does not have a default key, then the volume is encrypted using the AWS managed key . Alternatively, if you want to specify a different key, you can specify one of the following: - Key ID. For example, 1234abcd-12ab-34cd-56ef-1234567890ab. - Key alias. Specify the alias for the key, prefixed with ``alias/`` . For example, for a key with the alias ``my_cmk`` , use ``alias/my_cmk`` . Or to specify the AWS managed key , use ``alias/aws/ebs`` . - Key ARN. For example, arn:aws:kms:us-east-1:012345678910:key/1234abcd-12ab-34cd-56ef-1234567890ab. - Alias ARN. For example, arn:aws:kms:us-east-1:012345678910:alias/ExampleAlias.
63004
63082
  :param multi_attach_enabled: Indicates whether Amazon EBS Multi-Attach is enabled. AWS CloudFormation does not currently support updating a single-attach volume to be multi-attach enabled, updating a multi-attach enabled volume to be single-attach, or updating the size or number of I/O operations per second (IOPS) of a multi-attach enabled volume.
@@ -63007,7 +63085,7 @@ class CfnVolumeProps:
63007
63085
  :param snapshot_id: The snapshot from which to create the volume. You must specify either a snapshot ID or a volume size.
63008
63086
  :param tags: The tags to apply to the volume during creation.
63009
63087
  :param throughput: The throughput to provision for a volume, with a maximum of 1,000 MiB/s. This parameter is valid only for ``gp3`` volumes. The default value is 125. Valid Range: Minimum value of 125. Maximum value of 1000.
63010
- :param volume_type: The volume type. This parameter can be one of the following values:. - General Purpose SSD: ``gp2`` | ``gp3`` - Provisioned IOPS SSD: ``io1`` | ``io2`` - Throughput Optimized HDD: ``st1`` - Cold HDD: ``sc1`` - Magnetic: ``standard`` For more information, see `Amazon EBS volume types <https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EBSVolumeTypes.html>`_ in the *Amazon Elastic Compute Cloud User Guide* . Default: ``gp2``
63088
+ :param volume_type: The volume type. This parameter can be one of the following values:. - General Purpose SSD: ``gp2`` | ``gp3`` - Provisioned IOPS SSD: ``io1`` | ``io2`` - Throughput Optimized HDD: ``st1`` - Cold HDD: ``sc1`` - Magnetic: ``standard`` For more information, see `Amazon EBS volume types <https://docs.aws.amazon.com/ebs/latest/userguide/ebs-volume-types.html>`_ . Default: ``gp2``
63011
63089
 
63012
63090
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-volume.html
63013
63091
  :exampleMetadata: fixture=_generated
@@ -63109,9 +63187,9 @@ class CfnVolumeProps:
63109
63187
  ) -> typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]]:
63110
63188
  '''Indicates whether the volume should be encrypted.
63111
63189
 
63112
- The effect of setting the encryption state to ``true`` depends on the volume origin (new or from a snapshot), starting encryption state, ownership, and whether encryption by default is enabled. For more information, see `Encryption by default <https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EBSEncryption.html#encryption-by-default>`_ in the *Amazon Elastic Compute Cloud User Guide* .
63190
+ The effect of setting the encryption state to ``true`` depends on the volume origin (new or from a snapshot), starting encryption state, ownership, and whether encryption by default is enabled. For more information, see `Encryption by default <https://docs.aws.amazon.com/ebs/latest/userguide/work-with-ebs-encr.html#encryption-by-default>`_ in the *Amazon EBS User Guide* .
63113
63191
 
63114
- Encrypted Amazon EBS volumes must be attached to instances that support Amazon EBS encryption. For more information, see `Supported instance types <https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EBSEncryption.html#EBSEncryption_supported_instances>`_ .
63192
+ Encrypted Amazon EBS volumes must be attached to instances that support Amazon EBS encryption. For more information, see `Supported instance types <https://docs.aws.amazon.com/ebs/latest/userguide/ebs-encryption-requirements.html#ebs-encryption_supported_instances>`_ .
63115
63193
 
63116
63194
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-volume.html#cfn-ec2-volume-encrypted
63117
63195
  '''
@@ -63243,7 +63321,7 @@ class CfnVolumeProps:
63243
63321
  - Cold HDD: ``sc1``
63244
63322
  - Magnetic: ``standard``
63245
63323
 
63246
- For more information, see `Amazon EBS volume types <https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EBSVolumeTypes.html>`_ in the *Amazon Elastic Compute Cloud User Guide* .
63324
+ For more information, see `Amazon EBS volume types <https://docs.aws.amazon.com/ebs/latest/userguide/ebs-volume-types.html>`_ .
63247
63325
 
63248
63326
  Default: ``gp2``
63249
63327
 
@@ -72126,6 +72204,8 @@ class InstanceClass(enum.Enum):
72126
72204
  '''Memory optimized instances based on AMD EPYC, 5th generation.'''
72127
72205
  MEMORY5_AMD_NVME_DRIVE = "MEMORY5_AMD_NVME_DRIVE"
72128
72206
  '''Memory optimized instances based on AMD EPYC with local NVME drive, 5th generation.'''
72207
+ R5AD = "R5AD"
72208
+ '''Memory optimized instances based on AMD EPYC with local NVME drive, 5th generation.'''
72129
72209
  HIGH_MEMORY_3TB_1 = "HIGH_MEMORY_3TB_1"
72130
72210
  '''High memory instances (3TB) based on Intel Xeon Platinum 8176M (Skylake) processors, 1st generation.'''
72131
72211
  U_3TB1 = "U_3TB1"
@@ -72150,8 +72230,6 @@ class InstanceClass(enum.Enum):
72150
72230
  '''High memory instances (24TB) based on Intel Xeon Scalable (Cascade Lake) processors, 1st generation.'''
72151
72231
  U_24TB1 = "U_24TB1"
72152
72232
  '''High memory instances (24TB) based on Intel Xeon Scalable (Cascade Lake) processors, 1st generation.'''
72153
- R5AD = "R5AD"
72154
- '''Memory optimized instances based on AMD EPYC with local NVME drive, 5th generation.'''
72155
72233
  MEMORY5_EBS_OPTIMIZED = "MEMORY5_EBS_OPTIMIZED"
72156
72234
  '''Memory optimized instances that are also EBS-optimized, 5th generation.'''
72157
72235
  R5B = "R5B"
@@ -72292,12 +72370,16 @@ class InstanceClass(enum.Enum):
72292
72370
  '''Storage-optimized instances, 3rd generation.'''
72293
72371
  STORAGE_COMPUTE_1 = "STORAGE_COMPUTE_1"
72294
72372
  '''Storage/compute balanced instances, 1st generation.'''
72373
+ H1 = "H1"
72374
+ '''Storage/compute balanced instances, 1st generation.'''
72375
+ TRAINING_ACCELERATOR1 = "TRAINING_ACCELERATOR1"
72376
+ '''High performance computing powered by AWS Trainium.'''
72295
72377
  TRN1 = "TRN1"
72296
72378
  '''High performance computing powered by AWS Trainium.'''
72379
+ TRAINING_ACCELERATOR1_ENHANCED_NETWORK = "TRAINING_ACCELERATOR1_ENHANCED_NETWORK"
72380
+ '''Network-optimized high performance computing powered by AWS Trainium.'''
72297
72381
  TRN1N = "TRN1N"
72298
- '''High performance computing powered by AWS Trainium.'''
72299
- H1 = "H1"
72300
- '''Storage/compute balanced instances, 1st generation.'''
72382
+ '''Network-optimized high performance computing powered by AWS Trainium.'''
72301
72383
  IO3 = "IO3"
72302
72384
  '''I/O-optimized instances, 3rd generation.'''
72303
72385
  I3 = "I3"
@@ -72345,7 +72427,7 @@ class InstanceClass(enum.Enum):
72345
72427
  MEMORY_INTENSIVE_1_EXTENDED = "MEMORY_INTENSIVE_1_EXTENDED"
72346
72428
  '''Memory-intensive instances, extended, 1st generation.'''
72347
72429
  X1E = "X1E"
72348
- '''Memory-intensive instances, 1st generation.'''
72430
+ '''Memory-intensive instances, extended, 1st generation.'''
72349
72431
  MEMORY_INTENSIVE_2_GRAVITON2 = "MEMORY_INTENSIVE_2_GRAVITON2"
72350
72432
  '''Memory-intensive instances, 2nd generation with Graviton2 processors.
72351
72433
 
@@ -72411,11 +72493,11 @@ class InstanceClass(enum.Enum):
72411
72493
  P2 = "P2"
72412
72494
  '''Parallel-processing optimized instances, 2nd generation.'''
72413
72495
  PARALLEL3 = "PARALLEL3"
72414
- '''Parallel-processing optimized instances, 3nd generation.'''
72496
+ '''Parallel-processing optimized instances, 3rd generation.'''
72415
72497
  P3 = "P3"
72416
72498
  '''Parallel-processing optimized instances, 3rd generation.'''
72417
72499
  PARALLEL3_NVME_DRIVE_HIGH_PERFORMANCE = "PARALLEL3_NVME_DRIVE_HIGH_PERFORMANCE"
72418
- '''Parallel-processing optimized instances with local NVME drive for high performance computing, 3nd generation.'''
72500
+ '''Parallel-processing optimized instances with local NVME drive for high performance computing, 3rd generation.'''
72419
72501
  P3DN = "P3DN"
72420
72502
  '''Parallel-processing optimized instances with local NVME drive for high performance computing, 3rd generation.'''
72421
72503
  PARALLEL4_NVME_DRIVE_EXTENDED = "PARALLEL4_NVME_DRIVE_EXTENDED"
@@ -72510,6 +72592,18 @@ class InstanceClass(enum.Enum):
72510
72592
  '''Macintosh instances built on Apple Mac mini computers, 1st generation with Intel procesors.'''
72511
72593
  MAC1 = "MAC1"
72512
72594
  '''Macintosh instances built on Apple Mac mini computers, 1st generation with Intel procesors.'''
72595
+ MACINTOSH2_M1 = "MACINTOSH2_M1"
72596
+ '''Macintosh instances built on Apple Mac mini 2020 computers, 2nd generation with Apple silicon M1 processors.'''
72597
+ MAC2 = "MAC2"
72598
+ '''Macintosh instances built on Apple Mac mini 2020 computers, 2nd generation with Apple silicon M1 processors.'''
72599
+ MACINTOSH2_M2 = "MACINTOSH2_M2"
72600
+ '''Macintosh instances built on Apple Mac mini 2023 computers, 2nd generation with Apple silicon M2 processors.'''
72601
+ MAC2_M2 = "MAC2_M2"
72602
+ '''Macintosh instances built on Apple Mac mini 2023 computers, 2nd generation with Apple silicon M2 processors.'''
72603
+ MACINTOSH2_M2_PRO = "MACINTOSH2_M2_PRO"
72604
+ '''Macintosh instances built on Apple Mac mini 2023 computers, 2nd generation with Apple silicon M2 Pro processors.'''
72605
+ MAC2_M2PRO = "MAC2_M2PRO"
72606
+ '''Macintosh instances built on Apple Mac mini 2023 computers, 2nd generation with Apple silicon M2 Pro processors.'''
72513
72607
  VIDEO_TRANSCODING1 = "VIDEO_TRANSCODING1"
72514
72608
  '''Multi-stream video transcoding instances for resolutions up to 4K UHD, 1st generation.'''
72515
72609
  VT1 = "VT1"
@@ -72518,10 +72612,26 @@ class InstanceClass(enum.Enum):
72518
72612
  '''High performance computing based on AMD EPYC, 6th generation.'''
72519
72613
  HPC6A = "HPC6A"
72520
72614
  '''High performance computing based on AMD EPYC, 6th generation.'''
72615
+ HIGH_PERFORMANCE_COMPUTING6_INTEL_NVME_DRIVE = "HIGH_PERFORMANCE_COMPUTING6_INTEL_NVME_DRIVE"
72616
+ '''High performance computing with local NVME drive based on 6th generation with Intel Xeon Scalable processors (3rd generation processors code named Ice Lake), 6th generation.'''
72617
+ HPC6ID = "HPC6ID"
72618
+ '''High performance computing with local NVME drive based on 6th generation with Intel Xeon Scalable processors (3rd generation processors code named Ice Lake), 6th generation.'''
72619
+ HIGH_PERFORMANCE_COMPUTING7_AMD = "HIGH_PERFORMANCE_COMPUTING7_AMD"
72620
+ '''High performance computing based on AMD EPYC, 7th generation.'''
72621
+ HPC7A = "HPC7A"
72622
+ '''High performance computing based on AMD EPYC, 7th generation.'''
72623
+ HIGH_PERFORMANCE_COMPUTING7_GRAVITON = "HIGH_PERFORMANCE_COMPUTING7_GRAVITON"
72624
+ '''High performance computing based on Graviton, 7th generation.'''
72625
+ HPC7G = "HPC7G"
72626
+ '''High performance computing based on Graviton, 7th generation.'''
72521
72627
  DEEP_LEARNING1 = "DEEP_LEARNING1"
72522
72628
  '''Deep learning instances powered by Gaudi accelerators from Habana Labs (an Intel company), 1st generation.'''
72523
72629
  DL1 = "DL1"
72524
72630
  '''Deep learning instances powered by Gaudi accelerators from Habana Labs (an Intel company), 1st generation.'''
72631
+ DEEP_LEARNING2_QUALCOMM = "DEEP_LEARNING2_QUALCOMM"
72632
+ '''Deep learning instances powered by Qualcomm AI 100 Standard accelerators, 2nd generation.'''
72633
+ DL2Q = "DL2Q"
72634
+ '''Deep learning instances powered by Qualcomm AI 100 Standard accelerators, 2nd generation.'''
72525
72635
 
72526
72636
 
72527
72637
  @jsii.enum(jsii_type="aws-cdk-lib.aws_ec2.InstanceInitiatedShutdownBehavior")
@@ -73253,10 +73363,20 @@ class InstanceSize(enum.Enum):
73253
73363
  '''Instance size XLARGE48 (48xlarge).'''
73254
73364
  XLARGE56 = "XLARGE56"
73255
73365
  '''Instance size XLARGE56 (56xlarge).'''
73366
+ XLARGE96 = "XLARGE96"
73367
+ '''Instance size XLARGE96 (96xlarge).'''
73256
73368
  XLARGE112 = "XLARGE112"
73257
- '''Instance size XLARGE56 (112xlarge).'''
73369
+ '''Instance size XLARGE112 (112xlarge).'''
73258
73370
  METAL = "METAL"
73259
73371
  '''Instance size METAL (metal).'''
73372
+ XLARGE16METAL = "XLARGE16METAL"
73373
+ '''Instance size XLARGE16METAL (metal-16xl).'''
73374
+ XLARGE24METAL = "XLARGE24METAL"
73375
+ '''Instance size XLARGE24METAL (metal-24xl).'''
73376
+ XLARGE32METAL = "XLARGE32METAL"
73377
+ '''Instance size XLARGE32METAL (metal-32xl).'''
73378
+ XLARGE48METAL = "XLARGE48METAL"
73379
+ '''Instance size XLARGE48METAL (metal-48xl).'''
73260
73380
 
73261
73381
 
73262
73382
  class InstanceType(
@@ -73526,8 +73646,23 @@ class InterfaceVpcEndpointAwsService(
73526
73646
  @jsii.python.classproperty
73527
73647
  @jsii.member(jsii_name="APP_MESH")
73528
73648
  def APP_MESH(cls) -> "InterfaceVpcEndpointAwsService":
73649
+ '''
73650
+ :deprecated: - Use InterfaceVpcEndpointAwsService.APP_MESH_ENVOY_MANAGEMENT instead.
73651
+
73652
+ :stability: deprecated
73653
+ '''
73529
73654
  return typing.cast("InterfaceVpcEndpointAwsService", jsii.sget(cls, "APP_MESH"))
73530
73655
 
73656
+ @jsii.python.classproperty
73657
+ @jsii.member(jsii_name="APP_MESH_ENVOY_MANAGEMENT")
73658
+ def APP_MESH_ENVOY_MANAGEMENT(cls) -> "InterfaceVpcEndpointAwsService":
73659
+ return typing.cast("InterfaceVpcEndpointAwsService", jsii.sget(cls, "APP_MESH_ENVOY_MANAGEMENT"))
73660
+
73661
+ @jsii.python.classproperty
73662
+ @jsii.member(jsii_name="APP_MESH_OPS")
73663
+ def APP_MESH_OPS(cls) -> "InterfaceVpcEndpointAwsService":
73664
+ return typing.cast("InterfaceVpcEndpointAwsService", jsii.sget(cls, "APP_MESH_OPS"))
73665
+
73531
73666
  @jsii.python.classproperty
73532
73667
  @jsii.member(jsii_name="APP_RUNNER")
73533
73668
  def APP_RUNNER(cls) -> "InterfaceVpcEndpointAwsService":
@@ -73543,6 +73678,16 @@ class InterfaceVpcEndpointAwsService(
73543
73678
  def APP_SYNC(cls) -> "InterfaceVpcEndpointAwsService":
73544
73679
  return typing.cast("InterfaceVpcEndpointAwsService", jsii.sget(cls, "APP_SYNC"))
73545
73680
 
73681
+ @jsii.python.classproperty
73682
+ @jsii.member(jsii_name="APPCONFIG")
73683
+ def APPCONFIG(cls) -> "InterfaceVpcEndpointAwsService":
73684
+ return typing.cast("InterfaceVpcEndpointAwsService", jsii.sget(cls, "APPCONFIG"))
73685
+
73686
+ @jsii.python.classproperty
73687
+ @jsii.member(jsii_name="APPCONFIGDATA")
73688
+ def APPCONFIGDATA(cls) -> "InterfaceVpcEndpointAwsService":
73689
+ return typing.cast("InterfaceVpcEndpointAwsService", jsii.sget(cls, "APPCONFIGDATA"))
73690
+
73546
73691
  @jsii.python.classproperty
73547
73692
  @jsii.member(jsii_name="APPLICATION_AUTOSCALING")
73548
73693
  def APPLICATION_AUTOSCALING(cls) -> "InterfaceVpcEndpointAwsService":
@@ -73583,6 +73728,11 @@ class InterfaceVpcEndpointAwsService(
73583
73728
  def AUTOSCALING_PLANS(cls) -> "InterfaceVpcEndpointAwsService":
73584
73729
  return typing.cast("InterfaceVpcEndpointAwsService", jsii.sget(cls, "AUTOSCALING_PLANS"))
73585
73730
 
73731
+ @jsii.python.classproperty
73732
+ @jsii.member(jsii_name="B2B_DATA_INTERCHANGE")
73733
+ def B2_B_DATA_INTERCHANGE(cls) -> "InterfaceVpcEndpointAwsService":
73734
+ return typing.cast("InterfaceVpcEndpointAwsService", jsii.sget(cls, "B2B_DATA_INTERCHANGE"))
73735
+
73586
73736
  @jsii.python.classproperty
73587
73737
  @jsii.member(jsii_name="BACKUP")
73588
73738
  def BACKUP(cls) -> "InterfaceVpcEndpointAwsService":
@@ -73598,6 +73748,26 @@ class InterfaceVpcEndpointAwsService(
73598
73748
  def BATCH(cls) -> "InterfaceVpcEndpointAwsService":
73599
73749
  return typing.cast("InterfaceVpcEndpointAwsService", jsii.sget(cls, "BATCH"))
73600
73750
 
73751
+ @jsii.python.classproperty
73752
+ @jsii.member(jsii_name="BEDROCK")
73753
+ def BEDROCK(cls) -> "InterfaceVpcEndpointAwsService":
73754
+ return typing.cast("InterfaceVpcEndpointAwsService", jsii.sget(cls, "BEDROCK"))
73755
+
73756
+ @jsii.python.classproperty
73757
+ @jsii.member(jsii_name="BEDROCK_AGENT")
73758
+ def BEDROCK_AGENT(cls) -> "InterfaceVpcEndpointAwsService":
73759
+ return typing.cast("InterfaceVpcEndpointAwsService", jsii.sget(cls, "BEDROCK_AGENT"))
73760
+
73761
+ @jsii.python.classproperty
73762
+ @jsii.member(jsii_name="BEDROCK_AGENT_RUNTIME")
73763
+ def BEDROCK_AGENT_RUNTIME(cls) -> "InterfaceVpcEndpointAwsService":
73764
+ return typing.cast("InterfaceVpcEndpointAwsService", jsii.sget(cls, "BEDROCK_AGENT_RUNTIME"))
73765
+
73766
+ @jsii.python.classproperty
73767
+ @jsii.member(jsii_name="BEDROCK_RUNTIME")
73768
+ def BEDROCK_RUNTIME(cls) -> "InterfaceVpcEndpointAwsService":
73769
+ return typing.cast("InterfaceVpcEndpointAwsService", jsii.sget(cls, "BEDROCK_RUNTIME"))
73770
+
73601
73771
  @jsii.python.classproperty
73602
73772
  @jsii.member(jsii_name="BILLING_CONDUCTOR")
73603
73773
  def BILLING_CONDUCTOR(cls) -> "InterfaceVpcEndpointAwsService":
@@ -73608,6 +73778,11 @@ class InterfaceVpcEndpointAwsService(
73608
73778
  def BRAKET(cls) -> "InterfaceVpcEndpointAwsService":
73609
73779
  return typing.cast("InterfaceVpcEndpointAwsService", jsii.sget(cls, "BRAKET"))
73610
73780
 
73781
+ @jsii.python.classproperty
73782
+ @jsii.member(jsii_name="CLEAN_ROOMS")
73783
+ def CLEAN_ROOMS(cls) -> "InterfaceVpcEndpointAwsService":
73784
+ return typing.cast("InterfaceVpcEndpointAwsService", jsii.sget(cls, "CLEAN_ROOMS"))
73785
+
73611
73786
  @jsii.python.classproperty
73612
73787
  @jsii.member(jsii_name="CLOUD_CONTROL_API")
73613
73788
  def CLOUD_CONTROL_API(cls) -> "InterfaceVpcEndpointAwsService":
@@ -73623,6 +73798,26 @@ class InterfaceVpcEndpointAwsService(
73623
73798
  def CLOUD_DIRECTORY(cls) -> "InterfaceVpcEndpointAwsService":
73624
73799
  return typing.cast("InterfaceVpcEndpointAwsService", jsii.sget(cls, "CLOUD_DIRECTORY"))
73625
73800
 
73801
+ @jsii.python.classproperty
73802
+ @jsii.member(jsii_name="CLOUD_MAP_DATA_SERVICE_DISCOVERY")
73803
+ def CLOUD_MAP_DATA_SERVICE_DISCOVERY(cls) -> "InterfaceVpcEndpointAwsService":
73804
+ return typing.cast("InterfaceVpcEndpointAwsService", jsii.sget(cls, "CLOUD_MAP_DATA_SERVICE_DISCOVERY"))
73805
+
73806
+ @jsii.python.classproperty
73807
+ @jsii.member(jsii_name="CLOUD_MAP_DATA_SERVICE_DISCOVERY_FIPS")
73808
+ def CLOUD_MAP_DATA_SERVICE_DISCOVERY_FIPS(cls) -> "InterfaceVpcEndpointAwsService":
73809
+ return typing.cast("InterfaceVpcEndpointAwsService", jsii.sget(cls, "CLOUD_MAP_DATA_SERVICE_DISCOVERY_FIPS"))
73810
+
73811
+ @jsii.python.classproperty
73812
+ @jsii.member(jsii_name="CLOUD_MAP_SERVICE_DISCOVERY")
73813
+ def CLOUD_MAP_SERVICE_DISCOVERY(cls) -> "InterfaceVpcEndpointAwsService":
73814
+ return typing.cast("InterfaceVpcEndpointAwsService", jsii.sget(cls, "CLOUD_MAP_SERVICE_DISCOVERY"))
73815
+
73816
+ @jsii.python.classproperty
73817
+ @jsii.member(jsii_name="CLOUD_MAP_SERVICE_DISCOVERY_FIPS")
73818
+ def CLOUD_MAP_SERVICE_DISCOVERY_FIPS(cls) -> "InterfaceVpcEndpointAwsService":
73819
+ return typing.cast("InterfaceVpcEndpointAwsService", jsii.sget(cls, "CLOUD_MAP_SERVICE_DISCOVERY_FIPS"))
73820
+
73626
73821
  @jsii.python.classproperty
73627
73822
  @jsii.member(jsii_name="CLOUDFORMATION")
73628
73823
  def CLOUDFORMATION(cls) -> "InterfaceVpcEndpointAwsService":
@@ -73678,6 +73873,11 @@ class InterfaceVpcEndpointAwsService(
73678
73873
  def CLOUDWATCH_MONITORING(cls) -> "InterfaceVpcEndpointAwsService":
73679
73874
  return typing.cast("InterfaceVpcEndpointAwsService", jsii.sget(cls, "CLOUDWATCH_MONITORING"))
73680
73875
 
73876
+ @jsii.python.classproperty
73877
+ @jsii.member(jsii_name="CLOUDWATCH_NETWORK_MONITOR")
73878
+ def CLOUDWATCH_NETWORK_MONITOR(cls) -> "InterfaceVpcEndpointAwsService":
73879
+ return typing.cast("InterfaceVpcEndpointAwsService", jsii.sget(cls, "CLOUDWATCH_NETWORK_MONITOR"))
73880
+
73681
73881
  @jsii.python.classproperty
73682
73882
  @jsii.member(jsii_name="CLOUDWATCH_RUM")
73683
73883
  def CLOUDWATCH_RUM(cls) -> "InterfaceVpcEndpointAwsService":
@@ -73713,6 +73913,16 @@ class InterfaceVpcEndpointAwsService(
73713
73913
  def CODEBUILD_FIPS(cls) -> "InterfaceVpcEndpointAwsService":
73714
73914
  return typing.cast("InterfaceVpcEndpointAwsService", jsii.sget(cls, "CODEBUILD_FIPS"))
73715
73915
 
73916
+ @jsii.python.classproperty
73917
+ @jsii.member(jsii_name="CODECATALYST_GIT")
73918
+ def CODECATALYST_GIT(cls) -> "InterfaceVpcEndpointAwsService":
73919
+ return typing.cast("InterfaceVpcEndpointAwsService", jsii.sget(cls, "CODECATALYST_GIT"))
73920
+
73921
+ @jsii.python.classproperty
73922
+ @jsii.member(jsii_name="CODECATALYST_PACKAGES")
73923
+ def CODECATALYST_PACKAGES(cls) -> "InterfaceVpcEndpointAwsService":
73924
+ return typing.cast("InterfaceVpcEndpointAwsService", jsii.sget(cls, "CODECATALYST_PACKAGES"))
73925
+
73716
73926
  @jsii.python.classproperty
73717
73927
  @jsii.member(jsii_name="CODECOMMIT")
73718
73928
  def CODECOMMIT(cls) -> "InterfaceVpcEndpointAwsService":
@@ -73763,6 +73973,11 @@ class InterfaceVpcEndpointAwsService(
73763
73973
  def CODESTAR_CONNECTIONS(cls) -> "InterfaceVpcEndpointAwsService":
73764
73974
  return typing.cast("InterfaceVpcEndpointAwsService", jsii.sget(cls, "CODESTAR_CONNECTIONS"))
73765
73975
 
73976
+ @jsii.python.classproperty
73977
+ @jsii.member(jsii_name="CODEWHISPERER")
73978
+ def CODEWHISPERER(cls) -> "InterfaceVpcEndpointAwsService":
73979
+ return typing.cast("InterfaceVpcEndpointAwsService", jsii.sget(cls, "CODEWHISPERER"))
73980
+
73766
73981
  @jsii.python.classproperty
73767
73982
  @jsii.member(jsii_name="COMPREHEND")
73768
73983
  def COMPREHEND(cls) -> "InterfaceVpcEndpointAwsService":
@@ -73828,11 +74043,21 @@ class InterfaceVpcEndpointAwsService(
73828
74043
  def DATASYNC(cls) -> "InterfaceVpcEndpointAwsService":
73829
74044
  return typing.cast("InterfaceVpcEndpointAwsService", jsii.sget(cls, "DATASYNC"))
73830
74045
 
74046
+ @jsii.python.classproperty
74047
+ @jsii.member(jsii_name="DATAZONE")
74048
+ def DATAZONE(cls) -> "InterfaceVpcEndpointAwsService":
74049
+ return typing.cast("InterfaceVpcEndpointAwsService", jsii.sget(cls, "DATAZONE"))
74050
+
73831
74051
  @jsii.python.classproperty
73832
74052
  @jsii.member(jsii_name="DEVOPS_GURU")
73833
74053
  def DEVOPS_GURU(cls) -> "InterfaceVpcEndpointAwsService":
73834
74054
  return typing.cast("InterfaceVpcEndpointAwsService", jsii.sget(cls, "DEVOPS_GURU"))
73835
74055
 
74056
+ @jsii.python.classproperty
74057
+ @jsii.member(jsii_name="DIRECTORY_SERVICE")
74058
+ def DIRECTORY_SERVICE(cls) -> "InterfaceVpcEndpointAwsService":
74059
+ return typing.cast("InterfaceVpcEndpointAwsService", jsii.sget(cls, "DIRECTORY_SERVICE"))
74060
+
73836
74061
  @jsii.python.classproperty
73837
74062
  @jsii.member(jsii_name="EBS_DIRECT")
73838
74063
  def EBS_DIRECT(cls) -> "InterfaceVpcEndpointAwsService":
@@ -73878,6 +74103,11 @@ class InterfaceVpcEndpointAwsService(
73878
74103
  def EKS(cls) -> "InterfaceVpcEndpointAwsService":
73879
74104
  return typing.cast("InterfaceVpcEndpointAwsService", jsii.sget(cls, "EKS"))
73880
74105
 
74106
+ @jsii.python.classproperty
74107
+ @jsii.member(jsii_name="EKS_AUTH")
74108
+ def EKS_AUTH(cls) -> "InterfaceVpcEndpointAwsService":
74109
+ return typing.cast("InterfaceVpcEndpointAwsService", jsii.sget(cls, "EKS_AUTH"))
74110
+
73881
74111
  @jsii.python.classproperty
73882
74112
  @jsii.member(jsii_name="ELASTIC_BEANSTALK")
73883
74113
  def ELASTIC_BEANSTALK(cls) -> "InterfaceVpcEndpointAwsService":
@@ -73923,6 +74153,11 @@ class InterfaceVpcEndpointAwsService(
73923
74153
  def ELASTICACHE_FIPS(cls) -> "InterfaceVpcEndpointAwsService":
73924
74154
  return typing.cast("InterfaceVpcEndpointAwsService", jsii.sget(cls, "ELASTICACHE_FIPS"))
73925
74155
 
74156
+ @jsii.python.classproperty
74157
+ @jsii.member(jsii_name="ELEMENTAL_MEDIACONNECT")
74158
+ def ELEMENTAL_MEDIACONNECT(cls) -> "InterfaceVpcEndpointAwsService":
74159
+ return typing.cast("InterfaceVpcEndpointAwsService", jsii.sget(cls, "ELEMENTAL_MEDIACONNECT"))
74160
+
73926
74161
  @jsii.python.classproperty
73927
74162
  @jsii.member(jsii_name="EMAIL_SMTP")
73928
74163
  def EMAIL_SMTP(cls) -> "InterfaceVpcEndpointAwsService":
@@ -73943,6 +74178,16 @@ class InterfaceVpcEndpointAwsService(
73943
74178
  def EMR_SERVERLESS(cls) -> "InterfaceVpcEndpointAwsService":
73944
74179
  return typing.cast("InterfaceVpcEndpointAwsService", jsii.sget(cls, "EMR_SERVERLESS"))
73945
74180
 
74181
+ @jsii.python.classproperty
74182
+ @jsii.member(jsii_name="EMR_WAL")
74183
+ def EMR_WAL(cls) -> "InterfaceVpcEndpointAwsService":
74184
+ return typing.cast("InterfaceVpcEndpointAwsService", jsii.sget(cls, "EMR_WAL"))
74185
+
74186
+ @jsii.python.classproperty
74187
+ @jsii.member(jsii_name="ENTITY_RESOLUTION")
74188
+ def ENTITY_RESOLUTION(cls) -> "InterfaceVpcEndpointAwsService":
74189
+ return typing.cast("InterfaceVpcEndpointAwsService", jsii.sget(cls, "ENTITY_RESOLUTION"))
74190
+
73946
74191
  @jsii.python.classproperty
73947
74192
  @jsii.member(jsii_name="EVENTBRIDGE")
73948
74193
  def EVENTBRIDGE(cls) -> "InterfaceVpcEndpointAwsService":
@@ -74023,6 +74268,26 @@ class InterfaceVpcEndpointAwsService(
74023
74268
  def GROUNDSTATION(cls) -> "InterfaceVpcEndpointAwsService":
74024
74269
  return typing.cast("InterfaceVpcEndpointAwsService", jsii.sget(cls, "GROUNDSTATION"))
74025
74270
 
74271
+ @jsii.python.classproperty
74272
+ @jsii.member(jsii_name="GUARDDUTY_DATA")
74273
+ def GUARDDUTY_DATA(cls) -> "InterfaceVpcEndpointAwsService":
74274
+ return typing.cast("InterfaceVpcEndpointAwsService", jsii.sget(cls, "GUARDDUTY_DATA"))
74275
+
74276
+ @jsii.python.classproperty
74277
+ @jsii.member(jsii_name="GUARDDUTY_DATA_FIPS")
74278
+ def GUARDDUTY_DATA_FIPS(cls) -> "InterfaceVpcEndpointAwsService":
74279
+ return typing.cast("InterfaceVpcEndpointAwsService", jsii.sget(cls, "GUARDDUTY_DATA_FIPS"))
74280
+
74281
+ @jsii.python.classproperty
74282
+ @jsii.member(jsii_name="HEALTH_IMAGING")
74283
+ def HEALTH_IMAGING(cls) -> "InterfaceVpcEndpointAwsService":
74284
+ return typing.cast("InterfaceVpcEndpointAwsService", jsii.sget(cls, "HEALTH_IMAGING"))
74285
+
74286
+ @jsii.python.classproperty
74287
+ @jsii.member(jsii_name="HEALTH_IMAGING_RUNTIME")
74288
+ def HEALTH_IMAGING_RUNTIME(cls) -> "InterfaceVpcEndpointAwsService":
74289
+ return typing.cast("InterfaceVpcEndpointAwsService", jsii.sget(cls, "HEALTH_IMAGING_RUNTIME"))
74290
+
74026
74291
  @jsii.python.classproperty
74027
74292
  @jsii.member(jsii_name="HEALTHLAKE")
74028
74293
  def HEALTHLAKE(cls) -> "InterfaceVpcEndpointAwsService":
@@ -74048,21 +74313,41 @@ class InterfaceVpcEndpointAwsService(
74048
74313
  def INSPECTOR(cls) -> "InterfaceVpcEndpointAwsService":
74049
74314
  return typing.cast("InterfaceVpcEndpointAwsService", jsii.sget(cls, "INSPECTOR"))
74050
74315
 
74316
+ @jsii.python.classproperty
74317
+ @jsii.member(jsii_name="INSPECTOR_SCAN")
74318
+ def INSPECTOR_SCAN(cls) -> "InterfaceVpcEndpointAwsService":
74319
+ return typing.cast("InterfaceVpcEndpointAwsService", jsii.sget(cls, "INSPECTOR_SCAN"))
74320
+
74051
74321
  @jsii.python.classproperty
74052
74322
  @jsii.member(jsii_name="IOT_CORE")
74053
74323
  def IOT_CORE(cls) -> "InterfaceVpcEndpointAwsService":
74054
74324
  return typing.cast("InterfaceVpcEndpointAwsService", jsii.sget(cls, "IOT_CORE"))
74055
74325
 
74326
+ @jsii.python.classproperty
74327
+ @jsii.member(jsii_name="IOT_CORE_CREDENTIALS")
74328
+ def IOT_CORE_CREDENTIALS(cls) -> "InterfaceVpcEndpointAwsService":
74329
+ return typing.cast("InterfaceVpcEndpointAwsService", jsii.sget(cls, "IOT_CORE_CREDENTIALS"))
74330
+
74056
74331
  @jsii.python.classproperty
74057
74332
  @jsii.member(jsii_name="IOT_CORE_DEVICE_ADVISOR")
74058
74333
  def IOT_CORE_DEVICE_ADVISOR(cls) -> "InterfaceVpcEndpointAwsService":
74059
74334
  return typing.cast("InterfaceVpcEndpointAwsService", jsii.sget(cls, "IOT_CORE_DEVICE_ADVISOR"))
74060
74335
 
74336
+ @jsii.python.classproperty
74337
+ @jsii.member(jsii_name="IOT_CORE_FLEETHUB_API")
74338
+ def IOT_CORE_FLEETHUB_API(cls) -> "InterfaceVpcEndpointAwsService":
74339
+ return typing.cast("InterfaceVpcEndpointAwsService", jsii.sget(cls, "IOT_CORE_FLEETHUB_API"))
74340
+
74061
74341
  @jsii.python.classproperty
74062
74342
  @jsii.member(jsii_name="IOT_CORE_FOR_LORAWAN")
74063
74343
  def IOT_CORE_FOR_LORAWAN(cls) -> "InterfaceVpcEndpointAwsService":
74064
74344
  return typing.cast("InterfaceVpcEndpointAwsService", jsii.sget(cls, "IOT_CORE_FOR_LORAWAN"))
74065
74345
 
74346
+ @jsii.python.classproperty
74347
+ @jsii.member(jsii_name="IOT_FLEETWISE")
74348
+ def IOT_FLEETWISE(cls) -> "InterfaceVpcEndpointAwsService":
74349
+ return typing.cast("InterfaceVpcEndpointAwsService", jsii.sget(cls, "IOT_FLEETWISE"))
74350
+
74066
74351
  @jsii.python.classproperty
74067
74352
  @jsii.member(jsii_name="IOT_GREENGRASS")
74068
74353
  def IOT_GREENGRASS(cls) -> "InterfaceVpcEndpointAwsService":
@@ -74173,6 +74458,11 @@ class InterfaceVpcEndpointAwsService(
74173
74458
  def LICENSE_MANAGER_FIPS(cls) -> "InterfaceVpcEndpointAwsService":
74174
74459
  return typing.cast("InterfaceVpcEndpointAwsService", jsii.sget(cls, "LICENSE_MANAGER_FIPS"))
74175
74460
 
74461
+ @jsii.python.classproperty
74462
+ @jsii.member(jsii_name="LICENSE_MANAGER_USER_SUBSCRIPTIONS")
74463
+ def LICENSE_MANAGER_USER_SUBSCRIPTIONS(cls) -> "InterfaceVpcEndpointAwsService":
74464
+ return typing.cast("InterfaceVpcEndpointAwsService", jsii.sget(cls, "LICENSE_MANAGER_USER_SUBSCRIPTIONS"))
74465
+
74176
74466
  @jsii.python.classproperty
74177
74467
  @jsii.member(jsii_name="LOOKOUT_EQUIPMENT")
74178
74468
  def LOOKOUT_EQUIPMENT(cls) -> "InterfaceVpcEndpointAwsService":
@@ -74198,6 +74488,31 @@ class InterfaceVpcEndpointAwsService(
74198
74488
  def MAINFRAME_MODERNIZATION(cls) -> "InterfaceVpcEndpointAwsService":
74199
74489
  return typing.cast("InterfaceVpcEndpointAwsService", jsii.sget(cls, "MAINFRAME_MODERNIZATION"))
74200
74490
 
74491
+ @jsii.python.classproperty
74492
+ @jsii.member(jsii_name="MANAGED_BLOCKCHAIN_BITCOIN_MAINNET")
74493
+ def MANAGED_BLOCKCHAIN_BITCOIN_MAINNET(cls) -> "InterfaceVpcEndpointAwsService":
74494
+ return typing.cast("InterfaceVpcEndpointAwsService", jsii.sget(cls, "MANAGED_BLOCKCHAIN_BITCOIN_MAINNET"))
74495
+
74496
+ @jsii.python.classproperty
74497
+ @jsii.member(jsii_name="MANAGED_BLOCKCHAIN_BITCOIN_TESTNET")
74498
+ def MANAGED_BLOCKCHAIN_BITCOIN_TESTNET(cls) -> "InterfaceVpcEndpointAwsService":
74499
+ return typing.cast("InterfaceVpcEndpointAwsService", jsii.sget(cls, "MANAGED_BLOCKCHAIN_BITCOIN_TESTNET"))
74500
+
74501
+ @jsii.python.classproperty
74502
+ @jsii.member(jsii_name="MANAGED_BLOCKCHAIN_QUERY")
74503
+ def MANAGED_BLOCKCHAIN_QUERY(cls) -> "InterfaceVpcEndpointAwsService":
74504
+ return typing.cast("InterfaceVpcEndpointAwsService", jsii.sget(cls, "MANAGED_BLOCKCHAIN_QUERY"))
74505
+
74506
+ @jsii.python.classproperty
74507
+ @jsii.member(jsii_name="MANAGEMENT_CONSOLE")
74508
+ def MANAGEMENT_CONSOLE(cls) -> "InterfaceVpcEndpointAwsService":
74509
+ return typing.cast("InterfaceVpcEndpointAwsService", jsii.sget(cls, "MANAGEMENT_CONSOLE"))
74510
+
74511
+ @jsii.python.classproperty
74512
+ @jsii.member(jsii_name="MANAGEMENT_CONSOLE_SIGNIN")
74513
+ def MANAGEMENT_CONSOLE_SIGNIN(cls) -> "InterfaceVpcEndpointAwsService":
74514
+ return typing.cast("InterfaceVpcEndpointAwsService", jsii.sget(cls, "MANAGEMENT_CONSOLE_SIGNIN"))
74515
+
74201
74516
  @jsii.python.classproperty
74202
74517
  @jsii.member(jsii_name="MEMORY_DB")
74203
74518
  def MEMORY_DB(cls) -> "InterfaceVpcEndpointAwsService":
@@ -74223,6 +74538,11 @@ class InterfaceVpcEndpointAwsService(
74223
74538
  def MIGRATIONHUB_STRATEGY(cls) -> "InterfaceVpcEndpointAwsService":
74224
74539
  return typing.cast("InterfaceVpcEndpointAwsService", jsii.sget(cls, "MIGRATIONHUB_STRATEGY"))
74225
74540
 
74541
+ @jsii.python.classproperty
74542
+ @jsii.member(jsii_name="NEPTUNE_ANALYTICS")
74543
+ def NEPTUNE_ANALYTICS(cls) -> "InterfaceVpcEndpointAwsService":
74544
+ return typing.cast("InterfaceVpcEndpointAwsService", jsii.sget(cls, "NEPTUNE_ANALYTICS"))
74545
+
74226
74546
  @jsii.python.classproperty
74227
74547
  @jsii.member(jsii_name="NIMBLE_STUDIO")
74228
74548
  def NIMBLE_STUDIO(cls) -> "InterfaceVpcEndpointAwsService":
@@ -74253,16 +74573,66 @@ class InterfaceVpcEndpointAwsService(
74253
74573
  def OMICS_WORKFLOWS(cls) -> "InterfaceVpcEndpointAwsService":
74254
74574
  return typing.cast("InterfaceVpcEndpointAwsService", jsii.sget(cls, "OMICS_WORKFLOWS"))
74255
74575
 
74576
+ @jsii.python.classproperty
74577
+ @jsii.member(jsii_name="ORGANIZATIONS")
74578
+ def ORGANIZATIONS(cls) -> "InterfaceVpcEndpointAwsService":
74579
+ return typing.cast("InterfaceVpcEndpointAwsService", jsii.sget(cls, "ORGANIZATIONS"))
74580
+
74581
+ @jsii.python.classproperty
74582
+ @jsii.member(jsii_name="ORGANIZATIONS_FIPS")
74583
+ def ORGANIZATIONS_FIPS(cls) -> "InterfaceVpcEndpointAwsService":
74584
+ return typing.cast("InterfaceVpcEndpointAwsService", jsii.sget(cls, "ORGANIZATIONS_FIPS"))
74585
+
74256
74586
  @jsii.python.classproperty
74257
74587
  @jsii.member(jsii_name="PANORAMA")
74258
74588
  def PANORAMA(cls) -> "InterfaceVpcEndpointAwsService":
74259
74589
  return typing.cast("InterfaceVpcEndpointAwsService", jsii.sget(cls, "PANORAMA"))
74260
74590
 
74591
+ @jsii.python.classproperty
74592
+ @jsii.member(jsii_name="PAYMENT_CRYPTOGRAPHY_CONTROLPLANE")
74593
+ def PAYMENT_CRYPTOGRAPHY_CONTROLPLANE(cls) -> "InterfaceVpcEndpointAwsService":
74594
+ return typing.cast("InterfaceVpcEndpointAwsService", jsii.sget(cls, "PAYMENT_CRYPTOGRAPHY_CONTROLPLANE"))
74595
+
74596
+ @jsii.python.classproperty
74597
+ @jsii.member(jsii_name="PAYMENT_CRYTOGRAPHY_DATAPLANE")
74598
+ def PAYMENT_CRYTOGRAPHY_DATAPLANE(cls) -> "InterfaceVpcEndpointAwsService":
74599
+ return typing.cast("InterfaceVpcEndpointAwsService", jsii.sget(cls, "PAYMENT_CRYTOGRAPHY_DATAPLANE"))
74600
+
74601
+ @jsii.python.classproperty
74602
+ @jsii.member(jsii_name="PERSONALIZE")
74603
+ def PERSONALIZE(cls) -> "InterfaceVpcEndpointAwsService":
74604
+ return typing.cast("InterfaceVpcEndpointAwsService", jsii.sget(cls, "PERSONALIZE"))
74605
+
74606
+ @jsii.python.classproperty
74607
+ @jsii.member(jsii_name="PERSONALIZE_EVENTS")
74608
+ def PERSONALIZE_EVENTS(cls) -> "InterfaceVpcEndpointAwsService":
74609
+ return typing.cast("InterfaceVpcEndpointAwsService", jsii.sget(cls, "PERSONALIZE_EVENTS"))
74610
+
74611
+ @jsii.python.classproperty
74612
+ @jsii.member(jsii_name="PERSONALIZE_RUNTIME")
74613
+ def PERSONALIZE_RUNTIME(cls) -> "InterfaceVpcEndpointAwsService":
74614
+ return typing.cast("InterfaceVpcEndpointAwsService", jsii.sget(cls, "PERSONALIZE_RUNTIME"))
74615
+
74261
74616
  @jsii.python.classproperty
74262
74617
  @jsii.member(jsii_name="PINPOINT")
74263
74618
  def PINPOINT(cls) -> "InterfaceVpcEndpointAwsService":
74619
+ '''
74620
+ :deprecated: - Use InterfaceVpcEndpointAwsService.PINPOINT_SMS_VOICE_V2 instead.
74621
+
74622
+ :stability: deprecated
74623
+ '''
74264
74624
  return typing.cast("InterfaceVpcEndpointAwsService", jsii.sget(cls, "PINPOINT"))
74265
74625
 
74626
+ @jsii.python.classproperty
74627
+ @jsii.member(jsii_name="PINPOINT_SMS_VOICE_V2")
74628
+ def PINPOINT_SMS_VOICE_V2(cls) -> "InterfaceVpcEndpointAwsService":
74629
+ return typing.cast("InterfaceVpcEndpointAwsService", jsii.sget(cls, "PINPOINT_SMS_VOICE_V2"))
74630
+
74631
+ @jsii.python.classproperty
74632
+ @jsii.member(jsii_name="PINPOINT_V1")
74633
+ def PINPOINT_V1(cls) -> "InterfaceVpcEndpointAwsService":
74634
+ return typing.cast("InterfaceVpcEndpointAwsService", jsii.sget(cls, "PINPOINT_V1"))
74635
+
74266
74636
  @jsii.python.classproperty
74267
74637
  @jsii.member(jsii_name="POLLY")
74268
74638
  def POLLY(cls) -> "InterfaceVpcEndpointAwsService":
@@ -74278,6 +74648,13 @@ class InterfaceVpcEndpointAwsService(
74278
74648
  def PRIVATE_CERTIFICATE_AUTHORITY(cls) -> "InterfaceVpcEndpointAwsService":
74279
74649
  return typing.cast("InterfaceVpcEndpointAwsService", jsii.sget(cls, "PRIVATE_CERTIFICATE_AUTHORITY"))
74280
74650
 
74651
+ @jsii.python.classproperty
74652
+ @jsii.member(jsii_name="PRIVATE_CERTIFICATE_AUTHORITY_CONNECTOR_AD")
74653
+ def PRIVATE_CERTIFICATE_AUTHORITY_CONNECTOR_AD(
74654
+ cls,
74655
+ ) -> "InterfaceVpcEndpointAwsService":
74656
+ return typing.cast("InterfaceVpcEndpointAwsService", jsii.sget(cls, "PRIVATE_CERTIFICATE_AUTHORITY_CONNECTOR_AD"))
74657
+
74281
74658
  @jsii.python.classproperty
74282
74659
  @jsii.member(jsii_name="PROMETHEUS")
74283
74660
  def PROMETHEUS(cls) -> "InterfaceVpcEndpointAwsService":
@@ -74333,6 +74710,21 @@ class InterfaceVpcEndpointAwsService(
74333
74710
  def REKOGNITION_FIPS(cls) -> "InterfaceVpcEndpointAwsService":
74334
74711
  return typing.cast("InterfaceVpcEndpointAwsService", jsii.sget(cls, "REKOGNITION_FIPS"))
74335
74712
 
74713
+ @jsii.python.classproperty
74714
+ @jsii.member(jsii_name="REKOGNITION_STREAMING")
74715
+ def REKOGNITION_STREAMING(cls) -> "InterfaceVpcEndpointAwsService":
74716
+ return typing.cast("InterfaceVpcEndpointAwsService", jsii.sget(cls, "REKOGNITION_STREAMING"))
74717
+
74718
+ @jsii.python.classproperty
74719
+ @jsii.member(jsii_name="REKOGNITION_STREAMING_FIPS")
74720
+ def REKOGNITION_STREAMING_FIPS(cls) -> "InterfaceVpcEndpointAwsService":
74721
+ return typing.cast("InterfaceVpcEndpointAwsService", jsii.sget(cls, "REKOGNITION_STREAMING_FIPS"))
74722
+
74723
+ @jsii.python.classproperty
74724
+ @jsii.member(jsii_name="REPOST_SPACE")
74725
+ def REPOST_SPACE(cls) -> "InterfaceVpcEndpointAwsService":
74726
+ return typing.cast("InterfaceVpcEndpointAwsService", jsii.sget(cls, "REPOST_SPACE"))
74727
+
74336
74728
  @jsii.python.classproperty
74337
74729
  @jsii.member(jsii_name="ROBOMAKER")
74338
74730
  def ROBOMAKER(cls) -> "InterfaceVpcEndpointAwsService":
@@ -74363,6 +74755,11 @@ class InterfaceVpcEndpointAwsService(
74363
74755
  def SAGEMAKER_FEATURESTORE_RUNTIME(cls) -> "InterfaceVpcEndpointAwsService":
74364
74756
  return typing.cast("InterfaceVpcEndpointAwsService", jsii.sget(cls, "SAGEMAKER_FEATURESTORE_RUNTIME"))
74365
74757
 
74758
+ @jsii.python.classproperty
74759
+ @jsii.member(jsii_name="SAGEMAKER_GEOSPATIAL")
74760
+ def SAGEMAKER_GEOSPATIAL(cls) -> "InterfaceVpcEndpointAwsService":
74761
+ return typing.cast("InterfaceVpcEndpointAwsService", jsii.sget(cls, "SAGEMAKER_GEOSPATIAL"))
74762
+
74366
74763
  @jsii.python.classproperty
74367
74764
  @jsii.member(jsii_name="SAGEMAKER_METRICS")
74368
74765
  def SAGEMAKER_METRICS(cls) -> "InterfaceVpcEndpointAwsService":
@@ -74433,6 +74830,11 @@ class InterfaceVpcEndpointAwsService(
74433
74830
  '''
74434
74831
  return typing.cast("InterfaceVpcEndpointAwsService", jsii.sget(cls, "SES"))
74435
74832
 
74833
+ @jsii.python.classproperty
74834
+ @jsii.member(jsii_name="SIMSPACE_WEAVER")
74835
+ def SIMSPACE_WEAVER(cls) -> "InterfaceVpcEndpointAwsService":
74836
+ return typing.cast("InterfaceVpcEndpointAwsService", jsii.sget(cls, "SIMSPACE_WEAVER"))
74837
+
74436
74838
  @jsii.python.classproperty
74437
74839
  @jsii.member(jsii_name="SNOW_DEVICE_MANAGEMENT")
74438
74840
  def SNOW_DEVICE_MANAGEMENT(cls) -> "InterfaceVpcEndpointAwsService":
@@ -74488,6 +74890,26 @@ class InterfaceVpcEndpointAwsService(
74488
74890
  def STS(cls) -> "InterfaceVpcEndpointAwsService":
74489
74891
  return typing.cast("InterfaceVpcEndpointAwsService", jsii.sget(cls, "STS"))
74490
74892
 
74893
+ @jsii.python.classproperty
74894
+ @jsii.member(jsii_name="SUPPLY_CHAIN")
74895
+ def SUPPLY_CHAIN(cls) -> "InterfaceVpcEndpointAwsService":
74896
+ return typing.cast("InterfaceVpcEndpointAwsService", jsii.sget(cls, "SUPPLY_CHAIN"))
74897
+
74898
+ @jsii.python.classproperty
74899
+ @jsii.member(jsii_name="SWF")
74900
+ def SWF(cls) -> "InterfaceVpcEndpointAwsService":
74901
+ return typing.cast("InterfaceVpcEndpointAwsService", jsii.sget(cls, "SWF"))
74902
+
74903
+ @jsii.python.classproperty
74904
+ @jsii.member(jsii_name="SWF_FIPS")
74905
+ def SWF_FIPS(cls) -> "InterfaceVpcEndpointAwsService":
74906
+ return typing.cast("InterfaceVpcEndpointAwsService", jsii.sget(cls, "SWF_FIPS"))
74907
+
74908
+ @jsii.python.classproperty
74909
+ @jsii.member(jsii_name="TELCO_NETWORK_BUILDER")
74910
+ def TELCO_NETWORK_BUILDER(cls) -> "InterfaceVpcEndpointAwsService":
74911
+ return typing.cast("InterfaceVpcEndpointAwsService", jsii.sget(cls, "TELCO_NETWORK_BUILDER"))
74912
+
74491
74913
  @jsii.python.classproperty
74492
74914
  @jsii.member(jsii_name="TEXTRACT")
74493
74915
  def TEXTRACT(cls) -> "InterfaceVpcEndpointAwsService":
@@ -74498,6 +74920,11 @@ class InterfaceVpcEndpointAwsService(
74498
74920
  def TEXTRACT_FIPS(cls) -> "InterfaceVpcEndpointAwsService":
74499
74921
  return typing.cast("InterfaceVpcEndpointAwsService", jsii.sget(cls, "TEXTRACT_FIPS"))
74500
74922
 
74923
+ @jsii.python.classproperty
74924
+ @jsii.member(jsii_name="TIMESTREAM_INFLUXDB")
74925
+ def TIMESTREAM_INFLUXDB(cls) -> "InterfaceVpcEndpointAwsService":
74926
+ return typing.cast("InterfaceVpcEndpointAwsService", jsii.sget(cls, "TIMESTREAM_INFLUXDB"))
74927
+
74501
74928
  @jsii.python.classproperty
74502
74929
  @jsii.member(jsii_name="TRANSCRIBE")
74503
74930
  def TRANSCRIBE(cls) -> "InterfaceVpcEndpointAwsService":
@@ -74523,16 +74950,31 @@ class InterfaceVpcEndpointAwsService(
74523
74950
  def TRANSLATE(cls) -> "InterfaceVpcEndpointAwsService":
74524
74951
  return typing.cast("InterfaceVpcEndpointAwsService", jsii.sget(cls, "TRANSLATE"))
74525
74952
 
74953
+ @jsii.python.classproperty
74954
+ @jsii.member(jsii_name="TRUSTED_ADVISOR")
74955
+ def TRUSTED_ADVISOR(cls) -> "InterfaceVpcEndpointAwsService":
74956
+ return typing.cast("InterfaceVpcEndpointAwsService", jsii.sget(cls, "TRUSTED_ADVISOR"))
74957
+
74526
74958
  @jsii.python.classproperty
74527
74959
  @jsii.member(jsii_name="VERIFIED_PERMISSIONS")
74528
74960
  def VERIFIED_PERMISSIONS(cls) -> "InterfaceVpcEndpointAwsService":
74529
74961
  return typing.cast("InterfaceVpcEndpointAwsService", jsii.sget(cls, "VERIFIED_PERMISSIONS"))
74530
74962
 
74963
+ @jsii.python.classproperty
74964
+ @jsii.member(jsii_name="VPC_LATTICE")
74965
+ def VPC_LATTICE(cls) -> "InterfaceVpcEndpointAwsService":
74966
+ return typing.cast("InterfaceVpcEndpointAwsService", jsii.sget(cls, "VPC_LATTICE"))
74967
+
74531
74968
  @jsii.python.classproperty
74532
74969
  @jsii.member(jsii_name="WORKSPACES")
74533
74970
  def WORKSPACES(cls) -> "InterfaceVpcEndpointAwsService":
74534
74971
  return typing.cast("InterfaceVpcEndpointAwsService", jsii.sget(cls, "WORKSPACES"))
74535
74972
 
74973
+ @jsii.python.classproperty
74974
+ @jsii.member(jsii_name="WORKSPACES_THIN_CLIENT")
74975
+ def WORKSPACES_THIN_CLIENT(cls) -> "InterfaceVpcEndpointAwsService":
74976
+ return typing.cast("InterfaceVpcEndpointAwsService", jsii.sget(cls, "WORKSPACES_THIN_CLIENT"))
74977
+
74536
74978
  @jsii.python.classproperty
74537
74979
  @jsii.member(jsii_name="XRAY")
74538
74980
  def XRAY(cls) -> "InterfaceVpcEndpointAwsService":
@@ -89401,6 +89843,11 @@ class GatewayVpcEndpointAwsService(
89401
89843
  def S3(cls) -> "GatewayVpcEndpointAwsService":
89402
89844
  return typing.cast("GatewayVpcEndpointAwsService", jsii.sget(cls, "S3"))
89403
89845
 
89846
+ @jsii.python.classproperty
89847
+ @jsii.member(jsii_name="S3_EXPRESS")
89848
+ def S3_EXPRESS(cls) -> "GatewayVpcEndpointAwsService":
89849
+ return typing.cast("GatewayVpcEndpointAwsService", jsii.sget(cls, "S3_EXPRESS"))
89850
+
89404
89851
  @builtins.property
89405
89852
  @jsii.member(jsii_name="name")
89406
89853
  def name(self) -> builtins.str:
@@ -94221,6 +94668,7 @@ def _typecheckingstub__5f22238da23e1a95528fc55d3e3a28b661b69a5dfe2d1e64620bef1eb
94221
94668
  *,
94222
94669
  domain_name: typing.Optional[builtins.str] = None,
94223
94670
  domain_name_servers: typing.Optional[typing.Sequence[builtins.str]] = None,
94671
+ ipv6_address_preferred_lease_time: typing.Optional[jsii.Number] = None,
94224
94672
  netbios_name_servers: typing.Optional[typing.Sequence[builtins.str]] = None,
94225
94673
  netbios_node_type: typing.Optional[jsii.Number] = None,
94226
94674
  ntp_servers: typing.Optional[typing.Sequence[builtins.str]] = None,
@@ -94253,6 +94701,12 @@ def _typecheckingstub__d9ee8e87c9581893159e005c5c7c786324d9f9c9a41ba0af4f72aedd3
94253
94701
  """Type checking stubs"""
94254
94702
  pass
94255
94703
 
94704
+ def _typecheckingstub__0cbb91e4162eb4b7aab6b1e90fa6fbbbade04b38a95d6c1bb778946ae93b50a3(
94705
+ value: typing.Optional[jsii.Number],
94706
+ ) -> None:
94707
+ """Type checking stubs"""
94708
+ pass
94709
+
94256
94710
  def _typecheckingstub__e3b8e4bd8f79a27f01b9c18995f6a45e13c80f3ff9f392b3c558b6cc5a5e5dba(
94257
94711
  value: typing.Optional[typing.List[builtins.str]],
94258
94712
  ) -> None:
@@ -94281,6 +94735,7 @@ def _typecheckingstub__569097ad87e4dddbcfaee4fb50fc7ddb345c4f97ae82fcf897497039e
94281
94735
  *,
94282
94736
  domain_name: typing.Optional[builtins.str] = None,
94283
94737
  domain_name_servers: typing.Optional[typing.Sequence[builtins.str]] = None,
94738
+ ipv6_address_preferred_lease_time: typing.Optional[jsii.Number] = None,
94284
94739
  netbios_name_servers: typing.Optional[typing.Sequence[builtins.str]] = None,
94285
94740
  netbios_node_type: typing.Optional[jsii.Number] = None,
94286
94741
  ntp_servers: typing.Optional[typing.Sequence[builtins.str]] = None,
@@ -98480,6 +98935,7 @@ def _typecheckingstub__f7f9c3e8bd9fe395c2fb15fd9d38e6ef1ebca888c954597574840d202
98480
98935
  destination_prefix_list_id: typing.Optional[builtins.str] = None,
98481
98936
  destination_security_group_id: typing.Optional[builtins.str] = None,
98482
98937
  from_port: typing.Optional[jsii.Number] = None,
98938
+ source_security_group_id: typing.Optional[builtins.str] = None,
98483
98939
  to_port: typing.Optional[jsii.Number] = None,
98484
98940
  ) -> None:
98485
98941
  """Type checking stubs"""