aws-sdk-ec2 1.53.0 → 1.54.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -98,6 +98,8 @@ module Aws::EC2
98
98
  CancelBatchErrorCode = Shapes::StringShape.new(name: 'CancelBatchErrorCode')
99
99
  CancelBundleTaskRequest = Shapes::StructureShape.new(name: 'CancelBundleTaskRequest')
100
100
  CancelBundleTaskResult = Shapes::StructureShape.new(name: 'CancelBundleTaskResult')
101
+ CancelCapacityReservationRequest = Shapes::StructureShape.new(name: 'CancelCapacityReservationRequest')
102
+ CancelCapacityReservationResult = Shapes::StructureShape.new(name: 'CancelCapacityReservationResult')
101
103
  CancelConversionRequest = Shapes::StructureShape.new(name: 'CancelConversionRequest')
102
104
  CancelExportTaskRequest = Shapes::StructureShape.new(name: 'CancelExportTaskRequest')
103
105
  CancelImportTaskRequest = Shapes::StructureShape.new(name: 'CancelImportTaskRequest')
@@ -116,6 +118,17 @@ module Aws::EC2
116
118
  CancelSpotInstanceRequestsResult = Shapes::StructureShape.new(name: 'CancelSpotInstanceRequestsResult')
117
119
  CancelledSpotInstanceRequest = Shapes::StructureShape.new(name: 'CancelledSpotInstanceRequest')
118
120
  CancelledSpotInstanceRequestList = Shapes::ListShape.new(name: 'CancelledSpotInstanceRequestList')
121
+ CapacityReservation = Shapes::StructureShape.new(name: 'CapacityReservation')
122
+ CapacityReservationIdSet = Shapes::ListShape.new(name: 'CapacityReservationIdSet')
123
+ CapacityReservationInstancePlatform = Shapes::StringShape.new(name: 'CapacityReservationInstancePlatform')
124
+ CapacityReservationPreference = Shapes::StringShape.new(name: 'CapacityReservationPreference')
125
+ CapacityReservationSet = Shapes::ListShape.new(name: 'CapacityReservationSet')
126
+ CapacityReservationSpecification = Shapes::StructureShape.new(name: 'CapacityReservationSpecification')
127
+ CapacityReservationSpecificationResponse = Shapes::StructureShape.new(name: 'CapacityReservationSpecificationResponse')
128
+ CapacityReservationState = Shapes::StringShape.new(name: 'CapacityReservationState')
129
+ CapacityReservationTarget = Shapes::StructureShape.new(name: 'CapacityReservationTarget')
130
+ CapacityReservationTargetResponse = Shapes::StructureShape.new(name: 'CapacityReservationTargetResponse')
131
+ CapacityReservationTenancy = Shapes::StringShape.new(name: 'CapacityReservationTenancy')
119
132
  CidrAuthorizationContext = Shapes::StructureShape.new(name: 'CidrAuthorizationContext')
120
133
  CidrBlock = Shapes::StructureShape.new(name: 'CidrBlock')
121
134
  CidrBlockSet = Shapes::ListShape.new(name: 'CidrBlockSet')
@@ -145,6 +158,8 @@ module Aws::EC2
145
158
  CopySnapshotResult = Shapes::StructureShape.new(name: 'CopySnapshotResult')
146
159
  CpuOptions = Shapes::StructureShape.new(name: 'CpuOptions')
147
160
  CpuOptionsRequest = Shapes::StructureShape.new(name: 'CpuOptionsRequest')
161
+ CreateCapacityReservationRequest = Shapes::StructureShape.new(name: 'CreateCapacityReservationRequest')
162
+ CreateCapacityReservationResult = Shapes::StructureShape.new(name: 'CreateCapacityReservationResult')
148
163
  CreateCustomerGatewayRequest = Shapes::StructureShape.new(name: 'CreateCustomerGatewayRequest')
149
164
  CreateCustomerGatewayResult = Shapes::StructureShape.new(name: 'CreateCustomerGatewayResult')
150
165
  CreateDefaultSubnetRequest = Shapes::StructureShape.new(name: 'CreateDefaultSubnetRequest')
@@ -293,6 +308,8 @@ module Aws::EC2
293
308
  DescribeBundleTasksResult = Shapes::StructureShape.new(name: 'DescribeBundleTasksResult')
294
309
  DescribeByoipCidrsRequest = Shapes::StructureShape.new(name: 'DescribeByoipCidrsRequest')
295
310
  DescribeByoipCidrsResult = Shapes::StructureShape.new(name: 'DescribeByoipCidrsResult')
311
+ DescribeCapacityReservationsRequest = Shapes::StructureShape.new(name: 'DescribeCapacityReservationsRequest')
312
+ DescribeCapacityReservationsResult = Shapes::StructureShape.new(name: 'DescribeCapacityReservationsResult')
296
313
  DescribeClassicLinkInstancesRequest = Shapes::StructureShape.new(name: 'DescribeClassicLinkInstancesRequest')
297
314
  DescribeClassicLinkInstancesResult = Shapes::StructureShape.new(name: 'DescribeClassicLinkInstancesResult')
298
315
  DescribeConversionTaskList = Shapes::ListShape.new(name: 'DescribeConversionTaskList')
@@ -512,6 +529,7 @@ module Aws::EC2
512
529
  EnableVpcClassicLinkDnsSupportResult = Shapes::StructureShape.new(name: 'EnableVpcClassicLinkDnsSupportResult')
513
530
  EnableVpcClassicLinkRequest = Shapes::StructureShape.new(name: 'EnableVpcClassicLinkRequest')
514
531
  EnableVpcClassicLinkResult = Shapes::StructureShape.new(name: 'EnableVpcClassicLinkResult')
532
+ EndDateType = Shapes::StringShape.new(name: 'EndDateType')
515
533
  EventCode = Shapes::StringShape.new(name: 'EventCode')
516
534
  EventInformation = Shapes::StructureShape.new(name: 'EventInformation')
517
535
  EventType = Shapes::StringShape.new(name: 'EventType')
@@ -655,6 +673,7 @@ module Aws::EC2
655
673
  InstanceLifecycleType = Shapes::StringShape.new(name: 'InstanceLifecycleType')
656
674
  InstanceList = Shapes::ListShape.new(name: 'InstanceList')
657
675
  InstanceMarketOptionsRequest = Shapes::StructureShape.new(name: 'InstanceMarketOptionsRequest')
676
+ InstanceMatchCriteria = Shapes::StringShape.new(name: 'InstanceMatchCriteria')
658
677
  InstanceMonitoring = Shapes::StructureShape.new(name: 'InstanceMonitoring')
659
678
  InstanceMonitoringList = Shapes::ListShape.new(name: 'InstanceMonitoringList')
660
679
  InstanceNetworkInterface = Shapes::StructureShape.new(name: 'InstanceNetworkInterface')
@@ -709,6 +728,8 @@ module Aws::EC2
709
728
  LaunchTemplateBlockDeviceMappingList = Shapes::ListShape.new(name: 'LaunchTemplateBlockDeviceMappingList')
710
729
  LaunchTemplateBlockDeviceMappingRequest = Shapes::StructureShape.new(name: 'LaunchTemplateBlockDeviceMappingRequest')
711
730
  LaunchTemplateBlockDeviceMappingRequestList = Shapes::ListShape.new(name: 'LaunchTemplateBlockDeviceMappingRequestList')
731
+ LaunchTemplateCapacityReservationSpecificationRequest = Shapes::StructureShape.new(name: 'LaunchTemplateCapacityReservationSpecificationRequest')
732
+ LaunchTemplateCapacityReservationSpecificationResponse = Shapes::StructureShape.new(name: 'LaunchTemplateCapacityReservationSpecificationResponse')
712
733
  LaunchTemplateConfig = Shapes::StructureShape.new(name: 'LaunchTemplateConfig')
713
734
  LaunchTemplateConfigList = Shapes::ListShape.new(name: 'LaunchTemplateConfigList')
714
735
  LaunchTemplateCpuOptions = Shapes::StructureShape.new(name: 'LaunchTemplateCpuOptions')
@@ -754,6 +775,8 @@ module Aws::EC2
754
775
  Long = Shapes::IntegerShape.new(name: 'Long')
755
776
  MarketType = Shapes::StringShape.new(name: 'MarketType')
756
777
  MaxResults = Shapes::IntegerShape.new(name: 'MaxResults')
778
+ ModifyCapacityReservationRequest = Shapes::StructureShape.new(name: 'ModifyCapacityReservationRequest')
779
+ ModifyCapacityReservationResult = Shapes::StructureShape.new(name: 'ModifyCapacityReservationResult')
757
780
  ModifyFleetRequest = Shapes::StructureShape.new(name: 'ModifyFleetRequest')
758
781
  ModifyFleetResult = Shapes::StructureShape.new(name: 'ModifyFleetResult')
759
782
  ModifyFpgaImageAttributeRequest = Shapes::StructureShape.new(name: 'ModifyFpgaImageAttributeRequest')
@@ -764,6 +787,8 @@ module Aws::EC2
764
787
  ModifyIdentityIdFormatRequest = Shapes::StructureShape.new(name: 'ModifyIdentityIdFormatRequest')
765
788
  ModifyImageAttributeRequest = Shapes::StructureShape.new(name: 'ModifyImageAttributeRequest')
766
789
  ModifyInstanceAttributeRequest = Shapes::StructureShape.new(name: 'ModifyInstanceAttributeRequest')
790
+ ModifyInstanceCapacityReservationAttributesRequest = Shapes::StructureShape.new(name: 'ModifyInstanceCapacityReservationAttributesRequest')
791
+ ModifyInstanceCapacityReservationAttributesResult = Shapes::StructureShape.new(name: 'ModifyInstanceCapacityReservationAttributesResult')
767
792
  ModifyInstanceCreditSpecificationRequest = Shapes::StructureShape.new(name: 'ModifyInstanceCreditSpecificationRequest')
768
793
  ModifyInstanceCreditSpecificationResult = Shapes::StructureShape.new(name: 'ModifyInstanceCreditSpecificationResult')
769
794
  ModifyInstancePlacementRequest = Shapes::StructureShape.new(name: 'ModifyInstancePlacementRequest')
@@ -1522,6 +1547,13 @@ module Aws::EC2
1522
1547
  CancelBundleTaskResult.add_member(:bundle_task, Shapes::ShapeRef.new(shape: BundleTask, location_name: "bundleInstanceTask"))
1523
1548
  CancelBundleTaskResult.struct_class = Types::CancelBundleTaskResult
1524
1549
 
1550
+ CancelCapacityReservationRequest.add_member(:capacity_reservation_id, Shapes::ShapeRef.new(shape: String, required: true, location_name: "CapacityReservationId"))
1551
+ CancelCapacityReservationRequest.add_member(:dry_run, Shapes::ShapeRef.new(shape: Boolean, location_name: "DryRun"))
1552
+ CancelCapacityReservationRequest.struct_class = Types::CancelCapacityReservationRequest
1553
+
1554
+ CancelCapacityReservationResult.add_member(:return, Shapes::ShapeRef.new(shape: Boolean, location_name: "return"))
1555
+ CancelCapacityReservationResult.struct_class = Types::CancelCapacityReservationResult
1556
+
1525
1557
  CancelConversionRequest.add_member(:conversion_task_id, Shapes::ShapeRef.new(shape: String, required: true, location_name: "conversionTaskId"))
1526
1558
  CancelConversionRequest.add_member(:dry_run, Shapes::ShapeRef.new(shape: Boolean, location_name: "dryRun"))
1527
1559
  CancelConversionRequest.add_member(:reason_message, Shapes::ShapeRef.new(shape: String, location_name: "reasonMessage"))
@@ -1585,6 +1617,41 @@ module Aws::EC2
1585
1617
 
1586
1618
  CancelledSpotInstanceRequestList.member = Shapes::ShapeRef.new(shape: CancelledSpotInstanceRequest, location_name: "item")
1587
1619
 
1620
+ CapacityReservation.add_member(:capacity_reservation_id, Shapes::ShapeRef.new(shape: String, location_name: "capacityReservationId"))
1621
+ CapacityReservation.add_member(:instance_type, Shapes::ShapeRef.new(shape: String, location_name: "instanceType"))
1622
+ CapacityReservation.add_member(:instance_platform, Shapes::ShapeRef.new(shape: CapacityReservationInstancePlatform, location_name: "instancePlatform"))
1623
+ CapacityReservation.add_member(:availability_zone, Shapes::ShapeRef.new(shape: String, location_name: "availabilityZone"))
1624
+ CapacityReservation.add_member(:tenancy, Shapes::ShapeRef.new(shape: CapacityReservationTenancy, location_name: "tenancy"))
1625
+ CapacityReservation.add_member(:total_instance_count, Shapes::ShapeRef.new(shape: Integer, location_name: "totalInstanceCount"))
1626
+ CapacityReservation.add_member(:available_instance_count, Shapes::ShapeRef.new(shape: Integer, location_name: "availableInstanceCount"))
1627
+ CapacityReservation.add_member(:ebs_optimized, Shapes::ShapeRef.new(shape: Boolean, location_name: "ebsOptimized"))
1628
+ CapacityReservation.add_member(:ephemeral_storage, Shapes::ShapeRef.new(shape: Boolean, location_name: "ephemeralStorage"))
1629
+ CapacityReservation.add_member(:state, Shapes::ShapeRef.new(shape: CapacityReservationState, location_name: "state"))
1630
+ CapacityReservation.add_member(:end_date, Shapes::ShapeRef.new(shape: DateTime, location_name: "endDate"))
1631
+ CapacityReservation.add_member(:end_date_type, Shapes::ShapeRef.new(shape: EndDateType, location_name: "endDateType"))
1632
+ CapacityReservation.add_member(:instance_match_criteria, Shapes::ShapeRef.new(shape: InstanceMatchCriteria, location_name: "instanceMatchCriteria"))
1633
+ CapacityReservation.add_member(:create_date, Shapes::ShapeRef.new(shape: DateTime, location_name: "createDate"))
1634
+ CapacityReservation.add_member(:tags, Shapes::ShapeRef.new(shape: TagList, location_name: "tagSet"))
1635
+ CapacityReservation.struct_class = Types::CapacityReservation
1636
+
1637
+ CapacityReservationIdSet.member = Shapes::ShapeRef.new(shape: String, location_name: "item")
1638
+
1639
+ CapacityReservationSet.member = Shapes::ShapeRef.new(shape: CapacityReservation, location_name: "item")
1640
+
1641
+ CapacityReservationSpecification.add_member(:capacity_reservation_preference, Shapes::ShapeRef.new(shape: CapacityReservationPreference, location_name: "CapacityReservationPreference"))
1642
+ CapacityReservationSpecification.add_member(:capacity_reservation_target, Shapes::ShapeRef.new(shape: CapacityReservationTarget, location_name: "CapacityReservationTarget"))
1643
+ CapacityReservationSpecification.struct_class = Types::CapacityReservationSpecification
1644
+
1645
+ CapacityReservationSpecificationResponse.add_member(:capacity_reservation_preference, Shapes::ShapeRef.new(shape: CapacityReservationPreference, location_name: "capacityReservationPreference"))
1646
+ CapacityReservationSpecificationResponse.add_member(:capacity_reservation_target, Shapes::ShapeRef.new(shape: CapacityReservationTargetResponse, location_name: "capacityReservationTarget"))
1647
+ CapacityReservationSpecificationResponse.struct_class = Types::CapacityReservationSpecificationResponse
1648
+
1649
+ CapacityReservationTarget.add_member(:capacity_reservation_id, Shapes::ShapeRef.new(shape: String, location_name: "CapacityReservationId"))
1650
+ CapacityReservationTarget.struct_class = Types::CapacityReservationTarget
1651
+
1652
+ CapacityReservationTargetResponse.add_member(:capacity_reservation_id, Shapes::ShapeRef.new(shape: String, location_name: "capacityReservationId"))
1653
+ CapacityReservationTargetResponse.struct_class = Types::CapacityReservationTargetResponse
1654
+
1588
1655
  CidrAuthorizationContext.add_member(:message, Shapes::ShapeRef.new(shape: String, required: true, location_name: "Message"))
1589
1656
  CidrAuthorizationContext.add_member(:signature, Shapes::ShapeRef.new(shape: String, required: true, location_name: "Signature"))
1590
1657
  CidrAuthorizationContext.struct_class = Types::CidrAuthorizationContext
@@ -1698,6 +1765,24 @@ module Aws::EC2
1698
1765
  CpuOptionsRequest.add_member(:threads_per_core, Shapes::ShapeRef.new(shape: Integer, location_name: "ThreadsPerCore"))
1699
1766
  CpuOptionsRequest.struct_class = Types::CpuOptionsRequest
1700
1767
 
1768
+ CreateCapacityReservationRequest.add_member(:client_token, Shapes::ShapeRef.new(shape: String, location_name: "ClientToken"))
1769
+ CreateCapacityReservationRequest.add_member(:instance_type, Shapes::ShapeRef.new(shape: String, required: true, location_name: "InstanceType"))
1770
+ CreateCapacityReservationRequest.add_member(:instance_platform, Shapes::ShapeRef.new(shape: CapacityReservationInstancePlatform, required: true, location_name: "InstancePlatform"))
1771
+ CreateCapacityReservationRequest.add_member(:availability_zone, Shapes::ShapeRef.new(shape: String, required: true, location_name: "AvailabilityZone"))
1772
+ CreateCapacityReservationRequest.add_member(:tenancy, Shapes::ShapeRef.new(shape: CapacityReservationTenancy, location_name: "Tenancy"))
1773
+ CreateCapacityReservationRequest.add_member(:instance_count, Shapes::ShapeRef.new(shape: Integer, required: true, location_name: "InstanceCount"))
1774
+ CreateCapacityReservationRequest.add_member(:ebs_optimized, Shapes::ShapeRef.new(shape: Boolean, location_name: "EbsOptimized"))
1775
+ CreateCapacityReservationRequest.add_member(:ephemeral_storage, Shapes::ShapeRef.new(shape: Boolean, location_name: "EphemeralStorage"))
1776
+ CreateCapacityReservationRequest.add_member(:end_date, Shapes::ShapeRef.new(shape: DateTime, location_name: "EndDate"))
1777
+ CreateCapacityReservationRequest.add_member(:end_date_type, Shapes::ShapeRef.new(shape: EndDateType, location_name: "EndDateType"))
1778
+ CreateCapacityReservationRequest.add_member(:instance_match_criteria, Shapes::ShapeRef.new(shape: InstanceMatchCriteria, location_name: "InstanceMatchCriteria"))
1779
+ CreateCapacityReservationRequest.add_member(:tag_specifications, Shapes::ShapeRef.new(shape: TagSpecificationList, location_name: "TagSpecifications"))
1780
+ CreateCapacityReservationRequest.add_member(:dry_run, Shapes::ShapeRef.new(shape: Boolean, location_name: "DryRun"))
1781
+ CreateCapacityReservationRequest.struct_class = Types::CreateCapacityReservationRequest
1782
+
1783
+ CreateCapacityReservationResult.add_member(:capacity_reservation, Shapes::ShapeRef.new(shape: CapacityReservation, location_name: "capacityReservation"))
1784
+ CreateCapacityReservationResult.struct_class = Types::CreateCapacityReservationResult
1785
+
1701
1786
  CreateCustomerGatewayRequest.add_member(:bgp_asn, Shapes::ShapeRef.new(shape: Integer, required: true, location_name: "BgpAsn"))
1702
1787
  CreateCustomerGatewayRequest.add_member(:public_ip, Shapes::ShapeRef.new(shape: String, required: true, location_name: "IpAddress"))
1703
1788
  CreateCustomerGatewayRequest.add_member(:type, Shapes::ShapeRef.new(shape: GatewayType, required: true, location_name: "Type"))
@@ -2345,6 +2430,17 @@ module Aws::EC2
2345
2430
  DescribeByoipCidrsResult.add_member(:next_token, Shapes::ShapeRef.new(shape: String, location_name: "nextToken"))
2346
2431
  DescribeByoipCidrsResult.struct_class = Types::DescribeByoipCidrsResult
2347
2432
 
2433
+ DescribeCapacityReservationsRequest.add_member(:capacity_reservation_ids, Shapes::ShapeRef.new(shape: CapacityReservationIdSet, location_name: "CapacityReservationId"))
2434
+ DescribeCapacityReservationsRequest.add_member(:next_token, Shapes::ShapeRef.new(shape: String, location_name: "NextToken"))
2435
+ DescribeCapacityReservationsRequest.add_member(:max_results, Shapes::ShapeRef.new(shape: Integer, location_name: "MaxResults"))
2436
+ DescribeCapacityReservationsRequest.add_member(:filters, Shapes::ShapeRef.new(shape: FilterList, location_name: "Filter"))
2437
+ DescribeCapacityReservationsRequest.add_member(:dry_run, Shapes::ShapeRef.new(shape: Boolean, location_name: "DryRun"))
2438
+ DescribeCapacityReservationsRequest.struct_class = Types::DescribeCapacityReservationsRequest
2439
+
2440
+ DescribeCapacityReservationsResult.add_member(:next_token, Shapes::ShapeRef.new(shape: String, location_name: "nextToken"))
2441
+ DescribeCapacityReservationsResult.add_member(:capacity_reservations, Shapes::ShapeRef.new(shape: CapacityReservationSet, location_name: "capacityReservationSet"))
2442
+ DescribeCapacityReservationsResult.struct_class = Types::DescribeCapacityReservationsResult
2443
+
2348
2444
  DescribeClassicLinkInstancesRequest.add_member(:filters, Shapes::ShapeRef.new(shape: FilterList, location_name: "Filter"))
2349
2445
  DescribeClassicLinkInstancesRequest.add_member(:dry_run, Shapes::ShapeRef.new(shape: Boolean, location_name: "dryRun"))
2350
2446
  DescribeClassicLinkInstancesRequest.add_member(:instance_ids, Shapes::ShapeRef.new(shape: InstanceIdStringList, location_name: "InstanceId"))
@@ -3895,6 +3991,8 @@ module Aws::EC2
3895
3991
  Instance.add_member(:tags, Shapes::ShapeRef.new(shape: TagList, location_name: "tagSet"))
3896
3992
  Instance.add_member(:virtualization_type, Shapes::ShapeRef.new(shape: VirtualizationType, location_name: "virtualizationType"))
3897
3993
  Instance.add_member(:cpu_options, Shapes::ShapeRef.new(shape: CpuOptions, location_name: "cpuOptions"))
3994
+ Instance.add_member(:capacity_reservation_id, Shapes::ShapeRef.new(shape: String, location_name: "capacityReservationId"))
3995
+ Instance.add_member(:capacity_reservation_specification, Shapes::ShapeRef.new(shape: CapacityReservationSpecificationResponse, location_name: "capacityReservationSpecification"))
3898
3996
  Instance.struct_class = Types::Instance
3899
3997
 
3900
3998
  InstanceAttribute.add_member(:groups, Shapes::ShapeRef.new(shape: GroupIdentifierList, location_name: "groupSet"))
@@ -4190,6 +4288,14 @@ module Aws::EC2
4190
4288
 
4191
4289
  LaunchTemplateBlockDeviceMappingRequestList.member = Shapes::ShapeRef.new(shape: LaunchTemplateBlockDeviceMappingRequest, location_name: "BlockDeviceMapping")
4192
4290
 
4291
+ LaunchTemplateCapacityReservationSpecificationRequest.add_member(:capacity_reservation_preference, Shapes::ShapeRef.new(shape: CapacityReservationPreference, location_name: "CapacityReservationPreference"))
4292
+ LaunchTemplateCapacityReservationSpecificationRequest.add_member(:capacity_reservation_target, Shapes::ShapeRef.new(shape: CapacityReservationTarget, location_name: "CapacityReservationTarget"))
4293
+ LaunchTemplateCapacityReservationSpecificationRequest.struct_class = Types::LaunchTemplateCapacityReservationSpecificationRequest
4294
+
4295
+ LaunchTemplateCapacityReservationSpecificationResponse.add_member(:capacity_reservation_preference, Shapes::ShapeRef.new(shape: CapacityReservationPreference, location_name: "capacityReservationPreference"))
4296
+ LaunchTemplateCapacityReservationSpecificationResponse.add_member(:capacity_reservation_target, Shapes::ShapeRef.new(shape: CapacityReservationTargetResponse, location_name: "capacityReservationTarget"))
4297
+ LaunchTemplateCapacityReservationSpecificationResponse.struct_class = Types::LaunchTemplateCapacityReservationSpecificationResponse
4298
+
4193
4299
  LaunchTemplateConfig.add_member(:launch_template_specification, Shapes::ShapeRef.new(shape: FleetLaunchTemplateSpecification, location_name: "launchTemplateSpecification"))
4194
4300
  LaunchTemplateConfig.add_member(:overrides, Shapes::ShapeRef.new(shape: LaunchTemplateOverridesList, location_name: "overrides"))
4195
4301
  LaunchTemplateConfig.struct_class = Types::LaunchTemplateConfig
@@ -4369,6 +4475,16 @@ module Aws::EC2
4369
4475
  LoadPermissionRequest.add_member(:user_id, Shapes::ShapeRef.new(shape: String, location_name: "UserId"))
4370
4476
  LoadPermissionRequest.struct_class = Types::LoadPermissionRequest
4371
4477
 
4478
+ ModifyCapacityReservationRequest.add_member(:capacity_reservation_id, Shapes::ShapeRef.new(shape: String, required: true, location_name: "CapacityReservationId"))
4479
+ ModifyCapacityReservationRequest.add_member(:instance_count, Shapes::ShapeRef.new(shape: Integer, location_name: "InstanceCount"))
4480
+ ModifyCapacityReservationRequest.add_member(:end_date, Shapes::ShapeRef.new(shape: DateTime, location_name: "EndDate"))
4481
+ ModifyCapacityReservationRequest.add_member(:end_date_type, Shapes::ShapeRef.new(shape: EndDateType, location_name: "EndDateType"))
4482
+ ModifyCapacityReservationRequest.add_member(:dry_run, Shapes::ShapeRef.new(shape: Boolean, location_name: "DryRun"))
4483
+ ModifyCapacityReservationRequest.struct_class = Types::ModifyCapacityReservationRequest
4484
+
4485
+ ModifyCapacityReservationResult.add_member(:return, Shapes::ShapeRef.new(shape: Boolean, location_name: "return"))
4486
+ ModifyCapacityReservationResult.struct_class = Types::ModifyCapacityReservationResult
4487
+
4372
4488
  ModifyFleetRequest.add_member(:dry_run, Shapes::ShapeRef.new(shape: Boolean, location_name: "DryRun"))
4373
4489
  ModifyFleetRequest.add_member(:excess_capacity_termination_policy, Shapes::ShapeRef.new(shape: FleetExcessCapacityTerminationPolicy, location_name: "ExcessCapacityTerminationPolicy"))
4374
4490
  ModifyFleetRequest.add_member(:fleet_id, Shapes::ShapeRef.new(shape: FleetIdentifier, required: true, location_name: "FleetId"))
@@ -4440,6 +4556,14 @@ module Aws::EC2
4440
4556
  ModifyInstanceAttributeRequest.add_member(:value, Shapes::ShapeRef.new(shape: String, location_name: "value"))
4441
4557
  ModifyInstanceAttributeRequest.struct_class = Types::ModifyInstanceAttributeRequest
4442
4558
 
4559
+ ModifyInstanceCapacityReservationAttributesRequest.add_member(:instance_id, Shapes::ShapeRef.new(shape: String, required: true, location_name: "InstanceId"))
4560
+ ModifyInstanceCapacityReservationAttributesRequest.add_member(:capacity_reservation_specification, Shapes::ShapeRef.new(shape: CapacityReservationSpecification, required: true, location_name: "CapacityReservationSpecification"))
4561
+ ModifyInstanceCapacityReservationAttributesRequest.add_member(:dry_run, Shapes::ShapeRef.new(shape: Boolean, location_name: "DryRun"))
4562
+ ModifyInstanceCapacityReservationAttributesRequest.struct_class = Types::ModifyInstanceCapacityReservationAttributesRequest
4563
+
4564
+ ModifyInstanceCapacityReservationAttributesResult.add_member(:return, Shapes::ShapeRef.new(shape: Boolean, location_name: "return"))
4565
+ ModifyInstanceCapacityReservationAttributesResult.struct_class = Types::ModifyInstanceCapacityReservationAttributesResult
4566
+
4443
4567
  ModifyInstanceCreditSpecificationRequest.add_member(:dry_run, Shapes::ShapeRef.new(shape: Boolean, location_name: "DryRun"))
4444
4568
  ModifyInstanceCreditSpecificationRequest.add_member(:client_token, Shapes::ShapeRef.new(shape: String, location_name: "ClientToken"))
4445
4569
  ModifyInstanceCreditSpecificationRequest.add_member(:instance_credit_specifications, Shapes::ShapeRef.new(shape: InstanceCreditSpecificationListRequest, required: true, location_name: "InstanceCreditSpecification"))
@@ -5094,6 +5218,7 @@ module Aws::EC2
5094
5218
  RequestLaunchTemplateData.add_member(:instance_market_options, Shapes::ShapeRef.new(shape: LaunchTemplateInstanceMarketOptionsRequest, location_name: "InstanceMarketOptions"))
5095
5219
  RequestLaunchTemplateData.add_member(:credit_specification, Shapes::ShapeRef.new(shape: CreditSpecificationRequest, location_name: "CreditSpecification"))
5096
5220
  RequestLaunchTemplateData.add_member(:cpu_options, Shapes::ShapeRef.new(shape: LaunchTemplateCpuOptionsRequest, location_name: "CpuOptions"))
5221
+ RequestLaunchTemplateData.add_member(:capacity_reservation_specification, Shapes::ShapeRef.new(shape: LaunchTemplateCapacityReservationSpecificationRequest, location_name: "CapacityReservationSpecification"))
5097
5222
  RequestLaunchTemplateData.struct_class = Types::RequestLaunchTemplateData
5098
5223
 
5099
5224
  RequestSpotFleetRequest.add_member(:dry_run, Shapes::ShapeRef.new(shape: Boolean, location_name: "dryRun"))
@@ -5319,6 +5444,7 @@ module Aws::EC2
5319
5444
  ResponseLaunchTemplateData.add_member(:instance_market_options, Shapes::ShapeRef.new(shape: LaunchTemplateInstanceMarketOptions, location_name: "instanceMarketOptions"))
5320
5445
  ResponseLaunchTemplateData.add_member(:credit_specification, Shapes::ShapeRef.new(shape: CreditSpecification, location_name: "creditSpecification"))
5321
5446
  ResponseLaunchTemplateData.add_member(:cpu_options, Shapes::ShapeRef.new(shape: LaunchTemplateCpuOptions, location_name: "cpuOptions"))
5447
+ ResponseLaunchTemplateData.add_member(:capacity_reservation_specification, Shapes::ShapeRef.new(shape: LaunchTemplateCapacityReservationSpecificationResponse, location_name: "capacityReservationSpecification"))
5322
5448
  ResponseLaunchTemplateData.struct_class = Types::ResponseLaunchTemplateData
5323
5449
 
5324
5450
  RestorableByStringList.member = Shapes::ShapeRef.new(shape: String)
@@ -5422,6 +5548,7 @@ module Aws::EC2
5422
5548
  RunInstancesRequest.add_member(:instance_market_options, Shapes::ShapeRef.new(shape: InstanceMarketOptionsRequest, location_name: "InstanceMarketOptions"))
5423
5549
  RunInstancesRequest.add_member(:credit_specification, Shapes::ShapeRef.new(shape: CreditSpecificationRequest, location_name: "CreditSpecification"))
5424
5550
  RunInstancesRequest.add_member(:cpu_options, Shapes::ShapeRef.new(shape: CpuOptionsRequest, location_name: "CpuOptions"))
5551
+ RunInstancesRequest.add_member(:capacity_reservation_specification, Shapes::ShapeRef.new(shape: CapacityReservationSpecification, location_name: "CapacityReservationSpecification"))
5425
5552
  RunInstancesRequest.struct_class = Types::RunInstancesRequest
5426
5553
 
5427
5554
  RunScheduledInstancesRequest.add_member(:client_token, Shapes::ShapeRef.new(shape: String, location_name: "ClientToken", metadata: {"idempotencyToken"=>true}))
@@ -6500,6 +6627,14 @@ module Aws::EC2
6500
6627
  o.output = Shapes::ShapeRef.new(shape: CancelBundleTaskResult)
6501
6628
  end)
6502
6629
 
6630
+ api.add_operation(:cancel_capacity_reservation, Seahorse::Model::Operation.new.tap do |o|
6631
+ o.name = "CancelCapacityReservation"
6632
+ o.http_method = "POST"
6633
+ o.http_request_uri = "/"
6634
+ o.input = Shapes::ShapeRef.new(shape: CancelCapacityReservationRequest)
6635
+ o.output = Shapes::ShapeRef.new(shape: CancelCapacityReservationResult)
6636
+ end)
6637
+
6503
6638
  api.add_operation(:cancel_conversion_task, Seahorse::Model::Operation.new.tap do |o|
6504
6639
  o.name = "CancelConversionTask"
6505
6640
  o.http_method = "POST"
@@ -6580,6 +6715,14 @@ module Aws::EC2
6580
6715
  o.output = Shapes::ShapeRef.new(shape: CopySnapshotResult)
6581
6716
  end)
6582
6717
 
6718
+ api.add_operation(:create_capacity_reservation, Seahorse::Model::Operation.new.tap do |o|
6719
+ o.name = "CreateCapacityReservation"
6720
+ o.http_method = "POST"
6721
+ o.http_request_uri = "/"
6722
+ o.input = Shapes::ShapeRef.new(shape: CreateCapacityReservationRequest)
6723
+ o.output = Shapes::ShapeRef.new(shape: CreateCapacityReservationResult)
6724
+ end)
6725
+
6583
6726
  api.add_operation(:create_customer_gateway, Seahorse::Model::Operation.new.tap do |o|
6584
6727
  o.name = "CreateCustomerGateway"
6585
6728
  o.http_method = "POST"
@@ -7196,6 +7339,14 @@ module Aws::EC2
7196
7339
  o.output = Shapes::ShapeRef.new(shape: DescribeByoipCidrsResult)
7197
7340
  end)
7198
7341
 
7342
+ api.add_operation(:describe_capacity_reservations, Seahorse::Model::Operation.new.tap do |o|
7343
+ o.name = "DescribeCapacityReservations"
7344
+ o.http_method = "POST"
7345
+ o.http_request_uri = "/"
7346
+ o.input = Shapes::ShapeRef.new(shape: DescribeCapacityReservationsRequest)
7347
+ o.output = Shapes::ShapeRef.new(shape: DescribeCapacityReservationsResult)
7348
+ end)
7349
+
7199
7350
  api.add_operation(:describe_classic_link_instances, Seahorse::Model::Operation.new.tap do |o|
7200
7351
  o.name = "DescribeClassicLinkInstances"
7201
7352
  o.http_method = "POST"
@@ -8123,6 +8274,14 @@ module Aws::EC2
8123
8274
  o.output = Shapes::ShapeRef.new(shape: ImportVolumeResult)
8124
8275
  end)
8125
8276
 
8277
+ api.add_operation(:modify_capacity_reservation, Seahorse::Model::Operation.new.tap do |o|
8278
+ o.name = "ModifyCapacityReservation"
8279
+ o.http_method = "POST"
8280
+ o.http_request_uri = "/"
8281
+ o.input = Shapes::ShapeRef.new(shape: ModifyCapacityReservationRequest)
8282
+ o.output = Shapes::ShapeRef.new(shape: ModifyCapacityReservationResult)
8283
+ end)
8284
+
8126
8285
  api.add_operation(:modify_fleet, Seahorse::Model::Operation.new.tap do |o|
8127
8286
  o.name = "ModifyFleet"
8128
8287
  o.http_method = "POST"
@@ -8179,6 +8338,14 @@ module Aws::EC2
8179
8338
  o.output = Shapes::ShapeRef.new(shape: Shapes::StructureShape.new(struct_class: Aws::EmptyStructure))
8180
8339
  end)
8181
8340
 
8341
+ api.add_operation(:modify_instance_capacity_reservation_attributes, Seahorse::Model::Operation.new.tap do |o|
8342
+ o.name = "ModifyInstanceCapacityReservationAttributes"
8343
+ o.http_method = "POST"
8344
+ o.http_request_uri = "/"
8345
+ o.input = Shapes::ShapeRef.new(shape: ModifyInstanceCapacityReservationAttributesRequest)
8346
+ o.output = Shapes::ShapeRef.new(shape: ModifyInstanceCapacityReservationAttributesResult)
8347
+ end)
8348
+
8182
8349
  api.add_operation(:modify_instance_credit_specification, Seahorse::Model::Operation.new.tap do |o|
8183
8350
  o.name = "ModifyInstanceCreditSpecification"
8184
8351
  o.http_method = "POST"
@@ -289,6 +289,18 @@ module Aws::EC2
289
289
  data[:cpu_options]
290
290
  end
291
291
 
292
+ # The ID of the Capacity Reservation.
293
+ # @return [String]
294
+ def capacity_reservation_id
295
+ data[:capacity_reservation_id]
296
+ end
297
+
298
+ # Information about the Capacity Reservation targeting option.
299
+ # @return [Types::CapacityReservationSpecificationResponse]
300
+ def capacity_reservation_specification
301
+ data[:capacity_reservation_specification]
302
+ end
303
+
292
304
  # @!endgroup
293
305
 
294
306
  # @return [Client]
@@ -171,6 +171,12 @@ module Aws::EC2
171
171
  # core_count: 1,
172
172
  # threads_per_core: 1,
173
173
  # },
174
+ # capacity_reservation_specification: {
175
+ # capacity_reservation_preference: "open", # accepts open, none
176
+ # capacity_reservation_target: {
177
+ # capacity_reservation_id: "String",
178
+ # },
179
+ # },
174
180
  # })
175
181
  # @param [Hash] options ({})
176
182
  # @option options [Array<Types::BlockDeviceMapping>] :block_device_mappings
@@ -378,6 +384,8 @@ module Aws::EC2
378
384
  #
379
385
  #
380
386
  # [1]: http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/instance-optimize-cpu.html
387
+ # @option options [Types::CapacityReservationSpecification] :capacity_reservation_specification
388
+ # Information about the Capacity Reservation targeting option.
381
389
  # @return [Instance::Collection]
382
390
  def create_instances(options = {})
383
391
  batch = []
@@ -348,6 +348,12 @@ module Aws::EC2
348
348
  # core_count: 1,
349
349
  # threads_per_core: 1,
350
350
  # },
351
+ # capacity_reservation_specification: {
352
+ # capacity_reservation_preference: "open", # accepts open, none
353
+ # capacity_reservation_target: {
354
+ # capacity_reservation_id: "String",
355
+ # },
356
+ # },
351
357
  # })
352
358
  # @param [Hash] options ({})
353
359
  # @option options [Array<Types::BlockDeviceMapping>] :block_device_mappings
@@ -553,6 +559,8 @@ module Aws::EC2
553
559
  #
554
560
  #
555
561
  # [1]: http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/instance-optimize-cpu.html
562
+ # @option options [Types::CapacityReservationSpecification] :capacity_reservation_specification
563
+ # Information about the Capacity Reservation targeting option.
556
564
  # @return [Instance::Collection]
557
565
  def create_instances(options = {})
558
566
  batch = []
@@ -1744,6 +1744,45 @@ module Aws::EC2
1744
1744
  include Aws::Structure
1745
1745
  end
1746
1746
 
1747
+ # @note When making an API call, you may pass CancelCapacityReservationRequest
1748
+ # data as a hash:
1749
+ #
1750
+ # {
1751
+ # capacity_reservation_id: "String", # required
1752
+ # dry_run: false,
1753
+ # }
1754
+ #
1755
+ # @!attribute [rw] capacity_reservation_id
1756
+ # The ID of the Capacity Reservation to be cancelled.
1757
+ # @return [String]
1758
+ #
1759
+ # @!attribute [rw] dry_run
1760
+ # Checks whether you have the required permissions for the action,
1761
+ # without actually making the request, and provides an error response.
1762
+ # If you have the required permissions, the error response is
1763
+ # `DryRunOperation`. Otherwise, it is `UnauthorizedOperation`.
1764
+ # @return [Boolean]
1765
+ #
1766
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CancelCapacityReservationRequest AWS API Documentation
1767
+ #
1768
+ class CancelCapacityReservationRequest < Struct.new(
1769
+ :capacity_reservation_id,
1770
+ :dry_run)
1771
+ include Aws::Structure
1772
+ end
1773
+
1774
+ # @!attribute [rw] return
1775
+ # Returns `true` if the request succeeds; otherwise, it returns an
1776
+ # error.
1777
+ # @return [Boolean]
1778
+ #
1779
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CancelCapacityReservationResult AWS API Documentation
1780
+ #
1781
+ class CancelCapacityReservationResult < Struct.new(
1782
+ :return)
1783
+ include Aws::Structure
1784
+ end
1785
+
1747
1786
  # Contains the parameters for CancelConversionTask.
1748
1787
  #
1749
1788
  # @note When making an API call, you may pass CancelConversionRequest
@@ -2066,6 +2105,257 @@ module Aws::EC2
2066
2105
  include Aws::Structure
2067
2106
  end
2068
2107
 
2108
+ # Describes a Capacity Reservation.
2109
+ #
2110
+ # @!attribute [rw] capacity_reservation_id
2111
+ # The ID of the Capacity Reservation.
2112
+ # @return [String]
2113
+ #
2114
+ # @!attribute [rw] instance_type
2115
+ # The type of instance for which the Capacity Reservation reserves
2116
+ # capacity.
2117
+ # @return [String]
2118
+ #
2119
+ # @!attribute [rw] instance_platform
2120
+ # The type of operating system for which the Capacity Reservation
2121
+ # reserves capacity.
2122
+ # @return [String]
2123
+ #
2124
+ # @!attribute [rw] availability_zone
2125
+ # The Availability Zone in which the capacity is reserved.
2126
+ # @return [String]
2127
+ #
2128
+ # @!attribute [rw] tenancy
2129
+ # Indicates the tenancy of the Capacity Reservation. A Capacity
2130
+ # Reservation can have one of the following tenancy settings:
2131
+ #
2132
+ # * `default` - The Capacity Reservation is created on hardware that
2133
+ # is shared with other AWS accounts.
2134
+ #
2135
+ # * `dedicated` - The Capacity Reservation is created on single-tenant
2136
+ # hardware that is dedicated to a single AWS account.
2137
+ # @return [String]
2138
+ #
2139
+ # @!attribute [rw] total_instance_count
2140
+ # The number of instances for which the Capacity Reservation reserves
2141
+ # capacity.
2142
+ # @return [Integer]
2143
+ #
2144
+ # @!attribute [rw] available_instance_count
2145
+ # The remaining capacity. Indicates the number of instances that can
2146
+ # be launched in the Capacity Reservation.
2147
+ # @return [Integer]
2148
+ #
2149
+ # @!attribute [rw] ebs_optimized
2150
+ # Indicates whether the Capacity Reservation supports EBS-optimized
2151
+ # instances. This optimization provides dedicated throughput to Amazon
2152
+ # EBS and an optimized configuration stack to provide optimal I/O
2153
+ # performance. This optimization isn't available with all instance
2154
+ # types. Additional usage charges apply when using an EBS- optimized
2155
+ # instance.
2156
+ # @return [Boolean]
2157
+ #
2158
+ # @!attribute [rw] ephemeral_storage
2159
+ # Indicates whether the Capacity Reservation supports instances with
2160
+ # temporary, block-level storage.
2161
+ # @return [Boolean]
2162
+ #
2163
+ # @!attribute [rw] state
2164
+ # The current state of the Capacity Reservation. A Capacity
2165
+ # Reservation can be in one of the following states:
2166
+ #
2167
+ # * `active` - The Capacity Reservation is active and the capacity is
2168
+ # available for your use.
2169
+ #
2170
+ # * `cancelled` - The Capacity Reservation expired automatically at
2171
+ # the date and time specified in your request. The reserved capacity
2172
+ # is no longer available for your use.
2173
+ #
2174
+ # * `expired` - The Capacity Reservation was manually cancelled. The
2175
+ # reserved capacity is no longer available for your use.
2176
+ #
2177
+ # * `pending` - The Capacity Reservation request was successful but
2178
+ # the capacity provisioning is still pending.
2179
+ #
2180
+ # * `failed` - The Capacity Reservation request has failed. A request
2181
+ # might fail due to invalid request parameters, capacity
2182
+ # constraints, or instance limit constraints. Failed requests are
2183
+ # retained for 60 minutes.
2184
+ # @return [String]
2185
+ #
2186
+ # @!attribute [rw] end_date
2187
+ # The date and time at which the Capacity Reservation expires. When a
2188
+ # Capacity Reservation expires, the reserved capacity is released and
2189
+ # you can no longer launch instances into it. The Capacity
2190
+ # Reservation's state changes to `expired` when it reaches its end
2191
+ # date and time.
2192
+ # @return [Time]
2193
+ #
2194
+ # @!attribute [rw] end_date_type
2195
+ # Indicates the way in which the Capacity Reservation ends. A Capacity
2196
+ # Reservation can have one of the following end types:
2197
+ #
2198
+ # * `unlimited` - The Capacity Reservation remains active until you
2199
+ # explicitly cancel it.
2200
+ #
2201
+ # * `limited` - The Capacity Reservation expires automatically at a
2202
+ # specified date and time.
2203
+ # @return [String]
2204
+ #
2205
+ # @!attribute [rw] instance_match_criteria
2206
+ # Indicates the type of instance launches that the Capacity
2207
+ # Reservation accepts. The options include:
2208
+ #
2209
+ # * `open` - The Capacity Reservation accepts all instances that have
2210
+ # matching attributes (instance type, platform, and Availability
2211
+ # Zone). Instances that have matching attributes launch into the
2212
+ # Capacity Reservation automatically without specifying any
2213
+ # additional parameters.
2214
+ #
2215
+ # * `targeted` - The Capacity Reservation only accepts instances that
2216
+ # have matching attributes (instance type, platform, and
2217
+ # Availability Zone), and explicitly target the Capacity
2218
+ # Reservation. This ensures that only permitted instances can use
2219
+ # the reserved capacity.
2220
+ # @return [String]
2221
+ #
2222
+ # @!attribute [rw] create_date
2223
+ # The date and time at which the Capacity Reservation was created.
2224
+ # @return [Time]
2225
+ #
2226
+ # @!attribute [rw] tags
2227
+ # Any tags assigned to the Capacity Reservation.
2228
+ # @return [Array<Types::Tag>]
2229
+ #
2230
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CapacityReservation AWS API Documentation
2231
+ #
2232
+ class CapacityReservation < Struct.new(
2233
+ :capacity_reservation_id,
2234
+ :instance_type,
2235
+ :instance_platform,
2236
+ :availability_zone,
2237
+ :tenancy,
2238
+ :total_instance_count,
2239
+ :available_instance_count,
2240
+ :ebs_optimized,
2241
+ :ephemeral_storage,
2242
+ :state,
2243
+ :end_date,
2244
+ :end_date_type,
2245
+ :instance_match_criteria,
2246
+ :create_date,
2247
+ :tags)
2248
+ include Aws::Structure
2249
+ end
2250
+
2251
+ # Describes an instance's Capacity Reservation targeting option. You
2252
+ # can specify only one option at a time. Use the
2253
+ # `CapacityReservationPreference` parameter to configure the instance to
2254
+ # run as an On-Demand Instance or to run in any `open` Capacity
2255
+ # Reservation that has matching attributes (instance type, platform,
2256
+ # Availability Zone). Use the `CapacityReservationTarget` parameter to
2257
+ # explicitly target a specific Capacity Reservation.
2258
+ #
2259
+ # @note When making an API call, you may pass CapacityReservationSpecification
2260
+ # data as a hash:
2261
+ #
2262
+ # {
2263
+ # capacity_reservation_preference: "open", # accepts open, none
2264
+ # capacity_reservation_target: {
2265
+ # capacity_reservation_id: "String",
2266
+ # },
2267
+ # }
2268
+ #
2269
+ # @!attribute [rw] capacity_reservation_preference
2270
+ # Indicates the instance's Capacity Reservation preferences. Possible
2271
+ # preferences include:
2272
+ #
2273
+ # * `open` - The instance can run in any `open` Capacity Reservation
2274
+ # that has matching attributes (instance type, platform,
2275
+ # Availability Zone).
2276
+ #
2277
+ # * `none` - The instance avoids running in a Capacity Reservation
2278
+ # even if one is available. The instance runs as an On-Demand
2279
+ # Instance.
2280
+ # @return [String]
2281
+ #
2282
+ # @!attribute [rw] capacity_reservation_target
2283
+ # Information about the target Capacity Reservation.
2284
+ # @return [Types::CapacityReservationTarget]
2285
+ #
2286
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CapacityReservationSpecification AWS API Documentation
2287
+ #
2288
+ class CapacityReservationSpecification < Struct.new(
2289
+ :capacity_reservation_preference,
2290
+ :capacity_reservation_target)
2291
+ include Aws::Structure
2292
+ end
2293
+
2294
+ # Describes the instance's Capacity Reservation targeting preferences.
2295
+ # The action returns the `capacityReservationPreference` response
2296
+ # element if the instance is configured to run in On-Demand capacity, or
2297
+ # if it is configured in run in any `open` Capacity Reservation that has
2298
+ # matching attributes (instance type, platform, Availability Zone). The
2299
+ # action returns the `capacityReservationTarget` response element if the
2300
+ # instance explicily targets a specific Capacity Reservation.
2301
+ #
2302
+ # @!attribute [rw] capacity_reservation_preference
2303
+ # Describes the instance's Capacity Reservation preferences. Possible
2304
+ # preferences include:
2305
+ #
2306
+ # * `open` - The instance can run in any `open` Capacity Reservation
2307
+ # that has matching attributes (instance type, platform,
2308
+ # Availability Zone).
2309
+ #
2310
+ # * `none` - The instance avoids running in a Capacity Reservation
2311
+ # even if one is available. The instance runs in On-Demand capacity.
2312
+ # @return [String]
2313
+ #
2314
+ # @!attribute [rw] capacity_reservation_target
2315
+ # Information about the targeted Capacity Reservation.
2316
+ # @return [Types::CapacityReservationTargetResponse]
2317
+ #
2318
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CapacityReservationSpecificationResponse AWS API Documentation
2319
+ #
2320
+ class CapacityReservationSpecificationResponse < Struct.new(
2321
+ :capacity_reservation_preference,
2322
+ :capacity_reservation_target)
2323
+ include Aws::Structure
2324
+ end
2325
+
2326
+ # Describes a target Capacity Reservation.
2327
+ #
2328
+ # @note When making an API call, you may pass CapacityReservationTarget
2329
+ # data as a hash:
2330
+ #
2331
+ # {
2332
+ # capacity_reservation_id: "String",
2333
+ # }
2334
+ #
2335
+ # @!attribute [rw] capacity_reservation_id
2336
+ # The ID of the Capacity Reservation.
2337
+ # @return [String]
2338
+ #
2339
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CapacityReservationTarget AWS API Documentation
2340
+ #
2341
+ class CapacityReservationTarget < Struct.new(
2342
+ :capacity_reservation_id)
2343
+ include Aws::Structure
2344
+ end
2345
+
2346
+ # Describes a target Capacity Reservation.
2347
+ #
2348
+ # @!attribute [rw] capacity_reservation_id
2349
+ # The ID of the Capacity Reservation.
2350
+ # @return [String]
2351
+ #
2352
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CapacityReservationTargetResponse AWS API Documentation
2353
+ #
2354
+ class CapacityReservationTargetResponse < Struct.new(
2355
+ :capacity_reservation_id)
2356
+ include Aws::Structure
2357
+ end
2358
+
2069
2359
  # Provides authorization for Amazon to bring a specific IP address range
2070
2360
  # to a specific AWS account using bring your own IP addresses (BYOIP).
2071
2361
  #
@@ -2761,6 +3051,183 @@ module Aws::EC2
2761
3051
  include Aws::Structure
2762
3052
  end
2763
3053
 
3054
+ # @note When making an API call, you may pass CreateCapacityReservationRequest
3055
+ # data as a hash:
3056
+ #
3057
+ # {
3058
+ # client_token: "String",
3059
+ # instance_type: "String", # required
3060
+ # instance_platform: "Linux/UNIX", # required, accepts Linux/UNIX, Red Hat Enterprise Linux, SUSE Linux, Windows, Windows with SQL Server, Windows with SQL Server Enterprise, Windows with SQL Server Standard, Windows with SQL Server Web
3061
+ # availability_zone: "String", # required
3062
+ # tenancy: "default", # accepts default, dedicated
3063
+ # instance_count: 1, # required
3064
+ # ebs_optimized: false,
3065
+ # ephemeral_storage: false,
3066
+ # end_date: Time.now,
3067
+ # end_date_type: "unlimited", # accepts unlimited, limited
3068
+ # instance_match_criteria: "open", # accepts open, targeted
3069
+ # tag_specifications: [
3070
+ # {
3071
+ # resource_type: "customer-gateway", # accepts customer-gateway, dedicated-host, dhcp-options, image, instance, internet-gateway, network-acl, network-interface, reserved-instances, route-table, snapshot, spot-instances-request, subnet, security-group, volume, vpc, vpn-connection, vpn-gateway
3072
+ # tags: [
3073
+ # {
3074
+ # key: "String",
3075
+ # value: "String",
3076
+ # },
3077
+ # ],
3078
+ # },
3079
+ # ],
3080
+ # dry_run: false,
3081
+ # }
3082
+ #
3083
+ # @!attribute [rw] client_token
3084
+ # Unique, case-sensitive identifier that you provide to ensure the
3085
+ # idempotency of the request. For more information, see [How to Ensure
3086
+ # Idempotency][1].
3087
+ #
3088
+ # Constraint: Maximum 64 ASCII characters.
3089
+ #
3090
+ #
3091
+ #
3092
+ # [1]: http://docs.aws.amazon.com/AWSEC2/latest/APIReference/Run_Instance_Idempotency.html
3093
+ # @return [String]
3094
+ #
3095
+ # @!attribute [rw] instance_type
3096
+ # The instance type for which to reserve capacity. For more
3097
+ # information, see [Instance Types][1] in the *Amazon Elastic Compute
3098
+ # Cloud User Guide*.
3099
+ #
3100
+ #
3101
+ #
3102
+ # [1]: http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/instance-types.html
3103
+ # @return [String]
3104
+ #
3105
+ # @!attribute [rw] instance_platform
3106
+ # The type of operating system for which to reserve capacity.
3107
+ # @return [String]
3108
+ #
3109
+ # @!attribute [rw] availability_zone
3110
+ # The Availability Zone in which to create the Capacity Reservation.
3111
+ # @return [String]
3112
+ #
3113
+ # @!attribute [rw] tenancy
3114
+ # Indicates the tenancy of the Capacity Reservation. A Capacity
3115
+ # Reservation can have one of the following tenancy settings:
3116
+ #
3117
+ # * `default` - The Capacity Reservation is created on hardware that
3118
+ # is shared with other AWS accounts.
3119
+ #
3120
+ # * `dedicated` - The Capacity Reservation is created on single-tenant
3121
+ # hardware that is dedicated to a single AWS account.
3122
+ # @return [String]
3123
+ #
3124
+ # @!attribute [rw] instance_count
3125
+ # The number of instances for which to reserve capacity.
3126
+ # @return [Integer]
3127
+ #
3128
+ # @!attribute [rw] ebs_optimized
3129
+ # Indicates whether the Capacity Reservation supports EBS-optimized
3130
+ # instances. This optimization provides dedicated throughput to Amazon
3131
+ # EBS and an optimized configuration stack to provide optimal I/O
3132
+ # performance. This optimization isn't available with all instance
3133
+ # types. Additional usage charges apply when using an EBS- optimized
3134
+ # instance.
3135
+ # @return [Boolean]
3136
+ #
3137
+ # @!attribute [rw] ephemeral_storage
3138
+ # Indicates whether the Capacity Reservation supports instances with
3139
+ # temporary, block-level storage.
3140
+ # @return [Boolean]
3141
+ #
3142
+ # @!attribute [rw] end_date
3143
+ # The date and time at which the Capacity Reservation expires. When a
3144
+ # Capacity Reservation expires, the reserved capacity is released and
3145
+ # you can no longer launch instances into it. The Capacity
3146
+ # Reservation's state changes to `expired` when it reaches its end
3147
+ # date and time.
3148
+ #
3149
+ # You must provide an `EndDate` value if `EndDateType` is `limited`.
3150
+ # Omit `EndDate` if `EndDateType` is `unlimited`.
3151
+ #
3152
+ # If the `EndDateType` is `limited`, the Capacity Reservation is
3153
+ # cancelled within an hour from the specified time. For example, if
3154
+ # you specify 5/31/2019, 13:30:55, the Capacity Reservation is
3155
+ # guaranteed to end between 13:30:55 and 14:30:55 on 5/31/2019.
3156
+ # @return [Time]
3157
+ #
3158
+ # @!attribute [rw] end_date_type
3159
+ # Indicates the way in which the Capacity Reservation ends. A Capacity
3160
+ # Reservation can have one of the following end types:
3161
+ #
3162
+ # * `unlimited` - The Capacity Reservation remains active until you
3163
+ # explicitly cancel it. Do not provide an `EndDate` if the
3164
+ # `EndDateType` is `unlimited`.
3165
+ #
3166
+ # * `limited` - The Capacity Reservation expires automatically at a
3167
+ # specified date and time. You must provide an `EndDate` value if
3168
+ # the `EndDateType` value is `limited`.
3169
+ # @return [String]
3170
+ #
3171
+ # @!attribute [rw] instance_match_criteria
3172
+ # Indicates the type of instance launches that the Capacity
3173
+ # Reservation accepts. The options include:
3174
+ #
3175
+ # * `open` - The Capacity Reservation automatically matches all
3176
+ # instances that have matching attributes (instance type, platform,
3177
+ # and Availability Zone). Instances that have matching attributes
3178
+ # run in the Capacity Reservation automatically without specifying
3179
+ # any additional parameters.
3180
+ #
3181
+ # * `targeted` - The Capacity Reservation only accepts instances that
3182
+ # have matching attributes (instance type, platform, and
3183
+ # Availability Zone), and explicitly target the Capacity
3184
+ # Reservation. This ensures that only permitted instances can use
3185
+ # the reserved capacity.
3186
+ #
3187
+ # Default: `open`
3188
+ # @return [String]
3189
+ #
3190
+ # @!attribute [rw] tag_specifications
3191
+ # The tags to apply to the Capacity Reservation during launch.
3192
+ # @return [Array<Types::TagSpecification>]
3193
+ #
3194
+ # @!attribute [rw] dry_run
3195
+ # Checks whether you have the required permissions for the action,
3196
+ # without actually making the request, and provides an error response.
3197
+ # If you have the required permissions, the error response is
3198
+ # `DryRunOperation`. Otherwise, it is `UnauthorizedOperation`.
3199
+ # @return [Boolean]
3200
+ #
3201
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateCapacityReservationRequest AWS API Documentation
3202
+ #
3203
+ class CreateCapacityReservationRequest < Struct.new(
3204
+ :client_token,
3205
+ :instance_type,
3206
+ :instance_platform,
3207
+ :availability_zone,
3208
+ :tenancy,
3209
+ :instance_count,
3210
+ :ebs_optimized,
3211
+ :ephemeral_storage,
3212
+ :end_date,
3213
+ :end_date_type,
3214
+ :instance_match_criteria,
3215
+ :tag_specifications,
3216
+ :dry_run)
3217
+ include Aws::Structure
3218
+ end
3219
+
3220
+ # @!attribute [rw] capacity_reservation
3221
+ # Information about the Capacity Reservation.
3222
+ # @return [Types::CapacityReservation]
3223
+ #
3224
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateCapacityReservationResult AWS API Documentation
3225
+ #
3226
+ class CreateCapacityReservationResult < Struct.new(
3227
+ :capacity_reservation)
3228
+ include Aws::Structure
3229
+ end
3230
+
2764
3231
  # Contains the parameters for CreateCustomerGateway.
2765
3232
  #
2766
3233
  # @note When making an API call, you may pass CreateCustomerGatewayRequest
@@ -3685,6 +4152,12 @@ module Aws::EC2
3685
4152
  # core_count: 1,
3686
4153
  # threads_per_core: 1,
3687
4154
  # },
4155
+ # capacity_reservation_specification: {
4156
+ # capacity_reservation_preference: "open", # accepts open, none
4157
+ # capacity_reservation_target: {
4158
+ # capacity_reservation_id: "String",
4159
+ # },
4160
+ # },
3688
4161
  # },
3689
4162
  # }
3690
4163
  #
@@ -3850,6 +4323,12 @@ module Aws::EC2
3850
4323
  # core_count: 1,
3851
4324
  # threads_per_core: 1,
3852
4325
  # },
4326
+ # capacity_reservation_specification: {
4327
+ # capacity_reservation_preference: "open", # accepts open, none
4328
+ # capacity_reservation_target: {
4329
+ # capacity_reservation_id: "String",
4330
+ # },
4331
+ # },
3853
4332
  # },
3854
4333
  # }
3855
4334
  #
@@ -7280,6 +7759,75 @@ module Aws::EC2
7280
7759
  include Aws::Structure
7281
7760
  end
7282
7761
 
7762
+ # @note When making an API call, you may pass DescribeCapacityReservationsRequest
7763
+ # data as a hash:
7764
+ #
7765
+ # {
7766
+ # capacity_reservation_ids: ["String"],
7767
+ # next_token: "String",
7768
+ # max_results: 1,
7769
+ # filters: [
7770
+ # {
7771
+ # name: "String",
7772
+ # values: ["String"],
7773
+ # },
7774
+ # ],
7775
+ # dry_run: false,
7776
+ # }
7777
+ #
7778
+ # @!attribute [rw] capacity_reservation_ids
7779
+ # The ID of the Capacity Reservation.
7780
+ # @return [Array<String>]
7781
+ #
7782
+ # @!attribute [rw] next_token
7783
+ # The token to retrieve the next page of results.
7784
+ # @return [String]
7785
+ #
7786
+ # @!attribute [rw] max_results
7787
+ # The maximum number of results to return for the request in a single
7788
+ # page. The remaining results can be seen by sending another request
7789
+ # with the returned nextToken value.
7790
+ # @return [Integer]
7791
+ #
7792
+ # @!attribute [rw] filters
7793
+ # One or more filters.
7794
+ # @return [Array<Types::Filter>]
7795
+ #
7796
+ # @!attribute [rw] dry_run
7797
+ # Checks whether you have the required permissions for the action,
7798
+ # without actually making the request, and provides an error response.
7799
+ # If you have the required permissions, the error response is
7800
+ # `DryRunOperation`. Otherwise, it is `UnauthorizedOperation`.
7801
+ # @return [Boolean]
7802
+ #
7803
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeCapacityReservationsRequest AWS API Documentation
7804
+ #
7805
+ class DescribeCapacityReservationsRequest < Struct.new(
7806
+ :capacity_reservation_ids,
7807
+ :next_token,
7808
+ :max_results,
7809
+ :filters,
7810
+ :dry_run)
7811
+ include Aws::Structure
7812
+ end
7813
+
7814
+ # @!attribute [rw] next_token
7815
+ # The token to use to retrieve the next page of results. This value is
7816
+ # `null` when there are no more results to return.
7817
+ # @return [String]
7818
+ #
7819
+ # @!attribute [rw] capacity_reservations
7820
+ # Information about the Capacity Reservations.
7821
+ # @return [Array<Types::CapacityReservation>]
7822
+ #
7823
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeCapacityReservationsResult AWS API Documentation
7824
+ #
7825
+ class DescribeCapacityReservationsResult < Struct.new(
7826
+ :next_token,
7827
+ :capacity_reservations)
7828
+ include Aws::Structure
7829
+ end
7830
+
7283
7831
  # @note When making an API call, you may pass DescribeClassicLinkInstancesRequest
7284
7832
  # data as a hash:
7285
7833
  #
@@ -18146,6 +18694,14 @@ module Aws::EC2
18146
18694
  # The CPU options for the instance.
18147
18695
  # @return [Types::CpuOptions]
18148
18696
  #
18697
+ # @!attribute [rw] capacity_reservation_id
18698
+ # The ID of the Capacity Reservation.
18699
+ # @return [String]
18700
+ #
18701
+ # @!attribute [rw] capacity_reservation_specification
18702
+ # Information about the Capacity Reservation targeting option.
18703
+ # @return [Types::CapacityReservationSpecificationResponse]
18704
+ #
18149
18705
  # @see http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/Instance AWS API Documentation
18150
18706
  #
18151
18707
  class Instance < Struct.new(
@@ -18188,7 +18744,9 @@ module Aws::EC2
18188
18744
  :state_reason,
18189
18745
  :tags,
18190
18746
  :virtualization_type,
18191
- :cpu_options)
18747
+ :cpu_options,
18748
+ :capacity_reservation_id,
18749
+ :capacity_reservation_specification)
18192
18750
  include Aws::Structure
18193
18751
  end
18194
18752
 
@@ -19563,6 +20121,74 @@ module Aws::EC2
19563
20121
  include Aws::Structure
19564
20122
  end
19565
20123
 
20124
+ # Describes an instance's Capacity Reservation targeting option. You
20125
+ # can specify only one option at a time. Use the
20126
+ # `CapacityReservationPreference` parameter to configure the instance to
20127
+ # run in On-Demand capacity or to run in any `open` Capacity Reservation
20128
+ # that has matching attributes (instance type, platform, Availability
20129
+ # Zone). Use the `CapacityReservationTarget` parameter to explicitly
20130
+ # target a specific Capacity Reservation.
20131
+ #
20132
+ # @note When making an API call, you may pass LaunchTemplateCapacityReservationSpecificationRequest
20133
+ # data as a hash:
20134
+ #
20135
+ # {
20136
+ # capacity_reservation_preference: "open", # accepts open, none
20137
+ # capacity_reservation_target: {
20138
+ # capacity_reservation_id: "String",
20139
+ # },
20140
+ # }
20141
+ #
20142
+ # @!attribute [rw] capacity_reservation_preference
20143
+ # Indicates the instance's Capacity Reservation preferences. Possible
20144
+ # preferences include:
20145
+ #
20146
+ # * `open` - The instance can run in any `open` Capacity Reservation
20147
+ # that has matching attributes (instance type, platform,
20148
+ # Availability Zone).
20149
+ #
20150
+ # * `none` - The instance avoids running in a Capacity Reservation
20151
+ # even if one is available. The instance runs in On-Demand capacity.
20152
+ # @return [String]
20153
+ #
20154
+ # @!attribute [rw] capacity_reservation_target
20155
+ # Information about the target Capacity Reservation.
20156
+ # @return [Types::CapacityReservationTarget]
20157
+ #
20158
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/LaunchTemplateCapacityReservationSpecificationRequest AWS API Documentation
20159
+ #
20160
+ class LaunchTemplateCapacityReservationSpecificationRequest < Struct.new(
20161
+ :capacity_reservation_preference,
20162
+ :capacity_reservation_target)
20163
+ include Aws::Structure
20164
+ end
20165
+
20166
+ # Information about the Capacity Reservation targeting option.
20167
+ #
20168
+ # @!attribute [rw] capacity_reservation_preference
20169
+ # Indicates the instance's Capacity Reservation preferences. Possible
20170
+ # preferences include:
20171
+ #
20172
+ # * `open` - The instance can run in any `open` Capacity Reservation
20173
+ # that has matching attributes (instance type, platform,
20174
+ # Availability Zone).
20175
+ #
20176
+ # * `none` - The instance avoids running in a Capacity Reservation
20177
+ # even if one is available. The instance runs in On-Demand capacity.
20178
+ # @return [String]
20179
+ #
20180
+ # @!attribute [rw] capacity_reservation_target
20181
+ # Information about the target Capacity Reservation.
20182
+ # @return [Types::CapacityReservationTargetResponse]
20183
+ #
20184
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/LaunchTemplateCapacityReservationSpecificationResponse AWS API Documentation
20185
+ #
20186
+ class LaunchTemplateCapacityReservationSpecificationResponse < Struct.new(
20187
+ :capacity_reservation_preference,
20188
+ :capacity_reservation_target)
20189
+ include Aws::Structure
20190
+ end
20191
+
19566
20192
  # Describes a launch template and overrides.
19567
20193
  #
19568
20194
  # @note When making an API call, you may pass LaunchTemplateConfig
@@ -20566,6 +21192,83 @@ module Aws::EC2
20566
21192
  include Aws::Structure
20567
21193
  end
20568
21194
 
21195
+ # @note When making an API call, you may pass ModifyCapacityReservationRequest
21196
+ # data as a hash:
21197
+ #
21198
+ # {
21199
+ # capacity_reservation_id: "String", # required
21200
+ # instance_count: 1,
21201
+ # end_date: Time.now,
21202
+ # end_date_type: "unlimited", # accepts unlimited, limited
21203
+ # dry_run: false,
21204
+ # }
21205
+ #
21206
+ # @!attribute [rw] capacity_reservation_id
21207
+ # The ID of the Capacity Reservation.
21208
+ # @return [String]
21209
+ #
21210
+ # @!attribute [rw] instance_count
21211
+ # The number of instances for which to reserve capacity.
21212
+ # @return [Integer]
21213
+ #
21214
+ # @!attribute [rw] end_date
21215
+ # The date and time at which the Capacity Reservation expires. When a
21216
+ # Capacity Reservation expires, the reserved capacity is released and
21217
+ # you can no longer launch instances into it. The Capacity
21218
+ # Reservation's state changes to `expired` when it reaches its end
21219
+ # date and time.
21220
+ #
21221
+ # The Capacity Reservation is cancelled within an hour from the
21222
+ # specified time. For example, if you specify 5/31/2019, 13:30:55, the
21223
+ # Capacity Reservation is guaranteed to end between 13:30:55 and
21224
+ # 14:30:55 on 5/31/2019.
21225
+ #
21226
+ # You must provide an `EndDate` value if `EndDateType` is `limited`.
21227
+ # Omit `EndDate` if `EndDateType` is `unlimited`.
21228
+ # @return [Time]
21229
+ #
21230
+ # @!attribute [rw] end_date_type
21231
+ # Indicates the way in which the Capacity Reservation ends. A Capacity
21232
+ # Reservation can have one of the following end types:
21233
+ #
21234
+ # * `unlimited` - The Capacity Reservation remains active until you
21235
+ # explicitly cancel it. Do not provide an `EndDate` value if
21236
+ # `EndDateType` is `unlimited`.
21237
+ #
21238
+ # * `limited` - The Capacity Reservation expires automatically at a
21239
+ # specified date and time. You must provide an `EndDate` value if
21240
+ # `EndDateType` is `limited`.
21241
+ # @return [String]
21242
+ #
21243
+ # @!attribute [rw] dry_run
21244
+ # Checks whether you have the required permissions for the action,
21245
+ # without actually making the request, and provides an error response.
21246
+ # If you have the required permissions, the error response is
21247
+ # `DryRunOperation`. Otherwise, it is `UnauthorizedOperation`.
21248
+ # @return [Boolean]
21249
+ #
21250
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyCapacityReservationRequest AWS API Documentation
21251
+ #
21252
+ class ModifyCapacityReservationRequest < Struct.new(
21253
+ :capacity_reservation_id,
21254
+ :instance_count,
21255
+ :end_date,
21256
+ :end_date_type,
21257
+ :dry_run)
21258
+ include Aws::Structure
21259
+ end
21260
+
21261
+ # @!attribute [rw] return
21262
+ # Information about the Capacity Reservation.
21263
+ # @return [Boolean]
21264
+ #
21265
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyCapacityReservationResult AWS API Documentation
21266
+ #
21267
+ class ModifyCapacityReservationResult < Struct.new(
21268
+ :return)
21269
+ include Aws::Structure
21270
+ end
21271
+
20569
21272
  # @note When making an API call, you may pass ModifyFleetRequest
20570
21273
  # data as a hash:
20571
21274
  #
@@ -21144,6 +21847,56 @@ module Aws::EC2
21144
21847
  include Aws::Structure
21145
21848
  end
21146
21849
 
21850
+ # @note When making an API call, you may pass ModifyInstanceCapacityReservationAttributesRequest
21851
+ # data as a hash:
21852
+ #
21853
+ # {
21854
+ # instance_id: "String", # required
21855
+ # capacity_reservation_specification: { # required
21856
+ # capacity_reservation_preference: "open", # accepts open, none
21857
+ # capacity_reservation_target: {
21858
+ # capacity_reservation_id: "String",
21859
+ # },
21860
+ # },
21861
+ # dry_run: false,
21862
+ # }
21863
+ #
21864
+ # @!attribute [rw] instance_id
21865
+ # The ID of the instance to be modified.
21866
+ # @return [String]
21867
+ #
21868
+ # @!attribute [rw] capacity_reservation_specification
21869
+ # Information about the Capacity Reservation targeting option.
21870
+ # @return [Types::CapacityReservationSpecification]
21871
+ #
21872
+ # @!attribute [rw] dry_run
21873
+ # Checks whether you have the required permissions for the action,
21874
+ # without actually making the request, and provides an error response.
21875
+ # If you have the required permissions, the error response is
21876
+ # `DryRunOperation`. Otherwise, it is `UnauthorizedOperation`.
21877
+ # @return [Boolean]
21878
+ #
21879
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyInstanceCapacityReservationAttributesRequest AWS API Documentation
21880
+ #
21881
+ class ModifyInstanceCapacityReservationAttributesRequest < Struct.new(
21882
+ :instance_id,
21883
+ :capacity_reservation_specification,
21884
+ :dry_run)
21885
+ include Aws::Structure
21886
+ end
21887
+
21888
+ # @!attribute [rw] return
21889
+ # Returns `true` if the request succeeds; otherwise, it returns an
21890
+ # error.
21891
+ # @return [Boolean]
21892
+ #
21893
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyInstanceCapacityReservationAttributesResult AWS API Documentation
21894
+ #
21895
+ class ModifyInstanceCapacityReservationAttributesResult < Struct.new(
21896
+ :return)
21897
+ include Aws::Structure
21898
+ end
21899
+
21147
21900
  # @note When making an API call, you may pass ModifyInstanceCreditSpecificationRequest
21148
21901
  # data as a hash:
21149
21902
  #
@@ -24680,6 +25433,12 @@ module Aws::EC2
24680
25433
  # core_count: 1,
24681
25434
  # threads_per_core: 1,
24682
25435
  # },
25436
+ # capacity_reservation_specification: {
25437
+ # capacity_reservation_preference: "open", # accepts open, none
25438
+ # capacity_reservation_target: {
25439
+ # capacity_reservation_id: "String",
25440
+ # },
25441
+ # },
24683
25442
  # }
24684
25443
  #
24685
25444
  # @!attribute [rw] kernel_id
@@ -24832,6 +25591,10 @@ module Aws::EC2
24832
25591
  # [1]: http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/instance-optimize-cpu.html
24833
25592
  # @return [Types::LaunchTemplateCpuOptionsRequest]
24834
25593
  #
25594
+ # @!attribute [rw] capacity_reservation_specification
25595
+ # Information about the Capacity Reservation targeting option.
25596
+ # @return [Types::LaunchTemplateCapacityReservationSpecificationRequest]
25597
+ #
24835
25598
  # @see http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/RequestLaunchTemplateData AWS API Documentation
24836
25599
  #
24837
25600
  class RequestLaunchTemplateData < Struct.new(
@@ -24855,7 +25618,8 @@ module Aws::EC2
24855
25618
  :security_groups,
24856
25619
  :instance_market_options,
24857
25620
  :credit_specification,
24858
- :cpu_options)
25621
+ :cpu_options,
25622
+ :capacity_reservation_specification)
24859
25623
  include Aws::Structure
24860
25624
  end
24861
25625
 
@@ -26247,6 +27011,10 @@ module Aws::EC2
26247
27011
  # [1]: http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/instance-optimize-cpu.html
26248
27012
  # @return [Types::LaunchTemplateCpuOptions]
26249
27013
  #
27014
+ # @!attribute [rw] capacity_reservation_specification
27015
+ # Information about the Capacity Reservation targeting option.
27016
+ # @return [Types::LaunchTemplateCapacityReservationSpecificationResponse]
27017
+ #
26250
27018
  # @see http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ResponseLaunchTemplateData AWS API Documentation
26251
27019
  #
26252
27020
  class ResponseLaunchTemplateData < Struct.new(
@@ -26270,7 +27038,8 @@ module Aws::EC2
26270
27038
  :security_groups,
26271
27039
  :instance_market_options,
26272
27040
  :credit_specification,
26273
- :cpu_options)
27041
+ :cpu_options,
27042
+ :capacity_reservation_specification)
26274
27043
  include Aws::Structure
26275
27044
  end
26276
27045
 
@@ -26854,6 +27623,12 @@ module Aws::EC2
26854
27623
  # core_count: 1,
26855
27624
  # threads_per_core: 1,
26856
27625
  # },
27626
+ # capacity_reservation_specification: {
27627
+ # capacity_reservation_preference: "open", # accepts open, none
27628
+ # capacity_reservation_target: {
27629
+ # capacity_reservation_id: "String",
27630
+ # },
27631
+ # },
26857
27632
  # }
26858
27633
  #
26859
27634
  # @!attribute [rw] block_device_mappings
@@ -27125,6 +27900,10 @@ module Aws::EC2
27125
27900
  # [1]: http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/instance-optimize-cpu.html
27126
27901
  # @return [Types::CpuOptionsRequest]
27127
27902
  #
27903
+ # @!attribute [rw] capacity_reservation_specification
27904
+ # Information about the Capacity Reservation targeting option.
27905
+ # @return [Types::CapacityReservationSpecification]
27906
+ #
27128
27907
  # @see http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/RunInstancesRequest AWS API Documentation
27129
27908
  #
27130
27909
  class RunInstancesRequest < Struct.new(
@@ -27158,7 +27937,8 @@ module Aws::EC2
27158
27937
  :launch_template,
27159
27938
  :instance_market_options,
27160
27939
  :credit_specification,
27161
- :cpu_options)
27940
+ :cpu_options,
27941
+ :capacity_reservation_specification)
27162
27942
  include Aws::Structure
27163
27943
  end
27164
27944