aws-sdk-ec2 1.302.0 → 1.305.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -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 = []