aws-cdk-lib 2.129.0__py3-none-any.whl → 2.131.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 (75) hide show
  1. aws_cdk/__init__.py +41 -21
  2. aws_cdk/_jsii/__init__.py +1 -1
  3. aws_cdk/_jsii/{aws-cdk-lib@2.129.0.jsii.tgz → aws-cdk-lib@2.131.0.jsii.tgz} +0 -0
  4. aws_cdk/aws_apigatewayv2/__init__.py +52 -11
  5. aws_cdk/aws_apigatewayv2_integrations/__init__.py +286 -0
  6. aws_cdk/aws_appconfig/__init__.py +13062 -2713
  7. aws_cdk/aws_applicationautoscaling/__init__.py +80 -123
  8. aws_cdk/aws_applicationinsights/__init__.py +48 -0
  9. aws_cdk/aws_apprunner/__init__.py +8 -1
  10. aws_cdk/aws_appstream/__init__.py +8 -1
  11. aws_cdk/aws_appsync/__init__.py +324 -103
  12. aws_cdk/aws_athena/__init__.py +8 -1
  13. aws_cdk/aws_b2bi/__init__.py +30 -4
  14. aws_cdk/aws_backup/__init__.py +80 -56
  15. aws_cdk/aws_bedrock/__init__.py +13 -1
  16. aws_cdk/aws_cleanrooms/__init__.py +37 -5
  17. aws_cdk/aws_cloudtrail/__init__.py +23 -1
  18. aws_cdk/aws_codebuild/__init__.py +8 -1
  19. aws_cdk/aws_codestarconnections/__init__.py +8 -1
  20. aws_cdk/aws_cognito/__init__.py +21 -21
  21. aws_cdk/aws_comprehend/__init__.py +8 -1
  22. aws_cdk/aws_connect/__init__.py +57 -8
  23. aws_cdk/aws_controltower/__init__.py +27 -7
  24. aws_cdk/aws_customerprofiles/__init__.py +136 -123
  25. aws_cdk/aws_datapipeline/__init__.py +19 -11
  26. aws_cdk/aws_datasync/__init__.py +8 -1
  27. aws_cdk/aws_datazone/__init__.py +9 -1
  28. aws_cdk/aws_dms/__init__.py +29 -4
  29. aws_cdk/aws_docdb/__init__.py +131 -5
  30. aws_cdk/aws_ec2/__init__.py +178 -65
  31. aws_cdk/aws_ecs/__init__.py +43 -51
  32. aws_cdk/aws_ecs_patterns/__init__.py +214 -0
  33. aws_cdk/aws_eks/__init__.py +44 -3
  34. aws_cdk/aws_elasticache/__init__.py +8 -1
  35. aws_cdk/aws_elasticloadbalancingv2/__init__.py +8 -1
  36. aws_cdk/aws_emr/__init__.py +8 -1
  37. aws_cdk/aws_entityresolution/__init__.py +23 -3
  38. aws_cdk/aws_events/__init__.py +12 -1
  39. aws_cdk/aws_fms/__init__.py +8 -1
  40. aws_cdk/aws_glue/__init__.py +18 -4
  41. aws_cdk/aws_healthimaging/__init__.py +9 -1
  42. aws_cdk/aws_inspectorv2/__init__.py +9 -1
  43. aws_cdk/aws_iot/__init__.py +29 -4
  44. aws_cdk/aws_ivs/__init__.py +8 -1
  45. aws_cdk/aws_kms/__init__.py +1 -1
  46. aws_cdk/aws_lambda/__init__.py +3 -5
  47. aws_cdk/aws_location/__init__.py +44 -6
  48. aws_cdk/aws_logs/__init__.py +22 -3
  49. aws_cdk/aws_macie/__init__.py +15 -2
  50. aws_cdk/aws_medialive/__init__.py +8 -1
  51. aws_cdk/aws_mediapackagev2/__init__.py +23 -3
  52. aws_cdk/aws_mediatailor/__init__.py +29 -4
  53. aws_cdk/aws_msk/__init__.py +8 -1
  54. aws_cdk/aws_neptunegraph/__init__.py +9 -1
  55. aws_cdk/aws_networkfirewall/__init__.py +8 -1
  56. aws_cdk/aws_opensearchservice/__init__.py +6 -3
  57. aws_cdk/aws_pcaconnectorad/__init__.py +23 -3
  58. aws_cdk/aws_pinpointemail/__init__.py +23 -3
  59. aws_cdk/aws_quicksight/__init__.py +37 -0
  60. aws_cdk/aws_rds/__init__.py +52 -9
  61. aws_cdk/aws_route53resolver/__init__.py +8 -1
  62. aws_cdk/aws_s3/__init__.py +29 -4
  63. aws_cdk/aws_sagemaker/__init__.py +19 -8
  64. aws_cdk/aws_securityhub/__init__.py +8 -1
  65. aws_cdk/aws_shield/__init__.py +16 -2
  66. aws_cdk/aws_workspacesthinclient/__init__.py +9 -1
  67. aws_cdk/aws_workspacesweb/__init__.py +51 -7
  68. aws_cdk/aws_xray/__init__.py +16 -2
  69. aws_cdk/pipelines/__init__.py +3 -2
  70. {aws_cdk_lib-2.129.0.dist-info → aws_cdk_lib-2.131.0.dist-info}/METADATA +1 -1
  71. {aws_cdk_lib-2.129.0.dist-info → aws_cdk_lib-2.131.0.dist-info}/NOTICE +30 -0
  72. {aws_cdk_lib-2.129.0.dist-info → aws_cdk_lib-2.131.0.dist-info}/RECORD +75 -75
  73. {aws_cdk_lib-2.129.0.dist-info → aws_cdk_lib-2.131.0.dist-info}/LICENSE +0 -0
  74. {aws_cdk_lib-2.129.0.dist-info → aws_cdk_lib-2.131.0.dist-info}/WHEEL +0 -0
  75. {aws_cdk_lib-2.129.0.dist-info → aws_cdk_lib-2.131.0.dist-info}/top_level.txt +0 -0
@@ -1863,6 +1863,37 @@ Note to set `mapPublicIpOnLaunch` to true in the `subnetConfiguration`.
1863
1863
 
1864
1864
  Additionally, IPv6 support varies by instance type. Most instance types have IPv6 support with exception of m1-m3, c1, g2, and t1.micro. A full list can be found here: https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/using-eni.html#AvailableIpPerENI.
1865
1865
 
1866
+ ### Credit configuration modes for burstable instances
1867
+
1868
+ You can set the [credit configuration mode](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/burstable-credits-baseline-concepts.html) for burstable instances (T2, T3, T3a and T4g instance types):
1869
+
1870
+ ```python
1871
+ # vpc: ec2.Vpc
1872
+
1873
+
1874
+ instance = ec2.Instance(self, "Instance",
1875
+ instance_type=ec2.InstanceType.of(ec2.InstanceClass.T3, ec2.InstanceSize.MICRO),
1876
+ machine_image=ec2.MachineImage.latest_amazon_linux2(),
1877
+ vpc=vpc,
1878
+ credit_specification=ec2.CpuCredits.STANDARD
1879
+ )
1880
+ ```
1881
+
1882
+ It is also possible to set the credit configuration mode for NAT instances.
1883
+
1884
+ ```python
1885
+ nat_instance_provider = ec2.NatProvider.instance(
1886
+ instance_type=ec2.InstanceType.of(ec2.InstanceClass.T4G, ec2.InstanceSize.LARGE),
1887
+ machine_image=ec2.AmazonLinuxImage(),
1888
+ credit_specification=ec2.CpuCredits.UNLIMITED
1889
+ )
1890
+ ec2.Vpc(self, "VPC",
1891
+ nat_gateway_provider=nat_instance_provider
1892
+ )
1893
+ ```
1894
+
1895
+ **Note**: `CpuCredits.UNLIMITED` mode is not supported for T3 instances that are launched on a Dedicated Host.
1896
+
1866
1897
  ## VPC Flow Logs
1867
1898
 
1868
1899
  VPC Flow Logs is a feature that enables you to capture information about the IP traffic going to and from network interfaces in your VPC. Flow log data can be published to Amazon CloudWatch Logs and Amazon S3. After you've created a flow log, you can retrieve and view its data in the chosen destination. ([https://docs.aws.amazon.com/vpc/latest/userguide/flow-logs.html](https://docs.aws.amazon.com/vpc/latest/userguide/flow-logs.html)).
@@ -2325,6 +2356,7 @@ from .. import (
2325
2356
  IResolvable as _IResolvable_da3f097b,
2326
2357
  IResource as _IResource_c80c4260,
2327
2358
  ITaggable as _ITaggable_36806126,
2359
+ ITaggableV2 as _ITaggableV2_4e6798f8,
2328
2360
  IgnoreMode as _IgnoreMode_655a98e8,
2329
2361
  RemovalPolicy as _RemovalPolicy_9f93c814,
2330
2362
  Resource as _Resource_45bc6135,
@@ -11347,7 +11379,7 @@ class CfnEC2Fleet(
11347
11379
  :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
11348
11380
  :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``
11349
11381
  :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``
11350
- :param max_spot_price_as_percentage_of_optimal_on_demand_price:
11382
+ :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`` .
11351
11383
  :param memory_gib_per_v_cpu: The minimum and maximum amount of memory per vCPU, in GiB. Default: No minimum or maximum limits
11352
11384
  :param memory_mib: The minimum and maximum amount of memory, in MiB.
11353
11385
  :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
@@ -11739,7 +11771,19 @@ class CfnEC2Fleet(
11739
11771
  def max_spot_price_as_percentage_of_optimal_on_demand_price(
11740
11772
  self,
11741
11773
  ) -> typing.Optional[jsii.Number]:
11742
- '''
11774
+ '''[Price protection] The price protection threshold for Spot Instances, as a percentage of an identified On-Demand price.
11775
+
11776
+ 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.
11777
+
11778
+ The parameter accepts an integer, which Amazon EC2 interprets as a percentage.
11779
+
11780
+ To indicate no price protection threshold, specify a high value, such as ``999999`` .
11781
+
11782
+ 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.
11783
+ .. epigraph::
11784
+
11785
+ 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`` .
11786
+
11743
11787
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-ec2fleet-instancerequirementsrequest.html#cfn-ec2-ec2fleet-instancerequirementsrequest-maxspotpriceaspercentageofoptimalondemandprice
11744
11788
  '''
11745
11789
  result = self._values.get("max_spot_price_as_percentage_of_optimal_on_demand_price")
@@ -21582,7 +21626,7 @@ class CfnInstance(
21582
21626
  )
21583
21627
 
21584
21628
 
21585
- @jsii.implements(_IInspectable_c2943556)
21629
+ @jsii.implements(_IInspectable_c2943556, _ITaggableV2_4e6798f8)
21586
21630
  class CfnInstanceConnectEndpoint(
21587
21631
  _CfnResource_9df397a6,
21588
21632
  metaclass=jsii.JSIIMeta,
@@ -21689,6 +21733,12 @@ class CfnInstanceConnectEndpoint(
21689
21733
  '''
21690
21734
  return typing.cast(builtins.str, jsii.get(self, "attrId"))
21691
21735
 
21736
+ @builtins.property
21737
+ @jsii.member(jsii_name="cdkTagManager")
21738
+ def cdk_tag_manager(self) -> _TagManager_0a598cb3:
21739
+ '''Tag Manager which manages the tags for this resource.'''
21740
+ return typing.cast(_TagManager_0a598cb3, jsii.get(self, "cdkTagManager"))
21741
+
21692
21742
  @builtins.property
21693
21743
  @jsii.member(jsii_name="cfnProperties")
21694
21744
  def _cfn_properties(self) -> typing.Mapping[builtins.str, typing.Any]:
@@ -43761,7 +43811,7 @@ class CfnSpotFleet(
43761
43811
  :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
43762
43812
  :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``
43763
43813
  :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``
43764
- :param max_spot_price_as_percentage_of_optimal_on_demand_price:
43814
+ :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`` .
43765
43815
  :param memory_gib_per_v_cpu: The minimum and maximum amount of memory per vCPU, in GiB. Default: No minimum or maximum limits
43766
43816
  :param memory_mib: The minimum and maximum amount of memory, in MiB.
43767
43817
  :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
@@ -44153,7 +44203,19 @@ class CfnSpotFleet(
44153
44203
  def max_spot_price_as_percentage_of_optimal_on_demand_price(
44154
44204
  self,
44155
44205
  ) -> typing.Optional[jsii.Number]:
44156
- '''
44206
+ '''[Price protection] The price protection threshold for Spot Instances, as a percentage of an identified On-Demand price.
44207
+
44208
+ 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.
44209
+
44210
+ The parameter accepts an integer, which Amazon EC2 interprets as a percentage.
44211
+
44212
+ To indicate no price protection threshold, specify a high value, such as ``999999`` .
44213
+
44214
+ 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.
44215
+ .. epigraph::
44216
+
44217
+ 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`` .
44218
+
44157
44219
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-spotfleet-instancerequirementsrequest.html#cfn-ec2-spotfleet-instancerequirementsrequest-maxspotpriceaspercentageofoptimalondemandprice
44158
44220
  '''
44159
44221
  result = self._values.get("max_spot_price_as_percentage_of_optimal_on_demand_price")
@@ -65190,6 +65252,19 @@ class CpuCredits(enum.Enum):
65190
65252
  '''Provides the options for specifying the CPU credit type for burstable EC2 instance types (T2, T3, T3a, etc).
65191
65253
 
65192
65254
  :see: https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/burstable-performance-instances-how-to.html
65255
+ :exampleMetadata: infused
65256
+
65257
+ Example::
65258
+
65259
+ # vpc: ec2.Vpc
65260
+
65261
+
65262
+ instance = ec2.Instance(self, "Instance",
65263
+ instance_type=ec2.InstanceType.of(ec2.InstanceClass.T3, ec2.InstanceSize.MICRO),
65264
+ machine_image=ec2.MachineImage.latest_amazon_linux2(),
65265
+ vpc=vpc,
65266
+ credit_specification=ec2.CpuCredits.STANDARD
65267
+ )
65193
65268
  '''
65194
65269
 
65195
65270
  STANDARD = "STANDARD"
@@ -71470,6 +71545,7 @@ class Instance(
71470
71545
  associate_public_ip_address: typing.Optional[builtins.bool] = None,
71471
71546
  availability_zone: typing.Optional[builtins.str] = None,
71472
71547
  block_devices: typing.Optional[typing.Sequence[typing.Union[BlockDevice, typing.Dict[builtins.str, typing.Any]]]] = None,
71548
+ credit_specification: typing.Optional[CpuCredits] = None,
71473
71549
  detailed_monitoring: typing.Optional[builtins.bool] = None,
71474
71550
  init: typing.Optional[CloudFormationInit] = None,
71475
71551
  init_options: typing.Optional[typing.Union[ApplyCloudFormationInitOptions, typing.Dict[builtins.str, typing.Any]]] = None,
@@ -71499,6 +71575,7 @@ class Instance(
71499
71575
  :param associate_public_ip_address: Whether to associate a public IP address to the primary network interface attached to this instance. Default: - public IP address is automatically assigned based on default behavior
71500
71576
  :param availability_zone: In which AZ to place the instance within the VPC. Default: - Random zone.
71501
71577
  :param block_devices: Specifies how block devices are exposed to the instance. You can specify virtual devices and EBS volumes. Each instance that is launched has an associated root device volume, either an Amazon EBS volume or an instance store volume. You can use block device mappings to specify additional EBS volumes or instance store volumes to attach to an instance when it is launched. Default: - Uses the block device mapping of the AMI
71578
+ :param credit_specification: Specifying the CPU credit type for burstable EC2 instance types (T2, T3, T3a, etc). The unlimited CPU credit option is not supported for T3 instances with a dedicated host. Default: - T2 instances are standard, while T3, T4g, and T3a instances are unlimited.
71502
71579
  :param detailed_monitoring: Whether "Detailed Monitoring" is enabled for this instance Keep in mind that Detailed Monitoring results in extra charges. Default: - false
71503
71580
  :param init: Apply the given CloudFormation Init configuration to the instance at startup. Default: - no CloudFormation init
71504
71581
  :param init_options: Use the given options for applying CloudFormation Init. Describes the configsets to use and the timeout to wait Default: - default options
@@ -71530,6 +71607,7 @@ class Instance(
71530
71607
  associate_public_ip_address=associate_public_ip_address,
71531
71608
  availability_zone=availability_zone,
71532
71609
  block_devices=block_devices,
71610
+ credit_specification=credit_specification,
71533
71611
  detailed_monitoring=detailed_monitoring,
71534
71612
  init=init,
71535
71613
  init_options=init_options,
@@ -71707,14 +71785,15 @@ class InstanceClass(enum.Enum):
71707
71785
 
71708
71786
  # vpc: ec2.Vpc
71709
71787
 
71710
- cluster = rds.DatabaseCluster(self, "Database",
71711
- engine=rds.DatabaseClusterEngine.aurora_mysql(version=rds.AuroraMysqlEngineVersion.VER_3_01_0),
71712
- writer=rds.ClusterInstance.provisioned("Instance",
71713
- instance_type=ec2.InstanceType.of(ec2.InstanceClass.BURSTABLE3, ec2.InstanceSize.SMALL)
71714
- ),
71715
- readers=[rds.ClusterInstance.provisioned("reader")],
71716
- instance_update_behaviour=rds.InstanceUpdateBehaviour.ROLLING, # Optional - defaults to rds.InstanceUpdateBehaviour.BULK
71717
- vpc=vpc
71788
+ instance = rds.DatabaseInstance(self, "Instance",
71789
+ engine=rds.DatabaseInstanceEngine.oracle_se2(version=rds.OracleEngineVersion.VER_19_0_0_0_2020_04_R1),
71790
+ # optional, defaults to m5.large
71791
+ instance_type=ec2.InstanceType.of(ec2.InstanceClass.BURSTABLE3, ec2.InstanceSize.SMALL),
71792
+ credentials=rds.Credentials.from_generated_secret("syscdk"), # Optional - will default to 'admin' username and generated password
71793
+ vpc=vpc,
71794
+ vpc_subnets=ec2.SubnetSelection(
71795
+ subnet_type=ec2.SubnetType.PRIVATE_WITH_EGRESS
71796
+ )
71718
71797
  )
71719
71798
  '''
71720
71799
 
@@ -72227,6 +72306,7 @@ class InstanceInitiatedShutdownBehavior(enum.Enum):
72227
72306
  "associate_public_ip_address": "associatePublicIpAddress",
72228
72307
  "availability_zone": "availabilityZone",
72229
72308
  "block_devices": "blockDevices",
72309
+ "credit_specification": "creditSpecification",
72230
72310
  "detailed_monitoring": "detailedMonitoring",
72231
72311
  "init": "init",
72232
72312
  "init_options": "initOptions",
@@ -72258,6 +72338,7 @@ class InstanceProps:
72258
72338
  associate_public_ip_address: typing.Optional[builtins.bool] = None,
72259
72339
  availability_zone: typing.Optional[builtins.str] = None,
72260
72340
  block_devices: typing.Optional[typing.Sequence[typing.Union[BlockDevice, typing.Dict[builtins.str, typing.Any]]]] = None,
72341
+ credit_specification: typing.Optional[CpuCredits] = None,
72261
72342
  detailed_monitoring: typing.Optional[builtins.bool] = None,
72262
72343
  init: typing.Optional[CloudFormationInit] = None,
72263
72344
  init_options: typing.Optional[typing.Union[ApplyCloudFormationInitOptions, typing.Dict[builtins.str, typing.Any]]] = None,
@@ -72286,6 +72367,7 @@ class InstanceProps:
72286
72367
  :param associate_public_ip_address: Whether to associate a public IP address to the primary network interface attached to this instance. Default: - public IP address is automatically assigned based on default behavior
72287
72368
  :param availability_zone: In which AZ to place the instance within the VPC. Default: - Random zone.
72288
72369
  :param block_devices: Specifies how block devices are exposed to the instance. You can specify virtual devices and EBS volumes. Each instance that is launched has an associated root device volume, either an Amazon EBS volume or an instance store volume. You can use block device mappings to specify additional EBS volumes or instance store volumes to attach to an instance when it is launched. Default: - Uses the block device mapping of the AMI
72370
+ :param credit_specification: Specifying the CPU credit type for burstable EC2 instance types (T2, T3, T3a, etc). The unlimited CPU credit option is not supported for T3 instances with a dedicated host. Default: - T2 instances are standard, while T3, T4g, and T3a instances are unlimited.
72289
72371
  :param detailed_monitoring: Whether "Detailed Monitoring" is enabled for this instance Keep in mind that Detailed Monitoring results in extra charges. Default: - false
72290
72372
  :param init: Apply the given CloudFormation Init configuration to the instance at startup. Default: - no CloudFormation init
72291
72373
  :param init_options: Use the given options for applying CloudFormation Init. Describes the configsets to use and the timeout to wait Default: - default options
@@ -72337,6 +72419,7 @@ class InstanceProps:
72337
72419
  check_type(argname="argument associate_public_ip_address", value=associate_public_ip_address, expected_type=type_hints["associate_public_ip_address"])
72338
72420
  check_type(argname="argument availability_zone", value=availability_zone, expected_type=type_hints["availability_zone"])
72339
72421
  check_type(argname="argument block_devices", value=block_devices, expected_type=type_hints["block_devices"])
72422
+ check_type(argname="argument credit_specification", value=credit_specification, expected_type=type_hints["credit_specification"])
72340
72423
  check_type(argname="argument detailed_monitoring", value=detailed_monitoring, expected_type=type_hints["detailed_monitoring"])
72341
72424
  check_type(argname="argument init", value=init, expected_type=type_hints["init"])
72342
72425
  check_type(argname="argument init_options", value=init_options, expected_type=type_hints["init_options"])
@@ -72369,6 +72452,8 @@ class InstanceProps:
72369
72452
  self._values["availability_zone"] = availability_zone
72370
72453
  if block_devices is not None:
72371
72454
  self._values["block_devices"] = block_devices
72455
+ if credit_specification is not None:
72456
+ self._values["credit_specification"] = credit_specification
72372
72457
  if detailed_monitoring is not None:
72373
72458
  self._values["detailed_monitoring"] = detailed_monitoring
72374
72459
  if init is not None:
@@ -72481,6 +72566,17 @@ class InstanceProps:
72481
72566
  result = self._values.get("block_devices")
72482
72567
  return typing.cast(typing.Optional[typing.List[BlockDevice]], result)
72483
72568
 
72569
+ @builtins.property
72570
+ def credit_specification(self) -> typing.Optional[CpuCredits]:
72571
+ '''Specifying the CPU credit type for burstable EC2 instance types (T2, T3, T3a, etc).
72572
+
72573
+ The unlimited CPU credit option is not supported for T3 instances with a dedicated host.
72574
+
72575
+ :default: - T2 instances are standard, while T3, T4g, and T3a instances are unlimited.
72576
+ '''
72577
+ result = self._values.get("credit_specification")
72578
+ return typing.cast(typing.Optional[CpuCredits], result)
72579
+
72484
72580
  @builtins.property
72485
72581
  def detailed_monitoring(self) -> typing.Optional[builtins.bool]:
72486
72582
  '''Whether "Detailed Monitoring" is enabled for this instance Keep in mind that Detailed Monitoring results in extra charges.
@@ -72935,17 +73031,18 @@ class InstanceType(
72935
73031
 
72936
73032
  # vpc: ec2.Vpc
72937
73033
 
73034
+
72938
73035
  cluster = docdb.DatabaseCluster(self, "Database",
72939
73036
  master_user=docdb.Login(
72940
- username="myuser", # NOTE: 'admin' is reserved by DocumentDB
72941
- exclude_characters="\"@/:", # optional, defaults to the set "\"@/" and is also used for eventually created rotations
72942
- secret_name="/myapp/mydocdb/masteruser"
73037
+ username="myuser"
72943
73038
  ),
72944
73039
  instance_type=ec2.InstanceType.of(ec2.InstanceClass.MEMORY5, ec2.InstanceSize.LARGE),
72945
73040
  vpc_subnets=ec2.SubnetSelection(
72946
73041
  subnet_type=ec2.SubnetType.PUBLIC
72947
73042
  ),
72948
- vpc=vpc
73043
+ vpc=vpc,
73044
+ removal_policy=RemovalPolicy.SNAPSHOT,
73045
+ instance_removal_policy=RemovalPolicy.RETAIN
72949
73046
  )
72950
73047
  '''
72951
73048
 
@@ -72981,6 +73078,11 @@ class InstanceType(
72981
73078
  check_type(argname="argument instance_size", value=instance_size, expected_type=type_hints["instance_size"])
72982
73079
  return typing.cast("InstanceType", jsii.sinvoke(cls, "of", [instance_class, instance_size]))
72983
73080
 
73081
+ @jsii.member(jsii_name="isBurstable")
73082
+ def is_burstable(self) -> builtins.bool:
73083
+ '''Return whether this instance type is a burstable instance type.'''
73084
+ return typing.cast(builtins.bool, jsii.invoke(self, "isBurstable", []))
73085
+
72984
73086
  @jsii.member(jsii_name="sameInstanceClassAs")
72985
73087
  def same_instance_class_as(self, other: "InstanceType") -> builtins.bool:
72986
73088
  '''
@@ -77945,6 +78047,7 @@ class NatInstanceImage(
77945
78047
  jsii_struct_bases=[],
77946
78048
  name_mapping={
77947
78049
  "instance_type": "instanceType",
78050
+ "credit_specification": "creditSpecification",
77948
78051
  "default_allowed_traffic": "defaultAllowedTraffic",
77949
78052
  "key_name": "keyName",
77950
78053
  "key_pair": "keyPair",
@@ -77957,6 +78060,7 @@ class NatInstanceProps:
77957
78060
  self,
77958
78061
  *,
77959
78062
  instance_type: InstanceType,
78063
+ credit_specification: typing.Optional[CpuCredits] = None,
77960
78064
  default_allowed_traffic: typing.Optional["NatTrafficDirection"] = None,
77961
78065
  key_name: typing.Optional[builtins.str] = None,
77962
78066
  key_pair: typing.Optional[IKeyPair] = None,
@@ -77966,6 +78070,7 @@ class NatInstanceProps:
77966
78070
  '''Properties for a NAT instance.
77967
78071
 
77968
78072
  :param instance_type: Instance type of the NAT instance.
78073
+ :param credit_specification: Specifying the CPU credit type for burstable EC2 instance types (T2, T3, T3a, etc). The unlimited CPU credit option is not supported for T3 instances with dedicated host (``host``) tenancy. Default: - T2 instances are standard, while T3, T4g, and T3a instances are unlimited.
77969
78074
  :param default_allowed_traffic: Direction to allow all traffic through the NAT instance by default. By default, inbound and outbound traffic is allowed. If you set this to another value than INBOUND_AND_OUTBOUND, you must configure the NAT instance's security groups in another way, either by passing in a fully configured Security Group using the ``securityGroup`` property, or by configuring it using the ``.securityGroup`` or ``.connections`` members after passing the NAT Instance Provider to a Vpc. Default: NatTrafficDirection.INBOUND_AND_OUTBOUND
77970
78075
  :param key_name: (deprecated) Name of SSH keypair to grant access to instance. Default: - No SSH access will be possible.
77971
78076
  :param key_pair: The SSH keypair to grant access to the instance. Default: - No SSH access will be possible.
@@ -77991,6 +78096,7 @@ class NatInstanceProps:
77991
78096
  if __debug__:
77992
78097
  type_hints = typing.get_type_hints(_typecheckingstub__d7c7c717447859e1ccc181bc97f7752cc3f7fa7afaee4c3a4266eeac32c08643)
77993
78098
  check_type(argname="argument instance_type", value=instance_type, expected_type=type_hints["instance_type"])
78099
+ check_type(argname="argument credit_specification", value=credit_specification, expected_type=type_hints["credit_specification"])
77994
78100
  check_type(argname="argument default_allowed_traffic", value=default_allowed_traffic, expected_type=type_hints["default_allowed_traffic"])
77995
78101
  check_type(argname="argument key_name", value=key_name, expected_type=type_hints["key_name"])
77996
78102
  check_type(argname="argument key_pair", value=key_pair, expected_type=type_hints["key_pair"])
@@ -77999,6 +78105,8 @@ class NatInstanceProps:
77999
78105
  self._values: typing.Dict[builtins.str, typing.Any] = {
78000
78106
  "instance_type": instance_type,
78001
78107
  }
78108
+ if credit_specification is not None:
78109
+ self._values["credit_specification"] = credit_specification
78002
78110
  if default_allowed_traffic is not None:
78003
78111
  self._values["default_allowed_traffic"] = default_allowed_traffic
78004
78112
  if key_name is not None:
@@ -78017,6 +78125,17 @@ class NatInstanceProps:
78017
78125
  assert result is not None, "Required property 'instance_type' is missing"
78018
78126
  return typing.cast(InstanceType, result)
78019
78127
 
78128
+ @builtins.property
78129
+ def credit_specification(self) -> typing.Optional[CpuCredits]:
78130
+ '''Specifying the CPU credit type for burstable EC2 instance types (T2, T3, T3a, etc).
78131
+
78132
+ The unlimited CPU credit option is not supported for T3 instances with dedicated host (``host``) tenancy.
78133
+
78134
+ :default: - T2 instances are standard, while T3, T4g, and T3a instances are unlimited.
78135
+ '''
78136
+ result = self._values.get("credit_specification")
78137
+ return typing.cast(typing.Optional[CpuCredits], result)
78138
+
78020
78139
  @builtins.property
78021
78140
  def default_allowed_traffic(self) -> typing.Optional["NatTrafficDirection"]:
78022
78141
  '''Direction to allow all traffic through the NAT instance by default.
@@ -78110,17 +78229,14 @@ class NatProvider(
78110
78229
 
78111
78230
  Example::
78112
78231
 
78113
- # instance_type: ec2.InstanceType
78114
-
78115
-
78116
- provider = ec2.NatProvider.instance(
78117
- instance_type=instance_type,
78118
- default_allowed_traffic=ec2.NatTrafficDirection.OUTBOUND_ONLY
78232
+ nat_instance_provider = ec2.NatProvider.instance(
78233
+ instance_type=ec2.InstanceType.of(ec2.InstanceClass.T4G, ec2.InstanceSize.LARGE),
78234
+ machine_image=ec2.AmazonLinuxImage(),
78235
+ credit_specification=ec2.CpuCredits.UNLIMITED
78119
78236
  )
78120
- ec2.Vpc(self, "TheVPC",
78121
- nat_gateway_provider=provider
78237
+ ec2.Vpc(self, "VPC",
78238
+ nat_gateway_provider=nat_instance_provider
78122
78239
  )
78123
- provider.connections.allow_from(ec2.Peer.ipv4("1.2.3.4/8"), ec2.Port.tcp(80))
78124
78240
  '''
78125
78241
 
78126
78242
  def __init__(self) -> None:
@@ -78151,6 +78267,7 @@ class NatProvider(
78151
78267
  cls,
78152
78268
  *,
78153
78269
  instance_type: InstanceType,
78270
+ credit_specification: typing.Optional[CpuCredits] = None,
78154
78271
  default_allowed_traffic: typing.Optional["NatTrafficDirection"] = None,
78155
78272
  key_name: typing.Optional[builtins.str] = None,
78156
78273
  key_pair: typing.Optional[IKeyPair] = None,
@@ -78166,6 +78283,7 @@ class NatProvider(
78166
78283
  your own NatProvider based on AutoScaling groups if you need that.
78167
78284
 
78168
78285
  :param instance_type: Instance type of the NAT instance.
78286
+ :param credit_specification: Specifying the CPU credit type for burstable EC2 instance types (T2, T3, T3a, etc). The unlimited CPU credit option is not supported for T3 instances with dedicated host (``host``) tenancy. Default: - T2 instances are standard, while T3, T4g, and T3a instances are unlimited.
78169
78287
  :param default_allowed_traffic: Direction to allow all traffic through the NAT instance by default. By default, inbound and outbound traffic is allowed. If you set this to another value than INBOUND_AND_OUTBOUND, you must configure the NAT instance's security groups in another way, either by passing in a fully configured Security Group using the ``securityGroup`` property, or by configuring it using the ``.securityGroup`` or ``.connections`` members after passing the NAT Instance Provider to a Vpc. Default: NatTrafficDirection.INBOUND_AND_OUTBOUND
78170
78288
  :param key_name: (deprecated) Name of SSH keypair to grant access to instance. Default: - No SSH access will be possible.
78171
78289
  :param key_pair: The SSH keypair to grant access to the instance. Default: - No SSH access will be possible.
@@ -78176,6 +78294,7 @@ class NatProvider(
78176
78294
  '''
78177
78295
  props = NatInstanceProps(
78178
78296
  instance_type=instance_type,
78297
+ credit_specification=credit_specification,
78179
78298
  default_allowed_traffic=default_allowed_traffic,
78180
78299
  key_name=key_name,
78181
78300
  key_pair=key_pair,
@@ -82597,16 +82716,18 @@ class SubnetSelection:
82597
82716
 
82598
82717
  # vpc: ec2.Vpc
82599
82718
 
82600
- cluster = rds.DatabaseCluster(self, "Database",
82601
- engine=rds.DatabaseClusterEngine.aurora_mysql(
82602
- version=rds.AuroraMysqlEngineVersion.VER_3_03_0
82719
+
82720
+ cluster = docdb.DatabaseCluster(self, "Database",
82721
+ master_user=docdb.Login(
82722
+ username="myuser"
82603
82723
  ),
82604
- instances=2,
82605
- instance_props=rds.InstanceProps(
82606
- instance_type=ec2.InstanceType.of(ec2.InstanceClass.BURSTABLE3, ec2.InstanceSize.SMALL),
82607
- vpc_subnets=ec2.SubnetSelection(subnet_type=ec2.SubnetType.PUBLIC),
82608
- vpc=vpc
82609
- )
82724
+ instance_type=ec2.InstanceType.of(ec2.InstanceClass.MEMORY5, ec2.InstanceSize.LARGE),
82725
+ vpc_subnets=ec2.SubnetSelection(
82726
+ subnet_type=ec2.SubnetType.PUBLIC
82727
+ ),
82728
+ vpc=vpc,
82729
+ removal_policy=RemovalPolicy.SNAPSHOT,
82730
+ instance_removal_policy=RemovalPolicy.RETAIN
82610
82731
  )
82611
82732
  '''
82612
82733
  if __debug__:
@@ -90322,20 +90443,17 @@ class NatInstanceProvider(
90322
90443
  ):
90323
90444
  '''NAT provider which uses NAT Instances.
90324
90445
 
90325
- :exampleMetadata: lit=aws-ec2/test/integ.nat-instances.lit.ts infused
90446
+ :exampleMetadata: infused
90326
90447
 
90327
90448
  Example::
90328
90449
 
90329
- # Configure the `natGatewayProvider` when defining a Vpc
90330
- nat_gateway_provider = ec2.NatProvider.instance(
90331
- instance_type=ec2.InstanceType("t3.small")
90450
+ nat_instance_provider = ec2.NatProvider.instance(
90451
+ instance_type=ec2.InstanceType.of(ec2.InstanceClass.T4G, ec2.InstanceSize.LARGE),
90452
+ machine_image=ec2.AmazonLinuxImage(),
90453
+ credit_specification=ec2.CpuCredits.UNLIMITED
90332
90454
  )
90333
-
90334
- vpc = ec2.Vpc(self, "MyVpc",
90335
- nat_gateway_provider=nat_gateway_provider,
90336
-
90337
- # The 'natGateways' parameter now controls the number of NAT instances
90338
- nat_gateways=2
90455
+ ec2.Vpc(self, "VPC",
90456
+ nat_gateway_provider=nat_instance_provider
90339
90457
  )
90340
90458
  '''
90341
90459
 
@@ -90343,6 +90461,7 @@ class NatInstanceProvider(
90343
90461
  self,
90344
90462
  *,
90345
90463
  instance_type: InstanceType,
90464
+ credit_specification: typing.Optional[CpuCredits] = None,
90346
90465
  default_allowed_traffic: typing.Optional[NatTrafficDirection] = None,
90347
90466
  key_name: typing.Optional[builtins.str] = None,
90348
90467
  key_pair: typing.Optional[IKeyPair] = None,
@@ -90351,6 +90470,7 @@ class NatInstanceProvider(
90351
90470
  ) -> None:
90352
90471
  '''
90353
90472
  :param instance_type: Instance type of the NAT instance.
90473
+ :param credit_specification: Specifying the CPU credit type for burstable EC2 instance types (T2, T3, T3a, etc). The unlimited CPU credit option is not supported for T3 instances with dedicated host (``host``) tenancy. Default: - T2 instances are standard, while T3, T4g, and T3a instances are unlimited.
90354
90474
  :param default_allowed_traffic: Direction to allow all traffic through the NAT instance by default. By default, inbound and outbound traffic is allowed. If you set this to another value than INBOUND_AND_OUTBOUND, you must configure the NAT instance's security groups in another way, either by passing in a fully configured Security Group using the ``securityGroup`` property, or by configuring it using the ``.securityGroup`` or ``.connections`` members after passing the NAT Instance Provider to a Vpc. Default: NatTrafficDirection.INBOUND_AND_OUTBOUND
90355
90475
  :param key_name: (deprecated) Name of SSH keypair to grant access to instance. Default: - No SSH access will be possible.
90356
90476
  :param key_pair: The SSH keypair to grant access to the instance. Default: - No SSH access will be possible.
@@ -90359,6 +90479,7 @@ class NatInstanceProvider(
90359
90479
  '''
90360
90480
  props = NatInstanceProps(
90361
90481
  instance_type=instance_type,
90482
+ credit_specification=credit_specification,
90362
90483
  default_allowed_traffic=default_allowed_traffic,
90363
90484
  key_name=key_name,
90364
90485
  key_pair=key_pair,
@@ -91769,31 +91890,20 @@ class AmazonLinuxImage(
91769
91890
 
91770
91891
  Example::
91771
91892
 
91772
- sg = ec2.SecurityGroup.from_security_group_id(self, "FsxSecurityGroup", "{SECURITY-GROUP-ID}")
91773
- fs = fsx.LustreFileSystem.from_lustre_file_system_attributes(self, "FsxLustreFileSystem",
91774
- dns_name="{FILE-SYSTEM-DNS-NAME}",
91775
- file_system_id="{FILE-SYSTEM-ID}",
91776
- security_group=sg
91777
- )
91893
+ # vpc: ec2.IVpc
91778
91894
 
91779
- vpc = ec2.Vpc.from_vpc_attributes(self, "Vpc",
91780
- availability_zones=["us-west-2a", "us-west-2b"],
91781
- public_subnet_ids=["{US-WEST-2A-SUBNET-ID}", "{US-WEST-2B-SUBNET-ID}"],
91782
- vpc_id="{VPC-ID}"
91895
+ lb = elb.LoadBalancer(self, "LB",
91896
+ vpc=vpc,
91897
+ internet_facing=True
91783
91898
  )
91784
91899
 
91785
- inst = ec2.Instance(self, "inst",
91786
- instance_type=ec2.InstanceType.of(ec2.InstanceClass.T2, ec2.InstanceSize.LARGE),
91787
- machine_image=ec2.AmazonLinuxImage(
91788
- generation=ec2.AmazonLinuxGeneration.AMAZON_LINUX_2
91789
- ),
91900
+ # instance to add as the target for load balancer.
91901
+ instance = ec2.Instance(self, "targetInstance",
91790
91902
  vpc=vpc,
91791
- vpc_subnets=ec2.SubnetSelection(
91792
- subnet_type=ec2.SubnetType.PUBLIC
91793
- )
91903
+ instance_type=ec2.InstanceType.of(ec2.InstanceClass.BURSTABLE2, ec2.InstanceSize.MICRO),
91904
+ machine_image=ec2.AmazonLinuxImage(generation=ec2.AmazonLinuxGeneration.AMAZON_LINUX_2)
91794
91905
  )
91795
-
91796
- fs.connections.allow_default_port_from(inst)
91906
+ lb.add_target(elb.InstanceTarget(instance))
91797
91907
  '''
91798
91908
 
91799
91909
  def __init__(
@@ -102484,6 +102594,7 @@ def _typecheckingstub__5fdf31f5ae2497c7efcb56df558011698f38dc19cff28ca7a78a08a6d
102484
102594
  associate_public_ip_address: typing.Optional[builtins.bool] = None,
102485
102595
  availability_zone: typing.Optional[builtins.str] = None,
102486
102596
  block_devices: typing.Optional[typing.Sequence[typing.Union[BlockDevice, typing.Dict[builtins.str, typing.Any]]]] = None,
102597
+ credit_specification: typing.Optional[CpuCredits] = None,
102487
102598
  detailed_monitoring: typing.Optional[builtins.bool] = None,
102488
102599
  init: typing.Optional[CloudFormationInit] = None,
102489
102600
  init_options: typing.Optional[typing.Union[ApplyCloudFormationInitOptions, typing.Dict[builtins.str, typing.Any]]] = None,
@@ -102533,6 +102644,7 @@ def _typecheckingstub__2d4dc63c6e6ee3ddc68d5dd204d8ac5ef1f1dec37a7b84d636225df1c
102533
102644
  associate_public_ip_address: typing.Optional[builtins.bool] = None,
102534
102645
  availability_zone: typing.Optional[builtins.str] = None,
102535
102646
  block_devices: typing.Optional[typing.Sequence[typing.Union[BlockDevice, typing.Dict[builtins.str, typing.Any]]]] = None,
102647
+ credit_specification: typing.Optional[CpuCredits] = None,
102536
102648
  detailed_monitoring: typing.Optional[builtins.bool] = None,
102537
102649
  init: typing.Optional[CloudFormationInit] = None,
102538
102650
  init_options: typing.Optional[typing.Union[ApplyCloudFormationInitOptions, typing.Dict[builtins.str, typing.Any]]] = None,
@@ -102972,6 +103084,7 @@ def _typecheckingstub__addd8acc808c4965634311e54a7ffc0e3ebe29f2170d0d62750af3ad0
102972
103084
  def _typecheckingstub__d7c7c717447859e1ccc181bc97f7752cc3f7fa7afaee4c3a4266eeac32c08643(
102973
103085
  *,
102974
103086
  instance_type: InstanceType,
103087
+ credit_specification: typing.Optional[CpuCredits] = None,
102975
103088
  default_allowed_traffic: typing.Optional[NatTrafficDirection] = None,
102976
103089
  key_name: typing.Optional[builtins.str] = None,
102977
103090
  key_pair: typing.Optional[IKeyPair] = None,