aws-sdk-ec2 1.180.0 → 1.185.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -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
  # ],
@@ -405,6 +406,7 @@ module Aws::EC2
405
406
  # capacity_reservation_preference: "open", # accepts open, none
406
407
  # capacity_reservation_target: {
407
408
  # capacity_reservation_id: "CapacityReservationId",
409
+ # capacity_reservation_resource_group_arn: "String",
408
410
  # },
409
411
  # },
410
412
  # hibernation_options: {
@@ -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
@@ -3066,6 +3085,26 @@ module Aws::EC2
3066
3085
  include Aws::Structure
3067
3086
  end
3068
3087
 
3088
+ # Describes a resource group to which a Capacity Reservation has been
3089
+ # added.
3090
+ #
3091
+ # @!attribute [rw] group_arn
3092
+ # The ARN of the resource group.
3093
+ # @return [String]
3094
+ #
3095
+ # @!attribute [rw] owner_id
3096
+ # The ID of the AWS account that owns the resource group.
3097
+ # @return [String]
3098
+ #
3099
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CapacityReservationGroup AWS API Documentation
3100
+ #
3101
+ class CapacityReservationGroup < Struct.new(
3102
+ :group_arn,
3103
+ :owner_id)
3104
+ SENSITIVE = []
3105
+ include Aws::Structure
3106
+ end
3107
+
3069
3108
  # Describes the strategy for using unused Capacity Reservations for
3070
3109
  # fulfilling On-Demand capacity.
3071
3110
  #
@@ -3170,7 +3209,8 @@ module Aws::EC2
3170
3209
  # instance to run as an On-Demand Instance or to run in any `open`
3171
3210
  # Capacity Reservation that has matching attributes (instance type,
3172
3211
  # platform, Availability Zone). Use the `CapacityReservationTarget`
3173
- # parameter to explicitly target a specific Capacity Reservation.
3212
+ # parameter to explicitly target a specific Capacity Reservation or a
3213
+ # Capacity Reservation group.
3174
3214
  #
3175
3215
  # @note When making an API call, you may pass CapacityReservationSpecification
3176
3216
  # data as a hash:
@@ -3179,6 +3219,7 @@ module Aws::EC2
3179
3219
  # capacity_reservation_preference: "open", # accepts open, none
3180
3220
  # capacity_reservation_target: {
3181
3221
  # capacity_reservation_id: "CapacityReservationId",
3222
+ # capacity_reservation_resource_group_arn: "String",
3182
3223
  # },
3183
3224
  # }
3184
3225
  #
@@ -3193,13 +3234,11 @@ module Aws::EC2
3193
3234
  # * `none` - The instance avoids running in a Capacity Reservation
3194
3235
  # even if one is available. The instance runs as an On-Demand
3195
3236
  # Instance.
3196
- #
3197
- # When `CapacityReservationPreference` is not specified, it defaults
3198
- # to `open`.
3199
3237
  # @return [String]
3200
3238
  #
3201
3239
  # @!attribute [rw] capacity_reservation_target
3202
- # Information about the target Capacity Reservation.
3240
+ # Information about the target Capacity Reservation or Capacity
3241
+ # Reservation group.
3203
3242
  # @return [Types::CapacityReservationTarget]
3204
3243
  #
3205
3244
  # @see http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CapacityReservationSpecification AWS API Documentation
@@ -3217,7 +3256,8 @@ module Aws::EC2
3217
3256
  # if it is configured in run in any `open` Capacity Reservation that has
3218
3257
  # matching attributes (instance type, platform, Availability Zone). The
3219
3258
  # action returns the `capacityReservationTarget` response element if the
3220
- # instance explicily targets a specific Capacity Reservation.
3259
+ # instance explicily targets a specific Capacity Reservation or Capacity
3260
+ # Reservation group.
3221
3261
  #
3222
3262
  # @!attribute [rw] capacity_reservation_preference
3223
3263
  # Describes the instance's Capacity Reservation preferences. Possible
@@ -3232,7 +3272,8 @@ module Aws::EC2
3232
3272
  # @return [String]
3233
3273
  #
3234
3274
  # @!attribute [rw] capacity_reservation_target
3235
- # Information about the targeted Capacity Reservation.
3275
+ # Information about the targeted Capacity Reservation or Capacity
3276
+ # Reservation group.
3236
3277
  # @return [Types::CapacityReservationTargetResponse]
3237
3278
  #
3238
3279
  # @see http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CapacityReservationSpecificationResponse AWS API Documentation
@@ -3244,37 +3285,83 @@ module Aws::EC2
3244
3285
  include Aws::Structure
3245
3286
  end
3246
3287
 
3247
- # Describes a target Capacity Reservation.
3288
+ # Describes a target Capacity Reservation or Capacity Reservation group.
3248
3289
  #
3249
3290
  # @note When making an API call, you may pass CapacityReservationTarget
3250
3291
  # data as a hash:
3251
3292
  #
3252
3293
  # {
3253
3294
  # capacity_reservation_id: "CapacityReservationId",
3295
+ # capacity_reservation_resource_group_arn: "String",
3254
3296
  # }
3255
3297
  #
3256
3298
  # @!attribute [rw] capacity_reservation_id
3257
- # The ID of the Capacity Reservation.
3299
+ # The ID of the Capacity Reservation in which to run the instance.
3300
+ # @return [String]
3301
+ #
3302
+ # @!attribute [rw] capacity_reservation_resource_group_arn
3303
+ # The ARN of the Capacity Reservation resource group in which to run
3304
+ # the instance.
3258
3305
  # @return [String]
3259
3306
  #
3260
3307
  # @see http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CapacityReservationTarget AWS API Documentation
3261
3308
  #
3262
3309
  class CapacityReservationTarget < Struct.new(
3263
- :capacity_reservation_id)
3310
+ :capacity_reservation_id,
3311
+ :capacity_reservation_resource_group_arn)
3264
3312
  SENSITIVE = []
3265
3313
  include Aws::Structure
3266
3314
  end
3267
3315
 
3268
- # Describes a target Capacity Reservation.
3316
+ # Describes a target Capacity Reservation or Capacity Reservation group.
3269
3317
  #
3270
3318
  # @!attribute [rw] capacity_reservation_id
3271
- # The ID of the Capacity Reservation.
3319
+ # The ID of the targeted Capacity Reservation.
3320
+ # @return [String]
3321
+ #
3322
+ # @!attribute [rw] capacity_reservation_resource_group_arn
3323
+ # The ARN of the targeted Capacity Reservation group.
3272
3324
  # @return [String]
3273
3325
  #
3274
3326
  # @see http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CapacityReservationTargetResponse AWS API Documentation
3275
3327
  #
3276
3328
  class CapacityReservationTargetResponse < Struct.new(
3277
- :capacity_reservation_id)
3329
+ :capacity_reservation_id,
3330
+ :capacity_reservation_resource_group_arn)
3331
+ SENSITIVE = []
3332
+ include Aws::Structure
3333
+ end
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)
3278
3365
  SENSITIVE = []
3279
3366
  include Aws::Structure
3280
3367
  end
@@ -4653,8 +4740,6 @@ module Aws::EC2
4653
4740
  # idempotency of the request. For more information, see [How to Ensure
4654
4741
  # Idempotency][1].
4655
4742
  #
4656
- # Constraint: Maximum 64 ASCII characters.
4657
- #
4658
4743
  #
4659
4744
  #
4660
4745
  # [1]: https://docs.aws.amazon.com/AWSEC2/latest/APIReference/Run_Instance_Idempotency.html
@@ -4804,6 +4889,77 @@ module Aws::EC2
4804
4889
  include Aws::Structure
4805
4890
  end
4806
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
+
4807
4963
  # @note When making an API call, you may pass CreateClientVpnEndpointRequest
4808
4964
  # data as a hash:
4809
4965
  #
@@ -6272,6 +6428,7 @@ module Aws::EC2
6272
6428
  # ],
6273
6429
  # network_interfaces: [
6274
6430
  # {
6431
+ # associate_carrier_ip_address: false,
6275
6432
  # associate_public_ip_address: false,
6276
6433
  # delete_on_termination: false,
6277
6434
  # description: "String",
@@ -6361,6 +6518,7 @@ module Aws::EC2
6361
6518
  # capacity_reservation_preference: "open", # accepts open, none
6362
6519
  # capacity_reservation_target: {
6363
6520
  # capacity_reservation_id: "CapacityReservationId",
6521
+ # capacity_reservation_resource_group_arn: "String",
6364
6522
  # },
6365
6523
  # },
6366
6524
  # license_specifications: [
@@ -6492,6 +6650,7 @@ module Aws::EC2
6492
6650
  # ],
6493
6651
  # network_interfaces: [
6494
6652
  # {
6653
+ # associate_carrier_ip_address: false,
6495
6654
  # associate_public_ip_address: false,
6496
6655
  # delete_on_termination: false,
6497
6656
  # description: "String",
@@ -6581,6 +6740,7 @@ module Aws::EC2
6581
6740
  # capacity_reservation_preference: "open", # accepts open, none
6582
6741
  # capacity_reservation_target: {
6583
6742
  # capacity_reservation_id: "CapacityReservationId",
6743
+ # capacity_reservation_resource_group_arn: "String",
6584
6744
  # },
6585
6745
  # },
6586
6746
  # license_specifications: [
@@ -7504,6 +7664,7 @@ module Aws::EC2
7504
7664
  # nat_gateway_id: "NatGatewayId",
7505
7665
  # transit_gateway_id: "TransitGatewayId",
7506
7666
  # local_gateway_id: "LocalGatewayId",
7667
+ # carrier_gateway_id: "CarrierGatewayId",
7507
7668
  # network_interface_id: "NetworkInterfaceId",
7508
7669
  # route_table_id: "RouteTableId", # required
7509
7670
  # vpc_peering_connection_id: "VpcPeeringConnectionId",
@@ -7559,6 +7720,13 @@ module Aws::EC2
7559
7720
  # The ID of the local gateway.
7560
7721
  # @return [String]
7561
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
+ #
7562
7730
  # @!attribute [rw] network_interface_id
7563
7731
  # The ID of a network interface.
7564
7732
  # @return [String]
@@ -7584,6 +7752,7 @@ module Aws::EC2
7584
7752
  :nat_gateway_id,
7585
7753
  :transit_gateway_id,
7586
7754
  :local_gateway_id,
7755
+ :carrier_gateway_id,
7587
7756
  :network_interface_id,
7588
7757
  :route_table_id,
7589
7758
  :vpc_peering_connection_id)
@@ -10003,6 +10172,46 @@ module Aws::EC2
10003
10172
  include Aws::Structure
10004
10173
  end
10005
10174
 
10175
+ # @note When making an API call, you may pass DeleteCarrierGatewayRequest
10176
+ # data as a hash:
10177
+ #
10178
+ # {
10179
+ # carrier_gateway_id: "CarrierGatewayId", # required
10180
+ # dry_run: false,
10181
+ # }
10182
+ #
10183
+ # @!attribute [rw] carrier_gateway_id
10184
+ # The ID of the carrier gateway.
10185
+ # @return [String]
10186
+ #
10187
+ # @!attribute [rw] dry_run
10188
+ # Checks whether you have the required permissions for the action,
10189
+ # without actually making the request, and provides an error response.
10190
+ # If you have the required permissions, the error response is
10191
+ # `DryRunOperation`. Otherwise, it is `UnauthorizedOperation`.
10192
+ # @return [Boolean]
10193
+ #
10194
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteCarrierGatewayRequest AWS API Documentation
10195
+ #
10196
+ class DeleteCarrierGatewayRequest < Struct.new(
10197
+ :carrier_gateway_id,
10198
+ :dry_run)
10199
+ SENSITIVE = []
10200
+ include Aws::Structure
10201
+ end
10202
+
10203
+ # @!attribute [rw] carrier_gateway
10204
+ # Information about the carrier gateway.
10205
+ # @return [Types::CarrierGateway]
10206
+ #
10207
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteCarrierGatewayResult AWS API Documentation
10208
+ #
10209
+ class DeleteCarrierGatewayResult < Struct.new(
10210
+ :carrier_gateway)
10211
+ SENSITIVE = []
10212
+ include Aws::Structure
10213
+ end
10214
+
10006
10215
  # @note When making an API call, you may pass DeleteClientVpnEndpointRequest
10007
10216
  # data as a hash:
10008
10217
  #
@@ -12305,8 +12514,8 @@ module Aws::EC2
12305
12514
  # * `instance-id` - The ID of the instance the address is associated
12306
12515
  # with, if any.
12307
12516
  #
12308
- # * `network-border-group` - The location from where the IP address is
12309
- # advertised.
12517
+ # * `network-border-group` - A unique set of Availability Zones, Local
12518
+ # Zones, or Wavelength Zones from where AWS advertises IP addresses.
12310
12519
  #
12311
12520
  # * `network-interface-id` - \[EC2-VPC\] The ID of the network
12312
12521
  # interface that the address is associated with, if any.
@@ -12316,7 +12525,7 @@ module Aws::EC2
12316
12525
  # * `private-ip-address` - \[EC2-VPC\] The private IP address
12317
12526
  # associated with the Elastic IP address.
12318
12527
  #
12319
- # * `public-ip` - The Elastic IP address.
12528
+ # * `public-ip` - The Elastic IP address, or the carrier IP address.
12320
12529
  #
12321
12530
  # * `tag`\:&lt;key&gt; - The key/value combination of a tag assigned
12322
12531
  # to the resource. Use the tag key in the filter name and the tag
@@ -12431,45 +12640,56 @@ module Aws::EC2
12431
12640
  #
12432
12641
  # * `group-name` - For Availability Zones, use the Region name. For
12433
12642
  # Local Zones, use the name of the group associated with the Local
12434
- # Zone (for example, `us-west-2-lax-1`).
12643
+ # Zone (for example, `us-west-2-lax-1`) For Wavelength Zones, use
12644
+ # the name of the group associated with the Wavelength Zone (for
12645
+ # example, `us-east-1-wl1-bos-wlz-1`).
12435
12646
  #
12436
12647
  # * `message` - The Zone message.
12437
12648
  #
12438
- # * `opt-in-status` - The opt in status (`opted-in`, and
12649
+ # * `opt-in-status` - The opt-in status (`opted-in`, and
12439
12650
  # `not-opted-in` \| `opt-in-not-required`).
12440
12651
  #
12441
- # * The ID of the zone that handles some of the Local Zone control
12442
- # plane operations, such as API calls.
12652
+ # * `parent-zoneID` - The ID of the zone that handles some of the
12653
+ # Local Zone and Wavelength Zone control plane operations, such as
12654
+ # API calls.
12655
+ #
12656
+ # * `parent-zoneName` - The ID of the zone that handles some of the
12657
+ # Local Zone and Wavelength Zone control plane operations, such as
12658
+ # API calls.
12443
12659
  #
12444
12660
  # * `region-name` - The name of the Region for the Zone (for example,
12445
12661
  # `us-east-1`).
12446
12662
  #
12447
- # * `state` - The state of the Availability Zone or Local Zone
12448
- # (`available` \| `information` \| `impaired` \| `unavailable`).
12663
+ # * `state` - The state of the Availability Zone, the Local Zone, or
12664
+ # the Wavelength Zone (`available` \| `information` \| `impaired` \|
12665
+ # `unavailable`).
12449
12666
  #
12450
12667
  # * `zone-id` - The ID of the Availability Zone (for example,
12451
- # `use1-az1`) or the Local Zone (for example, use `usw2-lax1-az1`).
12668
+ # `use1-az1`), the Local Zone (for example, `usw2-lax1-az1`), or the
12669
+ # Wavelength Zone (for example, `us-east-1-wl1-bos-wlz-1`).
12452
12670
  #
12453
12671
  # * `zone-type` - The type of zone, for example, `local-zone`.
12454
12672
  #
12455
12673
  # * `zone-name` - The name of the Availability Zone (for example,
12456
- # `us-east-1a`) or the Local Zone (for example, use
12457
- # `us-west-2-lax-1a`).
12674
+ # `us-east-1a`), the Local Zone (for example, `us-west-2-lax-1a`),
12675
+ # or the Wavelength Zone (for example, `us-east-1-wl1-bos-wlz-1`).
12458
12676
  #
12459
12677
  # * `zone-type` - The type of zone, for example, `local-zone`.
12460
12678
  # @return [Array<Types::Filter>]
12461
12679
  #
12462
12680
  # @!attribute [rw] zone_names
12463
- # The names of the Zones.
12681
+ # The names of the Availability Zones, Local Zones, and Wavelength
12682
+ # Zones.
12464
12683
  # @return [Array<String>]
12465
12684
  #
12466
12685
  # @!attribute [rw] zone_ids
12467
- # The IDs of the Zones.
12686
+ # The IDs of the Availability Zones, Local Zones, and Wavelength
12687
+ # Zones.
12468
12688
  # @return [Array<String>]
12469
12689
  #
12470
12690
  # @!attribute [rw] all_availability_zones
12471
- # Include all Availability Zones and Local Zones regardless of your
12472
- # opt in status.
12691
+ # Include all Availability Zones, Local Zones, and Wavelength Zones
12692
+ # regardless of your opt-in status.
12473
12693
  #
12474
12694
  # If you do not use this parameter, the results include only the zones
12475
12695
  # for the Regions where you have chosen the option to opt in.
@@ -12495,7 +12715,8 @@ module Aws::EC2
12495
12715
  end
12496
12716
 
12497
12717
  # @!attribute [rw] availability_zones
12498
- # Information about the Zones.
12718
+ # Information about the Availability Zones, Local Zones, and
12719
+ # Wavelength Zones.
12499
12720
  # @return [Array<Types::AvailabilityZone>]
12500
12721
  #
12501
12722
  # @see http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeAvailabilityZonesResult AWS API Documentation
@@ -12658,13 +12879,15 @@ module Aws::EC2
12658
12879
  # @return [Array<String>]
12659
12880
  #
12660
12881
  # @!attribute [rw] next_token
12661
- # The token to retrieve the next page of results.
12882
+ # The token to use to retrieve the next page of results.
12662
12883
  # @return [String]
12663
12884
  #
12664
12885
  # @!attribute [rw] max_results
12665
12886
  # The maximum number of results to return for the request in a single
12666
12887
  # page. The remaining results can be seen by sending another request
12667
- # with the returned nextToken value.
12888
+ # with the returned `nextToken` value. This value can be between 5 and
12889
+ # 500. If `maxResults` is given a larger value than 500, you receive
12890
+ # an error.
12668
12891
  # @return [Integer]
12669
12892
  #
12670
12893
  # @!attribute [rw] filters
@@ -12787,6 +13010,97 @@ module Aws::EC2
12787
13010
  include Aws::Structure
12788
13011
  end
12789
13012
 
13013
+ # @note When making an API call, you may pass DescribeCarrierGatewaysRequest
13014
+ # data as a hash:
13015
+ #
13016
+ # {
13017
+ # carrier_gateway_ids: ["CarrierGatewayId"],
13018
+ # filters: [
13019
+ # {
13020
+ # name: "String",
13021
+ # values: ["String"],
13022
+ # },
13023
+ # ],
13024
+ # max_results: 1,
13025
+ # next_token: "String",
13026
+ # dry_run: false,
13027
+ # }
13028
+ #
13029
+ # @!attribute [rw] carrier_gateway_ids
13030
+ # One or more carrier gateway IDs.
13031
+ # @return [Array<String>]
13032
+ #
13033
+ # @!attribute [rw] filters
13034
+ # One or more filters.
13035
+ #
13036
+ # * `carrier-gateway-id` - The ID of the carrier gateway.
13037
+ #
13038
+ # * `state` - The state of the carrier gateway (`pending` \| `failed`
13039
+ # \| `available` \| `deleting` \| `deleted`).
13040
+ #
13041
+ # * `owner-id` - The AWS account ID of the owner of the carrier
13042
+ # gateway.
13043
+ #
13044
+ # * `tag`\:&lt;key&gt; - The key/value combination of a tag assigned
13045
+ # to the resource. Use the tag key in the filter name and the tag
13046
+ # value as the filter value. For example, to find all resources that
13047
+ # have a tag with the key `Owner` and the value `TeamA`, specify
13048
+ # `tag:Owner` for the filter name and `TeamA` for the filter value.
13049
+ #
13050
+ # * `tag-key` - The key of a tag assigned to the resource. Use this
13051
+ # filter to find all resources assigned a tag with a specific key,
13052
+ # regardless of the tag value.
13053
+ #
13054
+ # * `vpc-id` - The ID of the VPC associated with the carrier gateway.
13055
+ # @return [Array<Types::Filter>]
13056
+ #
13057
+ # @!attribute [rw] max_results
13058
+ # The maximum number of results to return with a single call. To
13059
+ # retrieve the remaining results, make another call with the returned
13060
+ # `nextToken` value.
13061
+ # @return [Integer]
13062
+ #
13063
+ # @!attribute [rw] next_token
13064
+ # The token for the next page of results.
13065
+ # @return [String]
13066
+ #
13067
+ # @!attribute [rw] dry_run
13068
+ # Checks whether you have the required permissions for the action,
13069
+ # without actually making the request, and provides an error response.
13070
+ # If you have the required permissions, the error response is
13071
+ # `DryRunOperation`. Otherwise, it is `UnauthorizedOperation`.
13072
+ # @return [Boolean]
13073
+ #
13074
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeCarrierGatewaysRequest AWS API Documentation
13075
+ #
13076
+ class DescribeCarrierGatewaysRequest < Struct.new(
13077
+ :carrier_gateway_ids,
13078
+ :filters,
13079
+ :max_results,
13080
+ :next_token,
13081
+ :dry_run)
13082
+ SENSITIVE = []
13083
+ include Aws::Structure
13084
+ end
13085
+
13086
+ # @!attribute [rw] carrier_gateways
13087
+ # Information about the carrier gateway.
13088
+ # @return [Array<Types::CarrierGateway>]
13089
+ #
13090
+ # @!attribute [rw] next_token
13091
+ # The token to use to retrieve the next page of results. This value is
13092
+ # `null` when there are no more results to return.
13093
+ # @return [String]
13094
+ #
13095
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeCarrierGatewaysResult AWS API Documentation
13096
+ #
13097
+ class DescribeCarrierGatewaysResult < Struct.new(
13098
+ :carrier_gateways,
13099
+ :next_token)
13100
+ SENSITIVE = []
13101
+ include Aws::Structure
13102
+ end
13103
+
12790
13104
  # @note When making an API call, you may pass DescribeClassicLinkInstancesRequest
12791
13105
  # data as a hash:
12792
13106
  #
@@ -23987,7 +24301,7 @@ module Aws::EC2
23987
24301
  # Cloud User Guide*.
23988
24302
  #
23989
24303
  # Constraints: Range is 100-16,000 IOPS for `gp2` volumes and 100 to
23990
- # 64,000IOPS for `io1` volumes in most Regions. Maximum `io1` IOPS of
24304
+ # 64,000 IOPS for `io1` volumes in most Regions. Maximum `io1` IOPS of
23991
24305
  # 64,000 is guaranteed only on [Nitro-based instances][2]. Other
23992
24306
  # instance families guarantee performance up to 32,000 IOPS. For more
23993
24307
  # information, see [Amazon EBS Volume Types][1] in the *Amazon Elastic
@@ -26416,13 +26730,15 @@ module Aws::EC2
26416
26730
  # @return [String]
26417
26731
  #
26418
26732
  # @!attribute [rw] next_token
26419
- # The token to retrieve the next page of results.
26733
+ # The token to use to retrieve the next page of results.
26420
26734
  # @return [String]
26421
26735
  #
26422
26736
  # @!attribute [rw] max_results
26423
26737
  # The maximum number of results to return for the request in a single
26424
26738
  # page. The remaining results can be seen by sending another request
26425
- # with the returned nextToken value.
26739
+ # with the returned `nextToken` value. This value can be between 5 and
26740
+ # 500. If `maxResults` is given a larger value than 500, you receive
26741
+ # an error.
26426
26742
  #
26427
26743
  # Valid range: Minimum value of 1. Maximum value of 1000.
26428
26744
  # @return [Integer]
@@ -26824,6 +27140,69 @@ module Aws::EC2
26824
27140
  include Aws::Structure
26825
27141
  end
26826
27142
 
27143
+ # @note When making an API call, you may pass GetGroupsForCapacityReservationRequest
27144
+ # data as a hash:
27145
+ #
27146
+ # {
27147
+ # capacity_reservation_id: "CapacityReservationId", # required
27148
+ # next_token: "String",
27149
+ # max_results: 1,
27150
+ # dry_run: false,
27151
+ # }
27152
+ #
27153
+ # @!attribute [rw] capacity_reservation_id
27154
+ # The ID of the Capacity Reservation.
27155
+ # @return [String]
27156
+ #
27157
+ # @!attribute [rw] next_token
27158
+ # The token to use to retrieve the next page of results.
27159
+ # @return [String]
27160
+ #
27161
+ # @!attribute [rw] max_results
27162
+ # The maximum number of results to return for the request in a single
27163
+ # page. The remaining results can be seen by sending another request
27164
+ # with the returned `nextToken` value. This value can be between 5 and
27165
+ # 500. If `maxResults` is given a larger value than 500, you receive
27166
+ # an error.
27167
+ # @return [Integer]
27168
+ #
27169
+ # @!attribute [rw] dry_run
27170
+ # Checks whether you have the required permissions for the action,
27171
+ # without actually making the request, and provides an error response.
27172
+ # If you have the required permissions, the error response is
27173
+ # `DryRunOperation`. Otherwise, it is `UnauthorizedOperation`.
27174
+ # @return [Boolean]
27175
+ #
27176
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/GetGroupsForCapacityReservationRequest AWS API Documentation
27177
+ #
27178
+ class GetGroupsForCapacityReservationRequest < Struct.new(
27179
+ :capacity_reservation_id,
27180
+ :next_token,
27181
+ :max_results,
27182
+ :dry_run)
27183
+ SENSITIVE = []
27184
+ include Aws::Structure
27185
+ end
27186
+
27187
+ # @!attribute [rw] next_token
27188
+ # The token to use to retrieve the next page of results. This value is
27189
+ # `null` when there are no more results to return.
27190
+ # @return [String]
27191
+ #
27192
+ # @!attribute [rw] capacity_reservation_groups
27193
+ # Information about the resource groups to which the Capacity
27194
+ # Reservation has been added.
27195
+ # @return [Array<Types::CapacityReservationGroup>]
27196
+ #
27197
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/GetGroupsForCapacityReservationResult AWS API Documentation
27198
+ #
27199
+ class GetGroupsForCapacityReservationResult < Struct.new(
27200
+ :next_token,
27201
+ :capacity_reservation_groups)
27202
+ SENSITIVE = []
27203
+ include Aws::Structure
27204
+ end
27205
+
26827
27206
  # @note When making an API call, you may pass GetHostReservationPurchasePreviewRequest
26828
27207
  # data as a hash:
26829
27208
  #
@@ -29667,7 +30046,11 @@ module Aws::EC2
29667
30046
  # @return [String]
29668
30047
  #
29669
30048
  # @!attribute [rw] public_ip_address
29670
- # The public IPv4 address assigned to the instance, if applicable.
30049
+ # The public IPv4 address, or the Carrier IP address assigned to the
30050
+ # instance, if applicable.
30051
+ #
30052
+ # A Carrier IP address only applies to an instance launched in a
30053
+ # subnet associated with a Wavelength Zone.
29671
30054
  # @return [String]
29672
30055
  #
29673
30056
  # @!attribute [rw] ramdisk_id
@@ -30476,6 +30859,10 @@ module Aws::EC2
30476
30859
 
30477
30860
  # Describes association information for an Elastic IP address (IPv4).
30478
30861
  #
30862
+ # @!attribute [rw] carrier_ip
30863
+ # The carrier IP address associated with the network interface.
30864
+ # @return [String]
30865
+ #
30479
30866
  # @!attribute [rw] ip_owner_id
30480
30867
  # The ID of the owner of the Elastic IP address.
30481
30868
  # @return [String]
@@ -30492,6 +30879,7 @@ module Aws::EC2
30492
30879
  # @see http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/InstanceNetworkInterfaceAssociation AWS API Documentation
30493
30880
  #
30494
30881
  class InstanceNetworkInterfaceAssociation < Struct.new(
30882
+ :carrier_ip,
30495
30883
  :ip_owner_id,
30496
30884
  :public_dns_name,
30497
30885
  :public_ip)
@@ -30562,6 +30950,7 @@ module Aws::EC2
30562
30950
  # ],
30563
30951
  # secondary_private_ip_address_count: 1,
30564
30952
  # subnet_id: "String",
30953
+ # associate_carrier_ip_address: false,
30565
30954
  # interface_type: "String",
30566
30955
  # }
30567
30956
  #
@@ -30659,6 +31048,16 @@ module Aws::EC2
30659
31048
  # only if creating a network interface when launching an instance.
30660
31049
  # @return [String]
30661
31050
  #
31051
+ # @!attribute [rw] associate_carrier_ip_address
31052
+ # Indicates whether to assign a carrier IP address to the network
31053
+ # interface.
31054
+ #
31055
+ # You can only assign a carrier IP address to a network interface that
31056
+ # is in a subnet in a Wavelength Zone. For more information about
31057
+ # carrier IP addresses, see Carrier IP addresses in the AWS Wavelength
31058
+ # Developer Guide.
31059
+ # @return [Boolean]
31060
+ #
30662
31061
  # @!attribute [rw] interface_type
30663
31062
  # The type of network interface. To create an Elastic Fabric Adapter
30664
31063
  # (EFA), specify `efa`. For more information, see [Elastic Fabric
@@ -30689,6 +31088,7 @@ module Aws::EC2
30689
31088
  :private_ip_addresses,
30690
31089
  :secondary_private_ip_address_count,
30691
31090
  :subnet_id,
31091
+ :associate_carrier_ip_address,
30692
31092
  :interface_type)
30693
31093
  SENSITIVE = []
30694
31094
  include Aws::Structure
@@ -31860,7 +32260,8 @@ module Aws::EC2
31860
32260
  # run in On-Demand capacity or to run in any `open` Capacity Reservation
31861
32261
  # that has matching attributes (instance type, platform, Availability
31862
32262
  # Zone). Use the `CapacityReservationTarget` parameter to explicitly
31863
- # target a specific Capacity Reservation.
32263
+ # target a specific Capacity Reservation or a Capacity Reservation
32264
+ # group.
31864
32265
  #
31865
32266
  # @note When making an API call, you may pass LaunchTemplateCapacityReservationSpecificationRequest
31866
32267
  # data as a hash:
@@ -31869,6 +32270,7 @@ module Aws::EC2
31869
32270
  # capacity_reservation_preference: "open", # accepts open, none
31870
32271
  # capacity_reservation_target: {
31871
32272
  # capacity_reservation_id: "CapacityReservationId",
32273
+ # capacity_reservation_resource_group_arn: "String",
31872
32274
  # },
31873
32275
  # }
31874
32276
  #
@@ -31885,7 +32287,8 @@ module Aws::EC2
31885
32287
  # @return [String]
31886
32288
  #
31887
32289
  # @!attribute [rw] capacity_reservation_target
31888
- # Information about the target Capacity Reservation.
32290
+ # Information about the target Capacity Reservation or Capacity
32291
+ # Reservation group.
31889
32292
  # @return [Types::CapacityReservationTarget]
31890
32293
  #
31891
32294
  # @see http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/LaunchTemplateCapacityReservationSpecificationRequest AWS API Documentation
@@ -31912,7 +32315,8 @@ module Aws::EC2
31912
32315
  # @return [String]
31913
32316
  #
31914
32317
  # @!attribute [rw] capacity_reservation_target
31915
- # Information about the target Capacity Reservation.
32318
+ # Information about the target Capacity Reservation or Capacity
32319
+ # Reservation group.
31916
32320
  # @return [Types::CapacityReservationTargetResponse]
31917
32321
  #
31918
32322
  # @see http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/LaunchTemplateCapacityReservationSpecificationResponse AWS API Documentation
@@ -32472,6 +32876,20 @@ module Aws::EC2
32472
32876
 
32473
32877
  # Describes a network interface.
32474
32878
  #
32879
+ # @!attribute [rw] associate_carrier_ip_address
32880
+ # Indicates whether to associate a Carrier IP address with eth0 for a
32881
+ # new network interface.
32882
+ #
32883
+ # Use this option when you launch an instance in a Wavelength Zone and
32884
+ # want to associate a Carrier IP address with the network interface.
32885
+ # For more information about Carrier IP addresses, see [Carrier IP
32886
+ # addresses][1] in the *AWS Wavelength Developer Guide*.
32887
+ #
32888
+ #
32889
+ #
32890
+ # [1]: https://docs.aws.amazon.com/wavelength/latest/developerguide/how-wavelengths-work.html#provider-owned-ip
32891
+ # @return [Boolean]
32892
+ #
32475
32893
  # @!attribute [rw] associate_public_ip_address
32476
32894
  # Indicates whether to associate a public IPv4 address with eth0 for a
32477
32895
  # new network interface.
@@ -32530,6 +32948,7 @@ module Aws::EC2
32530
32948
  # @see http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/LaunchTemplateInstanceNetworkInterfaceSpecification AWS API Documentation
32531
32949
  #
32532
32950
  class LaunchTemplateInstanceNetworkInterfaceSpecification < Struct.new(
32951
+ :associate_carrier_ip_address,
32533
32952
  :associate_public_ip_address,
32534
32953
  :delete_on_termination,
32535
32954
  :description,
@@ -32553,6 +32972,7 @@ module Aws::EC2
32553
32972
  # data as a hash:
32554
32973
  #
32555
32974
  # {
32975
+ # associate_carrier_ip_address: false,
32556
32976
  # associate_public_ip_address: false,
32557
32977
  # delete_on_termination: false,
32558
32978
  # description: "String",
@@ -32577,6 +32997,20 @@ module Aws::EC2
32577
32997
  # subnet_id: "SubnetId",
32578
32998
  # }
32579
32999
  #
33000
+ # @!attribute [rw] associate_carrier_ip_address
33001
+ # Associates a Carrier IP address with eth0 for a new network
33002
+ # interface.
33003
+ #
33004
+ # Use this option when you launch an instance in a Wavelength Zone and
33005
+ # want to associate a Carrier IP address with the network interface.
33006
+ # For more information about Carrier IP addresses, see [Carrier IP
33007
+ # addresses][1] in the *AWS Wavelength Developer Guide*.
33008
+ #
33009
+ #
33010
+ #
33011
+ # [1]: https://docs.aws.amazon.com/wavelength/latest/developerguide/how-wavelengths-work.html#provider-owned-ip
33012
+ # @return [Boolean]
33013
+ #
32580
33014
  # @!attribute [rw] associate_public_ip_address
32581
33015
  # Associates a public IPv4 address with eth0 for a new network
32582
33016
  # interface.
@@ -32651,6 +33085,7 @@ module Aws::EC2
32651
33085
  # @see http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/LaunchTemplateInstanceNetworkInterfaceSpecificationRequest AWS API Documentation
32652
33086
  #
32653
33087
  class LaunchTemplateInstanceNetworkInterfaceSpecificationRequest < Struct.new(
33088
+ :associate_carrier_ip_address,
32654
33089
  :associate_public_ip_address,
32655
33090
  :delete_on_termination,
32656
33091
  :description,
@@ -33656,13 +34091,15 @@ module Aws::EC2
33656
34091
  # }
33657
34092
  #
33658
34093
  # @!attribute [rw] group_name
33659
- # The name of the Availability Zone Group.
34094
+ # The name of the Availability Zone group, Local Zone group, or
34095
+ # Wavelength Zone group.
33660
34096
  # @return [String]
33661
34097
  #
33662
34098
  # @!attribute [rw] opt_in_status
33663
- # Indicates whether to enable or disable membership. The valid values
33664
- # are `opted-in`. You must contact [AWS Support][1] to disable an
33665
- # Availability Zone group.
34099
+ # Indicates whether you are opted in to the Local Zone group or
34100
+ # Wavelength Zone group. The only valid value is `opted-in`. You must
34101
+ # contact [AWS Support][1] to opt out of a Local Zone group, or
34102
+ # Wavelength Zone group.
33666
34103
  #
33667
34104
  #
33668
34105
  #
@@ -34641,6 +35078,7 @@ module Aws::EC2
34641
35078
  # capacity_reservation_preference: "open", # accepts open, none
34642
35079
  # capacity_reservation_target: {
34643
35080
  # capacity_reservation_id: "CapacityReservationId",
35081
+ # capacity_reservation_resource_group_arn: "String",
34644
35082
  # },
34645
35083
  # },
34646
35084
  # dry_run: false,
@@ -35376,10 +35814,6 @@ module Aws::EC2
35376
35814
  # value: false,
35377
35815
  # },
35378
35816
  # subnet_id: "SubnetId", # required
35379
- # map_customer_owned_ip_on_launch: {
35380
- # value: false,
35381
- # },
35382
- # customer_owned_ipv_4_pool: "CoipPoolId",
35383
35817
  # }
35384
35818
  #
35385
35819
  # @!attribute [rw] assign_ipv_6_address_on_creation
@@ -35403,30 +35837,12 @@ module Aws::EC2
35403
35837
  # The ID of the subnet.
35404
35838
  # @return [String]
35405
35839
  #
35406
- # @!attribute [rw] map_customer_owned_ip_on_launch
35407
- # Specify `true` to indicate that network interfaces attached to
35408
- # instances created in the specified subnet should be assigned a
35409
- # customer-owned IPv4 address.
35410
- #
35411
- # When this value is `true`, you must specify the customer-owned IP
35412
- # pool using `CustomerOwnedIpv4Pool`.
35413
- # @return [Types::AttributeBooleanValue]
35414
- #
35415
- # @!attribute [rw] customer_owned_ipv_4_pool
35416
- # The customer-owned IPv4 address pool associated with the subnet.
35417
- #
35418
- # You must set this value when you specify `true` for
35419
- # `MapCustomerOwnedIpOnLaunch`.
35420
- # @return [String]
35421
- #
35422
35840
  # @see http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifySubnetAttributeRequest AWS API Documentation
35423
35841
  #
35424
35842
  class ModifySubnetAttributeRequest < Struct.new(
35425
35843
  :assign_ipv_6_address_on_creation,
35426
35844
  :map_public_ip_on_launch,
35427
- :subnet_id,
35428
- :map_customer_owned_ip_on_launch,
35429
- :customer_owned_ipv_4_pool)
35845
+ :subnet_id)
35430
35846
  SENSITIVE = []
35431
35847
  include Aws::Structure
35432
35848
  end
@@ -37310,7 +37726,8 @@ module Aws::EC2
37310
37726
  end
37311
37727
 
37312
37728
  # Describes association information for an Elastic IP address (IPv4
37313
- # only).
37729
+ # only), or a Carrier IP address (for a network interface which resides
37730
+ # in a subnet in a Wavelength Zone).
37314
37731
  #
37315
37732
  # @!attribute [rw] allocation_id
37316
37733
  # The allocation ID.
@@ -37329,8 +37746,15 @@ module Aws::EC2
37329
37746
  # @return [String]
37330
37747
  #
37331
37748
  # @!attribute [rw] public_ip
37332
- # The address of the Elastic IP address bound to the network
37333
- # interface.
37749
+ # The address of the Elastic IP address or Carrier IP address bound to
37750
+ # the network interface.
37751
+ # @return [String]
37752
+ #
37753
+ # @!attribute [rw] carrier_ip
37754
+ # The carrier IP address associated with the network interface.
37755
+ #
37756
+ # This option is only available when the network interface is in a
37757
+ # subnet which is associated with a Wavelength Zone.
37334
37758
  # @return [String]
37335
37759
  #
37336
37760
  # @see http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/NetworkInterfaceAssociation AWS API Documentation
@@ -37340,7 +37764,8 @@ module Aws::EC2
37340
37764
  :association_id,
37341
37765
  :ip_owner_id,
37342
37766
  :public_dns_name,
37343
- :public_ip)
37767
+ :public_ip,
37768
+ :carrier_ip)
37344
37769
  SENSITIVE = []
37345
37770
  include Aws::Structure
37346
37771
  end
@@ -39730,7 +40155,8 @@ module Aws::EC2
39730
40155
  # @return [String]
39731
40156
  #
39732
40157
  # @!attribute [rw] network_border_group
39733
- # The location that the IP address is released from.
40158
+ # The set of Availability Zones, Local Zones, or Wavelength Zones from
40159
+ # which AWS advertises IP addresses.
39734
40160
  #
39735
40161
  # If you provide an incorrect network border group, you will receive
39736
40162
  # an `InvalidAddress.NotFound` error. For more information, see [Error
@@ -40023,6 +40449,7 @@ module Aws::EC2
40023
40449
  # nat_gateway_id: "NatGatewayId",
40024
40450
  # transit_gateway_id: "TransitGatewayId",
40025
40451
  # local_gateway_id: "LocalGatewayId",
40452
+ # carrier_gateway_id: "CarrierGatewayId",
40026
40453
  # network_interface_id: "NetworkInterfaceId",
40027
40454
  # route_table_id: "RouteTableId", # required
40028
40455
  # vpc_peering_connection_id: "VpcPeeringConnectionId",
@@ -40080,6 +40507,10 @@ module Aws::EC2
40080
40507
  # The ID of the local gateway.
40081
40508
  # @return [String]
40082
40509
  #
40510
+ # @!attribute [rw] carrier_gateway_id
40511
+ # \[IPv4 traffic only\] The ID of a carrier gateway.
40512
+ # @return [String]
40513
+ #
40083
40514
  # @!attribute [rw] network_interface_id
40084
40515
  # The ID of a network interface.
40085
40516
  # @return [String]
@@ -40106,6 +40537,7 @@ module Aws::EC2
40106
40537
  :nat_gateway_id,
40107
40538
  :transit_gateway_id,
40108
40539
  :local_gateway_id,
40540
+ :carrier_gateway_id,
40109
40541
  :network_interface_id,
40110
40542
  :route_table_id,
40111
40543
  :vpc_peering_connection_id)
@@ -40336,6 +40768,7 @@ module Aws::EC2
40336
40768
  # ],
40337
40769
  # network_interfaces: [
40338
40770
  # {
40771
+ # associate_carrier_ip_address: false,
40339
40772
  # associate_public_ip_address: false,
40340
40773
  # delete_on_termination: false,
40341
40774
  # description: "String",
@@ -40425,6 +40858,7 @@ module Aws::EC2
40425
40858
  # capacity_reservation_preference: "open", # accepts open, none
40426
40859
  # capacity_reservation_target: {
40427
40860
  # capacity_reservation_id: "CapacityReservationId",
40861
+ # capacity_reservation_resource_group_arn: "String",
40428
40862
  # },
40429
40863
  # },
40430
40864
  # license_specifications: [
@@ -40754,6 +41188,7 @@ module Aws::EC2
40754
41188
  # ],
40755
41189
  # secondary_private_ip_address_count: 1,
40756
41190
  # subnet_id: "String",
41191
+ # associate_carrier_ip_address: false,
40757
41192
  # interface_type: "String",
40758
41193
  # },
40759
41194
  # ],
@@ -40942,6 +41377,7 @@ module Aws::EC2
40942
41377
  # ],
40943
41378
  # secondary_private_ip_address_count: 1,
40944
41379
  # subnet_id: "String",
41380
+ # associate_carrier_ip_address: false,
40945
41381
  # interface_type: "String",
40946
41382
  # },
40947
41383
  # ],
@@ -41189,6 +41625,7 @@ module Aws::EC2
41189
41625
  # ],
41190
41626
  # secondary_private_ip_address_count: 1,
41191
41627
  # subnet_id: "String",
41628
+ # associate_carrier_ip_address: false,
41192
41629
  # interface_type: "String",
41193
41630
  # },
41194
41631
  # ],
@@ -42683,6 +43120,10 @@ module Aws::EC2
42683
43120
  # The ID of the local gateway.
42684
43121
  # @return [String]
42685
43122
  #
43123
+ # @!attribute [rw] carrier_gateway_id
43124
+ # The ID of the carrier gateway.
43125
+ # @return [String]
43126
+ #
42686
43127
  # @!attribute [rw] network_interface_id
42687
43128
  # The ID of the network interface.
42688
43129
  # @return [String]
@@ -42723,6 +43164,7 @@ module Aws::EC2
42723
43164
  :nat_gateway_id,
42724
43165
  :transit_gateway_id,
42725
43166
  :local_gateway_id,
43167
+ :carrier_gateway_id,
42726
43168
  :network_interface_id,
42727
43169
  :origin,
42728
43170
  :state,
@@ -42942,6 +43384,7 @@ module Aws::EC2
42942
43384
  # ],
42943
43385
  # secondary_private_ip_address_count: 1,
42944
43386
  # subnet_id: "String",
43387
+ # associate_carrier_ip_address: false,
42945
43388
  # interface_type: "String",
42946
43389
  # },
42947
43390
  # ],
@@ -42994,6 +43437,7 @@ module Aws::EC2
42994
43437
  # capacity_reservation_preference: "open", # accepts open, none
42995
43438
  # capacity_reservation_target: {
42996
43439
  # capacity_reservation_id: "CapacityReservationId",
43440
+ # capacity_reservation_resource_group_arn: "String",
42997
43441
  # },
42998
43442
  # },
42999
43443
  # hibernation_options: {
@@ -45416,6 +45860,7 @@ module Aws::EC2
45416
45860
  # ],
45417
45861
  # secondary_private_ip_address_count: 1,
45418
45862
  # subnet_id: "String",
45863
+ # associate_carrier_ip_address: false,
45419
45864
  # interface_type: "String",
45420
45865
  # },
45421
45866
  # ],
@@ -45710,6 +46155,7 @@ module Aws::EC2
45710
46155
  # ],
45711
46156
  # secondary_private_ip_address_count: 1,
45712
46157
  # subnet_id: "String",
46158
+ # associate_carrier_ip_address: false,
45713
46159
  # interface_type: "String",
45714
46160
  # },
45715
46161
  # ],
@@ -49897,8 +50343,7 @@ module Aws::EC2
49897
50343
  # @return [String]
49898
50344
  #
49899
50345
  # @!attribute [rw] dhcp_options_id
49900
- # The ID of the set of DHCP options you've associated with the VPC
49901
- # (or `default` if the default options are associated with the VPC).
50346
+ # The ID of the set of DHCP options you've associated with the VPC.
49902
50347
  # @return [String]
49903
50348
  #
49904
50349
  # @!attribute [rw] state
@@ -50195,8 +50640,9 @@ module Aws::EC2
50195
50640
  # @return [Types::VpcCidrBlockState]
50196
50641
  #
50197
50642
  # @!attribute [rw] network_border_group
50198
- # The name of the location from which we advertise the IPV6 CIDR
50199
- # block.
50643
+ # The name of the unique set of Availability Zones, Local Zones, or
50644
+ # Wavelength Zones from which AWS advertises IP addresses, for
50645
+ # example, `us-east-1-wl1-bos-wlz-1`.
50200
50646
  # @return [String]
50201
50647
  #
50202
50648
  # @!attribute [rw] ipv_6_pool