aws-sdk-ec2 1.302.0 → 1.305.0

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.
@@ -54,6 +54,8 @@ module Aws::EC2
54
54
  AddIpamOperatingRegionSet = Shapes::ListShape.new(name: 'AddIpamOperatingRegionSet')
55
55
  AddPrefixListEntries = Shapes::ListShape.new(name: 'AddPrefixListEntries')
56
56
  AddPrefixListEntry = Shapes::StructureShape.new(name: 'AddPrefixListEntry')
57
+ AdditionalDetail = Shapes::StructureShape.new(name: 'AdditionalDetail')
58
+ AdditionalDetailList = Shapes::ListShape.new(name: 'AdditionalDetailList')
57
59
  Address = Shapes::StructureShape.new(name: 'Address')
58
60
  AddressAttribute = Shapes::StructureShape.new(name: 'AddressAttribute')
59
61
  AddressAttributeName = Shapes::StringShape.new(name: 'AddressAttributeName')
@@ -1388,6 +1390,7 @@ module Aws::EC2
1388
1390
  Instance = Shapes::StructureShape.new(name: 'Instance')
1389
1391
  InstanceAttribute = Shapes::StructureShape.new(name: 'InstanceAttribute')
1390
1392
  InstanceAttributeName = Shapes::StringShape.new(name: 'InstanceAttributeName')
1393
+ InstanceAutoRecoveryState = Shapes::StringShape.new(name: 'InstanceAutoRecoveryState')
1391
1394
  InstanceBlockDeviceMapping = Shapes::StructureShape.new(name: 'InstanceBlockDeviceMapping')
1392
1395
  InstanceBlockDeviceMappingList = Shapes::ListShape.new(name: 'InstanceBlockDeviceMappingList')
1393
1396
  InstanceBlockDeviceMappingSpecification = Shapes::StructureShape.new(name: 'InstanceBlockDeviceMappingSpecification')
@@ -1436,6 +1439,8 @@ module Aws::EC2
1436
1439
  InstanceLifecycle = Shapes::StringShape.new(name: 'InstanceLifecycle')
1437
1440
  InstanceLifecycleType = Shapes::StringShape.new(name: 'InstanceLifecycleType')
1438
1441
  InstanceList = Shapes::ListShape.new(name: 'InstanceList')
1442
+ InstanceMaintenanceOptions = Shapes::StructureShape.new(name: 'InstanceMaintenanceOptions')
1443
+ InstanceMaintenanceOptionsRequest = Shapes::StructureShape.new(name: 'InstanceMaintenanceOptionsRequest')
1439
1444
  InstanceMarketOptionsRequest = Shapes::StructureShape.new(name: 'InstanceMarketOptionsRequest')
1440
1445
  InstanceMatchCriteria = Shapes::StringShape.new(name: 'InstanceMatchCriteria')
1441
1446
  InstanceMetadataEndpointState = Shapes::StringShape.new(name: 'InstanceMetadataEndpointState')
@@ -1546,6 +1551,7 @@ module Aws::EC2
1546
1551
  IpamScopeType = Shapes::StringShape.new(name: 'IpamScopeType')
1547
1552
  IpamSet = Shapes::ListShape.new(name: 'IpamSet')
1548
1553
  IpamState = Shapes::StringShape.new(name: 'IpamState')
1554
+ Ipv4PoolCoipId = Shapes::StringShape.new(name: 'Ipv4PoolCoipId')
1549
1555
  Ipv4PoolEc2Id = Shapes::StringShape.new(name: 'Ipv4PoolEc2Id')
1550
1556
  Ipv4PrefixList = Shapes::ListShape.new(name: 'Ipv4PrefixList')
1551
1557
  Ipv4PrefixListResponse = Shapes::ListShape.new(name: 'Ipv4PrefixListResponse')
@@ -1592,6 +1598,7 @@ module Aws::EC2
1592
1598
  LaunchSpecsList = Shapes::ListShape.new(name: 'LaunchSpecsList')
1593
1599
  LaunchTemplate = Shapes::StructureShape.new(name: 'LaunchTemplate')
1594
1600
  LaunchTemplateAndOverridesResponse = Shapes::StructureShape.new(name: 'LaunchTemplateAndOverridesResponse')
1601
+ LaunchTemplateAutoRecoveryState = Shapes::StringShape.new(name: 'LaunchTemplateAutoRecoveryState')
1595
1602
  LaunchTemplateBlockDeviceMapping = Shapes::StructureShape.new(name: 'LaunchTemplateBlockDeviceMapping')
1596
1603
  LaunchTemplateBlockDeviceMappingList = Shapes::ListShape.new(name: 'LaunchTemplateBlockDeviceMappingList')
1597
1604
  LaunchTemplateBlockDeviceMappingRequest = Shapes::StructureShape.new(name: 'LaunchTemplateBlockDeviceMappingRequest')
@@ -1619,6 +1626,8 @@ module Aws::EC2
1619
1626
  LaunchTemplateIamInstanceProfileSpecificationRequest = Shapes::StructureShape.new(name: 'LaunchTemplateIamInstanceProfileSpecificationRequest')
1620
1627
  LaunchTemplateId = Shapes::StringShape.new(name: 'LaunchTemplateId')
1621
1628
  LaunchTemplateIdStringList = Shapes::ListShape.new(name: 'LaunchTemplateIdStringList')
1629
+ LaunchTemplateInstanceMaintenanceOptions = Shapes::StructureShape.new(name: 'LaunchTemplateInstanceMaintenanceOptions')
1630
+ LaunchTemplateInstanceMaintenanceOptionsRequest = Shapes::StructureShape.new(name: 'LaunchTemplateInstanceMaintenanceOptionsRequest')
1622
1631
  LaunchTemplateInstanceMarketOptions = Shapes::StructureShape.new(name: 'LaunchTemplateInstanceMarketOptions')
1623
1632
  LaunchTemplateInstanceMarketOptionsRequest = Shapes::StructureShape.new(name: 'LaunchTemplateInstanceMarketOptionsRequest')
1624
1633
  LaunchTemplateInstanceMetadataEndpointState = Shapes::StringShape.new(name: 'LaunchTemplateInstanceMetadataEndpointState')
@@ -1762,6 +1771,8 @@ module Aws::EC2
1762
1771
  ModifyInstanceEventStartTimeResult = Shapes::StructureShape.new(name: 'ModifyInstanceEventStartTimeResult')
1763
1772
  ModifyInstanceEventWindowRequest = Shapes::StructureShape.new(name: 'ModifyInstanceEventWindowRequest')
1764
1773
  ModifyInstanceEventWindowResult = Shapes::StructureShape.new(name: 'ModifyInstanceEventWindowResult')
1774
+ ModifyInstanceMaintenanceOptionsRequest = Shapes::StructureShape.new(name: 'ModifyInstanceMaintenanceOptionsRequest')
1775
+ ModifyInstanceMaintenanceOptionsResult = Shapes::StructureShape.new(name: 'ModifyInstanceMaintenanceOptionsResult')
1765
1776
  ModifyInstanceMetadataOptionsRequest = Shapes::StructureShape.new(name: 'ModifyInstanceMetadataOptionsRequest')
1766
1777
  ModifyInstanceMetadataOptionsResult = Shapes::StructureShape.new(name: 'ModifyInstanceMetadataOptionsResult')
1767
1778
  ModifyInstancePlacementRequest = Shapes::StructureShape.new(name: 'ModifyInstancePlacementRequest')
@@ -2514,6 +2525,7 @@ module Aws::EC2
2514
2525
  TransitGatewayRouteTableList = Shapes::ListShape.new(name: 'TransitGatewayRouteTableList')
2515
2526
  TransitGatewayRouteTablePropagation = Shapes::StructureShape.new(name: 'TransitGatewayRouteTablePropagation')
2516
2527
  TransitGatewayRouteTablePropagationList = Shapes::ListShape.new(name: 'TransitGatewayRouteTablePropagationList')
2528
+ TransitGatewayRouteTableRoute = Shapes::StructureShape.new(name: 'TransitGatewayRouteTableRoute')
2517
2529
  TransitGatewayRouteTableState = Shapes::StringShape.new(name: 'TransitGatewayRouteTableState')
2518
2530
  TransitGatewayRouteType = Shapes::StringShape.new(name: 'TransitGatewayRouteType')
2519
2531
  TransitGatewayState = Shapes::StringShape.new(name: 'TransitGatewayState')
@@ -2792,6 +2804,12 @@ module Aws::EC2
2792
2804
  AddPrefixListEntry.add_member(:description, Shapes::ShapeRef.new(shape: String, location_name: "Description"))
2793
2805
  AddPrefixListEntry.struct_class = Types::AddPrefixListEntry
2794
2806
 
2807
+ AdditionalDetail.add_member(:additional_detail_type, Shapes::ShapeRef.new(shape: String, location_name: "additionalDetailType"))
2808
+ AdditionalDetail.add_member(:component, Shapes::ShapeRef.new(shape: AnalysisComponent, location_name: "component"))
2809
+ AdditionalDetail.struct_class = Types::AdditionalDetail
2810
+
2811
+ AdditionalDetailList.member = Shapes::ShapeRef.new(shape: AdditionalDetail, location_name: "item")
2812
+
2795
2813
  Address.add_member(:instance_id, Shapes::ShapeRef.new(shape: String, location_name: "instanceId"))
2796
2814
  Address.add_member(:public_ip, Shapes::ShapeRef.new(shape: String, location_name: "publicIp"))
2797
2815
  Address.add_member(:allocation_id, Shapes::ShapeRef.new(shape: String, location_name: "allocationId"))
@@ -3661,14 +3679,14 @@ module Aws::EC2
3661
3679
 
3662
3680
  CoipAddressUsageSet.member = Shapes::ShapeRef.new(shape: CoipAddressUsage, location_name: "item")
3663
3681
 
3664
- CoipPool.add_member(:pool_id, Shapes::ShapeRef.new(shape: CoipPoolId, location_name: "poolId"))
3682
+ CoipPool.add_member(:pool_id, Shapes::ShapeRef.new(shape: Ipv4PoolCoipId, location_name: "poolId"))
3665
3683
  CoipPool.add_member(:pool_cidrs, Shapes::ShapeRef.new(shape: ValueStringList, location_name: "poolCidrSet"))
3666
3684
  CoipPool.add_member(:local_gateway_route_table_id, Shapes::ShapeRef.new(shape: LocalGatewayRoutetableId, location_name: "localGatewayRouteTableId"))
3667
3685
  CoipPool.add_member(:tags, Shapes::ShapeRef.new(shape: TagList, location_name: "tagSet"))
3668
3686
  CoipPool.add_member(:pool_arn, Shapes::ShapeRef.new(shape: ResourceArn, location_name: "poolArn"))
3669
3687
  CoipPool.struct_class = Types::CoipPool
3670
3688
 
3671
- CoipPoolIdSet.member = Shapes::ShapeRef.new(shape: CoipPoolId, location_name: "item")
3689
+ CoipPoolIdSet.member = Shapes::ShapeRef.new(shape: Ipv4PoolCoipId, location_name: "item")
3672
3690
 
3673
3691
  CoipPoolSet.member = Shapes::ShapeRef.new(shape: CoipPool, location_name: "item")
3674
3692
 
@@ -4753,6 +4771,7 @@ module Aws::EC2
4753
4771
 
4754
4772
  DeleteIpamRequest.add_member(:dry_run, Shapes::ShapeRef.new(shape: Boolean, location_name: "DryRun"))
4755
4773
  DeleteIpamRequest.add_member(:ipam_id, Shapes::ShapeRef.new(shape: IpamId, required: true, location_name: "IpamId"))
4774
+ DeleteIpamRequest.add_member(:cascade, Shapes::ShapeRef.new(shape: Boolean, location_name: "Cascade"))
4756
4775
  DeleteIpamRequest.struct_class = Types::DeleteIpamRequest
4757
4776
 
4758
4777
  DeleteIpamResult.add_member(:ipam, Shapes::ShapeRef.new(shape: Ipam, location_name: "ipam"))
@@ -7170,6 +7189,10 @@ module Aws::EC2
7170
7189
  Explanation.add_member(:vpc_endpoint, Shapes::ShapeRef.new(shape: AnalysisComponent, location_name: "vpcEndpoint"))
7171
7190
  Explanation.add_member(:vpn_connection, Shapes::ShapeRef.new(shape: AnalysisComponent, location_name: "vpnConnection"))
7172
7191
  Explanation.add_member(:vpn_gateway, Shapes::ShapeRef.new(shape: AnalysisComponent, location_name: "vpnGateway"))
7192
+ Explanation.add_member(:transit_gateway, Shapes::ShapeRef.new(shape: AnalysisComponent, location_name: "transitGateway"))
7193
+ Explanation.add_member(:transit_gateway_route_table, Shapes::ShapeRef.new(shape: AnalysisComponent, location_name: "transitGatewayRouteTable"))
7194
+ Explanation.add_member(:transit_gateway_route_table_route, Shapes::ShapeRef.new(shape: TransitGatewayRouteTableRoute, location_name: "transitGatewayRouteTableRoute"))
7195
+ Explanation.add_member(:transit_gateway_attachment, Shapes::ShapeRef.new(shape: AnalysisComponent, location_name: "transitGatewayAttachment"))
7173
7196
  Explanation.struct_class = Types::Explanation
7174
7197
 
7175
7198
  ExplanationList.member = Shapes::ShapeRef.new(shape: Explanation, location_name: "item")
@@ -7515,7 +7538,7 @@ module Aws::EC2
7515
7538
  GetCapacityReservationUsageResult.add_member(:instance_usages, Shapes::ShapeRef.new(shape: InstanceUsageSet, location_name: "instanceUsageSet"))
7516
7539
  GetCapacityReservationUsageResult.struct_class = Types::GetCapacityReservationUsageResult
7517
7540
 
7518
- GetCoipPoolUsageRequest.add_member(:pool_id, Shapes::ShapeRef.new(shape: CoipPoolId, required: true, location_name: "PoolId"))
7541
+ GetCoipPoolUsageRequest.add_member(:pool_id, Shapes::ShapeRef.new(shape: Ipv4PoolCoipId, required: true, location_name: "PoolId"))
7519
7542
  GetCoipPoolUsageRequest.add_member(:filters, Shapes::ShapeRef.new(shape: FilterList, location_name: "Filter"))
7520
7543
  GetCoipPoolUsageRequest.add_member(:max_results, Shapes::ShapeRef.new(shape: CoipPoolMaxResults, location_name: "MaxResults"))
7521
7544
  GetCoipPoolUsageRequest.add_member(:next_token, Shapes::ShapeRef.new(shape: String, location_name: "NextToken"))
@@ -8296,6 +8319,7 @@ module Aws::EC2
8296
8319
  Instance.add_member(:usage_operation_update_time, Shapes::ShapeRef.new(shape: MillisecondDateTime, location_name: "usageOperationUpdateTime"))
8297
8320
  Instance.add_member(:private_dns_name_options, Shapes::ShapeRef.new(shape: PrivateDnsNameOptionsResponse, location_name: "privateDnsNameOptions"))
8298
8321
  Instance.add_member(:ipv_6_address, Shapes::ShapeRef.new(shape: String, location_name: "ipv6Address"))
8322
+ Instance.add_member(:maintenance_options, Shapes::ShapeRef.new(shape: InstanceMaintenanceOptions, location_name: "maintenanceOptions"))
8299
8323
  Instance.struct_class = Types::Instance
8300
8324
 
8301
8325
  InstanceAttribute.add_member(:groups, Shapes::ShapeRef.new(shape: GroupIdentifierList, location_name: "groupSet"))
@@ -8441,6 +8465,12 @@ module Aws::EC2
8441
8465
 
8442
8466
  InstanceList.member = Shapes::ShapeRef.new(shape: Instance, location_name: "item")
8443
8467
 
8468
+ InstanceMaintenanceOptions.add_member(:auto_recovery, Shapes::ShapeRef.new(shape: InstanceAutoRecoveryState, location_name: "autoRecovery"))
8469
+ InstanceMaintenanceOptions.struct_class = Types::InstanceMaintenanceOptions
8470
+
8471
+ InstanceMaintenanceOptionsRequest.add_member(:auto_recovery, Shapes::ShapeRef.new(shape: InstanceAutoRecoveryState, location_name: "AutoRecovery"))
8472
+ InstanceMaintenanceOptionsRequest.struct_class = Types::InstanceMaintenanceOptionsRequest
8473
+
8444
8474
  InstanceMarketOptionsRequest.add_member(:market_type, Shapes::ShapeRef.new(shape: MarketType, location_name: "MarketType"))
8445
8475
  InstanceMarketOptionsRequest.add_member(:spot_options, Shapes::ShapeRef.new(shape: SpotMarketOptions, location_name: "SpotOptions"))
8446
8476
  InstanceMarketOptionsRequest.struct_class = Types::InstanceMarketOptionsRequest
@@ -9084,6 +9114,12 @@ module Aws::EC2
9084
9114
 
9085
9115
  LaunchTemplateIdStringList.member = Shapes::ShapeRef.new(shape: LaunchTemplateId, location_name: "item")
9086
9116
 
9117
+ LaunchTemplateInstanceMaintenanceOptions.add_member(:auto_recovery, Shapes::ShapeRef.new(shape: LaunchTemplateAutoRecoveryState, location_name: "autoRecovery"))
9118
+ LaunchTemplateInstanceMaintenanceOptions.struct_class = Types::LaunchTemplateInstanceMaintenanceOptions
9119
+
9120
+ LaunchTemplateInstanceMaintenanceOptionsRequest.add_member(:auto_recovery, Shapes::ShapeRef.new(shape: LaunchTemplateAutoRecoveryState, location_name: "AutoRecovery"))
9121
+ LaunchTemplateInstanceMaintenanceOptionsRequest.struct_class = Types::LaunchTemplateInstanceMaintenanceOptionsRequest
9122
+
9087
9123
  LaunchTemplateInstanceMarketOptions.add_member(:market_type, Shapes::ShapeRef.new(shape: MarketType, location_name: "marketType"))
9088
9124
  LaunchTemplateInstanceMarketOptions.add_member(:spot_options, Shapes::ShapeRef.new(shape: LaunchTemplateSpotMarketOptions, location_name: "spotOptions"))
9089
9125
  LaunchTemplateInstanceMarketOptions.struct_class = Types::LaunchTemplateInstanceMarketOptions
@@ -9617,6 +9653,15 @@ module Aws::EC2
9617
9653
  ModifyInstanceEventWindowResult.add_member(:instance_event_window, Shapes::ShapeRef.new(shape: InstanceEventWindow, location_name: "instanceEventWindow"))
9618
9654
  ModifyInstanceEventWindowResult.struct_class = Types::ModifyInstanceEventWindowResult
9619
9655
 
9656
+ ModifyInstanceMaintenanceOptionsRequest.add_member(:instance_id, Shapes::ShapeRef.new(shape: InstanceId, required: true, location_name: "InstanceId"))
9657
+ ModifyInstanceMaintenanceOptionsRequest.add_member(:auto_recovery, Shapes::ShapeRef.new(shape: InstanceAutoRecoveryState, location_name: "AutoRecovery"))
9658
+ ModifyInstanceMaintenanceOptionsRequest.add_member(:dry_run, Shapes::ShapeRef.new(shape: Boolean, location_name: "DryRun"))
9659
+ ModifyInstanceMaintenanceOptionsRequest.struct_class = Types::ModifyInstanceMaintenanceOptionsRequest
9660
+
9661
+ ModifyInstanceMaintenanceOptionsResult.add_member(:instance_id, Shapes::ShapeRef.new(shape: String, location_name: "instanceId"))
9662
+ ModifyInstanceMaintenanceOptionsResult.add_member(:auto_recovery, Shapes::ShapeRef.new(shape: InstanceAutoRecoveryState, location_name: "autoRecovery"))
9663
+ ModifyInstanceMaintenanceOptionsResult.struct_class = Types::ModifyInstanceMaintenanceOptionsResult
9664
+
9620
9665
  ModifyInstanceMetadataOptionsRequest.add_member(:instance_id, Shapes::ShapeRef.new(shape: InstanceId, required: true, location_name: "InstanceId"))
9621
9666
  ModifyInstanceMetadataOptionsRequest.add_member(:http_tokens, Shapes::ShapeRef.new(shape: HttpTokensState, location_name: "HttpTokens"))
9622
9667
  ModifyInstanceMetadataOptionsRequest.add_member(:http_put_response_hop_limit, Shapes::ShapeRef.new(shape: Integer, location_name: "HttpPutResponseHopLimit"))
@@ -10359,6 +10404,9 @@ module Aws::EC2
10359
10404
  PathComponent.add_member(:source_vpc, Shapes::ShapeRef.new(shape: AnalysisComponent, location_name: "sourceVpc"))
10360
10405
  PathComponent.add_member(:subnet, Shapes::ShapeRef.new(shape: AnalysisComponent, location_name: "subnet"))
10361
10406
  PathComponent.add_member(:vpc, Shapes::ShapeRef.new(shape: AnalysisComponent, location_name: "vpc"))
10407
+ PathComponent.add_member(:additional_details, Shapes::ShapeRef.new(shape: AdditionalDetailList, location_name: "additionalDetailSet"))
10408
+ PathComponent.add_member(:transit_gateway, Shapes::ShapeRef.new(shape: AnalysisComponent, location_name: "transitGateway"))
10409
+ PathComponent.add_member(:transit_gateway_route_table_route, Shapes::ShapeRef.new(shape: TransitGatewayRouteTableRoute, location_name: "transitGatewayRouteTableRoute"))
10362
10410
  PathComponent.struct_class = Types::PathComponent
10363
10411
 
10364
10412
  PathComponentList.member = Shapes::ShapeRef.new(shape: PathComponent, location_name: "item")
@@ -10864,7 +10912,7 @@ module Aws::EC2
10864
10912
  ReleaseIpamPoolAllocationRequest.add_member(:dry_run, Shapes::ShapeRef.new(shape: Boolean, location_name: "DryRun"))
10865
10913
  ReleaseIpamPoolAllocationRequest.add_member(:ipam_pool_id, Shapes::ShapeRef.new(shape: IpamPoolId, required: true, location_name: "IpamPoolId"))
10866
10914
  ReleaseIpamPoolAllocationRequest.add_member(:cidr, Shapes::ShapeRef.new(shape: String, required: true, location_name: "Cidr"))
10867
- ReleaseIpamPoolAllocationRequest.add_member(:ipam_pool_allocation_id, Shapes::ShapeRef.new(shape: IpamPoolAllocationId, location_name: "IpamPoolAllocationId"))
10915
+ ReleaseIpamPoolAllocationRequest.add_member(:ipam_pool_allocation_id, Shapes::ShapeRef.new(shape: IpamPoolAllocationId, required: true, location_name: "IpamPoolAllocationId"))
10868
10916
  ReleaseIpamPoolAllocationRequest.struct_class = Types::ReleaseIpamPoolAllocationRequest
10869
10917
 
10870
10918
  ReleaseIpamPoolAllocationResult.add_member(:success, Shapes::ShapeRef.new(shape: Boolean, location_name: "success"))
@@ -11007,6 +11055,7 @@ module Aws::EC2
11007
11055
  RequestLaunchTemplateData.add_member(:enclave_options, Shapes::ShapeRef.new(shape: LaunchTemplateEnclaveOptionsRequest, location_name: "EnclaveOptions"))
11008
11056
  RequestLaunchTemplateData.add_member(:instance_requirements, Shapes::ShapeRef.new(shape: InstanceRequirementsRequest, location_name: "InstanceRequirements"))
11009
11057
  RequestLaunchTemplateData.add_member(:private_dns_name_options, Shapes::ShapeRef.new(shape: LaunchTemplatePrivateDnsNameOptionsRequest, location_name: "PrivateDnsNameOptions"))
11058
+ RequestLaunchTemplateData.add_member(:maintenance_options, Shapes::ShapeRef.new(shape: LaunchTemplateInstanceMaintenanceOptionsRequest, location_name: "MaintenanceOptions"))
11010
11059
  RequestLaunchTemplateData.struct_class = Types::RequestLaunchTemplateData
11011
11060
 
11012
11061
  RequestSpotFleetRequest.add_member(:dry_run, Shapes::ShapeRef.new(shape: Boolean, location_name: "dryRun"))
@@ -11278,6 +11327,7 @@ module Aws::EC2
11278
11327
  ResponseLaunchTemplateData.add_member(:enclave_options, Shapes::ShapeRef.new(shape: LaunchTemplateEnclaveOptions, location_name: "enclaveOptions"))
11279
11328
  ResponseLaunchTemplateData.add_member(:instance_requirements, Shapes::ShapeRef.new(shape: InstanceRequirements, location_name: "instanceRequirements"))
11280
11329
  ResponseLaunchTemplateData.add_member(:private_dns_name_options, Shapes::ShapeRef.new(shape: LaunchTemplatePrivateDnsNameOptions, location_name: "privateDnsNameOptions"))
11330
+ ResponseLaunchTemplateData.add_member(:maintenance_options, Shapes::ShapeRef.new(shape: LaunchTemplateInstanceMaintenanceOptions, location_name: "maintenanceOptions"))
11281
11331
  ResponseLaunchTemplateData.struct_class = Types::ResponseLaunchTemplateData
11282
11332
 
11283
11333
  RestorableByStringList.member = Shapes::ShapeRef.new(shape: String)
@@ -11467,6 +11517,7 @@ module Aws::EC2
11467
11517
  RunInstancesRequest.add_member(:metadata_options, Shapes::ShapeRef.new(shape: InstanceMetadataOptionsRequest, location_name: "MetadataOptions"))
11468
11518
  RunInstancesRequest.add_member(:enclave_options, Shapes::ShapeRef.new(shape: EnclaveOptionsRequest, location_name: "EnclaveOptions"))
11469
11519
  RunInstancesRequest.add_member(:private_dns_name_options, Shapes::ShapeRef.new(shape: PrivateDnsNameOptionsRequest, location_name: "PrivateDnsNameOptions"))
11520
+ RunInstancesRequest.add_member(:maintenance_options, Shapes::ShapeRef.new(shape: InstanceMaintenanceOptionsRequest, location_name: "MaintenanceOptions"))
11470
11521
  RunInstancesRequest.struct_class = Types::RunInstancesRequest
11471
11522
 
11472
11523
  RunScheduledInstancesRequest.add_member(:client_token, Shapes::ShapeRef.new(shape: String, location_name: "ClientToken", metadata: {"idempotencyToken"=>true}))
@@ -12629,6 +12680,15 @@ module Aws::EC2
12629
12680
 
12630
12681
  TransitGatewayRouteTablePropagationList.member = Shapes::ShapeRef.new(shape: TransitGatewayRouteTablePropagation, location_name: "item")
12631
12682
 
12683
+ TransitGatewayRouteTableRoute.add_member(:destination_cidr, Shapes::ShapeRef.new(shape: String, location_name: "destinationCidr"))
12684
+ TransitGatewayRouteTableRoute.add_member(:state, Shapes::ShapeRef.new(shape: String, location_name: "state"))
12685
+ TransitGatewayRouteTableRoute.add_member(:route_origin, Shapes::ShapeRef.new(shape: String, location_name: "routeOrigin"))
12686
+ TransitGatewayRouteTableRoute.add_member(:prefix_list_id, Shapes::ShapeRef.new(shape: String, location_name: "prefixListId"))
12687
+ TransitGatewayRouteTableRoute.add_member(:attachment_id, Shapes::ShapeRef.new(shape: String, location_name: "attachmentId"))
12688
+ TransitGatewayRouteTableRoute.add_member(:resource_id, Shapes::ShapeRef.new(shape: String, location_name: "resourceId"))
12689
+ TransitGatewayRouteTableRoute.add_member(:resource_type, Shapes::ShapeRef.new(shape: String, location_name: "resourceType"))
12690
+ TransitGatewayRouteTableRoute.struct_class = Types::TransitGatewayRouteTableRoute
12691
+
12632
12692
  TransitGatewaySubnetIdList.member = Shapes::ShapeRef.new(shape: SubnetId, location_name: "item")
12633
12693
 
12634
12694
  TransitGatewayVpcAttachment.add_member(:transit_gateway_attachment_id, Shapes::ShapeRef.new(shape: String, location_name: "transitGatewayAttachmentId"))
@@ -17220,6 +17280,14 @@ module Aws::EC2
17220
17280
  o.output = Shapes::ShapeRef.new(shape: ModifyInstanceEventWindowResult)
17221
17281
  end)
17222
17282
 
17283
+ api.add_operation(:modify_instance_maintenance_options, Seahorse::Model::Operation.new.tap do |o|
17284
+ o.name = "ModifyInstanceMaintenanceOptions"
17285
+ o.http_method = "POST"
17286
+ o.http_request_uri = "/"
17287
+ o.input = Shapes::ShapeRef.new(shape: ModifyInstanceMaintenanceOptionsRequest)
17288
+ o.output = Shapes::ShapeRef.new(shape: ModifyInstanceMaintenanceOptionsResult)
17289
+ end)
17290
+
17223
17291
  api.add_operation(:modify_instance_metadata_options, Seahorse::Model::Operation.new.tap do |o|
17224
17292
  o.name = "ModifyInstanceMetadataOptions"
17225
17293
  o.http_method = "POST"
@@ -389,6 +389,13 @@ module Aws::EC2
389
389
  data[:ipv_6_address]
390
390
  end
391
391
 
392
+ # Provides information on the recovery and maintenance options of your
393
+ # instance.
394
+ # @return [Types::InstanceMaintenanceOptions]
395
+ def maintenance_options
396
+ data[:maintenance_options]
397
+ end
398
+
392
399
  # @!endgroup
393
400
 
394
401
  # @return [Client]
@@ -1199,8 +1206,7 @@ module Aws::EC2
1199
1206
  # The attribute to reset.
1200
1207
  #
1201
1208
  # You can only reset the following attributes: `kernel` \| `ramdisk` \|
1202
- # `sourceDestCheck`. To change an instance attribute, use
1203
- # ModifyInstanceAttribute.
1209
+ # `sourceDestCheck`.
1204
1210
  # @option options [Boolean] :dry_run
1205
1211
  # Checks whether you have the required permissions for the action,
1206
1212
  # without actually making the request, and provides an error response.
@@ -253,6 +253,9 @@ module Aws::EC2
253
253
  # enable_resource_name_dns_a_record: false,
254
254
  # enable_resource_name_dns_aaaa_record: false,
255
255
  # },
256
+ # maintenance_options: {
257
+ # auto_recovery: "disabled", # accepts disabled, default
258
+ # },
256
259
  # })
257
260
  # @param [Hash] options ({})
258
261
  # @option options [Array<Types::BlockDeviceMapping>] :block_device_mappings
@@ -561,6 +564,8 @@ module Aws::EC2
561
564
  # @option options [Types::PrivateDnsNameOptionsRequest] :private_dns_name_options
562
565
  # The options for the instance hostname. The default values are
563
566
  # inherited from the subnet.
567
+ # @option options [Types::InstanceMaintenanceOptionsRequest] :maintenance_options
568
+ # The maintenance and recovery options for the instance.
564
569
  # @return [Instance::Collection]
565
570
  def create_instances(options = {})
566
571
  batch = []
@@ -477,6 +477,9 @@ module Aws::EC2
477
477
  # enable_resource_name_dns_a_record: false,
478
478
  # enable_resource_name_dns_aaaa_record: false,
479
479
  # },
480
+ # maintenance_options: {
481
+ # auto_recovery: "disabled", # accepts disabled, default
482
+ # },
480
483
  # })
481
484
  # @param [Hash] options ({})
482
485
  # @option options [Array<Types::BlockDeviceMapping>] :block_device_mappings
@@ -780,6 +783,8 @@ module Aws::EC2
780
783
  # @option options [Types::PrivateDnsNameOptionsRequest] :private_dns_name_options
781
784
  # The options for the instance hostname. The default values are
782
785
  # inherited from the subnet.
786
+ # @option options [Types::InstanceMaintenanceOptionsRequest] :maintenance_options
787
+ # The maintenance and recovery options for the instance.
783
788
  # @return [Instance::Collection]
784
789
  def create_instances(options = {})
785
790
  batch = []