aws-sdk-ec2 1.182.0 → 1.187.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -176,6 +176,12 @@ module Aws::EC2
176
176
  CapacityReservationTarget = Shapes::StructureShape.new(name: 'CapacityReservationTarget')
177
177
  CapacityReservationTargetResponse = Shapes::StructureShape.new(name: 'CapacityReservationTargetResponse')
178
178
  CapacityReservationTenancy = Shapes::StringShape.new(name: 'CapacityReservationTenancy')
179
+ CarrierGateway = Shapes::StructureShape.new(name: 'CarrierGateway')
180
+ CarrierGatewayId = Shapes::StringShape.new(name: 'CarrierGatewayId')
181
+ CarrierGatewayIdSet = Shapes::ListShape.new(name: 'CarrierGatewayIdSet')
182
+ CarrierGatewayMaxResults = Shapes::IntegerShape.new(name: 'CarrierGatewayMaxResults')
183
+ CarrierGatewaySet = Shapes::ListShape.new(name: 'CarrierGatewaySet')
184
+ CarrierGatewayState = Shapes::StringShape.new(name: 'CarrierGatewayState')
179
185
  CertificateAuthentication = Shapes::StructureShape.new(name: 'CertificateAuthentication')
180
186
  CertificateAuthenticationRequest = Shapes::StructureShape.new(name: 'CertificateAuthenticationRequest')
181
187
  CidrAuthorizationContext = Shapes::StructureShape.new(name: 'CidrAuthorizationContext')
@@ -248,6 +254,8 @@ module Aws::EC2
248
254
  CpuOptionsRequest = Shapes::StructureShape.new(name: 'CpuOptionsRequest')
249
255
  CreateCapacityReservationRequest = Shapes::StructureShape.new(name: 'CreateCapacityReservationRequest')
250
256
  CreateCapacityReservationResult = Shapes::StructureShape.new(name: 'CreateCapacityReservationResult')
257
+ CreateCarrierGatewayRequest = Shapes::StructureShape.new(name: 'CreateCarrierGatewayRequest')
258
+ CreateCarrierGatewayResult = Shapes::StructureShape.new(name: 'CreateCarrierGatewayResult')
251
259
  CreateClientVpnEndpointRequest = Shapes::StructureShape.new(name: 'CreateClientVpnEndpointRequest')
252
260
  CreateClientVpnEndpointResult = Shapes::StructureShape.new(name: 'CreateClientVpnEndpointResult')
253
261
  CreateClientVpnRouteRequest = Shapes::StructureShape.new(name: 'CreateClientVpnRouteRequest')
@@ -374,6 +382,8 @@ module Aws::EC2
374
382
  DefaultRouteTablePropagationValue = Shapes::StringShape.new(name: 'DefaultRouteTablePropagationValue')
375
383
  DefaultTargetCapacityType = Shapes::StringShape.new(name: 'DefaultTargetCapacityType')
376
384
  DefaultingDhcpOptionsId = Shapes::StringShape.new(name: 'DefaultingDhcpOptionsId')
385
+ DeleteCarrierGatewayRequest = Shapes::StructureShape.new(name: 'DeleteCarrierGatewayRequest')
386
+ DeleteCarrierGatewayResult = Shapes::StructureShape.new(name: 'DeleteCarrierGatewayResult')
377
387
  DeleteClientVpnEndpointRequest = Shapes::StructureShape.new(name: 'DeleteClientVpnEndpointRequest')
378
388
  DeleteClientVpnEndpointResult = Shapes::StructureShape.new(name: 'DeleteClientVpnEndpointResult')
379
389
  DeleteClientVpnRouteRequest = Shapes::StructureShape.new(name: 'DeleteClientVpnRouteRequest')
@@ -489,6 +499,8 @@ module Aws::EC2
489
499
  DescribeCapacityReservationsMaxResults = Shapes::IntegerShape.new(name: 'DescribeCapacityReservationsMaxResults')
490
500
  DescribeCapacityReservationsRequest = Shapes::StructureShape.new(name: 'DescribeCapacityReservationsRequest')
491
501
  DescribeCapacityReservationsResult = Shapes::StructureShape.new(name: 'DescribeCapacityReservationsResult')
502
+ DescribeCarrierGatewaysRequest = Shapes::StructureShape.new(name: 'DescribeCarrierGatewaysRequest')
503
+ DescribeCarrierGatewaysResult = Shapes::StructureShape.new(name: 'DescribeCarrierGatewaysResult')
492
504
  DescribeClassicLinkInstancesMaxResults = Shapes::IntegerShape.new(name: 'DescribeClassicLinkInstancesMaxResults')
493
505
  DescribeClassicLinkInstancesRequest = Shapes::StructureShape.new(name: 'DescribeClassicLinkInstancesRequest')
494
506
  DescribeClassicLinkInstancesResult = Shapes::StructureShape.new(name: 'DescribeClassicLinkInstancesResult')
@@ -1932,6 +1944,7 @@ module Aws::EC2
1932
1944
  TransitGatewayVpcAttachmentList = Shapes::ListShape.new(name: 'TransitGatewayVpcAttachmentList')
1933
1945
  TransitGatewayVpcAttachmentOptions = Shapes::StructureShape.new(name: 'TransitGatewayVpcAttachmentOptions')
1934
1946
  TransportProtocol = Shapes::StringShape.new(name: 'TransportProtocol')
1947
+ TunnelInsideIpVersion = Shapes::StringShape.new(name: 'TunnelInsideIpVersion')
1935
1948
  TunnelOption = Shapes::StructureShape.new(name: 'TunnelOption')
1936
1949
  TunnelOptionsList = Shapes::ListShape.new(name: 'TunnelOptionsList')
1937
1950
  UnassignIpv6AddressesRequest = Shapes::StructureShape.new(name: 'UnassignIpv6AddressesRequest')
@@ -2143,6 +2156,7 @@ module Aws::EC2
2143
2156
  Address.add_member(:network_border_group, Shapes::ShapeRef.new(shape: String, location_name: "networkBorderGroup"))
2144
2157
  Address.add_member(:customer_owned_ip, Shapes::ShapeRef.new(shape: String, location_name: "customerOwnedIp"))
2145
2158
  Address.add_member(:customer_owned_ipv_4_pool, Shapes::ShapeRef.new(shape: String, location_name: "customerOwnedIpv4Pool"))
2159
+ Address.add_member(:carrier_ip, Shapes::ShapeRef.new(shape: String, location_name: "carrierIp"))
2146
2160
  Address.struct_class = Types::Address
2147
2161
 
2148
2162
  AddressList.member = Shapes::ShapeRef.new(shape: Address, location_name: "item")
@@ -2169,6 +2183,7 @@ module Aws::EC2
2169
2183
  AllocateAddressResult.add_member(:domain, Shapes::ShapeRef.new(shape: DomainType, location_name: "domain"))
2170
2184
  AllocateAddressResult.add_member(:customer_owned_ip, Shapes::ShapeRef.new(shape: String, location_name: "customerOwnedIp"))
2171
2185
  AllocateAddressResult.add_member(:customer_owned_ipv_4_pool, Shapes::ShapeRef.new(shape: String, location_name: "customerOwnedIpv4Pool"))
2186
+ AllocateAddressResult.add_member(:carrier_ip, Shapes::ShapeRef.new(shape: String, location_name: "carrierIp"))
2172
2187
  AllocateAddressResult.struct_class = Types::AllocateAddressResult
2173
2188
 
2174
2189
  AllocateHostsRequest.add_member(:auto_placement, Shapes::ShapeRef.new(shape: AutoPlacement, location_name: "autoPlacement"))
@@ -2615,6 +2630,17 @@ module Aws::EC2
2615
2630
  CapacityReservationTargetResponse.add_member(:capacity_reservation_resource_group_arn, Shapes::ShapeRef.new(shape: String, location_name: "capacityReservationResourceGroupArn"))
2616
2631
  CapacityReservationTargetResponse.struct_class = Types::CapacityReservationTargetResponse
2617
2632
 
2633
+ CarrierGateway.add_member(:carrier_gateway_id, Shapes::ShapeRef.new(shape: CarrierGatewayId, location_name: "carrierGatewayId"))
2634
+ CarrierGateway.add_member(:vpc_id, Shapes::ShapeRef.new(shape: VpcId, location_name: "vpcId"))
2635
+ CarrierGateway.add_member(:state, Shapes::ShapeRef.new(shape: CarrierGatewayState, location_name: "state"))
2636
+ CarrierGateway.add_member(:owner_id, Shapes::ShapeRef.new(shape: String, location_name: "ownerId"))
2637
+ CarrierGateway.add_member(:tags, Shapes::ShapeRef.new(shape: TagList, location_name: "tagSet"))
2638
+ CarrierGateway.struct_class = Types::CarrierGateway
2639
+
2640
+ CarrierGatewayIdSet.member = Shapes::ShapeRef.new(shape: CarrierGatewayId)
2641
+
2642
+ CarrierGatewaySet.member = Shapes::ShapeRef.new(shape: CarrierGateway, location_name: "item")
2643
+
2618
2644
  CertificateAuthentication.add_member(:client_root_certificate_chain, Shapes::ShapeRef.new(shape: String, location_name: "clientRootCertificateChain"))
2619
2645
  CertificateAuthentication.struct_class = Types::CertificateAuthentication
2620
2646
 
@@ -2877,6 +2903,15 @@ module Aws::EC2
2877
2903
  CreateCapacityReservationResult.add_member(:capacity_reservation, Shapes::ShapeRef.new(shape: CapacityReservation, location_name: "capacityReservation"))
2878
2904
  CreateCapacityReservationResult.struct_class = Types::CreateCapacityReservationResult
2879
2905
 
2906
+ CreateCarrierGatewayRequest.add_member(:vpc_id, Shapes::ShapeRef.new(shape: VpcId, required: true, location_name: "VpcId"))
2907
+ CreateCarrierGatewayRequest.add_member(:tag_specifications, Shapes::ShapeRef.new(shape: TagSpecificationList, location_name: "TagSpecification"))
2908
+ CreateCarrierGatewayRequest.add_member(:dry_run, Shapes::ShapeRef.new(shape: Boolean, location_name: "DryRun"))
2909
+ CreateCarrierGatewayRequest.add_member(:client_token, Shapes::ShapeRef.new(shape: String, location_name: "ClientToken", metadata: {"idempotencyToken"=>true}))
2910
+ CreateCarrierGatewayRequest.struct_class = Types::CreateCarrierGatewayRequest
2911
+
2912
+ CreateCarrierGatewayResult.add_member(:carrier_gateway, Shapes::ShapeRef.new(shape: CarrierGateway, location_name: "carrierGateway"))
2913
+ CreateCarrierGatewayResult.struct_class = Types::CreateCarrierGatewayResult
2914
+
2880
2915
  CreateClientVpnEndpointRequest.add_member(:client_cidr_block, Shapes::ShapeRef.new(shape: String, required: true, location_name: "ClientCidrBlock"))
2881
2916
  CreateClientVpnEndpointRequest.add_member(:server_certificate_arn, Shapes::ShapeRef.new(shape: String, required: true, location_name: "ServerCertificateArn"))
2882
2917
  CreateClientVpnEndpointRequest.add_member(:authentication_options, Shapes::ShapeRef.new(shape: ClientVpnAuthenticationRequestList, required: true, location_name: "Authentication"))
@@ -3195,6 +3230,7 @@ module Aws::EC2
3195
3230
  CreateRouteRequest.add_member(:nat_gateway_id, Shapes::ShapeRef.new(shape: NatGatewayId, location_name: "natGatewayId"))
3196
3231
  CreateRouteRequest.add_member(:transit_gateway_id, Shapes::ShapeRef.new(shape: TransitGatewayId, location_name: "TransitGatewayId"))
3197
3232
  CreateRouteRequest.add_member(:local_gateway_id, Shapes::ShapeRef.new(shape: LocalGatewayId, location_name: "LocalGatewayId"))
3233
+ CreateRouteRequest.add_member(:carrier_gateway_id, Shapes::ShapeRef.new(shape: CarrierGatewayId, location_name: "CarrierGatewayId"))
3198
3234
  CreateRouteRequest.add_member(:network_interface_id, Shapes::ShapeRef.new(shape: NetworkInterfaceId, location_name: "networkInterfaceId"))
3199
3235
  CreateRouteRequest.add_member(:route_table_id, Shapes::ShapeRef.new(shape: RouteTableId, required: true, location_name: "routeTableId"))
3200
3236
  CreateRouteRequest.add_member(:vpc_peering_connection_id, Shapes::ShapeRef.new(shape: VpcPeeringConnectionId, location_name: "vpcPeeringConnectionId"))
@@ -3515,6 +3551,13 @@ module Aws::EC2
3515
3551
 
3516
3552
  CustomerGatewayList.member = Shapes::ShapeRef.new(shape: CustomerGateway, location_name: "item")
3517
3553
 
3554
+ DeleteCarrierGatewayRequest.add_member(:carrier_gateway_id, Shapes::ShapeRef.new(shape: CarrierGatewayId, required: true, location_name: "CarrierGatewayId"))
3555
+ DeleteCarrierGatewayRequest.add_member(:dry_run, Shapes::ShapeRef.new(shape: Boolean, location_name: "DryRun"))
3556
+ DeleteCarrierGatewayRequest.struct_class = Types::DeleteCarrierGatewayRequest
3557
+
3558
+ DeleteCarrierGatewayResult.add_member(:carrier_gateway, Shapes::ShapeRef.new(shape: CarrierGateway, location_name: "carrierGateway"))
3559
+ DeleteCarrierGatewayResult.struct_class = Types::DeleteCarrierGatewayResult
3560
+
3518
3561
  DeleteClientVpnEndpointRequest.add_member(:client_vpn_endpoint_id, Shapes::ShapeRef.new(shape: ClientVpnEndpointId, required: true, location_name: "ClientVpnEndpointId"))
3519
3562
  DeleteClientVpnEndpointRequest.add_member(:dry_run, Shapes::ShapeRef.new(shape: Boolean, location_name: "DryRun"))
3520
3563
  DeleteClientVpnEndpointRequest.struct_class = Types::DeleteClientVpnEndpointRequest
@@ -3949,6 +3992,17 @@ module Aws::EC2
3949
3992
  DescribeCapacityReservationsResult.add_member(:capacity_reservations, Shapes::ShapeRef.new(shape: CapacityReservationSet, location_name: "capacityReservationSet"))
3950
3993
  DescribeCapacityReservationsResult.struct_class = Types::DescribeCapacityReservationsResult
3951
3994
 
3995
+ DescribeCarrierGatewaysRequest.add_member(:carrier_gateway_ids, Shapes::ShapeRef.new(shape: CarrierGatewayIdSet, location_name: "CarrierGatewayId"))
3996
+ DescribeCarrierGatewaysRequest.add_member(:filters, Shapes::ShapeRef.new(shape: FilterList, location_name: "Filter"))
3997
+ DescribeCarrierGatewaysRequest.add_member(:max_results, Shapes::ShapeRef.new(shape: CarrierGatewayMaxResults, location_name: "MaxResults"))
3998
+ DescribeCarrierGatewaysRequest.add_member(:next_token, Shapes::ShapeRef.new(shape: String, location_name: "NextToken"))
3999
+ DescribeCarrierGatewaysRequest.add_member(:dry_run, Shapes::ShapeRef.new(shape: Boolean, location_name: "DryRun"))
4000
+ DescribeCarrierGatewaysRequest.struct_class = Types::DescribeCarrierGatewaysRequest
4001
+
4002
+ DescribeCarrierGatewaysResult.add_member(:carrier_gateways, Shapes::ShapeRef.new(shape: CarrierGatewaySet, location_name: "carrierGatewaySet"))
4003
+ DescribeCarrierGatewaysResult.add_member(:next_token, Shapes::ShapeRef.new(shape: String, location_name: "nextToken"))
4004
+ DescribeCarrierGatewaysResult.struct_class = Types::DescribeCarrierGatewaysResult
4005
+
3952
4006
  DescribeClassicLinkInstancesRequest.add_member(:filters, Shapes::ShapeRef.new(shape: FilterList, location_name: "Filter"))
3953
4007
  DescribeClassicLinkInstancesRequest.add_member(:dry_run, Shapes::ShapeRef.new(shape: Boolean, location_name: "dryRun"))
3954
4008
  DescribeClassicLinkInstancesRequest.add_member(:instance_ids, Shapes::ShapeRef.new(shape: InstanceIdStringList, location_name: "InstanceId"))
@@ -6508,6 +6562,7 @@ module Aws::EC2
6508
6562
  InstanceNetworkInterface.add_member(:interface_type, Shapes::ShapeRef.new(shape: String, location_name: "interfaceType"))
6509
6563
  InstanceNetworkInterface.struct_class = Types::InstanceNetworkInterface
6510
6564
 
6565
+ InstanceNetworkInterfaceAssociation.add_member(:carrier_ip, Shapes::ShapeRef.new(shape: String, location_name: "carrierIp"))
6511
6566
  InstanceNetworkInterfaceAssociation.add_member(:ip_owner_id, Shapes::ShapeRef.new(shape: String, location_name: "ipOwnerId"))
6512
6567
  InstanceNetworkInterfaceAssociation.add_member(:public_dns_name, Shapes::ShapeRef.new(shape: String, location_name: "publicDnsName"))
6513
6568
  InstanceNetworkInterfaceAssociation.add_member(:public_ip, Shapes::ShapeRef.new(shape: String, location_name: "publicIp"))
@@ -6534,6 +6589,7 @@ module Aws::EC2
6534
6589
  InstanceNetworkInterfaceSpecification.add_member(:private_ip_addresses, Shapes::ShapeRef.new(shape: PrivateIpAddressSpecificationList, location_name: "privateIpAddressesSet", metadata: {"queryName"=>"PrivateIpAddresses"}))
6535
6590
  InstanceNetworkInterfaceSpecification.add_member(:secondary_private_ip_address_count, Shapes::ShapeRef.new(shape: Integer, location_name: "secondaryPrivateIpAddressCount"))
6536
6591
  InstanceNetworkInterfaceSpecification.add_member(:subnet_id, Shapes::ShapeRef.new(shape: String, location_name: "subnetId"))
6592
+ InstanceNetworkInterfaceSpecification.add_member(:associate_carrier_ip_address, Shapes::ShapeRef.new(shape: Boolean, location_name: "AssociateCarrierIpAddress"))
6537
6593
  InstanceNetworkInterfaceSpecification.add_member(:interface_type, Shapes::ShapeRef.new(shape: String, location_name: "InterfaceType"))
6538
6594
  InstanceNetworkInterfaceSpecification.struct_class = Types::InstanceNetworkInterfaceSpecification
6539
6595
 
@@ -6878,6 +6934,7 @@ module Aws::EC2
6878
6934
  LaunchTemplateInstanceMetadataOptionsRequest.add_member(:http_endpoint, Shapes::ShapeRef.new(shape: LaunchTemplateInstanceMetadataEndpointState, location_name: "HttpEndpoint"))
6879
6935
  LaunchTemplateInstanceMetadataOptionsRequest.struct_class = Types::LaunchTemplateInstanceMetadataOptionsRequest
6880
6936
 
6937
+ LaunchTemplateInstanceNetworkInterfaceSpecification.add_member(:associate_carrier_ip_address, Shapes::ShapeRef.new(shape: Boolean, location_name: "associateCarrierIpAddress"))
6881
6938
  LaunchTemplateInstanceNetworkInterfaceSpecification.add_member(:associate_public_ip_address, Shapes::ShapeRef.new(shape: Boolean, location_name: "associatePublicIpAddress"))
6882
6939
  LaunchTemplateInstanceNetworkInterfaceSpecification.add_member(:delete_on_termination, Shapes::ShapeRef.new(shape: Boolean, location_name: "deleteOnTermination"))
6883
6940
  LaunchTemplateInstanceNetworkInterfaceSpecification.add_member(:description, Shapes::ShapeRef.new(shape: String, location_name: "description"))
@@ -6895,6 +6952,7 @@ module Aws::EC2
6895
6952
 
6896
6953
  LaunchTemplateInstanceNetworkInterfaceSpecificationList.member = Shapes::ShapeRef.new(shape: LaunchTemplateInstanceNetworkInterfaceSpecification, location_name: "item")
6897
6954
 
6955
+ LaunchTemplateInstanceNetworkInterfaceSpecificationRequest.add_member(:associate_carrier_ip_address, Shapes::ShapeRef.new(shape: Boolean, location_name: "AssociateCarrierIpAddress"))
6898
6956
  LaunchTemplateInstanceNetworkInterfaceSpecificationRequest.add_member(:associate_public_ip_address, Shapes::ShapeRef.new(shape: Boolean, location_name: "AssociatePublicIpAddress"))
6899
6957
  LaunchTemplateInstanceNetworkInterfaceSpecificationRequest.add_member(:delete_on_termination, Shapes::ShapeRef.new(shape: Boolean, location_name: "DeleteOnTermination"))
6900
6958
  LaunchTemplateInstanceNetworkInterfaceSpecificationRequest.add_member(:description, Shapes::ShapeRef.new(shape: String, location_name: "Description"))
@@ -7530,6 +7588,7 @@ module Aws::EC2
7530
7588
  ModifyVpnTunnelOptionsResult.struct_class = Types::ModifyVpnTunnelOptionsResult
7531
7589
 
7532
7590
  ModifyVpnTunnelOptionsSpecification.add_member(:tunnel_inside_cidr, Shapes::ShapeRef.new(shape: String, location_name: "TunnelInsideCidr"))
7591
+ ModifyVpnTunnelOptionsSpecification.add_member(:tunnel_inside_ipv_6_cidr, Shapes::ShapeRef.new(shape: String, location_name: "TunnelInsideIpv6Cidr"))
7533
7592
  ModifyVpnTunnelOptionsSpecification.add_member(:pre_shared_key, Shapes::ShapeRef.new(shape: String, location_name: "PreSharedKey"))
7534
7593
  ModifyVpnTunnelOptionsSpecification.add_member(:phase_1_lifetime_seconds, Shapes::ShapeRef.new(shape: Integer, location_name: "Phase1LifetimeSeconds"))
7535
7594
  ModifyVpnTunnelOptionsSpecification.add_member(:phase_2_lifetime_seconds, Shapes::ShapeRef.new(shape: Integer, location_name: "Phase2LifetimeSeconds"))
@@ -7664,6 +7723,8 @@ module Aws::EC2
7664
7723
  NetworkInterfaceAssociation.add_member(:ip_owner_id, Shapes::ShapeRef.new(shape: String, location_name: "ipOwnerId"))
7665
7724
  NetworkInterfaceAssociation.add_member(:public_dns_name, Shapes::ShapeRef.new(shape: String, location_name: "publicDnsName"))
7666
7725
  NetworkInterfaceAssociation.add_member(:public_ip, Shapes::ShapeRef.new(shape: String, location_name: "publicIp"))
7726
+ NetworkInterfaceAssociation.add_member(:customer_owned_ip, Shapes::ShapeRef.new(shape: String, location_name: "customerOwnedIp"))
7727
+ NetworkInterfaceAssociation.add_member(:carrier_ip, Shapes::ShapeRef.new(shape: String, location_name: "carrierIp"))
7667
7728
  NetworkInterfaceAssociation.struct_class = Types::NetworkInterfaceAssociation
7668
7729
 
7669
7730
  NetworkInterfaceAttachment.add_member(:attach_time, Shapes::ShapeRef.new(shape: DateTime, location_name: "attachTime"))
@@ -8204,6 +8265,7 @@ module Aws::EC2
8204
8265
  ReplaceRouteRequest.add_member(:nat_gateway_id, Shapes::ShapeRef.new(shape: NatGatewayId, location_name: "natGatewayId"))
8205
8266
  ReplaceRouteRequest.add_member(:transit_gateway_id, Shapes::ShapeRef.new(shape: TransitGatewayId, location_name: "TransitGatewayId"))
8206
8267
  ReplaceRouteRequest.add_member(:local_gateway_id, Shapes::ShapeRef.new(shape: LocalGatewayId, location_name: "LocalGatewayId"))
8268
+ ReplaceRouteRequest.add_member(:carrier_gateway_id, Shapes::ShapeRef.new(shape: CarrierGatewayId, location_name: "CarrierGatewayId"))
8207
8269
  ReplaceRouteRequest.add_member(:network_interface_id, Shapes::ShapeRef.new(shape: NetworkInterfaceId, location_name: "networkInterfaceId"))
8208
8270
  ReplaceRouteRequest.add_member(:route_table_id, Shapes::ShapeRef.new(shape: RouteTableId, required: true, location_name: "routeTableId"))
8209
8271
  ReplaceRouteRequest.add_member(:vpc_peering_connection_id, Shapes::ShapeRef.new(shape: VpcPeeringConnectionId, location_name: "vpcPeeringConnectionId"))
@@ -8576,6 +8638,7 @@ module Aws::EC2
8576
8638
  Route.add_member(:nat_gateway_id, Shapes::ShapeRef.new(shape: String, location_name: "natGatewayId"))
8577
8639
  Route.add_member(:transit_gateway_id, Shapes::ShapeRef.new(shape: String, location_name: "transitGatewayId"))
8578
8640
  Route.add_member(:local_gateway_id, Shapes::ShapeRef.new(shape: String, location_name: "localGatewayId"))
8641
+ Route.add_member(:carrier_gateway_id, Shapes::ShapeRef.new(shape: CarrierGatewayId, location_name: "carrierGatewayId"))
8579
8642
  Route.add_member(:network_interface_id, Shapes::ShapeRef.new(shape: String, location_name: "networkInterfaceId"))
8580
8643
  Route.add_member(:origin, Shapes::ShapeRef.new(shape: RouteOrigin, location_name: "origin"))
8581
8644
  Route.add_member(:state, Shapes::ShapeRef.new(shape: RouteState, location_name: "state"))
@@ -9592,6 +9655,7 @@ module Aws::EC2
9592
9655
 
9593
9656
  TunnelOption.add_member(:outside_ip_address, Shapes::ShapeRef.new(shape: String, location_name: "outsideIpAddress"))
9594
9657
  TunnelOption.add_member(:tunnel_inside_cidr, Shapes::ShapeRef.new(shape: String, location_name: "tunnelInsideCidr"))
9658
+ TunnelOption.add_member(:tunnel_inside_ipv_6_cidr, Shapes::ShapeRef.new(shape: String, location_name: "tunnelInsideIpv6Cidr"))
9595
9659
  TunnelOption.add_member(:pre_shared_key, Shapes::ShapeRef.new(shape: String, location_name: "preSharedKey"))
9596
9660
  TunnelOption.add_member(:phase_1_lifetime_seconds, Shapes::ShapeRef.new(shape: Integer, location_name: "phase1LifetimeSeconds"))
9597
9661
  TunnelOption.add_member(:phase_2_lifetime_seconds, Shapes::ShapeRef.new(shape: Integer, location_name: "phase2LifetimeSeconds"))
@@ -9967,11 +10031,13 @@ module Aws::EC2
9967
10031
 
9968
10032
  VpnConnectionOptions.add_member(:enable_acceleration, Shapes::ShapeRef.new(shape: Boolean, location_name: "enableAcceleration"))
9969
10033
  VpnConnectionOptions.add_member(:static_routes_only, Shapes::ShapeRef.new(shape: Boolean, location_name: "staticRoutesOnly"))
10034
+ VpnConnectionOptions.add_member(:tunnel_inside_ip_version, Shapes::ShapeRef.new(shape: TunnelInsideIpVersion, location_name: "tunnelInsideIpVersion"))
9970
10035
  VpnConnectionOptions.add_member(:tunnel_options, Shapes::ShapeRef.new(shape: TunnelOptionsList, location_name: "tunnelOptionSet"))
9971
10036
  VpnConnectionOptions.struct_class = Types::VpnConnectionOptions
9972
10037
 
9973
10038
  VpnConnectionOptionsSpecification.add_member(:enable_acceleration, Shapes::ShapeRef.new(shape: Boolean, location_name: "EnableAcceleration"))
9974
10039
  VpnConnectionOptionsSpecification.add_member(:static_routes_only, Shapes::ShapeRef.new(shape: Boolean, location_name: "staticRoutesOnly"))
10040
+ VpnConnectionOptionsSpecification.add_member(:tunnel_inside_ip_version, Shapes::ShapeRef.new(shape: TunnelInsideIpVersion, location_name: "TunnelInsideIpVersion"))
9975
10041
  VpnConnectionOptionsSpecification.add_member(:tunnel_options, Shapes::ShapeRef.new(shape: VpnTunnelOptionsSpecificationsList, location_name: "TunnelOptions"))
9976
10042
  VpnConnectionOptionsSpecification.struct_class = Types::VpnConnectionOptionsSpecification
9977
10043
 
@@ -9996,6 +10062,7 @@ module Aws::EC2
9996
10062
  VpnStaticRouteList.member = Shapes::ShapeRef.new(shape: VpnStaticRoute, location_name: "item")
9997
10063
 
9998
10064
  VpnTunnelOptionsSpecification.add_member(:tunnel_inside_cidr, Shapes::ShapeRef.new(shape: String, location_name: "TunnelInsideCidr"))
10065
+ VpnTunnelOptionsSpecification.add_member(:tunnel_inside_ipv_6_cidr, Shapes::ShapeRef.new(shape: String, location_name: "TunnelInsideIpv6Cidr"))
9999
10066
  VpnTunnelOptionsSpecification.add_member(:pre_shared_key, Shapes::ShapeRef.new(shape: String, location_name: "PreSharedKey"))
10000
10067
  VpnTunnelOptionsSpecification.add_member(:phase_1_lifetime_seconds, Shapes::ShapeRef.new(shape: Integer, location_name: "Phase1LifetimeSeconds"))
10001
10068
  VpnTunnelOptionsSpecification.add_member(:phase_2_lifetime_seconds, Shapes::ShapeRef.new(shape: Integer, location_name: "Phase2LifetimeSeconds"))
@@ -10379,6 +10446,14 @@ module Aws::EC2
10379
10446
  o.output = Shapes::ShapeRef.new(shape: CreateCapacityReservationResult)
10380
10447
  end)
10381
10448
 
10449
+ api.add_operation(:create_carrier_gateway, Seahorse::Model::Operation.new.tap do |o|
10450
+ o.name = "CreateCarrierGateway"
10451
+ o.http_method = "POST"
10452
+ o.http_request_uri = "/"
10453
+ o.input = Shapes::ShapeRef.new(shape: CreateCarrierGatewayRequest)
10454
+ o.output = Shapes::ShapeRef.new(shape: CreateCarrierGatewayResult)
10455
+ end)
10456
+
10382
10457
  api.add_operation(:create_client_vpn_endpoint, Seahorse::Model::Operation.new.tap do |o|
10383
10458
  o.name = "CreateClientVpnEndpoint"
10384
10459
  o.http_method = "POST"
@@ -10803,6 +10878,14 @@ module Aws::EC2
10803
10878
  o.output = Shapes::ShapeRef.new(shape: CreateVpnGatewayResult)
10804
10879
  end)
10805
10880
 
10881
+ api.add_operation(:delete_carrier_gateway, Seahorse::Model::Operation.new.tap do |o|
10882
+ o.name = "DeleteCarrierGateway"
10883
+ o.http_method = "POST"
10884
+ o.http_request_uri = "/"
10885
+ o.input = Shapes::ShapeRef.new(shape: DeleteCarrierGatewayRequest)
10886
+ o.output = Shapes::ShapeRef.new(shape: DeleteCarrierGatewayResult)
10887
+ end)
10888
+
10806
10889
  api.add_operation(:delete_client_vpn_endpoint, Seahorse::Model::Operation.new.tap do |o|
10807
10890
  o.name = "DeleteClientVpnEndpoint"
10808
10891
  o.http_method = "POST"
@@ -11295,6 +11378,20 @@ module Aws::EC2
11295
11378
  )
11296
11379
  end)
11297
11380
 
11381
+ api.add_operation(:describe_carrier_gateways, Seahorse::Model::Operation.new.tap do |o|
11382
+ o.name = "DescribeCarrierGateways"
11383
+ o.http_method = "POST"
11384
+ o.http_request_uri = "/"
11385
+ o.input = Shapes::ShapeRef.new(shape: DescribeCarrierGatewaysRequest)
11386
+ o.output = Shapes::ShapeRef.new(shape: DescribeCarrierGatewaysResult)
11387
+ o[:pager] = Aws::Pager.new(
11388
+ limit_key: "max_results",
11389
+ tokens: {
11390
+ "next_token" => "next_token"
11391
+ }
11392
+ )
11393
+ end)
11394
+
11298
11395
  api.add_operation(:describe_classic_link_instances, Seahorse::Model::Operation.new.tap do |o|
11299
11396
  o.name = "DescribeClassicLinkInstances"
11300
11397
  o.http_method = "POST"
@@ -126,7 +126,11 @@ module Aws::EC2
126
126
  data[:public_dns_name]
127
127
  end
128
128
 
129
- # The public IPv4 address assigned to the instance, if applicable.
129
+ # The public IPv4 address, or the Carrier IP address assigned to the
130
+ # instance, if applicable.
131
+ #
132
+ # A Carrier IP address only applies to an instance launched in a subnet
133
+ # associated with a Wavelength Zone.
130
134
  # @return [String]
131
135
  def public_ip_address
132
136
  data[:public_ip_address]
@@ -1492,8 +1496,8 @@ module Aws::EC2
1492
1496
  # * `instance-id` - The ID of the instance the address is associated
1493
1497
  # with, if any.
1494
1498
  #
1495
- # * `network-border-group` - The location from where the IP address is
1496
- # advertised.
1499
+ # * `network-border-group` - A unique set of Availability Zones, Local
1500
+ # Zones, or Wavelength Zones from where AWS advertises IP addresses.
1497
1501
  #
1498
1502
  # * `network-interface-id` - \[EC2-VPC\] The ID of the network interface
1499
1503
  # that the address is associated with, if any.
@@ -1503,7 +1507,7 @@ module Aws::EC2
1503
1507
  # * `private-ip-address` - \[EC2-VPC\] The private IP address associated
1504
1508
  # with the Elastic IP address.
1505
1509
  #
1506
- # * `public-ip` - The Elastic IP address.
1510
+ # * `public-ip` - The Elastic IP address, or the carrier IP address.
1507
1511
  #
1508
1512
  # * `tag`\:<key> - The key/value combination of a tag assigned to
1509
1513
  # the resource. Use the tag key in the filter name and the tag value
@@ -34,6 +34,12 @@ module Aws::EC2
34
34
  @id
35
35
  end
36
36
 
37
+ # The carrier IP address associated with the network interface.
38
+ # @return [String]
39
+ def carrier_ip
40
+ data[:carrier_ip]
41
+ end
42
+
37
43
  # The ID of the owner of the Elastic IP address.
38
44
  # @return [String]
39
45
  def ip_owner_id
@@ -159,6 +159,7 @@ module Aws::EC2
159
159
  # ],
160
160
  # secondary_private_ip_address_count: 1,
161
161
  # subnet_id: "String",
162
+ # associate_carrier_ip_address: false,
162
163
  # interface_type: "String",
163
164
  # },
164
165
  # ],
@@ -1559,8 +1560,8 @@ module Aws::EC2
1559
1560
  # * `instance-id` - The ID of the instance the address is associated
1560
1561
  # with, if any.
1561
1562
  #
1562
- # * `network-border-group` - The location from where the IP address is
1563
- # advertised.
1563
+ # * `network-border-group` - A unique set of Availability Zones, Local
1564
+ # Zones, or Wavelength Zones from where AWS advertises IP addresses.
1564
1565
  #
1565
1566
  # * `network-interface-id` - \[EC2-VPC\] The ID of the network interface
1566
1567
  # that the address is associated with, if any.
@@ -1570,7 +1571,7 @@ module Aws::EC2
1570
1571
  # * `private-ip-address` - \[EC2-VPC\] The private IP address associated
1571
1572
  # with the Elastic IP address.
1572
1573
  #
1573
- # * `public-ip` - The Elastic IP address.
1574
+ # * `public-ip` - The Elastic IP address, or the carrier IP address.
1574
1575
  #
1575
1576
  # * `tag`\:<key> - The key/value combination of a tag assigned to
1576
1577
  # the resource. Use the tag key in the filter name and the tag value
@@ -3307,8 +3308,8 @@ module Aws::EC2
3307
3308
  # * `instance-id` - The ID of the instance the address is associated
3308
3309
  # with, if any.
3309
3310
  #
3310
- # * `network-border-group` - The location from where the IP address is
3311
- # advertised.
3311
+ # * `network-border-group` - A unique set of Availability Zones, Local
3312
+ # Zones, or Wavelength Zones from where AWS advertises IP addresses.
3312
3313
  #
3313
3314
  # * `network-interface-id` - \[EC2-VPC\] The ID of the network interface
3314
3315
  # that the address is associated with, if any.
@@ -3318,7 +3319,7 @@ module Aws::EC2
3318
3319
  # * `private-ip-address` - \[EC2-VPC\] The private IP address associated
3319
3320
  # with the Elastic IP address.
3320
3321
  #
3321
- # * `public-ip` - The Elastic IP address.
3322
+ # * `public-ip` - The Elastic IP address, or the carrier IP address.
3322
3323
  #
3323
3324
  # * `tag`\:<key> - The key/value combination of a tag assigned to
3324
3325
  # the resource. Use the tag key in the filter name and the tag value
@@ -96,6 +96,12 @@ module Aws::EC2
96
96
  data[:local_gateway_id]
97
97
  end
98
98
 
99
+ # The ID of the carrier gateway.
100
+ # @return [String]
101
+ def carrier_gateway_id
102
+ data[:carrier_gateway_id]
103
+ end
104
+
99
105
  # The ID of the network interface.
100
106
  # @return [String]
101
107
  def network_interface_id
@@ -301,6 +307,7 @@ module Aws::EC2
301
307
  # nat_gateway_id: "NatGatewayId",
302
308
  # transit_gateway_id: "TransitGatewayId",
303
309
  # local_gateway_id: "LocalGatewayId",
310
+ # carrier_gateway_id: "CarrierGatewayId",
304
311
  # network_interface_id: "NetworkInterfaceId",
305
312
  # vpc_peering_connection_id: "VpcPeeringConnectionId",
306
313
  # })
@@ -331,6 +338,8 @@ module Aws::EC2
331
338
  # The ID of a transit gateway.
332
339
  # @option options [String] :local_gateway_id
333
340
  # The ID of the local gateway.
341
+ # @option options [String] :carrier_gateway_id
342
+ # \[IPv4 traffic only\] The ID of a carrier gateway.
334
343
  # @option options [String] :network_interface_id
335
344
  # The ID of a network interface.
336
345
  # @option options [String] :vpc_peering_connection_id
@@ -233,6 +233,7 @@ module Aws::EC2
233
233
  # nat_gateway_id: "NatGatewayId",
234
234
  # transit_gateway_id: "TransitGatewayId",
235
235
  # local_gateway_id: "LocalGatewayId",
236
+ # carrier_gateway_id: "CarrierGatewayId",
236
237
  # network_interface_id: "NetworkInterfaceId",
237
238
  # vpc_peering_connection_id: "VpcPeeringConnectionId",
238
239
  # })
@@ -267,6 +268,11 @@ module Aws::EC2
267
268
  # The ID of a transit gateway.
268
269
  # @option options [String] :local_gateway_id
269
270
  # The ID of the local gateway.
271
+ # @option options [String] :carrier_gateway_id
272
+ # The ID of the carrier gateway.
273
+ #
274
+ # You can only use this option when the VPC contains a subnet which is
275
+ # associated with a Wavelength Zone.
270
276
  # @option options [String] :network_interface_id
271
277
  # The ID of a network interface.
272
278
  # @option options [String] :vpc_peering_connection_id
@@ -353,6 +353,7 @@ module Aws::EC2
353
353
  # ],
354
354
  # secondary_private_ip_address_count: 1,
355
355
  # subnet_id: "String",
356
+ # associate_carrier_ip_address: false,
356
357
  # interface_type: "String",
357
358
  # },
358
359
  # ],
@@ -329,7 +329,7 @@ module Aws::EC2
329
329
  include Aws::Structure
330
330
  end
331
331
 
332
- # Describes an Elastic IP address.
332
+ # Describes an Elastic IP address, or a carrier IP address.
333
333
  #
334
334
  # @!attribute [rw] instance_id
335
335
  # The ID of the instance that the address is associated with (if any).
@@ -375,7 +375,8 @@ module Aws::EC2
375
375
  # @return [String]
376
376
  #
377
377
  # @!attribute [rw] network_border_group
378
- # The name of the location from which the IP address is advertised.
378
+ # The name of the unique set of Availability Zones, Local Zones, or
379
+ # Wavelength Zones from which AWS advertises IP addresses.
379
380
  # @return [String]
380
381
  #
381
382
  # @!attribute [rw] customer_owned_ip
@@ -386,6 +387,12 @@ module Aws::EC2
386
387
  # The ID of the customer-owned address pool.
387
388
  # @return [String]
388
389
  #
390
+ # @!attribute [rw] carrier_ip
391
+ # The carrier IP address associated. This option is only available for
392
+ # network interfaces which reside in a subnet in a Wavelength Zone
393
+ # (for example an EC2 instance).
394
+ # @return [String]
395
+ #
389
396
  # @see http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/Address AWS API Documentation
390
397
  #
391
398
  class Address < Struct.new(
@@ -401,7 +408,8 @@ module Aws::EC2
401
408
  :public_ipv_4_pool,
402
409
  :network_border_group,
403
410
  :customer_owned_ip,
404
- :customer_owned_ipv_4_pool)
411
+ :customer_owned_ipv_4_pool,
412
+ :carrier_ip)
405
413
  SENSITIVE = []
406
414
  include Aws::Structure
407
415
  end
@@ -481,13 +489,10 @@ module Aws::EC2
481
489
  # @return [String]
482
490
  #
483
491
  # @!attribute [rw] network_border_group
484
- # The location from which the IP address is advertised. Use this
485
- # parameter to limit the address to this location.
486
- #
487
- # A network border group is a unique set of Availability Zones or
488
- # Local Zones from where AWS advertises IP addresses and limits the
489
- # addresses to the group. IP addresses cannot move between network
490
- # border groups.
492
+ # A unique set of Availability Zones, Local Zones, or Wavelength Zones
493
+ # from which AWS advertises IP addresses. Use this parameter to limit
494
+ # the IP address to this location. IP addresses cannot move between
495
+ # network border groups.
491
496
  #
492
497
  # Use [DescribeAvailabilityZones][1] to view the network border
493
498
  # groups.
@@ -545,7 +550,8 @@ module Aws::EC2
545
550
  # @return [String]
546
551
  #
547
552
  # @!attribute [rw] network_border_group
548
- # The location from which the IP address is advertised.
553
+ # The set of Availability Zones, Local Zones, or Wavelength Zones from
554
+ # which AWS advertises IP addresses.
549
555
  # @return [String]
550
556
  #
551
557
  # @!attribute [rw] domain
@@ -561,6 +567,12 @@ module Aws::EC2
561
567
  # The ID of the customer-owned address pool.
562
568
  # @return [String]
563
569
  #
570
+ # @!attribute [rw] carrier_ip
571
+ # The carrier IP address. This option is only available for network
572
+ # interfaces which reside in a subnet in a Wavelength Zone (for
573
+ # example an EC2 instance).
574
+ # @return [String]
575
+ #
564
576
  # @see http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/AllocateAddressResult AWS API Documentation
565
577
  #
566
578
  class AllocateAddressResult < Struct.new(
@@ -570,7 +582,8 @@ module Aws::EC2
570
582
  :network_border_group,
571
583
  :domain,
572
584
  :customer_owned_ip,
573
- :customer_owned_ipv_4_pool)
585
+ :customer_owned_ipv_4_pool,
586
+ :carrier_ip)
574
587
  SENSITIVE = []
575
588
  include Aws::Structure
576
589
  end
@@ -1365,7 +1378,7 @@ module Aws::EC2
1365
1378
  #
1366
1379
  # @!attribute [rw] ipv_6_cidr_block_network_border_group
1367
1380
  # The name of the location from which we advertise the IPV6 CIDR
1368
- # block. Use this parameter to limit the CiDR block to this location.
1381
+ # block. Use this parameter to limit the CIDR block to this location.
1369
1382
  #
1370
1383
  # You must set `AmazonProvidedIpv6CidrBlock` to `true` to use this
1371
1384
  # parameter.
@@ -2133,22 +2146,23 @@ module Aws::EC2
2133
2146
  include Aws::Structure
2134
2147
  end
2135
2148
 
2136
- # Describes a Zone.
2149
+ # Describes Availability Zones, Local Zones, and Wavelength Zones.
2137
2150
  #
2138
2151
  # @!attribute [rw] state
2139
- # The state of the Zone.
2152
+ # The state of the Availability Zone, Local Zone, or Wavelength Zone.
2140
2153
  # @return [String]
2141
2154
  #
2142
2155
  # @!attribute [rw] opt_in_status
2143
2156
  # For Availability Zones, this parameter always has the value of
2144
2157
  # `opt-in-not-required`.
2145
2158
  #
2146
- # For Local Zones, this parameter is the opt in status. The possible
2147
- # values are `opted-in`, and `not-opted-in`.
2159
+ # For Local Zones and Wavelength Zones, this parameter is the opt-in
2160
+ # status. The possible values are `opted-in`, and `not-opted-in`.
2148
2161
  # @return [String]
2149
2162
  #
2150
2163
  # @!attribute [rw] messages
2151
- # Any messages about the Zone.
2164
+ # Any messages about the Availability Zone, Local Zone, or Wavelength
2165
+ # Zone.
2152
2166
  # @return [Array<Types::AvailabilityZoneMessage>]
2153
2167
  #
2154
2168
  # @!attribute [rw] region_name
@@ -2156,11 +2170,11 @@ module Aws::EC2
2156
2170
  # @return [String]
2157
2171
  #
2158
2172
  # @!attribute [rw] zone_name
2159
- # The name of the Zone.
2173
+ # The name of the Availability Zone, Local Zone, or Wavelength Zone.
2160
2174
  # @return [String]
2161
2175
  #
2162
2176
  # @!attribute [rw] zone_id
2163
- # The ID of the Zone.
2177
+ # The ID of the Availability Zone, Local Zone, or Wavelength Zone.
2164
2178
  # @return [String]
2165
2179
  #
2166
2180
  # @!attribute [rw] group_name
@@ -2169,25 +2183,28 @@ module Aws::EC2
2169
2183
  #
2170
2184
  # For Local Zones, the name of the associated group, for example
2171
2185
  # `us-west-2-lax-1`.
2186
+ #
2187
+ # For Wavelength Zones, the name of the associated group, for example
2188
+ # `us-east-1-wl1-bos-wlz-1`.
2172
2189
  # @return [String]
2173
2190
  #
2174
2191
  # @!attribute [rw] network_border_group
2175
- # The name of the location from which the address is advertised.
2192
+ # The name of the network border group.
2176
2193
  # @return [String]
2177
2194
  #
2178
2195
  # @!attribute [rw] zone_type
2179
- # The type of zone. The valid values are `availability-zone` and
2180
- # `local-zone`.
2196
+ # The type of zone. The valid values are `availability-zone`,
2197
+ # `local-zone`, and `wavelength-zone`.
2181
2198
  # @return [String]
2182
2199
  #
2183
2200
  # @!attribute [rw] parent_zone_name
2184
- # The name of the zone that handles some of the Local Zone control
2185
- # plane operations, such as API calls.
2201
+ # The name of the zone that handles some of the Local Zone or
2202
+ # Wavelength Zone control plane operations, such as API calls.
2186
2203
  # @return [String]
2187
2204
  #
2188
2205
  # @!attribute [rw] parent_zone_id
2189
- # The ID of the zone that handles some of the Local Zone control plane
2190
- # operations, such as API calls.
2206
+ # The ID of the zone that handles some of the Local Zone or Wavelength
2207
+ # Zone control plane operations, such as API calls.
2191
2208
  # @return [String]
2192
2209
  #
2193
2210
  # @see http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/AvailabilityZone AWS API Documentation
@@ -2208,10 +2225,12 @@ module Aws::EC2
2208
2225
  include Aws::Structure
2209
2226
  end
2210
2227
 
2211
- # Describes a message about a Zone.
2228
+ # Describes a message about an Availability Zone, Local Zone, or
2229
+ # Wavelength Zone.
2212
2230
  #
2213
2231
  # @!attribute [rw] message
2214
- # The message about the Zone.
2232
+ # The message about the Availability Zone, Local Zone, or Wavelength
2233
+ # Zone.
2215
2234
  # @return [String]
2216
2235
  #
2217
2236
  # @see http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/AvailabilityZoneMessage AWS API Documentation
@@ -3313,6 +3332,40 @@ module Aws::EC2
3313
3332
  include Aws::Structure
3314
3333
  end
3315
3334
 
3335
+ # Describes a carrier gateway.
3336
+ #
3337
+ # @!attribute [rw] carrier_gateway_id
3338
+ # The ID of the carrier gateway.
3339
+ # @return [String]
3340
+ #
3341
+ # @!attribute [rw] vpc_id
3342
+ # The ID of the VPC associated with the carrier gateway.
3343
+ # @return [String]
3344
+ #
3345
+ # @!attribute [rw] state
3346
+ # The state of the carrier gateway.
3347
+ # @return [String]
3348
+ #
3349
+ # @!attribute [rw] owner_id
3350
+ # The AWS account ID of the owner of the carrier gateway.
3351
+ # @return [String]
3352
+ #
3353
+ # @!attribute [rw] tags
3354
+ # The tags assigned to the carrier gateway.
3355
+ # @return [Array<Types::Tag>]
3356
+ #
3357
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CarrierGateway AWS API Documentation
3358
+ #
3359
+ class CarrierGateway < Struct.new(
3360
+ :carrier_gateway_id,
3361
+ :vpc_id,
3362
+ :state,
3363
+ :owner_id,
3364
+ :tags)
3365
+ SENSITIVE = []
3366
+ include Aws::Structure
3367
+ end
3368
+
3316
3369
  # Information about the client certificate used for authentication.
3317
3370
  #
3318
3371
  # @!attribute [rw] client_root_certificate_chain
@@ -4658,7 +4711,7 @@ module Aws::EC2
4658
4711
  # {
4659
4712
  # client_token: "String",
4660
4713
  # instance_type: "String", # required
4661
- # instance_platform: "Linux/UNIX", # required, accepts Linux/UNIX, Red Hat Enterprise Linux, SUSE Linux, Windows, Windows with SQL Server, Windows with SQL Server Enterprise, Windows with SQL Server Standard, Windows with SQL Server Web, Linux with SQL Server Standard, Linux with SQL Server Web, Linux with SQL Server Enterprise, Windows BYOL
4714
+ # instance_platform: "Linux/UNIX", # required, accepts Linux/UNIX, Red Hat Enterprise Linux, SUSE Linux, Windows, Windows with SQL Server, Windows with SQL Server Enterprise, Windows with SQL Server Standard, Windows with SQL Server Web, Linux with SQL Server Standard, Linux with SQL Server Web, Linux with SQL Server Enterprise
4662
4715
  # availability_zone: "String",
4663
4716
  # availability_zone_id: "String",
4664
4717
  # tenancy: "default", # accepts default, dedicated
@@ -4836,6 +4889,77 @@ module Aws::EC2
4836
4889
  include Aws::Structure
4837
4890
  end
4838
4891
 
4892
+ # @note When making an API call, you may pass CreateCarrierGatewayRequest
4893
+ # data as a hash:
4894
+ #
4895
+ # {
4896
+ # vpc_id: "VpcId", # required
4897
+ # tag_specifications: [
4898
+ # {
4899
+ # resource_type: "client-vpn-endpoint", # accepts client-vpn-endpoint, customer-gateway, dedicated-host, dhcp-options, elastic-ip, elastic-gpu, export-image-task, export-instance-task, fleet, fpga-image, host-reservation, image, import-image-task, import-snapshot-task, instance, internet-gateway, key-pair, launch-template, local-gateway-route-table-vpc-association, natgateway, network-acl, network-interface, placement-group, reserved-instances, route-table, security-group, snapshot, spot-fleet-request, spot-instances-request, subnet, traffic-mirror-filter, traffic-mirror-session, traffic-mirror-target, transit-gateway, transit-gateway-attachment, transit-gateway-multicast-domain, transit-gateway-route-table, volume, vpc, vpc-peering-connection, vpn-connection, vpn-gateway, vpc-flow-log
4900
+ # tags: [
4901
+ # {
4902
+ # key: "String",
4903
+ # value: "String",
4904
+ # },
4905
+ # ],
4906
+ # },
4907
+ # ],
4908
+ # dry_run: false,
4909
+ # client_token: "String",
4910
+ # }
4911
+ #
4912
+ # @!attribute [rw] vpc_id
4913
+ # The ID of the VPC to associate with the carrier gateway.
4914
+ # @return [String]
4915
+ #
4916
+ # @!attribute [rw] tag_specifications
4917
+ # The tags to associate with the carrier gateway.
4918
+ # @return [Array<Types::TagSpecification>]
4919
+ #
4920
+ # @!attribute [rw] dry_run
4921
+ # Checks whether you have the required permissions for the action,
4922
+ # without actually making the request, and provides an error response.
4923
+ # If you have the required permissions, the error response is
4924
+ # `DryRunOperation`. Otherwise, it is `UnauthorizedOperation`.
4925
+ # @return [Boolean]
4926
+ #
4927
+ # @!attribute [rw] client_token
4928
+ # Unique, case-sensitive identifier that you provide to ensure the
4929
+ # idempotency of the request. For more information, see [How to Ensure
4930
+ # Idempotency][1].
4931
+ #
4932
+ # **A suitable default value is auto-generated.** You should normally
4933
+ # not need to pass this option.
4934
+ #
4935
+ #
4936
+ #
4937
+ # [1]: https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Run_Instance_Idempotency.html
4938
+ # @return [String]
4939
+ #
4940
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateCarrierGatewayRequest AWS API Documentation
4941
+ #
4942
+ class CreateCarrierGatewayRequest < Struct.new(
4943
+ :vpc_id,
4944
+ :tag_specifications,
4945
+ :dry_run,
4946
+ :client_token)
4947
+ SENSITIVE = []
4948
+ include Aws::Structure
4949
+ end
4950
+
4951
+ # @!attribute [rw] carrier_gateway
4952
+ # Information about the carrier gateway.
4953
+ # @return [Types::CarrierGateway]
4954
+ #
4955
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateCarrierGatewayResult AWS API Documentation
4956
+ #
4957
+ class CreateCarrierGatewayResult < Struct.new(
4958
+ :carrier_gateway)
4959
+ SENSITIVE = []
4960
+ include Aws::Structure
4961
+ end
4962
+
4839
4963
  # @note When making an API call, you may pass CreateClientVpnEndpointRequest
4840
4964
  # data as a hash:
4841
4965
  #
@@ -6304,6 +6428,7 @@ module Aws::EC2
6304
6428
  # ],
6305
6429
  # network_interfaces: [
6306
6430
  # {
6431
+ # associate_carrier_ip_address: false,
6307
6432
  # associate_public_ip_address: false,
6308
6433
  # delete_on_termination: false,
6309
6434
  # description: "String",
@@ -6525,6 +6650,7 @@ module Aws::EC2
6525
6650
  # ],
6526
6651
  # network_interfaces: [
6527
6652
  # {
6653
+ # associate_carrier_ip_address: false,
6528
6654
  # associate_public_ip_address: false,
6529
6655
  # delete_on_termination: false,
6530
6656
  # description: "String",
@@ -7538,6 +7664,7 @@ module Aws::EC2
7538
7664
  # nat_gateway_id: "NatGatewayId",
7539
7665
  # transit_gateway_id: "TransitGatewayId",
7540
7666
  # local_gateway_id: "LocalGatewayId",
7667
+ # carrier_gateway_id: "CarrierGatewayId",
7541
7668
  # network_interface_id: "NetworkInterfaceId",
7542
7669
  # route_table_id: "RouteTableId", # required
7543
7670
  # vpc_peering_connection_id: "VpcPeeringConnectionId",
@@ -7593,6 +7720,13 @@ module Aws::EC2
7593
7720
  # The ID of the local gateway.
7594
7721
  # @return [String]
7595
7722
  #
7723
+ # @!attribute [rw] carrier_gateway_id
7724
+ # The ID of the carrier gateway.
7725
+ #
7726
+ # You can only use this option when the VPC contains a subnet which is
7727
+ # associated with a Wavelength Zone.
7728
+ # @return [String]
7729
+ #
7596
7730
  # @!attribute [rw] network_interface_id
7597
7731
  # The ID of a network interface.
7598
7732
  # @return [String]
@@ -7618,6 +7752,7 @@ module Aws::EC2
7618
7752
  :nat_gateway_id,
7619
7753
  :transit_gateway_id,
7620
7754
  :local_gateway_id,
7755
+ :carrier_gateway_id,
7621
7756
  :network_interface_id,
7622
7757
  :route_table_id,
7623
7758
  :vpc_peering_connection_id)
@@ -9719,9 +9854,11 @@ module Aws::EC2
9719
9854
  # options: {
9720
9855
  # enable_acceleration: false,
9721
9856
  # static_routes_only: false,
9857
+ # tunnel_inside_ip_version: "ipv4", # accepts ipv4, ipv6
9722
9858
  # tunnel_options: [
9723
9859
  # {
9724
9860
  # tunnel_inside_cidr: "String",
9861
+ # tunnel_inside_ipv_6_cidr: "String",
9725
9862
  # pre_shared_key: "String",
9726
9863
  # phase_1_lifetime_seconds: 1,
9727
9864
  # phase_2_lifetime_seconds: 1,
@@ -10037,6 +10174,46 @@ module Aws::EC2
10037
10174
  include Aws::Structure
10038
10175
  end
10039
10176
 
10177
+ # @note When making an API call, you may pass DeleteCarrierGatewayRequest
10178
+ # data as a hash:
10179
+ #
10180
+ # {
10181
+ # carrier_gateway_id: "CarrierGatewayId", # required
10182
+ # dry_run: false,
10183
+ # }
10184
+ #
10185
+ # @!attribute [rw] carrier_gateway_id
10186
+ # The ID of the carrier gateway.
10187
+ # @return [String]
10188
+ #
10189
+ # @!attribute [rw] dry_run
10190
+ # Checks whether you have the required permissions for the action,
10191
+ # without actually making the request, and provides an error response.
10192
+ # If you have the required permissions, the error response is
10193
+ # `DryRunOperation`. Otherwise, it is `UnauthorizedOperation`.
10194
+ # @return [Boolean]
10195
+ #
10196
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteCarrierGatewayRequest AWS API Documentation
10197
+ #
10198
+ class DeleteCarrierGatewayRequest < Struct.new(
10199
+ :carrier_gateway_id,
10200
+ :dry_run)
10201
+ SENSITIVE = []
10202
+ include Aws::Structure
10203
+ end
10204
+
10205
+ # @!attribute [rw] carrier_gateway
10206
+ # Information about the carrier gateway.
10207
+ # @return [Types::CarrierGateway]
10208
+ #
10209
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteCarrierGatewayResult AWS API Documentation
10210
+ #
10211
+ class DeleteCarrierGatewayResult < Struct.new(
10212
+ :carrier_gateway)
10213
+ SENSITIVE = []
10214
+ include Aws::Structure
10215
+ end
10216
+
10040
10217
  # @note When making an API call, you may pass DeleteClientVpnEndpointRequest
10041
10218
  # data as a hash:
10042
10219
  #
@@ -12339,8 +12516,8 @@ module Aws::EC2
12339
12516
  # * `instance-id` - The ID of the instance the address is associated
12340
12517
  # with, if any.
12341
12518
  #
12342
- # * `network-border-group` - The location from where the IP address is
12343
- # advertised.
12519
+ # * `network-border-group` - A unique set of Availability Zones, Local
12520
+ # Zones, or Wavelength Zones from where AWS advertises IP addresses.
12344
12521
  #
12345
12522
  # * `network-interface-id` - \[EC2-VPC\] The ID of the network
12346
12523
  # interface that the address is associated with, if any.
@@ -12350,7 +12527,7 @@ module Aws::EC2
12350
12527
  # * `private-ip-address` - \[EC2-VPC\] The private IP address
12351
12528
  # associated with the Elastic IP address.
12352
12529
  #
12353
- # * `public-ip` - The Elastic IP address.
12530
+ # * `public-ip` - The Elastic IP address, or the carrier IP address.
12354
12531
  #
12355
12532
  # * `tag`\:&lt;key&gt; - The key/value combination of a tag assigned
12356
12533
  # to the resource. Use the tag key in the filter name and the tag
@@ -12465,45 +12642,56 @@ module Aws::EC2
12465
12642
  #
12466
12643
  # * `group-name` - For Availability Zones, use the Region name. For
12467
12644
  # Local Zones, use the name of the group associated with the Local
12468
- # Zone (for example, `us-west-2-lax-1`).
12645
+ # Zone (for example, `us-west-2-lax-1`) For Wavelength Zones, use
12646
+ # the name of the group associated with the Wavelength Zone (for
12647
+ # example, `us-east-1-wl1-bos-wlz-1`).
12469
12648
  #
12470
12649
  # * `message` - The Zone message.
12471
12650
  #
12472
- # * `opt-in-status` - The opt in status (`opted-in`, and
12651
+ # * `opt-in-status` - The opt-in status (`opted-in`, and
12473
12652
  # `not-opted-in` \| `opt-in-not-required`).
12474
12653
  #
12475
- # * The ID of the zone that handles some of the Local Zone control
12476
- # plane operations, such as API calls.
12654
+ # * `parent-zoneID` - The ID of the zone that handles some of the
12655
+ # Local Zone and Wavelength Zone control plane operations, such as
12656
+ # API calls.
12657
+ #
12658
+ # * `parent-zoneName` - The ID of the zone that handles some of the
12659
+ # Local Zone and Wavelength Zone control plane operations, such as
12660
+ # API calls.
12477
12661
  #
12478
12662
  # * `region-name` - The name of the Region for the Zone (for example,
12479
12663
  # `us-east-1`).
12480
12664
  #
12481
- # * `state` - The state of the Availability Zone or Local Zone
12482
- # (`available` \| `information` \| `impaired` \| `unavailable`).
12665
+ # * `state` - The state of the Availability Zone, the Local Zone, or
12666
+ # the Wavelength Zone (`available` \| `information` \| `impaired` \|
12667
+ # `unavailable`).
12483
12668
  #
12484
12669
  # * `zone-id` - The ID of the Availability Zone (for example,
12485
- # `use1-az1`) or the Local Zone (for example, use `usw2-lax1-az1`).
12670
+ # `use1-az1`), the Local Zone (for example, `usw2-lax1-az1`), or the
12671
+ # Wavelength Zone (for example, `us-east-1-wl1-bos-wlz-1`).
12486
12672
  #
12487
12673
  # * `zone-type` - The type of zone, for example, `local-zone`.
12488
12674
  #
12489
12675
  # * `zone-name` - The name of the Availability Zone (for example,
12490
- # `us-east-1a`) or the Local Zone (for example, use
12491
- # `us-west-2-lax-1a`).
12676
+ # `us-east-1a`), the Local Zone (for example, `us-west-2-lax-1a`),
12677
+ # or the Wavelength Zone (for example, `us-east-1-wl1-bos-wlz-1`).
12492
12678
  #
12493
12679
  # * `zone-type` - The type of zone, for example, `local-zone`.
12494
12680
  # @return [Array<Types::Filter>]
12495
12681
  #
12496
12682
  # @!attribute [rw] zone_names
12497
- # The names of the Zones.
12683
+ # The names of the Availability Zones, Local Zones, and Wavelength
12684
+ # Zones.
12498
12685
  # @return [Array<String>]
12499
12686
  #
12500
12687
  # @!attribute [rw] zone_ids
12501
- # The IDs of the Zones.
12688
+ # The IDs of the Availability Zones, Local Zones, and Wavelength
12689
+ # Zones.
12502
12690
  # @return [Array<String>]
12503
12691
  #
12504
12692
  # @!attribute [rw] all_availability_zones
12505
- # Include all Availability Zones and Local Zones regardless of your
12506
- # opt in status.
12693
+ # Include all Availability Zones, Local Zones, and Wavelength Zones
12694
+ # regardless of your opt-in status.
12507
12695
  #
12508
12696
  # If you do not use this parameter, the results include only the zones
12509
12697
  # for the Regions where you have chosen the option to opt in.
@@ -12529,7 +12717,8 @@ module Aws::EC2
12529
12717
  end
12530
12718
 
12531
12719
  # @!attribute [rw] availability_zones
12532
- # Information about the Zones.
12720
+ # Information about the Availability Zones, Local Zones, and
12721
+ # Wavelength Zones.
12533
12722
  # @return [Array<Types::AvailabilityZone>]
12534
12723
  #
12535
12724
  # @see http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeAvailabilityZonesResult AWS API Documentation
@@ -12823,6 +13012,97 @@ module Aws::EC2
12823
13012
  include Aws::Structure
12824
13013
  end
12825
13014
 
13015
+ # @note When making an API call, you may pass DescribeCarrierGatewaysRequest
13016
+ # data as a hash:
13017
+ #
13018
+ # {
13019
+ # carrier_gateway_ids: ["CarrierGatewayId"],
13020
+ # filters: [
13021
+ # {
13022
+ # name: "String",
13023
+ # values: ["String"],
13024
+ # },
13025
+ # ],
13026
+ # max_results: 1,
13027
+ # next_token: "String",
13028
+ # dry_run: false,
13029
+ # }
13030
+ #
13031
+ # @!attribute [rw] carrier_gateway_ids
13032
+ # One or more carrier gateway IDs.
13033
+ # @return [Array<String>]
13034
+ #
13035
+ # @!attribute [rw] filters
13036
+ # One or more filters.
13037
+ #
13038
+ # * `carrier-gateway-id` - The ID of the carrier gateway.
13039
+ #
13040
+ # * `state` - The state of the carrier gateway (`pending` \| `failed`
13041
+ # \| `available` \| `deleting` \| `deleted`).
13042
+ #
13043
+ # * `owner-id` - The AWS account ID of the owner of the carrier
13044
+ # gateway.
13045
+ #
13046
+ # * `tag`\:&lt;key&gt; - The key/value combination of a tag assigned
13047
+ # to the resource. Use the tag key in the filter name and the tag
13048
+ # value as the filter value. For example, to find all resources that
13049
+ # have a tag with the key `Owner` and the value `TeamA`, specify
13050
+ # `tag:Owner` for the filter name and `TeamA` for the filter value.
13051
+ #
13052
+ # * `tag-key` - The key of a tag assigned to the resource. Use this
13053
+ # filter to find all resources assigned a tag with a specific key,
13054
+ # regardless of the tag value.
13055
+ #
13056
+ # * `vpc-id` - The ID of the VPC associated with the carrier gateway.
13057
+ # @return [Array<Types::Filter>]
13058
+ #
13059
+ # @!attribute [rw] max_results
13060
+ # The maximum number of results to return with a single call. To
13061
+ # retrieve the remaining results, make another call with the returned
13062
+ # `nextToken` value.
13063
+ # @return [Integer]
13064
+ #
13065
+ # @!attribute [rw] next_token
13066
+ # The token for the next page of results.
13067
+ # @return [String]
13068
+ #
13069
+ # @!attribute [rw] dry_run
13070
+ # Checks whether you have the required permissions for the action,
13071
+ # without actually making the request, and provides an error response.
13072
+ # If you have the required permissions, the error response is
13073
+ # `DryRunOperation`. Otherwise, it is `UnauthorizedOperation`.
13074
+ # @return [Boolean]
13075
+ #
13076
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeCarrierGatewaysRequest AWS API Documentation
13077
+ #
13078
+ class DescribeCarrierGatewaysRequest < Struct.new(
13079
+ :carrier_gateway_ids,
13080
+ :filters,
13081
+ :max_results,
13082
+ :next_token,
13083
+ :dry_run)
13084
+ SENSITIVE = []
13085
+ include Aws::Structure
13086
+ end
13087
+
13088
+ # @!attribute [rw] carrier_gateways
13089
+ # Information about the carrier gateway.
13090
+ # @return [Array<Types::CarrierGateway>]
13091
+ #
13092
+ # @!attribute [rw] next_token
13093
+ # The token to use to retrieve the next page of results. This value is
13094
+ # `null` when there are no more results to return.
13095
+ # @return [String]
13096
+ #
13097
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeCarrierGatewaysResult AWS API Documentation
13098
+ #
13099
+ class DescribeCarrierGatewaysResult < Struct.new(
13100
+ :carrier_gateways,
13101
+ :next_token)
13102
+ SENSITIVE = []
13103
+ include Aws::Structure
13104
+ end
13105
+
12826
13106
  # @note When making an API call, you may pass DescribeClassicLinkInstancesRequest
12827
13107
  # data as a hash:
12828
13108
  #
@@ -24023,7 +24303,7 @@ module Aws::EC2
24023
24303
  # Cloud User Guide*.
24024
24304
  #
24025
24305
  # Constraints: Range is 100-16,000 IOPS for `gp2` volumes and 100 to
24026
- # 64,000IOPS for `io1` volumes in most Regions. Maximum `io1` IOPS of
24306
+ # 64,000 IOPS for `io1` volumes in most Regions. Maximum `io1` IOPS of
24027
24307
  # 64,000 is guaranteed only on [Nitro-based instances][2]. Other
24028
24308
  # instance families guarantee performance up to 32,000 IOPS. For more
24029
24309
  # information, see [Amazon EBS Volume Types][1] in the *Amazon Elastic
@@ -29768,7 +30048,11 @@ module Aws::EC2
29768
30048
  # @return [String]
29769
30049
  #
29770
30050
  # @!attribute [rw] public_ip_address
29771
- # The public IPv4 address assigned to the instance, if applicable.
30051
+ # The public IPv4 address, or the Carrier IP address assigned to the
30052
+ # instance, if applicable.
30053
+ #
30054
+ # A Carrier IP address only applies to an instance launched in a
30055
+ # subnet associated with a Wavelength Zone.
29772
30056
  # @return [String]
29773
30057
  #
29774
30058
  # @!attribute [rw] ramdisk_id
@@ -30577,6 +30861,10 @@ module Aws::EC2
30577
30861
 
30578
30862
  # Describes association information for an Elastic IP address (IPv4).
30579
30863
  #
30864
+ # @!attribute [rw] carrier_ip
30865
+ # The carrier IP address associated with the network interface.
30866
+ # @return [String]
30867
+ #
30580
30868
  # @!attribute [rw] ip_owner_id
30581
30869
  # The ID of the owner of the Elastic IP address.
30582
30870
  # @return [String]
@@ -30593,6 +30881,7 @@ module Aws::EC2
30593
30881
  # @see http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/InstanceNetworkInterfaceAssociation AWS API Documentation
30594
30882
  #
30595
30883
  class InstanceNetworkInterfaceAssociation < Struct.new(
30884
+ :carrier_ip,
30596
30885
  :ip_owner_id,
30597
30886
  :public_dns_name,
30598
30887
  :public_ip)
@@ -30663,6 +30952,7 @@ module Aws::EC2
30663
30952
  # ],
30664
30953
  # secondary_private_ip_address_count: 1,
30665
30954
  # subnet_id: "String",
30955
+ # associate_carrier_ip_address: false,
30666
30956
  # interface_type: "String",
30667
30957
  # }
30668
30958
  #
@@ -30760,6 +31050,16 @@ module Aws::EC2
30760
31050
  # only if creating a network interface when launching an instance.
30761
31051
  # @return [String]
30762
31052
  #
31053
+ # @!attribute [rw] associate_carrier_ip_address
31054
+ # Indicates whether to assign a carrier IP address to the network
31055
+ # interface.
31056
+ #
31057
+ # You can only assign a carrier IP address to a network interface that
31058
+ # is in a subnet in a Wavelength Zone. For more information about
31059
+ # carrier IP addresses, see Carrier IP addresses in the AWS Wavelength
31060
+ # Developer Guide.
31061
+ # @return [Boolean]
31062
+ #
30763
31063
  # @!attribute [rw] interface_type
30764
31064
  # The type of network interface. To create an Elastic Fabric Adapter
30765
31065
  # (EFA), specify `efa`. For more information, see [Elastic Fabric
@@ -30790,6 +31090,7 @@ module Aws::EC2
30790
31090
  :private_ip_addresses,
30791
31091
  :secondary_private_ip_address_count,
30792
31092
  :subnet_id,
31093
+ :associate_carrier_ip_address,
30793
31094
  :interface_type)
30794
31095
  SENSITIVE = []
30795
31096
  include Aws::Structure
@@ -32577,6 +32878,20 @@ module Aws::EC2
32577
32878
 
32578
32879
  # Describes a network interface.
32579
32880
  #
32881
+ # @!attribute [rw] associate_carrier_ip_address
32882
+ # Indicates whether to associate a Carrier IP address with eth0 for a
32883
+ # new network interface.
32884
+ #
32885
+ # Use this option when you launch an instance in a Wavelength Zone and
32886
+ # want to associate a Carrier IP address with the network interface.
32887
+ # For more information about Carrier IP addresses, see [Carrier IP
32888
+ # addresses][1] in the *AWS Wavelength Developer Guide*.
32889
+ #
32890
+ #
32891
+ #
32892
+ # [1]: https://docs.aws.amazon.com/wavelength/latest/developerguide/how-wavelengths-work.html#provider-owned-ip
32893
+ # @return [Boolean]
32894
+ #
32580
32895
  # @!attribute [rw] associate_public_ip_address
32581
32896
  # Indicates whether to associate a public IPv4 address with eth0 for a
32582
32897
  # new network interface.
@@ -32635,6 +32950,7 @@ module Aws::EC2
32635
32950
  # @see http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/LaunchTemplateInstanceNetworkInterfaceSpecification AWS API Documentation
32636
32951
  #
32637
32952
  class LaunchTemplateInstanceNetworkInterfaceSpecification < Struct.new(
32953
+ :associate_carrier_ip_address,
32638
32954
  :associate_public_ip_address,
32639
32955
  :delete_on_termination,
32640
32956
  :description,
@@ -32658,6 +32974,7 @@ module Aws::EC2
32658
32974
  # data as a hash:
32659
32975
  #
32660
32976
  # {
32977
+ # associate_carrier_ip_address: false,
32661
32978
  # associate_public_ip_address: false,
32662
32979
  # delete_on_termination: false,
32663
32980
  # description: "String",
@@ -32682,6 +32999,20 @@ module Aws::EC2
32682
32999
  # subnet_id: "SubnetId",
32683
33000
  # }
32684
33001
  #
33002
+ # @!attribute [rw] associate_carrier_ip_address
33003
+ # Associates a Carrier IP address with eth0 for a new network
33004
+ # interface.
33005
+ #
33006
+ # Use this option when you launch an instance in a Wavelength Zone and
33007
+ # want to associate a Carrier IP address with the network interface.
33008
+ # For more information about Carrier IP addresses, see [Carrier IP
33009
+ # addresses][1] in the *AWS Wavelength Developer Guide*.
33010
+ #
33011
+ #
33012
+ #
33013
+ # [1]: https://docs.aws.amazon.com/wavelength/latest/developerguide/how-wavelengths-work.html#provider-owned-ip
33014
+ # @return [Boolean]
33015
+ #
32685
33016
  # @!attribute [rw] associate_public_ip_address
32686
33017
  # Associates a public IPv4 address with eth0 for a new network
32687
33018
  # interface.
@@ -32756,6 +33087,7 @@ module Aws::EC2
32756
33087
  # @see http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/LaunchTemplateInstanceNetworkInterfaceSpecificationRequest AWS API Documentation
32757
33088
  #
32758
33089
  class LaunchTemplateInstanceNetworkInterfaceSpecificationRequest < Struct.new(
33090
+ :associate_carrier_ip_address,
32759
33091
  :associate_public_ip_address,
32760
33092
  :delete_on_termination,
32761
33093
  :description,
@@ -33761,13 +34093,15 @@ module Aws::EC2
33761
34093
  # }
33762
34094
  #
33763
34095
  # @!attribute [rw] group_name
33764
- # The name of the Availability Zone Group.
34096
+ # The name of the Availability Zone group, Local Zone group, or
34097
+ # Wavelength Zone group.
33765
34098
  # @return [String]
33766
34099
  #
33767
34100
  # @!attribute [rw] opt_in_status
33768
- # Indicates whether to enable or disable membership. The valid values
33769
- # are `opted-in`. You must contact [AWS Support][1] to disable an
33770
- # Availability Zone group.
34101
+ # Indicates whether you are opted in to the Local Zone group or
34102
+ # Wavelength Zone group. The only valid value is `opted-in`. You must
34103
+ # contact [AWS Support][1] to opt out of a Local Zone group, or
34104
+ # Wavelength Zone group.
33771
34105
  #
33772
34106
  #
33773
34107
  #
@@ -36576,6 +36910,7 @@ module Aws::EC2
36576
36910
  # vpn_tunnel_outside_ip_address: "String", # required
36577
36911
  # tunnel_options: { # required
36578
36912
  # tunnel_inside_cidr: "String",
36913
+ # tunnel_inside_ipv_6_cidr: "String",
36579
36914
  # pre_shared_key: "String",
36580
36915
  # phase_1_lifetime_seconds: 1,
36581
36916
  # phase_2_lifetime_seconds: 1,
@@ -36671,6 +37006,7 @@ module Aws::EC2
36671
37006
  #
36672
37007
  # {
36673
37008
  # tunnel_inside_cidr: "String",
37009
+ # tunnel_inside_ipv_6_cidr: "String",
36674
37010
  # pre_shared_key: "String",
36675
37011
  # phase_1_lifetime_seconds: 1,
36676
37012
  # phase_2_lifetime_seconds: 1,
@@ -36716,9 +37052,9 @@ module Aws::EC2
36716
37052
  # }
36717
37053
  #
36718
37054
  # @!attribute [rw] tunnel_inside_cidr
36719
- # The range of inside IP addresses for the tunnel. Any specified CIDR
36720
- # blocks must be unique across all VPN connections that use the same
36721
- # virtual private gateway.
37055
+ # The range of inside IPv4 addresses for the tunnel. Any specified
37056
+ # CIDR blocks must be unique across all VPN connections that use the
37057
+ # same virtual private gateway.
36722
37058
  #
36723
37059
  # Constraints: A size /30 CIDR block from the `169.254.0.0/16` range.
36724
37060
  # The following CIDR blocks are reserved and cannot be used:
@@ -36738,6 +37074,14 @@ module Aws::EC2
36738
37074
  # * `169.254.169.252/30`
36739
37075
  # @return [String]
36740
37076
  #
37077
+ # @!attribute [rw] tunnel_inside_ipv_6_cidr
37078
+ # The range of inside IPv6 addresses for the tunnel. Any specified
37079
+ # CIDR blocks must be unique across all VPN connections that use the
37080
+ # same transit gateway.
37081
+ #
37082
+ # Constraints: A size /126 CIDR block from the local `fd00::/8` range.
37083
+ # @return [String]
37084
+ #
36741
37085
  # @!attribute [rw] pre_shared_key
36742
37086
  # The pre-shared key (PSK) to establish initial authentication between
36743
37087
  # the virtual private gateway and the customer gateway.
@@ -36805,36 +37149,38 @@ module Aws::EC2
36805
37149
  # One or more encryption algorithms that are permitted for the VPN
36806
37150
  # tunnel for phase 1 IKE negotiations.
36807
37151
  #
36808
- # Valid values: `AES128` \| `AES256`
37152
+ # Valid values: `AES128` \| `AES256` \| `AES128-GCM-16` \|
37153
+ # `AES256-GCM-16`
36809
37154
  # @return [Array<Types::Phase1EncryptionAlgorithmsRequestListValue>]
36810
37155
  #
36811
37156
  # @!attribute [rw] phase_2_encryption_algorithms
36812
37157
  # One or more encryption algorithms that are permitted for the VPN
36813
37158
  # tunnel for phase 2 IKE negotiations.
36814
37159
  #
36815
- # Valid values: `AES128` \| `AES256`
37160
+ # Valid values: `AES128` \| `AES256` \| `AES128-GCM-16` \|
37161
+ # `AES256-GCM-16`
36816
37162
  # @return [Array<Types::Phase2EncryptionAlgorithmsRequestListValue>]
36817
37163
  #
36818
37164
  # @!attribute [rw] phase_1_integrity_algorithms
36819
37165
  # One or more integrity algorithms that are permitted for the VPN
36820
37166
  # tunnel for phase 1 IKE negotiations.
36821
37167
  #
36822
- # Valid values: `SHA1` \| `SHA2-256`
37168
+ # Valid values: `SHA1` \| `SHA2-256` \| `SHA2-384` \| `SHA2-512`
36823
37169
  # @return [Array<Types::Phase1IntegrityAlgorithmsRequestListValue>]
36824
37170
  #
36825
37171
  # @!attribute [rw] phase_2_integrity_algorithms
36826
37172
  # One or more integrity algorithms that are permitted for the VPN
36827
37173
  # tunnel for phase 2 IKE negotiations.
36828
37174
  #
36829
- # Valid values: `SHA1` \| `SHA2-256`
37175
+ # Valid values: `SHA1` \| `SHA2-256` \| `SHA2-384` \| `SHA2-512`
36830
37176
  # @return [Array<Types::Phase2IntegrityAlgorithmsRequestListValue>]
36831
37177
  #
36832
37178
  # @!attribute [rw] phase_1_dh_group_numbers
36833
37179
  # One or more Diffie-Hellman group numbers that are permitted for the
36834
37180
  # VPN tunnel for phase 1 IKE negotiations.
36835
37181
  #
36836
- # Valid values: `2` \| `14` \| `15` \| `16` \| `17` \| `18` \| `22` \|
36837
- # `23` \| `24`
37182
+ # Valid values: `2` \| `14` \| `15` \| `16` \| `17` \| `18` \| `19` \|
37183
+ # `20` \| `21` \| `22` \| `23` \| `24`
36838
37184
  # @return [Array<Types::Phase1DHGroupNumbersRequestListValue>]
36839
37185
  #
36840
37186
  # @!attribute [rw] phase_2_dh_group_numbers
@@ -36842,7 +37188,7 @@ module Aws::EC2
36842
37188
  # VPN tunnel for phase 2 IKE negotiations.
36843
37189
  #
36844
37190
  # Valid values: `2` \| `5` \| `14` \| `15` \| `16` \| `17` \| `18` \|
36845
- # `22` \| `23` \| `24`
37191
+ # `19` \| `20` \| `21` \| `22` \| `23` \| `24`
36846
37192
  # @return [Array<Types::Phase2DHGroupNumbersRequestListValue>]
36847
37193
  #
36848
37194
  # @!attribute [rw] ike_versions
@@ -36855,6 +37201,7 @@ module Aws::EC2
36855
37201
  #
36856
37202
  class ModifyVpnTunnelOptionsSpecification < Struct.new(
36857
37203
  :tunnel_inside_cidr,
37204
+ :tunnel_inside_ipv_6_cidr,
36858
37205
  :pre_shared_key,
36859
37206
  :phase_1_lifetime_seconds,
36860
37207
  :phase_2_lifetime_seconds,
@@ -37416,7 +37763,8 @@ module Aws::EC2
37416
37763
  end
37417
37764
 
37418
37765
  # Describes association information for an Elastic IP address (IPv4
37419
- # only).
37766
+ # only), or a Carrier IP address (for a network interface which resides
37767
+ # in a subnet in a Wavelength Zone).
37420
37768
  #
37421
37769
  # @!attribute [rw] allocation_id
37422
37770
  # The allocation ID.
@@ -37435,8 +37783,19 @@ module Aws::EC2
37435
37783
  # @return [String]
37436
37784
  #
37437
37785
  # @!attribute [rw] public_ip
37438
- # The address of the Elastic IP address bound to the network
37439
- # interface.
37786
+ # The address of the Elastic IP address or Carrier IP address bound to
37787
+ # the network interface.
37788
+ # @return [String]
37789
+ #
37790
+ # @!attribute [rw] customer_owned_ip
37791
+ # The customer-owned IP address associated with the network interface.
37792
+ # @return [String]
37793
+ #
37794
+ # @!attribute [rw] carrier_ip
37795
+ # The carrier IP address associated with the network interface.
37796
+ #
37797
+ # This option is only available when the network interface is in a
37798
+ # subnet which is associated with a Wavelength Zone.
37440
37799
  # @return [String]
37441
37800
  #
37442
37801
  # @see http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/NetworkInterfaceAssociation AWS API Documentation
@@ -37446,7 +37805,9 @@ module Aws::EC2
37446
37805
  :association_id,
37447
37806
  :ip_owner_id,
37448
37807
  :public_dns_name,
37449
- :public_ip)
37808
+ :public_ip,
37809
+ :customer_owned_ip,
37810
+ :carrier_ip)
37450
37811
  SENSITIVE = []
37451
37812
  include Aws::Structure
37452
37813
  end
@@ -39836,7 +40197,8 @@ module Aws::EC2
39836
40197
  # @return [String]
39837
40198
  #
39838
40199
  # @!attribute [rw] network_border_group
39839
- # The location that the IP address is released from.
40200
+ # The set of Availability Zones, Local Zones, or Wavelength Zones from
40201
+ # which AWS advertises IP addresses.
39840
40202
  #
39841
40203
  # If you provide an incorrect network border group, you will receive
39842
40204
  # an `InvalidAddress.NotFound` error. For more information, see [Error
@@ -40129,6 +40491,7 @@ module Aws::EC2
40129
40491
  # nat_gateway_id: "NatGatewayId",
40130
40492
  # transit_gateway_id: "TransitGatewayId",
40131
40493
  # local_gateway_id: "LocalGatewayId",
40494
+ # carrier_gateway_id: "CarrierGatewayId",
40132
40495
  # network_interface_id: "NetworkInterfaceId",
40133
40496
  # route_table_id: "RouteTableId", # required
40134
40497
  # vpc_peering_connection_id: "VpcPeeringConnectionId",
@@ -40186,6 +40549,10 @@ module Aws::EC2
40186
40549
  # The ID of the local gateway.
40187
40550
  # @return [String]
40188
40551
  #
40552
+ # @!attribute [rw] carrier_gateway_id
40553
+ # \[IPv4 traffic only\] The ID of a carrier gateway.
40554
+ # @return [String]
40555
+ #
40189
40556
  # @!attribute [rw] network_interface_id
40190
40557
  # The ID of a network interface.
40191
40558
  # @return [String]
@@ -40212,6 +40579,7 @@ module Aws::EC2
40212
40579
  :nat_gateway_id,
40213
40580
  :transit_gateway_id,
40214
40581
  :local_gateway_id,
40582
+ :carrier_gateway_id,
40215
40583
  :network_interface_id,
40216
40584
  :route_table_id,
40217
40585
  :vpc_peering_connection_id)
@@ -40442,6 +40810,7 @@ module Aws::EC2
40442
40810
  # ],
40443
40811
  # network_interfaces: [
40444
40812
  # {
40813
+ # associate_carrier_ip_address: false,
40445
40814
  # associate_public_ip_address: false,
40446
40815
  # delete_on_termination: false,
40447
40816
  # description: "String",
@@ -40861,6 +41230,7 @@ module Aws::EC2
40861
41230
  # ],
40862
41231
  # secondary_private_ip_address_count: 1,
40863
41232
  # subnet_id: "String",
41233
+ # associate_carrier_ip_address: false,
40864
41234
  # interface_type: "String",
40865
41235
  # },
40866
41236
  # ],
@@ -41049,6 +41419,7 @@ module Aws::EC2
41049
41419
  # ],
41050
41420
  # secondary_private_ip_address_count: 1,
41051
41421
  # subnet_id: "String",
41422
+ # associate_carrier_ip_address: false,
41052
41423
  # interface_type: "String",
41053
41424
  # },
41054
41425
  # ],
@@ -41296,6 +41667,7 @@ module Aws::EC2
41296
41667
  # ],
41297
41668
  # secondary_private_ip_address_count: 1,
41298
41669
  # subnet_id: "String",
41670
+ # associate_carrier_ip_address: false,
41299
41671
  # interface_type: "String",
41300
41672
  # },
41301
41673
  # ],
@@ -42790,6 +43162,10 @@ module Aws::EC2
42790
43162
  # The ID of the local gateway.
42791
43163
  # @return [String]
42792
43164
  #
43165
+ # @!attribute [rw] carrier_gateway_id
43166
+ # The ID of the carrier gateway.
43167
+ # @return [String]
43168
+ #
42793
43169
  # @!attribute [rw] network_interface_id
42794
43170
  # The ID of the network interface.
42795
43171
  # @return [String]
@@ -42830,6 +43206,7 @@ module Aws::EC2
42830
43206
  :nat_gateway_id,
42831
43207
  :transit_gateway_id,
42832
43208
  :local_gateway_id,
43209
+ :carrier_gateway_id,
42833
43210
  :network_interface_id,
42834
43211
  :origin,
42835
43212
  :state,
@@ -43049,6 +43426,7 @@ module Aws::EC2
43049
43426
  # ],
43050
43427
  # secondary_private_ip_address_count: 1,
43051
43428
  # subnet_id: "String",
43429
+ # associate_carrier_ip_address: false,
43052
43430
  # interface_type: "String",
43053
43431
  # },
43054
43432
  # ],
@@ -45524,6 +45902,7 @@ module Aws::EC2
45524
45902
  # ],
45525
45903
  # secondary_private_ip_address_count: 1,
45526
45904
  # subnet_id: "String",
45905
+ # associate_carrier_ip_address: false,
45527
45906
  # interface_type: "String",
45528
45907
  # },
45529
45908
  # ],
@@ -45818,6 +46197,7 @@ module Aws::EC2
45818
46197
  # ],
45819
46198
  # secondary_private_ip_address_count: 1,
45820
46199
  # subnet_id: "String",
46200
+ # associate_carrier_ip_address: false,
45821
46201
  # interface_type: "String",
45822
46202
  # },
45823
46203
  # ],
@@ -48847,7 +49227,11 @@ module Aws::EC2
48847
49227
  # @return [String]
48848
49228
  #
48849
49229
  # @!attribute [rw] tunnel_inside_cidr
48850
- # The range of inside IP addresses for the tunnel.
49230
+ # The range of inside IPv4 addresses for the tunnel.
49231
+ # @return [String]
49232
+ #
49233
+ # @!attribute [rw] tunnel_inside_ipv_6_cidr
49234
+ # The range of inside IPv6 addresses for the tunnel.
48851
49235
  # @return [String]
48852
49236
  #
48853
49237
  # @!attribute [rw] pre_shared_key
@@ -48922,6 +49306,7 @@ module Aws::EC2
48922
49306
  class TunnelOption < Struct.new(
48923
49307
  :outside_ip_address,
48924
49308
  :tunnel_inside_cidr,
49309
+ :tunnel_inside_ipv_6_cidr,
48925
49310
  :pre_shared_key,
48926
49311
  :phase_1_lifetime_seconds,
48927
49312
  :phase_2_lifetime_seconds,
@@ -50005,8 +50390,7 @@ module Aws::EC2
50005
50390
  # @return [String]
50006
50391
  #
50007
50392
  # @!attribute [rw] dhcp_options_id
50008
- # The ID of the set of DHCP options you've associated with the VPC
50009
- # (or `default` if the default options are associated with the VPC).
50393
+ # The ID of the set of DHCP options you've associated with the VPC.
50010
50394
  # @return [String]
50011
50395
  #
50012
50396
  # @!attribute [rw] state
@@ -50303,8 +50687,9 @@ module Aws::EC2
50303
50687
  # @return [Types::VpcCidrBlockState]
50304
50688
  #
50305
50689
  # @!attribute [rw] network_border_group
50306
- # The name of the location from which we advertise the IPV6 CIDR
50307
- # block.
50690
+ # The name of the unique set of Availability Zones, Local Zones, or
50691
+ # Wavelength Zones from which AWS advertises IP addresses, for
50692
+ # example, `us-east-1-wl1-bos-wlz-1`.
50308
50693
  # @return [String]
50309
50694
  #
50310
50695
  # @!attribute [rw] ipv_6_pool
@@ -50544,6 +50929,10 @@ module Aws::EC2
50544
50929
  # routes must be used for devices that don't support BGP.
50545
50930
  # @return [Boolean]
50546
50931
  #
50932
+ # @!attribute [rw] tunnel_inside_ip_version
50933
+ # Indicates whether the VPN tunnels process IPv4 or IPv6 traffic.
50934
+ # @return [String]
50935
+ #
50547
50936
  # @!attribute [rw] tunnel_options
50548
50937
  # Indicates the VPN tunnel options.
50549
50938
  # @return [Array<Types::TunnelOption>]
@@ -50553,6 +50942,7 @@ module Aws::EC2
50553
50942
  class VpnConnectionOptions < Struct.new(
50554
50943
  :enable_acceleration,
50555
50944
  :static_routes_only,
50945
+ :tunnel_inside_ip_version,
50556
50946
  :tunnel_options)
50557
50947
  SENSITIVE = []
50558
50948
  include Aws::Structure
@@ -50566,9 +50956,11 @@ module Aws::EC2
50566
50956
  # {
50567
50957
  # enable_acceleration: false,
50568
50958
  # static_routes_only: false,
50959
+ # tunnel_inside_ip_version: "ipv4", # accepts ipv4, ipv6
50569
50960
  # tunnel_options: [
50570
50961
  # {
50571
50962
  # tunnel_inside_cidr: "String",
50963
+ # tunnel_inside_ipv_6_cidr: "String",
50572
50964
  # pre_shared_key: "String",
50573
50965
  # phase_1_lifetime_seconds: 1,
50574
50966
  # phase_2_lifetime_seconds: 1,
@@ -50630,6 +51022,12 @@ module Aws::EC2
50630
51022
  # Default: `false`
50631
51023
  # @return [Boolean]
50632
51024
  #
51025
+ # @!attribute [rw] tunnel_inside_ip_version
51026
+ # Indicate whether the VPN tunnels process IPv4 or IPv6 traffic.
51027
+ #
51028
+ # Default: `ipv4`
51029
+ # @return [String]
51030
+ #
50633
51031
  # @!attribute [rw] tunnel_options
50634
51032
  # The tunnel options for the VPN connection.
50635
51033
  # @return [Array<Types::VpnTunnelOptionsSpecification>]
@@ -50639,6 +51037,7 @@ module Aws::EC2
50639
51037
  class VpnConnectionOptionsSpecification < Struct.new(
50640
51038
  :enable_acceleration,
50641
51039
  :static_routes_only,
51040
+ :tunnel_inside_ip_version,
50642
51041
  :tunnel_options)
50643
51042
  SENSITIVE = []
50644
51043
  include Aws::Structure
@@ -50722,6 +51121,7 @@ module Aws::EC2
50722
51121
  #
50723
51122
  # {
50724
51123
  # tunnel_inside_cidr: "String",
51124
+ # tunnel_inside_ipv_6_cidr: "String",
50725
51125
  # pre_shared_key: "String",
50726
51126
  # phase_1_lifetime_seconds: 1,
50727
51127
  # phase_2_lifetime_seconds: 1,
@@ -50767,9 +51167,9 @@ module Aws::EC2
50767
51167
  # }
50768
51168
  #
50769
51169
  # @!attribute [rw] tunnel_inside_cidr
50770
- # The range of inside IP addresses for the tunnel. Any specified CIDR
50771
- # blocks must be unique across all VPN connections that use the same
50772
- # virtual private gateway.
51170
+ # The range of inside IPv4 addresses for the tunnel. Any specified
51171
+ # CIDR blocks must be unique across all VPN connections that use the
51172
+ # same virtual private gateway.
50773
51173
  #
50774
51174
  # Constraints: A size /30 CIDR block from the `169.254.0.0/16` range.
50775
51175
  # The following CIDR blocks are reserved and cannot be used:
@@ -50789,6 +51189,14 @@ module Aws::EC2
50789
51189
  # * `169.254.169.252/30`
50790
51190
  # @return [String]
50791
51191
  #
51192
+ # @!attribute [rw] tunnel_inside_ipv_6_cidr
51193
+ # The range of inside IPv6 addresses for the tunnel. Any specified
51194
+ # CIDR blocks must be unique across all VPN connections that use the
51195
+ # same transit gateway.
51196
+ #
51197
+ # Constraints: A size /126 CIDR block from the local `fd00::/8` range.
51198
+ # @return [String]
51199
+ #
50792
51200
  # @!attribute [rw] pre_shared_key
50793
51201
  # The pre-shared key (PSK) to establish initial authentication between
50794
51202
  # the virtual private gateway and customer gateway.
@@ -50856,36 +51264,38 @@ module Aws::EC2
50856
51264
  # One or more encryption algorithms that are permitted for the VPN
50857
51265
  # tunnel for phase 1 IKE negotiations.
50858
51266
  #
50859
- # Valid values: `AES128` \| `AES256`
51267
+ # Valid values: `AES128` \| `AES256` \| `AES128-GCM-16` \|
51268
+ # `AES256-GCM-16`
50860
51269
  # @return [Array<Types::Phase1EncryptionAlgorithmsRequestListValue>]
50861
51270
  #
50862
51271
  # @!attribute [rw] phase_2_encryption_algorithms
50863
51272
  # One or more encryption algorithms that are permitted for the VPN
50864
51273
  # tunnel for phase 2 IKE negotiations.
50865
51274
  #
50866
- # Valid values: `AES128` \| `AES256`
51275
+ # Valid values: `AES128` \| `AES256` \| `AES128-GCM-16` \|
51276
+ # `AES256-GCM-16`
50867
51277
  # @return [Array<Types::Phase2EncryptionAlgorithmsRequestListValue>]
50868
51278
  #
50869
51279
  # @!attribute [rw] phase_1_integrity_algorithms
50870
51280
  # One or more integrity algorithms that are permitted for the VPN
50871
51281
  # tunnel for phase 1 IKE negotiations.
50872
51282
  #
50873
- # Valid values: `SHA1` \| `SHA2-256`
51283
+ # Valid values: `SHA1` \| `SHA2-256` \| `SHA2-384` \| `SHA2-512`
50874
51284
  # @return [Array<Types::Phase1IntegrityAlgorithmsRequestListValue>]
50875
51285
  #
50876
51286
  # @!attribute [rw] phase_2_integrity_algorithms
50877
51287
  # One or more integrity algorithms that are permitted for the VPN
50878
51288
  # tunnel for phase 2 IKE negotiations.
50879
51289
  #
50880
- # Valid values: `SHA1` \| `SHA2-256`
51290
+ # Valid values: `SHA1` \| `SHA2-256` \| `SHA2-384` \| `SHA2-512`
50881
51291
  # @return [Array<Types::Phase2IntegrityAlgorithmsRequestListValue>]
50882
51292
  #
50883
51293
  # @!attribute [rw] phase_1_dh_group_numbers
50884
51294
  # One or more Diffie-Hellman group numbers that are permitted for the
50885
51295
  # VPN tunnel for phase 1 IKE negotiations.
50886
51296
  #
50887
- # Valid values: `2` \| `14` \| `15` \| `16` \| `17` \| `18` \| `22` \|
50888
- # `23` \| `24`
51297
+ # Valid values: `2` \| `14` \| `15` \| `16` \| `17` \| `18` \| `19` \|
51298
+ # `20` \| `21` \| `22` \| `23` \| `24`
50889
51299
  # @return [Array<Types::Phase1DHGroupNumbersRequestListValue>]
50890
51300
  #
50891
51301
  # @!attribute [rw] phase_2_dh_group_numbers
@@ -50893,7 +51303,7 @@ module Aws::EC2
50893
51303
  # VPN tunnel for phase 2 IKE negotiations.
50894
51304
  #
50895
51305
  # Valid values: `2` \| `5` \| `14` \| `15` \| `16` \| `17` \| `18` \|
50896
- # `22` \| `23` \| `24`
51306
+ # `19` \| `20` \| `21` \| `22` \| `23` \| `24`
50897
51307
  # @return [Array<Types::Phase2DHGroupNumbersRequestListValue>]
50898
51308
  #
50899
51309
  # @!attribute [rw] ike_versions
@@ -50906,6 +51316,7 @@ module Aws::EC2
50906
51316
  #
50907
51317
  class VpnTunnelOptionsSpecification < Struct.new(
50908
51318
  :tunnel_inside_cidr,
51319
+ :tunnel_inside_ipv_6_cidr,
50909
51320
  :pre_shared_key,
50910
51321
  :phase_1_lifetime_seconds,
50911
51322
  :phase_2_lifetime_seconds,