aws-sdk-ec2 1.362.0 → 1.364.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -113,6 +113,8 @@ module Aws::EC2
113
113
  AssignIpv6AddressesResult = Shapes::StructureShape.new(name: 'AssignIpv6AddressesResult')
114
114
  AssignPrivateIpAddressesRequest = Shapes::StructureShape.new(name: 'AssignPrivateIpAddressesRequest')
115
115
  AssignPrivateIpAddressesResult = Shapes::StructureShape.new(name: 'AssignPrivateIpAddressesResult')
116
+ AssignPrivateNatGatewayAddressRequest = Shapes::StructureShape.new(name: 'AssignPrivateNatGatewayAddressRequest')
117
+ AssignPrivateNatGatewayAddressResult = Shapes::StructureShape.new(name: 'AssignPrivateNatGatewayAddressResult')
116
118
  AssignedPrivateIpAddress = Shapes::StructureShape.new(name: 'AssignedPrivateIpAddress')
117
119
  AssignedPrivateIpAddressList = Shapes::ListShape.new(name: 'AssignedPrivateIpAddressList')
118
120
  AssociateAddressRequest = Shapes::StructureShape.new(name: 'AssociateAddressRequest')
@@ -128,6 +130,8 @@ module Aws::EC2
128
130
  AssociateInstanceEventWindowResult = Shapes::StructureShape.new(name: 'AssociateInstanceEventWindowResult')
129
131
  AssociateIpamResourceDiscoveryRequest = Shapes::StructureShape.new(name: 'AssociateIpamResourceDiscoveryRequest')
130
132
  AssociateIpamResourceDiscoveryResult = Shapes::StructureShape.new(name: 'AssociateIpamResourceDiscoveryResult')
133
+ AssociateNatGatewayAddressRequest = Shapes::StructureShape.new(name: 'AssociateNatGatewayAddressRequest')
134
+ AssociateNatGatewayAddressResult = Shapes::StructureShape.new(name: 'AssociateNatGatewayAddressResult')
131
135
  AssociateRouteTableRequest = Shapes::StructureShape.new(name: 'AssociateRouteTableRequest')
132
136
  AssociateRouteTableResult = Shapes::StructureShape.new(name: 'AssociateRouteTableResult')
133
137
  AssociateSubnetCidrBlockRequest = Shapes::StructureShape.new(name: 'AssociateSubnetCidrBlockRequest')
@@ -361,6 +365,7 @@ module Aws::EC2
361
365
  CopyImageRequest = Shapes::StructureShape.new(name: 'CopyImageRequest')
362
366
  CopyImageResult = Shapes::StructureShape.new(name: 'CopyImageResult')
363
367
  CopySnapshotRequest = Shapes::StructureShape.new(name: 'CopySnapshotRequest')
368
+ CopySnapshotRequestPSU = Shapes::StringShape.new(name: 'CopySnapshotRequestPSU')
364
369
  CopySnapshotResult = Shapes::StructureShape.new(name: 'CopySnapshotResult')
365
370
  CopyTagsFromSource = Shapes::StringShape.new(name: 'CopyTagsFromSource')
366
371
  CoreCount = Shapes::IntegerShape.new(name: 'CoreCount')
@@ -1129,6 +1134,8 @@ module Aws::EC2
1129
1134
  DisassociateInstanceEventWindowResult = Shapes::StructureShape.new(name: 'DisassociateInstanceEventWindowResult')
1130
1135
  DisassociateIpamResourceDiscoveryRequest = Shapes::StructureShape.new(name: 'DisassociateIpamResourceDiscoveryRequest')
1131
1136
  DisassociateIpamResourceDiscoveryResult = Shapes::StructureShape.new(name: 'DisassociateIpamResourceDiscoveryResult')
1137
+ DisassociateNatGatewayAddressRequest = Shapes::StructureShape.new(name: 'DisassociateNatGatewayAddressRequest')
1138
+ DisassociateNatGatewayAddressResult = Shapes::StructureShape.new(name: 'DisassociateNatGatewayAddressResult')
1132
1139
  DisassociateRouteTableRequest = Shapes::StructureShape.new(name: 'DisassociateRouteTableRequest')
1133
1140
  DisassociateSubnetCidrBlockRequest = Shapes::StructureShape.new(name: 'DisassociateSubnetCidrBlockRequest')
1134
1141
  DisassociateSubnetCidrBlockResult = Shapes::StructureShape.new(name: 'DisassociateSubnetCidrBlockResult')
@@ -1164,6 +1171,7 @@ module Aws::EC2
1164
1171
  DomainType = Shapes::StringShape.new(name: 'DomainType')
1165
1172
  Double = Shapes::FloatShape.new(name: 'Double')
1166
1173
  DoubleWithConstraints = Shapes::FloatShape.new(name: 'DoubleWithConstraints')
1174
+ DrainSeconds = Shapes::IntegerShape.new(name: 'DrainSeconds')
1167
1175
  DynamicRoutingValue = Shapes::StringShape.new(name: 'DynamicRoutingValue')
1168
1176
  EbsBlockDevice = Shapes::StructureShape.new(name: 'EbsBlockDevice')
1169
1177
  EbsEncryptionSupport = Shapes::StringShape.new(name: 'EbsEncryptionSupport')
@@ -1179,6 +1187,7 @@ module Aws::EC2
1179
1187
  EgressOnlyInternetGatewayId = Shapes::StringShape.new(name: 'EgressOnlyInternetGatewayId')
1180
1188
  EgressOnlyInternetGatewayIdList = Shapes::ListShape.new(name: 'EgressOnlyInternetGatewayIdList')
1181
1189
  EgressOnlyInternetGatewayList = Shapes::ListShape.new(name: 'EgressOnlyInternetGatewayList')
1190
+ EipAssociationIdList = Shapes::ListShape.new(name: 'EipAssociationIdList')
1182
1191
  ElasticGpuAssociation = Shapes::StructureShape.new(name: 'ElasticGpuAssociation')
1183
1192
  ElasticGpuAssociationList = Shapes::ListShape.new(name: 'ElasticGpuAssociationList')
1184
1193
  ElasticGpuHealth = Shapes::StructureShape.new(name: 'ElasticGpuHealth')
@@ -1662,6 +1671,7 @@ module Aws::EC2
1662
1671
  IpAddress = Shapes::StringShape.new(name: 'IpAddress')
1663
1672
  IpAddressList = Shapes::ListShape.new(name: 'IpAddressList')
1664
1673
  IpAddressType = Shapes::StringShape.new(name: 'IpAddressType')
1674
+ IpList = Shapes::ListShape.new(name: 'IpList')
1665
1675
  IpPermission = Shapes::StructureShape.new(name: 'IpPermission')
1666
1676
  IpPermissionList = Shapes::ListShape.new(name: 'IpPermissionList')
1667
1677
  IpPrefixList = Shapes::ListShape.new(name: 'IpPrefixList')
@@ -2062,6 +2072,7 @@ module Aws::EC2
2062
2072
  NatGateway = Shapes::StructureShape.new(name: 'NatGateway')
2063
2073
  NatGatewayAddress = Shapes::StructureShape.new(name: 'NatGatewayAddress')
2064
2074
  NatGatewayAddressList = Shapes::ListShape.new(name: 'NatGatewayAddressList')
2075
+ NatGatewayAddressStatus = Shapes::StringShape.new(name: 'NatGatewayAddressStatus')
2065
2076
  NatGatewayId = Shapes::StringShape.new(name: 'NatGatewayId')
2066
2077
  NatGatewayIdStringList = Shapes::ListShape.new(name: 'NatGatewayIdStringList')
2067
2078
  NatGatewayList = Shapes::ListShape.new(name: 'NatGatewayList')
@@ -2233,6 +2244,7 @@ module Aws::EC2
2233
2244
  PrivateDnsNameOptionsRequest = Shapes::StructureShape.new(name: 'PrivateDnsNameOptionsRequest')
2234
2245
  PrivateDnsNameOptionsResponse = Shapes::StructureShape.new(name: 'PrivateDnsNameOptionsResponse')
2235
2246
  PrivateIpAddressConfigSet = Shapes::ListShape.new(name: 'PrivateIpAddressConfigSet')
2247
+ PrivateIpAddressCount = Shapes::IntegerShape.new(name: 'PrivateIpAddressCount')
2236
2248
  PrivateIpAddressSpecification = Shapes::StructureShape.new(name: 'PrivateIpAddressSpecification')
2237
2249
  PrivateIpAddressSpecificationList = Shapes::ListShape.new(name: 'PrivateIpAddressSpecificationList')
2238
2250
  PrivateIpAddressStringList = Shapes::ListShape.new(name: 'PrivateIpAddressStringList')
@@ -2782,6 +2794,8 @@ module Aws::EC2
2782
2794
  UnassignIpv6AddressesRequest = Shapes::StructureShape.new(name: 'UnassignIpv6AddressesRequest')
2783
2795
  UnassignIpv6AddressesResult = Shapes::StructureShape.new(name: 'UnassignIpv6AddressesResult')
2784
2796
  UnassignPrivateIpAddressesRequest = Shapes::StructureShape.new(name: 'UnassignPrivateIpAddressesRequest')
2797
+ UnassignPrivateNatGatewayAddressRequest = Shapes::StructureShape.new(name: 'UnassignPrivateNatGatewayAddressRequest')
2798
+ UnassignPrivateNatGatewayAddressResult = Shapes::StructureShape.new(name: 'UnassignPrivateNatGatewayAddressResult')
2785
2799
  UnlimitedSupportedInstanceFamily = Shapes::StringShape.new(name: 'UnlimitedSupportedInstanceFamily')
2786
2800
  UnmonitorInstancesRequest = Shapes::StructureShape.new(name: 'UnmonitorInstancesRequest')
2787
2801
  UnmonitorInstancesResult = Shapes::StructureShape.new(name: 'UnmonitorInstancesResult')
@@ -3034,7 +3048,7 @@ module Aws::EC2
3034
3048
  AcceptVpcEndpointConnectionsResult.struct_class = Types::AcceptVpcEndpointConnectionsResult
3035
3049
 
3036
3050
  AcceptVpcPeeringConnectionRequest.add_member(:dry_run, Shapes::ShapeRef.new(shape: Boolean, location_name: "dryRun"))
3037
- AcceptVpcPeeringConnectionRequest.add_member(:vpc_peering_connection_id, Shapes::ShapeRef.new(shape: VpcPeeringConnectionIdWithResolver, location_name: "vpcPeeringConnectionId"))
3051
+ AcceptVpcPeeringConnectionRequest.add_member(:vpc_peering_connection_id, Shapes::ShapeRef.new(shape: VpcPeeringConnectionIdWithResolver, required: true, location_name: "vpcPeeringConnectionId"))
3038
3052
  AcceptVpcPeeringConnectionRequest.struct_class = Types::AcceptVpcPeeringConnectionRequest
3039
3053
 
3040
3054
  AcceptVpcPeeringConnectionResult.add_member(:vpc_peering_connection, Shapes::ShapeRef.new(shape: VpcPeeringConnection, location_name: "vpcPeeringConnection"))
@@ -3311,6 +3325,16 @@ module Aws::EC2
3311
3325
  AssignPrivateIpAddressesResult.add_member(:assigned_ipv_4_prefixes, Shapes::ShapeRef.new(shape: Ipv4PrefixesList, location_name: "assignedIpv4PrefixSet"))
3312
3326
  AssignPrivateIpAddressesResult.struct_class = Types::AssignPrivateIpAddressesResult
3313
3327
 
3328
+ AssignPrivateNatGatewayAddressRequest.add_member(:nat_gateway_id, Shapes::ShapeRef.new(shape: NatGatewayId, required: true, location_name: "NatGatewayId"))
3329
+ AssignPrivateNatGatewayAddressRequest.add_member(:private_ip_addresses, Shapes::ShapeRef.new(shape: IpList, location_name: "PrivateIpAddress"))
3330
+ AssignPrivateNatGatewayAddressRequest.add_member(:private_ip_address_count, Shapes::ShapeRef.new(shape: PrivateIpAddressCount, location_name: "PrivateIpAddressCount"))
3331
+ AssignPrivateNatGatewayAddressRequest.add_member(:dry_run, Shapes::ShapeRef.new(shape: Boolean, location_name: "DryRun"))
3332
+ AssignPrivateNatGatewayAddressRequest.struct_class = Types::AssignPrivateNatGatewayAddressRequest
3333
+
3334
+ AssignPrivateNatGatewayAddressResult.add_member(:nat_gateway_id, Shapes::ShapeRef.new(shape: NatGatewayId, location_name: "natGatewayId"))
3335
+ AssignPrivateNatGatewayAddressResult.add_member(:nat_gateway_addresses, Shapes::ShapeRef.new(shape: NatGatewayAddressList, location_name: "natGatewayAddressSet"))
3336
+ AssignPrivateNatGatewayAddressResult.struct_class = Types::AssignPrivateNatGatewayAddressResult
3337
+
3314
3338
  AssignedPrivateIpAddress.add_member(:private_ip_address, Shapes::ShapeRef.new(shape: String, location_name: "privateIpAddress"))
3315
3339
  AssignedPrivateIpAddress.struct_class = Types::AssignedPrivateIpAddress
3316
3340
 
@@ -3343,8 +3367,8 @@ module Aws::EC2
3343
3367
  AssociateDhcpOptionsRequest.add_member(:dry_run, Shapes::ShapeRef.new(shape: Boolean, location_name: "dryRun"))
3344
3368
  AssociateDhcpOptionsRequest.struct_class = Types::AssociateDhcpOptionsRequest
3345
3369
 
3346
- AssociateEnclaveCertificateIamRoleRequest.add_member(:certificate_arn, Shapes::ShapeRef.new(shape: CertificateId, location_name: "CertificateArn"))
3347
- AssociateEnclaveCertificateIamRoleRequest.add_member(:role_arn, Shapes::ShapeRef.new(shape: RoleId, location_name: "RoleArn"))
3370
+ AssociateEnclaveCertificateIamRoleRequest.add_member(:certificate_arn, Shapes::ShapeRef.new(shape: CertificateId, required: true, location_name: "CertificateArn"))
3371
+ AssociateEnclaveCertificateIamRoleRequest.add_member(:role_arn, Shapes::ShapeRef.new(shape: RoleId, required: true, location_name: "RoleArn"))
3348
3372
  AssociateEnclaveCertificateIamRoleRequest.add_member(:dry_run, Shapes::ShapeRef.new(shape: Boolean, location_name: "DryRun"))
3349
3373
  AssociateEnclaveCertificateIamRoleRequest.struct_class = Types::AssociateEnclaveCertificateIamRoleRequest
3350
3374
 
@@ -3378,6 +3402,16 @@ module Aws::EC2
3378
3402
  AssociateIpamResourceDiscoveryResult.add_member(:ipam_resource_discovery_association, Shapes::ShapeRef.new(shape: IpamResourceDiscoveryAssociation, location_name: "ipamResourceDiscoveryAssociation"))
3379
3403
  AssociateIpamResourceDiscoveryResult.struct_class = Types::AssociateIpamResourceDiscoveryResult
3380
3404
 
3405
+ AssociateNatGatewayAddressRequest.add_member(:nat_gateway_id, Shapes::ShapeRef.new(shape: NatGatewayId, required: true, location_name: "NatGatewayId"))
3406
+ AssociateNatGatewayAddressRequest.add_member(:allocation_ids, Shapes::ShapeRef.new(shape: AllocationIdList, required: true, location_name: "AllocationId"))
3407
+ AssociateNatGatewayAddressRequest.add_member(:private_ip_addresses, Shapes::ShapeRef.new(shape: IpList, location_name: "PrivateIpAddress"))
3408
+ AssociateNatGatewayAddressRequest.add_member(:dry_run, Shapes::ShapeRef.new(shape: Boolean, location_name: "DryRun"))
3409
+ AssociateNatGatewayAddressRequest.struct_class = Types::AssociateNatGatewayAddressRequest
3410
+
3411
+ AssociateNatGatewayAddressResult.add_member(:nat_gateway_id, Shapes::ShapeRef.new(shape: NatGatewayId, location_name: "natGatewayId"))
3412
+ AssociateNatGatewayAddressResult.add_member(:nat_gateway_addresses, Shapes::ShapeRef.new(shape: NatGatewayAddressList, location_name: "natGatewayAddressSet"))
3413
+ AssociateNatGatewayAddressResult.struct_class = Types::AssociateNatGatewayAddressResult
3414
+
3381
3415
  AssociateRouteTableRequest.add_member(:dry_run, Shapes::ShapeRef.new(shape: Boolean, location_name: "dryRun"))
3382
3416
  AssociateRouteTableRequest.add_member(:route_table_id, Shapes::ShapeRef.new(shape: RouteTableId, required: true, location_name: "routeTableId"))
3383
3417
  AssociateRouteTableRequest.add_member(:subnet_id, Shapes::ShapeRef.new(shape: SubnetId, location_name: "subnetId"))
@@ -3396,9 +3430,9 @@ module Aws::EC2
3396
3430
  AssociateSubnetCidrBlockResult.add_member(:subnet_id, Shapes::ShapeRef.new(shape: String, location_name: "subnetId"))
3397
3431
  AssociateSubnetCidrBlockResult.struct_class = Types::AssociateSubnetCidrBlockResult
3398
3432
 
3399
- AssociateTransitGatewayMulticastDomainRequest.add_member(:transit_gateway_multicast_domain_id, Shapes::ShapeRef.new(shape: TransitGatewayMulticastDomainId, location_name: "TransitGatewayMulticastDomainId"))
3400
- AssociateTransitGatewayMulticastDomainRequest.add_member(:transit_gateway_attachment_id, Shapes::ShapeRef.new(shape: TransitGatewayAttachmentId, location_name: "TransitGatewayAttachmentId"))
3401
- AssociateTransitGatewayMulticastDomainRequest.add_member(:subnet_ids, Shapes::ShapeRef.new(shape: TransitGatewaySubnetIdList, location_name: "SubnetIds"))
3433
+ AssociateTransitGatewayMulticastDomainRequest.add_member(:transit_gateway_multicast_domain_id, Shapes::ShapeRef.new(shape: TransitGatewayMulticastDomainId, required: true, location_name: "TransitGatewayMulticastDomainId"))
3434
+ AssociateTransitGatewayMulticastDomainRequest.add_member(:transit_gateway_attachment_id, Shapes::ShapeRef.new(shape: TransitGatewayAttachmentId, required: true, location_name: "TransitGatewayAttachmentId"))
3435
+ AssociateTransitGatewayMulticastDomainRequest.add_member(:subnet_ids, Shapes::ShapeRef.new(shape: TransitGatewaySubnetIdList, required: true, location_name: "SubnetIds"))
3402
3436
  AssociateTransitGatewayMulticastDomainRequest.add_member(:dry_run, Shapes::ShapeRef.new(shape: Boolean, location_name: "DryRun"))
3403
3437
  AssociateTransitGatewayMulticastDomainRequest.struct_class = Types::AssociateTransitGatewayMulticastDomainRequest
3404
3438
 
@@ -4144,7 +4178,7 @@ module Aws::EC2
4144
4178
  CopySnapshotRequest.add_member(:destination_region, Shapes::ShapeRef.new(shape: String, location_name: "destinationRegion"))
4145
4179
  CopySnapshotRequest.add_member(:encrypted, Shapes::ShapeRef.new(shape: Boolean, location_name: "encrypted"))
4146
4180
  CopySnapshotRequest.add_member(:kms_key_id, Shapes::ShapeRef.new(shape: KmsKeyId, location_name: "kmsKeyId"))
4147
- CopySnapshotRequest.add_member(:presigned_url, Shapes::ShapeRef.new(shape: String, location_name: "presignedUrl"))
4181
+ CopySnapshotRequest.add_member(:presigned_url, Shapes::ShapeRef.new(shape: CopySnapshotRequestPSU, location_name: "presignedUrl"))
4148
4182
  CopySnapshotRequest.add_member(:source_region, Shapes::ShapeRef.new(shape: String, required: true, location_name: "SourceRegion"))
4149
4183
  CopySnapshotRequest.add_member(:source_snapshot_id, Shapes::ShapeRef.new(shape: String, required: true, location_name: "SourceSnapshotId"))
4150
4184
  CopySnapshotRequest.add_member(:tag_specifications, Shapes::ShapeRef.new(shape: TagSpecificationList, location_name: "TagSpecification"))
@@ -4570,6 +4604,9 @@ module Aws::EC2
4570
4604
  CreateNatGatewayRequest.add_member(:tag_specifications, Shapes::ShapeRef.new(shape: TagSpecificationList, location_name: "TagSpecification"))
4571
4605
  CreateNatGatewayRequest.add_member(:connectivity_type, Shapes::ShapeRef.new(shape: ConnectivityType, location_name: "ConnectivityType"))
4572
4606
  CreateNatGatewayRequest.add_member(:private_ip_address, Shapes::ShapeRef.new(shape: String, location_name: "PrivateIpAddress"))
4607
+ CreateNatGatewayRequest.add_member(:secondary_allocation_ids, Shapes::ShapeRef.new(shape: AllocationIdList, location_name: "SecondaryAllocationId"))
4608
+ CreateNatGatewayRequest.add_member(:secondary_private_ip_addresses, Shapes::ShapeRef.new(shape: IpList, location_name: "SecondaryPrivateIpAddress"))
4609
+ CreateNatGatewayRequest.add_member(:secondary_private_ip_address_count, Shapes::ShapeRef.new(shape: PrivateIpAddressCount, location_name: "SecondaryPrivateIpAddressCount"))
4573
4610
  CreateNatGatewayRequest.struct_class = Types::CreateNatGatewayRequest
4574
4611
 
4575
4612
  CreateNatGatewayResult.add_member(:client_token, Shapes::ShapeRef.new(shape: String, location_name: "clientToken"))
@@ -5139,7 +5176,7 @@ module Aws::EC2
5139
5176
  CreateVpcPeeringConnectionRequest.add_member(:dry_run, Shapes::ShapeRef.new(shape: Boolean, location_name: "dryRun"))
5140
5177
  CreateVpcPeeringConnectionRequest.add_member(:peer_owner_id, Shapes::ShapeRef.new(shape: String, location_name: "peerOwnerId"))
5141
5178
  CreateVpcPeeringConnectionRequest.add_member(:peer_vpc_id, Shapes::ShapeRef.new(shape: String, location_name: "peerVpcId"))
5142
- CreateVpcPeeringConnectionRequest.add_member(:vpc_id, Shapes::ShapeRef.new(shape: VpcId, location_name: "vpcId"))
5179
+ CreateVpcPeeringConnectionRequest.add_member(:vpc_id, Shapes::ShapeRef.new(shape: VpcId, required: true, location_name: "vpcId"))
5143
5180
  CreateVpcPeeringConnectionRequest.add_member(:peer_region, Shapes::ShapeRef.new(shape: String, location_name: "PeerRegion"))
5144
5181
  CreateVpcPeeringConnectionRequest.add_member(:tag_specifications, Shapes::ShapeRef.new(shape: TagSpecificationList, location_name: "TagSpecification"))
5145
5182
  CreateVpcPeeringConnectionRequest.struct_class = Types::CreateVpcPeeringConnectionRequest
@@ -7609,8 +7646,8 @@ module Aws::EC2
7609
7646
  DisassociateClientVpnTargetNetworkResult.add_member(:status, Shapes::ShapeRef.new(shape: AssociationStatus, location_name: "status"))
7610
7647
  DisassociateClientVpnTargetNetworkResult.struct_class = Types::DisassociateClientVpnTargetNetworkResult
7611
7648
 
7612
- DisassociateEnclaveCertificateIamRoleRequest.add_member(:certificate_arn, Shapes::ShapeRef.new(shape: CertificateId, location_name: "CertificateArn"))
7613
- DisassociateEnclaveCertificateIamRoleRequest.add_member(:role_arn, Shapes::ShapeRef.new(shape: RoleId, location_name: "RoleArn"))
7649
+ DisassociateEnclaveCertificateIamRoleRequest.add_member(:certificate_arn, Shapes::ShapeRef.new(shape: CertificateId, required: true, location_name: "CertificateArn"))
7650
+ DisassociateEnclaveCertificateIamRoleRequest.add_member(:role_arn, Shapes::ShapeRef.new(shape: RoleId, required: true, location_name: "RoleArn"))
7614
7651
  DisassociateEnclaveCertificateIamRoleRequest.add_member(:dry_run, Shapes::ShapeRef.new(shape: Boolean, location_name: "DryRun"))
7615
7652
  DisassociateEnclaveCertificateIamRoleRequest.struct_class = Types::DisassociateEnclaveCertificateIamRoleRequest
7616
7653
 
@@ -7638,6 +7675,16 @@ module Aws::EC2
7638
7675
  DisassociateIpamResourceDiscoveryResult.add_member(:ipam_resource_discovery_association, Shapes::ShapeRef.new(shape: IpamResourceDiscoveryAssociation, location_name: "ipamResourceDiscoveryAssociation"))
7639
7676
  DisassociateIpamResourceDiscoveryResult.struct_class = Types::DisassociateIpamResourceDiscoveryResult
7640
7677
 
7678
+ DisassociateNatGatewayAddressRequest.add_member(:nat_gateway_id, Shapes::ShapeRef.new(shape: NatGatewayId, required: true, location_name: "NatGatewayId"))
7679
+ DisassociateNatGatewayAddressRequest.add_member(:association_ids, Shapes::ShapeRef.new(shape: EipAssociationIdList, required: true, location_name: "AssociationId"))
7680
+ DisassociateNatGatewayAddressRequest.add_member(:max_drain_duration_seconds, Shapes::ShapeRef.new(shape: DrainSeconds, location_name: "MaxDrainDurationSeconds"))
7681
+ DisassociateNatGatewayAddressRequest.add_member(:dry_run, Shapes::ShapeRef.new(shape: Boolean, location_name: "DryRun"))
7682
+ DisassociateNatGatewayAddressRequest.struct_class = Types::DisassociateNatGatewayAddressRequest
7683
+
7684
+ DisassociateNatGatewayAddressResult.add_member(:nat_gateway_id, Shapes::ShapeRef.new(shape: NatGatewayId, location_name: "natGatewayId"))
7685
+ DisassociateNatGatewayAddressResult.add_member(:nat_gateway_addresses, Shapes::ShapeRef.new(shape: NatGatewayAddressList, location_name: "natGatewayAddressSet"))
7686
+ DisassociateNatGatewayAddressResult.struct_class = Types::DisassociateNatGatewayAddressResult
7687
+
7641
7688
  DisassociateRouteTableRequest.add_member(:association_id, Shapes::ShapeRef.new(shape: RouteTableAssociationId, required: true, location_name: "associationId"))
7642
7689
  DisassociateRouteTableRequest.add_member(:dry_run, Shapes::ShapeRef.new(shape: Boolean, location_name: "dryRun"))
7643
7690
  DisassociateRouteTableRequest.struct_class = Types::DisassociateRouteTableRequest
@@ -7649,9 +7696,9 @@ module Aws::EC2
7649
7696
  DisassociateSubnetCidrBlockResult.add_member(:subnet_id, Shapes::ShapeRef.new(shape: String, location_name: "subnetId"))
7650
7697
  DisassociateSubnetCidrBlockResult.struct_class = Types::DisassociateSubnetCidrBlockResult
7651
7698
 
7652
- DisassociateTransitGatewayMulticastDomainRequest.add_member(:transit_gateway_multicast_domain_id, Shapes::ShapeRef.new(shape: TransitGatewayMulticastDomainId, location_name: "TransitGatewayMulticastDomainId"))
7653
- DisassociateTransitGatewayMulticastDomainRequest.add_member(:transit_gateway_attachment_id, Shapes::ShapeRef.new(shape: TransitGatewayAttachmentId, location_name: "TransitGatewayAttachmentId"))
7654
- DisassociateTransitGatewayMulticastDomainRequest.add_member(:subnet_ids, Shapes::ShapeRef.new(shape: TransitGatewaySubnetIdList, location_name: "SubnetIds"))
7699
+ DisassociateTransitGatewayMulticastDomainRequest.add_member(:transit_gateway_multicast_domain_id, Shapes::ShapeRef.new(shape: TransitGatewayMulticastDomainId, required: true, location_name: "TransitGatewayMulticastDomainId"))
7700
+ DisassociateTransitGatewayMulticastDomainRequest.add_member(:transit_gateway_attachment_id, Shapes::ShapeRef.new(shape: TransitGatewayAttachmentId, required: true, location_name: "TransitGatewayAttachmentId"))
7701
+ DisassociateTransitGatewayMulticastDomainRequest.add_member(:subnet_ids, Shapes::ShapeRef.new(shape: TransitGatewaySubnetIdList, required: true, location_name: "SubnetIds"))
7655
7702
  DisassociateTransitGatewayMulticastDomainRequest.add_member(:dry_run, Shapes::ShapeRef.new(shape: Boolean, location_name: "DryRun"))
7656
7703
  DisassociateTransitGatewayMulticastDomainRequest.struct_class = Types::DisassociateTransitGatewayMulticastDomainRequest
7657
7704
 
@@ -7783,6 +7830,8 @@ module Aws::EC2
7783
7830
 
7784
7831
  EgressOnlyInternetGatewayList.member = Shapes::ShapeRef.new(shape: EgressOnlyInternetGateway, location_name: "item")
7785
7832
 
7833
+ EipAssociationIdList.member = Shapes::ShapeRef.new(shape: ElasticIpAssociationId, location_name: "item")
7834
+
7786
7835
  ElasticGpuAssociation.add_member(:elastic_gpu_id, Shapes::ShapeRef.new(shape: ElasticGpuId, location_name: "elasticGpuId"))
7787
7836
  ElasticGpuAssociation.add_member(:elastic_gpu_association_id, Shapes::ShapeRef.new(shape: String, location_name: "elasticGpuAssociationId"))
7788
7837
  ElasticGpuAssociation.add_member(:elastic_gpu_association_state, Shapes::ShapeRef.new(shape: String, location_name: "elasticGpuAssociationState"))
@@ -8368,7 +8417,7 @@ module Aws::EC2
8368
8417
  FpgaInfo.add_member(:total_fpga_memory_in_mi_b, Shapes::ShapeRef.new(shape: totalFpgaMemory, location_name: "totalFpgaMemoryInMiB"))
8369
8418
  FpgaInfo.struct_class = Types::FpgaInfo
8370
8419
 
8371
- GetAssociatedEnclaveCertificateIamRolesRequest.add_member(:certificate_arn, Shapes::ShapeRef.new(shape: CertificateId, location_name: "CertificateArn"))
8420
+ GetAssociatedEnclaveCertificateIamRolesRequest.add_member(:certificate_arn, Shapes::ShapeRef.new(shape: CertificateId, required: true, location_name: "CertificateArn"))
8372
8421
  GetAssociatedEnclaveCertificateIamRolesRequest.add_member(:dry_run, Shapes::ShapeRef.new(shape: Boolean, location_name: "DryRun"))
8373
8422
  GetAssociatedEnclaveCertificateIamRolesRequest.struct_class = Types::GetAssociatedEnclaveCertificateIamRolesRequest
8374
8423
 
@@ -8704,7 +8753,7 @@ module Aws::EC2
8704
8753
  GetTransitGatewayAttachmentPropagationsResult.add_member(:next_token, Shapes::ShapeRef.new(shape: String, location_name: "nextToken"))
8705
8754
  GetTransitGatewayAttachmentPropagationsResult.struct_class = Types::GetTransitGatewayAttachmentPropagationsResult
8706
8755
 
8707
- GetTransitGatewayMulticastDomainAssociationsRequest.add_member(:transit_gateway_multicast_domain_id, Shapes::ShapeRef.new(shape: TransitGatewayMulticastDomainId, location_name: "TransitGatewayMulticastDomainId"))
8756
+ GetTransitGatewayMulticastDomainAssociationsRequest.add_member(:transit_gateway_multicast_domain_id, Shapes::ShapeRef.new(shape: TransitGatewayMulticastDomainId, required: true, location_name: "TransitGatewayMulticastDomainId"))
8708
8757
  GetTransitGatewayMulticastDomainAssociationsRequest.add_member(:filters, Shapes::ShapeRef.new(shape: FilterList, location_name: "Filter"))
8709
8758
  GetTransitGatewayMulticastDomainAssociationsRequest.add_member(:max_results, Shapes::ShapeRef.new(shape: TransitGatewayMaxResults, location_name: "MaxResults"))
8710
8759
  GetTransitGatewayMulticastDomainAssociationsRequest.add_member(:next_token, Shapes::ShapeRef.new(shape: String, location_name: "NextToken"))
@@ -9324,7 +9373,7 @@ module Aws::EC2
9324
9373
 
9325
9374
  InstanceCreditSpecificationListRequest.member = Shapes::ShapeRef.new(shape: InstanceCreditSpecificationRequest, location_name: "item")
9326
9375
 
9327
- InstanceCreditSpecificationRequest.add_member(:instance_id, Shapes::ShapeRef.new(shape: InstanceId, location_name: "InstanceId"))
9376
+ InstanceCreditSpecificationRequest.add_member(:instance_id, Shapes::ShapeRef.new(shape: InstanceId, required: true, location_name: "InstanceId"))
9328
9377
  InstanceCreditSpecificationRequest.add_member(:cpu_credits, Shapes::ShapeRef.new(shape: String, location_name: "CpuCredits"))
9329
9378
  InstanceCreditSpecificationRequest.struct_class = Types::InstanceCreditSpecificationRequest
9330
9379
 
@@ -9703,6 +9752,8 @@ module Aws::EC2
9703
9752
 
9704
9753
  IpAddressList.member = Shapes::ShapeRef.new(shape: IpAddress, location_name: "item")
9705
9754
 
9755
+ IpList.member = Shapes::ShapeRef.new(shape: String, location_name: "item")
9756
+
9706
9757
  IpPermission.add_member(:from_port, Shapes::ShapeRef.new(shape: Integer, location_name: "fromPort"))
9707
9758
  IpPermission.add_member(:ip_protocol, Shapes::ShapeRef.new(shape: String, location_name: "ipProtocol"))
9708
9759
  IpPermission.add_member(:ip_ranges, Shapes::ShapeRef.new(shape: IpRangeList, location_name: "ipRanges"))
@@ -10824,7 +10875,7 @@ module Aws::EC2
10824
10875
  ModifyNetworkInterfaceAttributeRequest.struct_class = Types::ModifyNetworkInterfaceAttributeRequest
10825
10876
 
10826
10877
  ModifyPrivateDnsNameOptionsRequest.add_member(:dry_run, Shapes::ShapeRef.new(shape: Boolean, location_name: "DryRun"))
10827
- ModifyPrivateDnsNameOptionsRequest.add_member(:instance_id, Shapes::ShapeRef.new(shape: InstanceId, location_name: "InstanceId"))
10878
+ ModifyPrivateDnsNameOptionsRequest.add_member(:instance_id, Shapes::ShapeRef.new(shape: InstanceId, required: true, location_name: "InstanceId"))
10828
10879
  ModifyPrivateDnsNameOptionsRequest.add_member(:private_dns_hostname_type, Shapes::ShapeRef.new(shape: HostnameType, location_name: "PrivateDnsHostnameType"))
10829
10880
  ModifyPrivateDnsNameOptionsRequest.add_member(:enable_resource_name_dns_a_record, Shapes::ShapeRef.new(shape: Boolean, location_name: "EnableResourceNameDnsARecord"))
10830
10881
  ModifyPrivateDnsNameOptionsRequest.add_member(:enable_resource_name_dns_aaaa_record, Shapes::ShapeRef.new(shape: Boolean, location_name: "EnableResourceNameDnsAAAARecord"))
@@ -11275,6 +11326,10 @@ module Aws::EC2
11275
11326
  NatGatewayAddress.add_member(:network_interface_id, Shapes::ShapeRef.new(shape: String, location_name: "networkInterfaceId"))
11276
11327
  NatGatewayAddress.add_member(:private_ip, Shapes::ShapeRef.new(shape: String, location_name: "privateIp"))
11277
11328
  NatGatewayAddress.add_member(:public_ip, Shapes::ShapeRef.new(shape: String, location_name: "publicIp"))
11329
+ NatGatewayAddress.add_member(:association_id, Shapes::ShapeRef.new(shape: String, location_name: "associationId"))
11330
+ NatGatewayAddress.add_member(:is_primary, Shapes::ShapeRef.new(shape: Boolean, location_name: "isPrimary"))
11331
+ NatGatewayAddress.add_member(:failure_message, Shapes::ShapeRef.new(shape: String, location_name: "failureMessage"))
11332
+ NatGatewayAddress.add_member(:status, Shapes::ShapeRef.new(shape: NatGatewayAddressStatus, location_name: "status"))
11278
11333
  NatGatewayAddress.struct_class = Types::NatGatewayAddress
11279
11334
 
11280
11335
  NatGatewayAddressList.member = Shapes::ShapeRef.new(shape: NatGatewayAddress, location_name: "item")
@@ -12028,18 +12083,18 @@ module Aws::EC2
12028
12083
  RegisterInstanceTagAttributeRequest.add_member(:instance_tag_keys, Shapes::ShapeRef.new(shape: InstanceTagKeySet, location_name: "InstanceTagKey"))
12029
12084
  RegisterInstanceTagAttributeRequest.struct_class = Types::RegisterInstanceTagAttributeRequest
12030
12085
 
12031
- RegisterTransitGatewayMulticastGroupMembersRequest.add_member(:transit_gateway_multicast_domain_id, Shapes::ShapeRef.new(shape: TransitGatewayMulticastDomainId, location_name: "TransitGatewayMulticastDomainId"))
12086
+ RegisterTransitGatewayMulticastGroupMembersRequest.add_member(:transit_gateway_multicast_domain_id, Shapes::ShapeRef.new(shape: TransitGatewayMulticastDomainId, required: true, location_name: "TransitGatewayMulticastDomainId"))
12032
12087
  RegisterTransitGatewayMulticastGroupMembersRequest.add_member(:group_ip_address, Shapes::ShapeRef.new(shape: String, location_name: "GroupIpAddress"))
12033
- RegisterTransitGatewayMulticastGroupMembersRequest.add_member(:network_interface_ids, Shapes::ShapeRef.new(shape: TransitGatewayNetworkInterfaceIdList, location_name: "NetworkInterfaceIds"))
12088
+ RegisterTransitGatewayMulticastGroupMembersRequest.add_member(:network_interface_ids, Shapes::ShapeRef.new(shape: TransitGatewayNetworkInterfaceIdList, required: true, location_name: "NetworkInterfaceIds"))
12034
12089
  RegisterTransitGatewayMulticastGroupMembersRequest.add_member(:dry_run, Shapes::ShapeRef.new(shape: Boolean, location_name: "DryRun"))
12035
12090
  RegisterTransitGatewayMulticastGroupMembersRequest.struct_class = Types::RegisterTransitGatewayMulticastGroupMembersRequest
12036
12091
 
12037
12092
  RegisterTransitGatewayMulticastGroupMembersResult.add_member(:registered_multicast_group_members, Shapes::ShapeRef.new(shape: TransitGatewayMulticastRegisteredGroupMembers, location_name: "registeredMulticastGroupMembers"))
12038
12093
  RegisterTransitGatewayMulticastGroupMembersResult.struct_class = Types::RegisterTransitGatewayMulticastGroupMembersResult
12039
12094
 
12040
- RegisterTransitGatewayMulticastGroupSourcesRequest.add_member(:transit_gateway_multicast_domain_id, Shapes::ShapeRef.new(shape: TransitGatewayMulticastDomainId, location_name: "TransitGatewayMulticastDomainId"))
12095
+ RegisterTransitGatewayMulticastGroupSourcesRequest.add_member(:transit_gateway_multicast_domain_id, Shapes::ShapeRef.new(shape: TransitGatewayMulticastDomainId, required: true, location_name: "TransitGatewayMulticastDomainId"))
12041
12096
  RegisterTransitGatewayMulticastGroupSourcesRequest.add_member(:group_ip_address, Shapes::ShapeRef.new(shape: String, location_name: "GroupIpAddress"))
12042
- RegisterTransitGatewayMulticastGroupSourcesRequest.add_member(:network_interface_ids, Shapes::ShapeRef.new(shape: TransitGatewayNetworkInterfaceIdList, location_name: "NetworkInterfaceIds"))
12097
+ RegisterTransitGatewayMulticastGroupSourcesRequest.add_member(:network_interface_ids, Shapes::ShapeRef.new(shape: TransitGatewayNetworkInterfaceIdList, required: true, location_name: "NetworkInterfaceIds"))
12043
12098
  RegisterTransitGatewayMulticastGroupSourcesRequest.add_member(:dry_run, Shapes::ShapeRef.new(shape: Boolean, location_name: "DryRun"))
12044
12099
  RegisterTransitGatewayMulticastGroupSourcesRequest.struct_class = Types::RegisterTransitGatewayMulticastGroupSourcesRequest
12045
12100
 
@@ -12870,7 +12925,7 @@ module Aws::EC2
12870
12925
  SearchLocalGatewayRoutesResult.add_member(:next_token, Shapes::ShapeRef.new(shape: String, location_name: "nextToken"))
12871
12926
  SearchLocalGatewayRoutesResult.struct_class = Types::SearchLocalGatewayRoutesResult
12872
12927
 
12873
- SearchTransitGatewayMulticastGroupsRequest.add_member(:transit_gateway_multicast_domain_id, Shapes::ShapeRef.new(shape: TransitGatewayMulticastDomainId, location_name: "TransitGatewayMulticastDomainId"))
12928
+ SearchTransitGatewayMulticastGroupsRequest.add_member(:transit_gateway_multicast_domain_id, Shapes::ShapeRef.new(shape: TransitGatewayMulticastDomainId, required: true, location_name: "TransitGatewayMulticastDomainId"))
12874
12929
  SearchTransitGatewayMulticastGroupsRequest.add_member(:filters, Shapes::ShapeRef.new(shape: FilterList, location_name: "Filter"))
12875
12930
  SearchTransitGatewayMulticastGroupsRequest.add_member(:max_results, Shapes::ShapeRef.new(shape: TransitGatewayMaxResults, location_name: "MaxResults"))
12876
12931
  SearchTransitGatewayMulticastGroupsRequest.add_member(:next_token, Shapes::ShapeRef.new(shape: String, location_name: "NextToken"))
@@ -12953,7 +13008,7 @@ module Aws::EC2
12953
13008
  SecurityGroupRuleRequest.add_member(:description, Shapes::ShapeRef.new(shape: String, location_name: "Description"))
12954
13009
  SecurityGroupRuleRequest.struct_class = Types::SecurityGroupRuleRequest
12955
13010
 
12956
- SecurityGroupRuleUpdate.add_member(:security_group_rule_id, Shapes::ShapeRef.new(shape: SecurityGroupRuleId, location_name: "SecurityGroupRuleId"))
13011
+ SecurityGroupRuleUpdate.add_member(:security_group_rule_id, Shapes::ShapeRef.new(shape: SecurityGroupRuleId, required: true, location_name: "SecurityGroupRuleId"))
12957
13012
  SecurityGroupRuleUpdate.add_member(:security_group_rule, Shapes::ShapeRef.new(shape: SecurityGroupRuleRequest, location_name: "SecurityGroupRule"))
12958
13013
  SecurityGroupRuleUpdate.struct_class = Types::SecurityGroupRuleUpdate
12959
13014
 
@@ -14036,6 +14091,16 @@ module Aws::EC2
14036
14091
  UnassignPrivateIpAddressesRequest.add_member(:ipv_4_prefixes, Shapes::ShapeRef.new(shape: IpPrefixList, location_name: "Ipv4Prefix"))
14037
14092
  UnassignPrivateIpAddressesRequest.struct_class = Types::UnassignPrivateIpAddressesRequest
14038
14093
 
14094
+ UnassignPrivateNatGatewayAddressRequest.add_member(:nat_gateway_id, Shapes::ShapeRef.new(shape: NatGatewayId, required: true, location_name: "NatGatewayId"))
14095
+ UnassignPrivateNatGatewayAddressRequest.add_member(:private_ip_addresses, Shapes::ShapeRef.new(shape: IpList, required: true, location_name: "PrivateIpAddress"))
14096
+ UnassignPrivateNatGatewayAddressRequest.add_member(:max_drain_duration_seconds, Shapes::ShapeRef.new(shape: DrainSeconds, location_name: "MaxDrainDurationSeconds"))
14097
+ UnassignPrivateNatGatewayAddressRequest.add_member(:dry_run, Shapes::ShapeRef.new(shape: Boolean, location_name: "DryRun"))
14098
+ UnassignPrivateNatGatewayAddressRequest.struct_class = Types::UnassignPrivateNatGatewayAddressRequest
14099
+
14100
+ UnassignPrivateNatGatewayAddressResult.add_member(:nat_gateway_id, Shapes::ShapeRef.new(shape: NatGatewayId, location_name: "natGatewayId"))
14101
+ UnassignPrivateNatGatewayAddressResult.add_member(:nat_gateway_addresses, Shapes::ShapeRef.new(shape: NatGatewayAddressList, location_name: "natGatewayAddressSet"))
14102
+ UnassignPrivateNatGatewayAddressResult.struct_class = Types::UnassignPrivateNatGatewayAddressResult
14103
+
14039
14104
  UnmonitorInstancesRequest.add_member(:instance_ids, Shapes::ShapeRef.new(shape: InstanceIdStringList, required: true, location_name: "InstanceId"))
14040
14105
  UnmonitorInstancesRequest.add_member(:dry_run, Shapes::ShapeRef.new(shape: Boolean, location_name: "dryRun"))
14041
14106
  UnmonitorInstancesRequest.struct_class = Types::UnmonitorInstancesRequest
@@ -14774,6 +14839,14 @@ module Aws::EC2
14774
14839
  o.output = Shapes::ShapeRef.new(shape: AssignPrivateIpAddressesResult)
14775
14840
  end)
14776
14841
 
14842
+ api.add_operation(:assign_private_nat_gateway_address, Seahorse::Model::Operation.new.tap do |o|
14843
+ o.name = "AssignPrivateNatGatewayAddress"
14844
+ o.http_method = "POST"
14845
+ o.http_request_uri = "/"
14846
+ o.input = Shapes::ShapeRef.new(shape: AssignPrivateNatGatewayAddressRequest)
14847
+ o.output = Shapes::ShapeRef.new(shape: AssignPrivateNatGatewayAddressResult)
14848
+ end)
14849
+
14777
14850
  api.add_operation(:associate_address, Seahorse::Model::Operation.new.tap do |o|
14778
14851
  o.name = "AssociateAddress"
14779
14852
  o.http_method = "POST"
@@ -14830,6 +14903,14 @@ module Aws::EC2
14830
14903
  o.output = Shapes::ShapeRef.new(shape: AssociateIpamResourceDiscoveryResult)
14831
14904
  end)
14832
14905
 
14906
+ api.add_operation(:associate_nat_gateway_address, Seahorse::Model::Operation.new.tap do |o|
14907
+ o.name = "AssociateNatGatewayAddress"
14908
+ o.http_method = "POST"
14909
+ o.http_request_uri = "/"
14910
+ o.input = Shapes::ShapeRef.new(shape: AssociateNatGatewayAddressRequest)
14911
+ o.output = Shapes::ShapeRef.new(shape: AssociateNatGatewayAddressResult)
14912
+ end)
14913
+
14833
14914
  api.add_operation(:associate_route_table, Seahorse::Model::Operation.new.tap do |o|
14834
14915
  o.name = "AssociateRouteTable"
14835
14916
  o.http_method = "POST"
@@ -18369,6 +18450,14 @@ module Aws::EC2
18369
18450
  o.output = Shapes::ShapeRef.new(shape: DisassociateIpamResourceDiscoveryResult)
18370
18451
  end)
18371
18452
 
18453
+ api.add_operation(:disassociate_nat_gateway_address, Seahorse::Model::Operation.new.tap do |o|
18454
+ o.name = "DisassociateNatGatewayAddress"
18455
+ o.http_method = "POST"
18456
+ o.http_request_uri = "/"
18457
+ o.input = Shapes::ShapeRef.new(shape: DisassociateNatGatewayAddressRequest)
18458
+ o.output = Shapes::ShapeRef.new(shape: DisassociateNatGatewayAddressResult)
18459
+ end)
18460
+
18372
18461
  api.add_operation(:disassociate_route_table, Seahorse::Model::Operation.new.tap do |o|
18373
18462
  o.name = "DisassociateRouteTable"
18374
18463
  o.http_method = "POST"
@@ -20113,6 +20202,14 @@ module Aws::EC2
20113
20202
  o.output = Shapes::ShapeRef.new(shape: Shapes::StructureShape.new(struct_class: Aws::EmptyStructure))
20114
20203
  end)
20115
20204
 
20205
+ api.add_operation(:unassign_private_nat_gateway_address, Seahorse::Model::Operation.new.tap do |o|
20206
+ o.name = "UnassignPrivateNatGatewayAddress"
20207
+ o.http_method = "POST"
20208
+ o.http_request_uri = "/"
20209
+ o.input = Shapes::ShapeRef.new(shape: UnassignPrivateNatGatewayAddressRequest)
20210
+ o.output = Shapes::ShapeRef.new(shape: UnassignPrivateNatGatewayAddressResult)
20211
+ end)
20212
+
20116
20213
  api.add_operation(:unmonitor_instances, Seahorse::Model::Operation.new.tap do |o|
20117
20214
  o.name = "UnmonitorInstances"
20118
20215
  o.http_method = "POST"
@@ -207,6 +207,20 @@ module Aws::EC2
207
207
  end
208
208
  end
209
209
 
210
+ class AssignPrivateNatGatewayAddress
211
+ def self.build(context)
212
+ unless context.config.regional_endpoint
213
+ endpoint = context.config.endpoint.to_s
214
+ end
215
+ Aws::EC2::EndpointParameters.new(
216
+ region: context.config.region,
217
+ use_dual_stack: context.config.use_dualstack_endpoint,
218
+ use_fips: context.config.use_fips_endpoint,
219
+ endpoint: endpoint,
220
+ )
221
+ end
222
+ end
223
+
210
224
  class AssociateAddress
211
225
  def self.build(context)
212
226
  unless context.config.regional_endpoint
@@ -305,6 +319,20 @@ module Aws::EC2
305
319
  end
306
320
  end
307
321
 
322
+ class AssociateNatGatewayAddress
323
+ def self.build(context)
324
+ unless context.config.regional_endpoint
325
+ endpoint = context.config.endpoint.to_s
326
+ end
327
+ Aws::EC2::EndpointParameters.new(
328
+ region: context.config.region,
329
+ use_dual_stack: context.config.use_dualstack_endpoint,
330
+ use_fips: context.config.use_fips_endpoint,
331
+ endpoint: endpoint,
332
+ )
333
+ end
334
+ end
335
+
308
336
  class AssociateRouteTable
309
337
  def self.build(context)
310
338
  unless context.config.regional_endpoint
@@ -5345,6 +5373,20 @@ module Aws::EC2
5345
5373
  end
5346
5374
  end
5347
5375
 
5376
+ class DisassociateNatGatewayAddress
5377
+ def self.build(context)
5378
+ unless context.config.regional_endpoint
5379
+ endpoint = context.config.endpoint.to_s
5380
+ end
5381
+ Aws::EC2::EndpointParameters.new(
5382
+ region: context.config.region,
5383
+ use_dual_stack: context.config.use_dualstack_endpoint,
5384
+ use_fips: context.config.use_fips_endpoint,
5385
+ endpoint: endpoint,
5386
+ )
5387
+ end
5388
+ end
5389
+
5348
5390
  class DisassociateRouteTable
5349
5391
  def self.build(context)
5350
5392
  unless context.config.regional_endpoint
@@ -8145,6 +8187,20 @@ module Aws::EC2
8145
8187
  end
8146
8188
  end
8147
8189
 
8190
+ class UnassignPrivateNatGatewayAddress
8191
+ def self.build(context)
8192
+ unless context.config.regional_endpoint
8193
+ endpoint = context.config.endpoint.to_s
8194
+ end
8195
+ Aws::EC2::EndpointParameters.new(
8196
+ region: context.config.region,
8197
+ use_dual_stack: context.config.use_dualstack_endpoint,
8198
+ use_fips: context.config.use_fips_endpoint,
8199
+ endpoint: endpoint,
8200
+ )
8201
+ end
8202
+ end
8203
+
8148
8204
  class UnmonitorInstances
8149
8205
  def self.build(context)
8150
8206
  unless context.config.regional_endpoint
@@ -84,6 +84,8 @@ module Aws::EC2
84
84
  Aws::EC2::Endpoints::AssignIpv6Addresses.build(context)
85
85
  when :assign_private_ip_addresses
86
86
  Aws::EC2::Endpoints::AssignPrivateIpAddresses.build(context)
87
+ when :assign_private_nat_gateway_address
88
+ Aws::EC2::Endpoints::AssignPrivateNatGatewayAddress.build(context)
87
89
  when :associate_address
88
90
  Aws::EC2::Endpoints::AssociateAddress.build(context)
89
91
  when :associate_client_vpn_target_network
@@ -98,6 +100,8 @@ module Aws::EC2
98
100
  Aws::EC2::Endpoints::AssociateInstanceEventWindow.build(context)
99
101
  when :associate_ipam_resource_discovery
100
102
  Aws::EC2::Endpoints::AssociateIpamResourceDiscovery.build(context)
103
+ when :associate_nat_gateway_address
104
+ Aws::EC2::Endpoints::AssociateNatGatewayAddress.build(context)
101
105
  when :associate_route_table
102
106
  Aws::EC2::Endpoints::AssociateRouteTable.build(context)
103
107
  when :associate_subnet_cidr_block
@@ -818,6 +822,8 @@ module Aws::EC2
818
822
  Aws::EC2::Endpoints::DisassociateInstanceEventWindow.build(context)
819
823
  when :disassociate_ipam_resource_discovery
820
824
  Aws::EC2::Endpoints::DisassociateIpamResourceDiscovery.build(context)
825
+ when :disassociate_nat_gateway_address
826
+ Aws::EC2::Endpoints::DisassociateNatGatewayAddress.build(context)
821
827
  when :disassociate_route_table
822
828
  Aws::EC2::Endpoints::DisassociateRouteTable.build(context)
823
829
  when :disassociate_subnet_cidr_block
@@ -1218,6 +1224,8 @@ module Aws::EC2
1218
1224
  Aws::EC2::Endpoints::UnassignIpv6Addresses.build(context)
1219
1225
  when :unassign_private_ip_addresses
1220
1226
  Aws::EC2::Endpoints::UnassignPrivateIpAddresses.build(context)
1227
+ when :unassign_private_nat_gateway_address
1228
+ Aws::EC2::Endpoints::UnassignPrivateNatGatewayAddress.build(context)
1221
1229
  when :unmonitor_instances
1222
1230
  Aws::EC2::Endpoints::UnmonitorInstances.build(context)
1223
1231
  when :update_security_group_rule_descriptions_egress
@@ -705,6 +705,9 @@ module Aws::EC2
705
705
  # ],
706
706
  # connectivity_type: "private", # accepts private, public
707
707
  # private_ip_address: "String",
708
+ # secondary_allocation_ids: ["AllocationId"],
709
+ # secondary_private_ip_addresses: ["String"],
710
+ # secondary_private_ip_address_count: 1,
708
711
  # })
709
712
  # @param [Hash] options ({})
710
713
  # @option options [String] :allocation_id
@@ -729,7 +732,7 @@ module Aws::EC2
729
732
  # If you have the required permissions, the error response is
730
733
  # `DryRunOperation`. Otherwise, it is `UnauthorizedOperation`.
731
734
  # @option options [required, String] :subnet_id
732
- # The subnet in which to create the NAT gateway.
735
+ # The ID of the subnet in which to create the NAT gateway.
733
736
  # @option options [Array<Types::TagSpecification>] :tag_specifications
734
737
  # The tags to assign to the NAT gateway.
735
738
  # @option options [String] :connectivity_type
@@ -739,6 +742,31 @@ module Aws::EC2
739
742
  # The private IPv4 address to assign to the NAT gateway. If you don't
740
743
  # provide an address, a private IPv4 address will be automatically
741
744
  # assigned.
745
+ # @option options [Array<String>] :secondary_allocation_ids
746
+ # Secondary EIP allocation IDs. For more information about secondary
747
+ # addresses, see [Create a NAT gateway][1] in the *Amazon Virtual
748
+ # Private Cloud User Guide*.
749
+ #
750
+ #
751
+ #
752
+ # [1]: https://docs.aws.amazon.com/vpc/latest/userguide/vpc-nat-gateway.html#nat-gateway-creating
753
+ # @option options [Array<String>] :secondary_private_ip_addresses
754
+ # Secondary private IPv4 addresses. For more information about secondary
755
+ # addresses, see [Create a NAT gateway][1] in the *Amazon Virtual
756
+ # Private Cloud User Guide*.
757
+ #
758
+ #
759
+ #
760
+ # [1]: https://docs.aws.amazon.com/vpc/latest/userguide/vpc-nat-gateway.html#nat-gateway-creating
761
+ # @option options [Integer] :secondary_private_ip_address_count
762
+ # \[Private NAT gateway only\] The number of secondary private IPv4
763
+ # addresses you want to assign to the NAT gateway. For more information
764
+ # about secondary addresses, see [Create a NAT gateway][1] in the
765
+ # *Amazon Virtual Private Cloud User Guide*.
766
+ #
767
+ #
768
+ #
769
+ # [1]: https://docs.aws.amazon.com/vpc/latest/userguide/vpc-nat-gateway.html#nat-gateway-creating
742
770
  # @return [NatGateway]
743
771
  def create_nat_gateway(options = {})
744
772
  resp = @client.create_nat_gateway(options)
@@ -1423,6 +1451,9 @@ module Aws::EC2
1423
1451
  #
1424
1452
  # * Magnetic: `standard`
1425
1453
  #
1454
+ # Throughput Optimized HDD (`st1`) and Cold HDD (`sc1`) volumes can't
1455
+ # be used as boot volumes.
1456
+ #
1426
1457
  # For more information, see [Amazon EBS volume types][1] in the *Amazon
1427
1458
  # Elastic Compute Cloud User Guide*.
1428
1459
  #
@@ -1598,7 +1629,7 @@ module Aws::EC2
1598
1629
  # dry_run: false,
1599
1630
  # peer_owner_id: "String",
1600
1631
  # peer_vpc_id: "String",
1601
- # vpc_id: "VpcId",
1632
+ # vpc_id: "VpcId", # required
1602
1633
  # peer_region: "String",
1603
1634
  # tag_specifications: [
1604
1635
  # {
@@ -1625,7 +1656,7 @@ module Aws::EC2
1625
1656
  # @option options [String] :peer_vpc_id
1626
1657
  # The ID of the VPC with which you are creating the VPC peering
1627
1658
  # connection. You must specify this parameter in the request.
1628
- # @option options [String] :vpc_id
1659
+ # @option options [required, String] :vpc_id
1629
1660
  # The ID of the requester VPC. You must specify this parameter in the
1630
1661
  # request.
1631
1662
  # @option options [String] :peer_region
@@ -318,7 +318,7 @@ module Aws::EC2
318
318
  # destination_region: "String",
319
319
  # encrypted: false,
320
320
  # kms_key_id: "KmsKeyId",
321
- # presigned_url: "String",
321
+ # presigned_url: "CopySnapshotRequestPSU",
322
322
  # source_region: "String", # required
323
323
  # tag_specifications: [
324
324
  # {