aws-sdk-ec2 1.171.0 → 1.176.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -227,7 +227,9 @@ module Aws::EC2
227
227
  # @param [Hash] options ({})
228
228
  # @option options [String] :cidr_block
229
229
  # The IPv4 network range to allow or deny, in CIDR notation (for example
230
- # `172.16.0.0/24`).
230
+ # `172.16.0.0/24`). We modify the specified CIDR block to its canonical
231
+ # form; for example, if you specify `100.68.0.18/18`, we modify it to
232
+ # `100.68.0.0/18`.
231
233
  # @option options [Boolean] :dry_run
232
234
  # Checks whether you have the required permissions for the action,
233
235
  # without actually making the request, and provides an error response.
@@ -44,11 +44,24 @@ module Aws::EC2
44
44
  # values: ["String"],
45
45
  # },
46
46
  # ],
47
+ # tag_specifications: [
48
+ # {
49
+ # 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
50
+ # tags: [
51
+ # {
52
+ # key: "String",
53
+ # value: "String",
54
+ # },
55
+ # ],
56
+ # },
57
+ # ],
47
58
  # dry_run: false,
48
59
  # })
49
60
  # @param [Hash] options ({})
50
61
  # @option options [required, Array<Types::NewDhcpConfiguration>] :dhcp_configurations
51
62
  # A DHCP configuration option.
63
+ # @option options [Array<Types::TagSpecification>] :tag_specifications
64
+ # The tags to assign to the DHCP option.
52
65
  # @option options [Boolean] :dry_run
53
66
  # Checks whether you have the required permissions for the action,
54
67
  # without actually making the request, and provides an error response.
@@ -514,9 +527,22 @@ module Aws::EC2
514
527
  # @example Request syntax with placeholder values
515
528
  #
516
529
  # internetgateway = ec2.create_internet_gateway({
530
+ # tag_specifications: [
531
+ # {
532
+ # 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
533
+ # tags: [
534
+ # {
535
+ # key: "String",
536
+ # value: "String",
537
+ # },
538
+ # ],
539
+ # },
540
+ # ],
517
541
  # dry_run: false,
518
542
  # })
519
543
  # @param [Hash] options ({})
544
+ # @option options [Array<Types::TagSpecification>] :tag_specifications
545
+ # The tags to assign to the internet gateway.
520
546
  # @option options [Boolean] :dry_run
521
547
  # Checks whether you have the required permissions for the action,
522
548
  # without actually making the request, and provides an error response.
@@ -629,6 +655,17 @@ module Aws::EC2
629
655
  # networkacl = ec2.create_network_acl({
630
656
  # dry_run: false,
631
657
  # vpc_id: "VpcId", # required
658
+ # tag_specifications: [
659
+ # {
660
+ # 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
661
+ # tags: [
662
+ # {
663
+ # key: "String",
664
+ # value: "String",
665
+ # },
666
+ # ],
667
+ # },
668
+ # ],
632
669
  # })
633
670
  # @param [Hash] options ({})
634
671
  # @option options [Boolean] :dry_run
@@ -638,6 +675,8 @@ module Aws::EC2
638
675
  # `DryRunOperation`. Otherwise, it is `UnauthorizedOperation`.
639
676
  # @option options [required, String] :vpc_id
640
677
  # The ID of the VPC.
678
+ # @option options [Array<Types::TagSpecification>] :tag_specifications
679
+ # The tags to assign to the network ACL.
641
680
  # @return [NetworkAcl]
642
681
  def create_network_acl(options = {})
643
682
  resp = @client.create_network_acl(options)
@@ -670,6 +709,17 @@ module Aws::EC2
670
709
  # secondary_private_ip_address_count: 1,
671
710
  # interface_type: "efa", # accepts efa
672
711
  # subnet_id: "SubnetId", # required
712
+ # tag_specifications: [
713
+ # {
714
+ # 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
715
+ # tags: [
716
+ # {
717
+ # key: "String",
718
+ # value: "String",
719
+ # },
720
+ # ],
721
+ # },
722
+ # ],
673
723
  # })
674
724
  # @param [Hash] options ({})
675
725
  # @option options [String] :description
@@ -724,6 +774,8 @@ module Aws::EC2
724
774
  # [1]: https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/efa.html
725
775
  # @option options [required, String] :subnet_id
726
776
  # The ID of the subnet to associate with the network interface.
777
+ # @option options [Array<Types::TagSpecification>] :tag_specifications
778
+ # The tags to apply to the new network interface.
727
779
  # @return [NetworkInterface]
728
780
  def create_network_interface(options = {})
729
781
  resp = @client.create_network_interface(options)
@@ -810,6 +862,17 @@ module Aws::EC2
810
862
  # description: "String", # required
811
863
  # group_name: "String", # required
812
864
  # vpc_id: "VpcId",
865
+ # tag_specifications: [
866
+ # {
867
+ # 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
868
+ # tags: [
869
+ # {
870
+ # key: "String",
871
+ # value: "String",
872
+ # },
873
+ # ],
874
+ # },
875
+ # ],
813
876
  # dry_run: false,
814
877
  # })
815
878
  # @param [Hash] options ({})
@@ -833,6 +896,8 @@ module Aws::EC2
833
896
  # .\_-:/()#,@\[\]+=&amp;;\\\{\\}!$*
834
897
  # @option options [String] :vpc_id
835
898
  # \[EC2-VPC\] The ID of the VPC. Required for EC2-VPC.
899
+ # @option options [Array<Types::TagSpecification>] :tag_specifications
900
+ # The tags to assign to the security group.
836
901
  # @option options [Boolean] :dry_run
837
902
  # Checks whether you have the required permissions for the action,
838
903
  # without actually making the request, and provides an error response.
@@ -890,6 +955,17 @@ module Aws::EC2
890
955
  # @example Request syntax with placeholder values
891
956
  #
892
957
  # subnet = ec2.create_subnet({
958
+ # tag_specifications: [
959
+ # {
960
+ # 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
961
+ # tags: [
962
+ # {
963
+ # key: "String",
964
+ # value: "String",
965
+ # },
966
+ # ],
967
+ # },
968
+ # ],
893
969
  # availability_zone: "String",
894
970
  # availability_zone_id: "String",
895
971
  # cidr_block: "String", # required
@@ -899,6 +975,8 @@ module Aws::EC2
899
975
  # dry_run: false,
900
976
  # })
901
977
  # @param [Hash] options ({})
978
+ # @option options [Array<Types::TagSpecification>] :tag_specifications
979
+ # The tags to assign to the subnet.
902
980
  # @option options [String] :availability_zone
903
981
  # The Availability Zone or Local Zone for the subnet.
904
982
  #
@@ -921,7 +999,9 @@ module Aws::EC2
921
999
  # The AZ ID or the Local Zone ID of the subnet.
922
1000
  # @option options [required, String] :cidr_block
923
1001
  # The IPv4 network range for the subnet, in CIDR notation. For example,
924
- # `10.0.0.0/24`.
1002
+ # `10.0.0.0/24`. We modify the specified CIDR block to its canonical
1003
+ # form; for example, if you specify `100.68.0.18/18`, we modify it to
1004
+ # `100.68.0.0/18`.
925
1005
  # @option options [String] :ipv_6_cidr_block
926
1006
  # The IPv6 network range for the subnet, in CIDR notation. The subnet
927
1007
  # size must use a /64 prefix length.
@@ -1157,11 +1237,24 @@ module Aws::EC2
1157
1237
  # dry_run: false,
1158
1238
  # instance_tenancy: "default", # accepts default, dedicated, host
1159
1239
  # ipv_6_cidr_block_network_border_group: "String",
1240
+ # tag_specifications: [
1241
+ # {
1242
+ # 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
1243
+ # tags: [
1244
+ # {
1245
+ # key: "String",
1246
+ # value: "String",
1247
+ # },
1248
+ # ],
1249
+ # },
1250
+ # ],
1160
1251
  # })
1161
1252
  # @param [Hash] options ({})
1162
1253
  # @option options [required, String] :cidr_block
1163
1254
  # The IPv4 network range for the VPC, in CIDR notation. For example,
1164
- # `10.0.0.0/16`.
1255
+ # `10.0.0.0/16`. We modify the specified CIDR block to its canonical
1256
+ # form; for example, if you specify `100.68.0.18/18`, we modify it to
1257
+ # `100.68.0.0/18`.
1165
1258
  # @option options [Boolean] :amazon_provided_ipv_6_cidr_block
1166
1259
  # Requests an Amazon-provided IPv6 CIDR block with a /56 prefix length
1167
1260
  # for the VPC. You cannot specify the range of IP addresses, or the size
@@ -1197,6 +1290,8 @@ module Aws::EC2
1197
1290
  #
1198
1291
  # You must set `AmazonProvidedIpv6CidrBlock` to `true` to use this
1199
1292
  # parameter.
1293
+ # @option options [Array<Types::TagSpecification>] :tag_specifications
1294
+ # The tags to assign to the VPC.
1200
1295
  # @return [Vpc]
1201
1296
  def create_vpc(options = {})
1202
1297
  resp = @client.create_vpc(options)
@@ -2422,9 +2517,6 @@ module Aws::EC2
2422
2517
  # * `attachment.instance-owner-id` - The owner ID of the instance to
2423
2518
  # which the network interface is attached.
2424
2519
  #
2425
- # * `attachment.nat-gateway-id` - The ID of the NAT gateway to which the
2426
- # network interface is attached.
2427
- #
2428
2520
  # * `attachment.status` - The status of the attachment (`attaching` \|
2429
2521
  # `attached` \| `detaching` \| `detached`).
2430
2522
  #
@@ -2761,8 +2853,8 @@ module Aws::EC2
2761
2853
  # * `egress.ip-permission.ipv6-cidr` - An IPv6 CIDR block for an
2762
2854
  # outbound security group rule.
2763
2855
  #
2764
- # * `egress.ip-permission.prefix-list-id` - The ID (prefix) of the AWS
2765
- # service to which a security group rule allows outbound access.
2856
+ # * `egress.ip-permission.prefix-list-id` - The ID of a prefix list to
2857
+ # which a security group rule allows outbound access.
2766
2858
  #
2767
2859
  # * `egress.ip-permission.protocol` - The IP protocol for an outbound
2768
2860
  # security group rule (`tcp` \| `udp` \| `icmp` or a protocol number).
@@ -2792,8 +2884,8 @@ module Aws::EC2
2792
2884
  # * `ip-permission.ipv6-cidr` - An IPv6 CIDR block for an inbound
2793
2885
  # security group rule.
2794
2886
  #
2795
- # * `ip-permission.prefix-list-id` - The ID (prefix) of the AWS service
2796
- # from which a security group rule allows inbound access.
2887
+ # * `ip-permission.prefix-list-id` - The ID of a prefix list from which
2888
+ # a security group rule allows inbound access.
2797
2889
  #
2798
2890
  # * `ip-permission.protocol` - The IP protocol for an inbound security
2799
2891
  # group rule (`tcp` \| `udp` \| `icmp` or a protocol number).
@@ -264,12 +264,15 @@ module Aws::EC2
264
264
  #
265
265
  # route.delete({
266
266
  # destination_ipv_6_cidr_block: "String",
267
+ # destination_prefix_list_id: "PrefixListResourceId",
267
268
  # dry_run: false,
268
269
  # })
269
270
  # @param [Hash] options ({})
270
271
  # @option options [String] :destination_ipv_6_cidr_block
271
272
  # The IPv6 CIDR range for the route. The value you specify must match
272
273
  # the CIDR for the route exactly.
274
+ # @option options [String] :destination_prefix_list_id
275
+ # The ID of the prefix list for the route.
273
276
  # @option options [Boolean] :dry_run
274
277
  # Checks whether you have the required permissions for the action,
275
278
  # without actually making the request, and provides an error response.
@@ -289,6 +292,7 @@ module Aws::EC2
289
292
  #
290
293
  # route.replace({
291
294
  # destination_ipv_6_cidr_block: "String",
295
+ # destination_prefix_list_id: "PrefixListResourceId",
292
296
  # dry_run: false,
293
297
  # egress_only_internet_gateway_id: "EgressOnlyInternetGatewayId",
294
298
  # gateway_id: "RouteGatewayId",
@@ -305,6 +309,8 @@ module Aws::EC2
305
309
  # The IPv6 CIDR address block used for the destination match. The value
306
310
  # that you provide must match the CIDR of an existing route in the
307
311
  # table.
312
+ # @option options [String] :destination_prefix_list_id
313
+ # The ID of the prefix list for the route.
308
314
  # @option options [Boolean] :dry_run
309
315
  # Checks whether you have the required permissions for the action,
310
316
  # without actually making the request, and provides an error response.
@@ -225,6 +225,7 @@ module Aws::EC2
225
225
  # route = route_table.create_route({
226
226
  # destination_cidr_block: "String",
227
227
  # destination_ipv_6_cidr_block: "String",
228
+ # destination_prefix_list_id: "PrefixListResourceId",
228
229
  # dry_run: false,
229
230
  # egress_only_internet_gateway_id: "EgressOnlyInternetGatewayId",
230
231
  # gateway_id: "RouteGatewayId",
@@ -238,10 +239,14 @@ module Aws::EC2
238
239
  # @param [Hash] options ({})
239
240
  # @option options [String] :destination_cidr_block
240
241
  # The IPv4 CIDR address block used for the destination match. Routing
241
- # decisions are based on the most specific match.
242
+ # decisions are based on the most specific match. We modify the
243
+ # specified CIDR block to its canonical form; for example, if you
244
+ # specify `100.68.0.18/18`, we modify it to `100.68.0.0/18`.
242
245
  # @option options [String] :destination_ipv_6_cidr_block
243
246
  # The IPv6 CIDR block used for the destination match. Routing decisions
244
247
  # are based on the most specific match.
248
+ # @option options [String] :destination_prefix_list_id
249
+ # The ID of a prefix list used for the destination match.
245
250
  # @option options [Boolean] :dry_run
246
251
  # Checks whether you have the required permissions for the action,
247
252
  # without actually making the request, and provides an error response.
@@ -735,6 +735,17 @@ module Aws::EC2
735
735
  # ],
736
736
  # secondary_private_ip_address_count: 1,
737
737
  # interface_type: "efa", # accepts efa
738
+ # tag_specifications: [
739
+ # {
740
+ # 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
741
+ # tags: [
742
+ # {
743
+ # key: "String",
744
+ # value: "String",
745
+ # },
746
+ # ],
747
+ # },
748
+ # ],
738
749
  # })
739
750
  # @param [Hash] options ({})
740
751
  # @option options [String] :description
@@ -787,6 +798,8 @@ module Aws::EC2
787
798
  #
788
799
  #
789
800
  # [1]: https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/efa.html
801
+ # @option options [Array<Types::TagSpecification>] :tag_specifications
802
+ # The tags to apply to the new network interface.
790
803
  # @return [NetworkInterface]
791
804
  def create_network_interface(options = {})
792
805
  options = options.merge(subnet_id: @id)
@@ -1344,9 +1357,6 @@ module Aws::EC2
1344
1357
  # * `attachment.instance-owner-id` - The owner ID of the instance to
1345
1358
  # which the network interface is attached.
1346
1359
  #
1347
- # * `attachment.nat-gateway-id` - The ID of the NAT gateway to which the
1348
- # network interface is attached.
1349
- #
1350
1360
  # * `attachment.status` - The status of the attachment (`attaching` \|
1351
1361
  # `attached` \| `detaching` \| `detached`).
1352
1362
  #
@@ -300,6 +300,35 @@ module Aws::EC2
300
300
  include Aws::Structure
301
301
  end
302
302
 
303
+ # An entry for a prefix list.
304
+ #
305
+ # @note When making an API call, you may pass AddPrefixListEntry
306
+ # data as a hash:
307
+ #
308
+ # {
309
+ # cidr: "String", # required
310
+ # description: "String",
311
+ # }
312
+ #
313
+ # @!attribute [rw] cidr
314
+ # The CIDR block.
315
+ # @return [String]
316
+ #
317
+ # @!attribute [rw] description
318
+ # A description for the entry.
319
+ #
320
+ # Constraints: Up to 255 characters in length.
321
+ # @return [String]
322
+ #
323
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/AddPrefixListEntry AWS API Documentation
324
+ #
325
+ class AddPrefixListEntry < Struct.new(
326
+ :cidr,
327
+ :description)
328
+ SENSITIVE = []
329
+ include Aws::Structure
330
+ end
331
+
303
332
  # Describes an Elastic IP address.
304
333
  #
305
334
  # @!attribute [rw] instance_id
@@ -2101,10 +2130,10 @@ module Aws::EC2
2101
2130
  include Aws::Structure
2102
2131
  end
2103
2132
 
2104
- # Describes an Availability Zone or Local Zone.
2133
+ # Describes a Zone.
2105
2134
  #
2106
2135
  # @!attribute [rw] state
2107
- # The state of the Availability Zone or Local Zone.
2136
+ # The state of the Zone.
2108
2137
  # @return [String]
2109
2138
  #
2110
2139
  # @!attribute [rw] opt_in_status
@@ -2116,7 +2145,7 @@ module Aws::EC2
2116
2145
  # @return [String]
2117
2146
  #
2118
2147
  # @!attribute [rw] messages
2119
- # Any messages about the Availability Zone or Local Zone.
2148
+ # Any messages about the Zone.
2120
2149
  # @return [Array<Types::AvailabilityZoneMessage>]
2121
2150
  #
2122
2151
  # @!attribute [rw] region_name
@@ -2124,11 +2153,11 @@ module Aws::EC2
2124
2153
  # @return [String]
2125
2154
  #
2126
2155
  # @!attribute [rw] zone_name
2127
- # The name of the Availability Zone or Local Zone.
2156
+ # The name of the Zone.
2128
2157
  # @return [String]
2129
2158
  #
2130
2159
  # @!attribute [rw] zone_id
2131
- # The ID of the Availability Zone or Local Zone.
2160
+ # The ID of the Zone.
2132
2161
  # @return [String]
2133
2162
  #
2134
2163
  # @!attribute [rw] group_name
@@ -2143,6 +2172,21 @@ module Aws::EC2
2143
2172
  # The name of the location from which the address is advertised.
2144
2173
  # @return [String]
2145
2174
  #
2175
+ # @!attribute [rw] zone_type
2176
+ # The type of zone. The valid values are `availability-zone` and
2177
+ # `local-zone`.
2178
+ # @return [String]
2179
+ #
2180
+ # @!attribute [rw] parent_zone_name
2181
+ # The name of the zone that handles some of the Local Zone control
2182
+ # plane operations, such as API calls.
2183
+ # @return [String]
2184
+ #
2185
+ # @!attribute [rw] parent_zone_id
2186
+ # The ID of the zone that handles some of the Local Zone control plane
2187
+ # operations, such as API calls.
2188
+ # @return [String]
2189
+ #
2146
2190
  # @see http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/AvailabilityZone AWS API Documentation
2147
2191
  #
2148
2192
  class AvailabilityZone < Struct.new(
@@ -2153,15 +2197,18 @@ module Aws::EC2
2153
2197
  :zone_name,
2154
2198
  :zone_id,
2155
2199
  :group_name,
2156
- :network_border_group)
2200
+ :network_border_group,
2201
+ :zone_type,
2202
+ :parent_zone_name,
2203
+ :parent_zone_id)
2157
2204
  SENSITIVE = []
2158
2205
  include Aws::Structure
2159
2206
  end
2160
2207
 
2161
- # Describes a message about an Availability Zone or Local Zone.
2208
+ # Describes a message about a Zone.
2162
2209
  #
2163
2210
  # @!attribute [rw] message
2164
- # The message about the Availability Zone or Local Zone.
2211
+ # The message about the Zone.
2165
2212
  # @return [String]
2166
2213
  #
2167
2214
  # @see http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/AvailabilityZoneMessage AWS API Documentation
@@ -3143,6 +3190,9 @@ module Aws::EC2
3143
3190
  # * `none` - The instance avoids running in a Capacity Reservation
3144
3191
  # even if one is available. The instance runs as an On-Demand
3145
3192
  # Instance.
3193
+ #
3194
+ # When `CapacityReservationPreference` is not specified, it defaults
3195
+ # to `open`.
3146
3196
  # @return [String]
3147
3197
  #
3148
3198
  # @!attribute [rw] capacity_reservation_target
@@ -5197,6 +5247,17 @@ module Aws::EC2
5197
5247
  # values: ["String"],
5198
5248
  # },
5199
5249
  # ],
5250
+ # tag_specifications: [
5251
+ # {
5252
+ # 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
5253
+ # tags: [
5254
+ # {
5255
+ # key: "String",
5256
+ # value: "String",
5257
+ # },
5258
+ # ],
5259
+ # },
5260
+ # ],
5200
5261
  # dry_run: false,
5201
5262
  # }
5202
5263
  #
@@ -5204,6 +5265,10 @@ module Aws::EC2
5204
5265
  # A DHCP configuration option.
5205
5266
  # @return [Array<Types::NewDhcpConfiguration>]
5206
5267
  #
5268
+ # @!attribute [rw] tag_specifications
5269
+ # The tags to assign to the DHCP option.
5270
+ # @return [Array<Types::TagSpecification>]
5271
+ #
5207
5272
  # @!attribute [rw] dry_run
5208
5273
  # Checks whether you have the required permissions for the action,
5209
5274
  # without actually making the request, and provides an error response.
@@ -5215,6 +5280,7 @@ module Aws::EC2
5215
5280
  #
5216
5281
  class CreateDhcpOptionsRequest < Struct.new(
5217
5282
  :dhcp_configurations,
5283
+ :tag_specifications,
5218
5284
  :dry_run)
5219
5285
  SENSITIVE = []
5220
5286
  include Aws::Structure
@@ -5239,6 +5305,17 @@ module Aws::EC2
5239
5305
  # client_token: "String",
5240
5306
  # dry_run: false,
5241
5307
  # vpc_id: "VpcId", # required
5308
+ # tag_specifications: [
5309
+ # {
5310
+ # 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
5311
+ # tags: [
5312
+ # {
5313
+ # key: "String",
5314
+ # value: "String",
5315
+ # },
5316
+ # ],
5317
+ # },
5318
+ # ],
5242
5319
  # }
5243
5320
  #
5244
5321
  # @!attribute [rw] client_token
@@ -5263,12 +5340,17 @@ module Aws::EC2
5263
5340
  # gateway.
5264
5341
  # @return [String]
5265
5342
  #
5343
+ # @!attribute [rw] tag_specifications
5344
+ # The tags to assign to the egress-only internet gateway.
5345
+ # @return [Array<Types::TagSpecification>]
5346
+ #
5266
5347
  # @see http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateEgressOnlyInternetGatewayRequest AWS API Documentation
5267
5348
  #
5268
5349
  class CreateEgressOnlyInternetGatewayRequest < Struct.new(
5269
5350
  :client_token,
5270
5351
  :dry_run,
5271
- :vpc_id)
5352
+ :vpc_id,
5353
+ :tag_specifications)
5272
5354
  SENSITIVE = []
5273
5355
  include Aws::Structure
5274
5356
  end
@@ -6040,9 +6122,24 @@ module Aws::EC2
6040
6122
  # data as a hash:
6041
6123
  #
6042
6124
  # {
6125
+ # tag_specifications: [
6126
+ # {
6127
+ # 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
6128
+ # tags: [
6129
+ # {
6130
+ # key: "String",
6131
+ # value: "String",
6132
+ # },
6133
+ # ],
6134
+ # },
6135
+ # ],
6043
6136
  # dry_run: false,
6044
6137
  # }
6045
6138
  #
6139
+ # @!attribute [rw] tag_specifications
6140
+ # The tags to assign to the internet gateway.
6141
+ # @return [Array<Types::TagSpecification>]
6142
+ #
6046
6143
  # @!attribute [rw] dry_run
6047
6144
  # Checks whether you have the required permissions for the action,
6048
6145
  # without actually making the request, and provides an error response.
@@ -6053,6 +6150,7 @@ module Aws::EC2
6053
6150
  # @see http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateInternetGatewayRequest AWS API Documentation
6054
6151
  #
6055
6152
  class CreateInternetGatewayRequest < Struct.new(
6153
+ :tag_specifications,
6056
6154
  :dry_run)
6057
6155
  SENSITIVE = []
6058
6156
  include Aws::Structure
@@ -6670,6 +6768,107 @@ module Aws::EC2
6670
6768
  include Aws::Structure
6671
6769
  end
6672
6770
 
6771
+ # @note When making an API call, you may pass CreateManagedPrefixListRequest
6772
+ # data as a hash:
6773
+ #
6774
+ # {
6775
+ # dry_run: false,
6776
+ # prefix_list_name: "String", # required
6777
+ # entries: [
6778
+ # {
6779
+ # cidr: "String", # required
6780
+ # description: "String",
6781
+ # },
6782
+ # ],
6783
+ # max_entries: 1, # required
6784
+ # tag_specifications: [
6785
+ # {
6786
+ # 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
6787
+ # tags: [
6788
+ # {
6789
+ # key: "String",
6790
+ # value: "String",
6791
+ # },
6792
+ # ],
6793
+ # },
6794
+ # ],
6795
+ # address_family: "String", # required
6796
+ # client_token: "String",
6797
+ # }
6798
+ #
6799
+ # @!attribute [rw] dry_run
6800
+ # Checks whether you have the required permissions for the action,
6801
+ # without actually making the request, and provides an error response.
6802
+ # If you have the required permissions, the error response is
6803
+ # `DryRunOperation`. Otherwise, it is `UnauthorizedOperation`.
6804
+ # @return [Boolean]
6805
+ #
6806
+ # @!attribute [rw] prefix_list_name
6807
+ # A name for the prefix list.
6808
+ #
6809
+ # Constraints: Up to 255 characters in length. The name cannot start
6810
+ # with `com.amazonaws`.
6811
+ # @return [String]
6812
+ #
6813
+ # @!attribute [rw] entries
6814
+ # One or more entries for the prefix list.
6815
+ # @return [Array<Types::AddPrefixListEntry>]
6816
+ #
6817
+ # @!attribute [rw] max_entries
6818
+ # The maximum number of entries for the prefix list.
6819
+ # @return [Integer]
6820
+ #
6821
+ # @!attribute [rw] tag_specifications
6822
+ # The tags to apply to the prefix list during creation.
6823
+ # @return [Array<Types::TagSpecification>]
6824
+ #
6825
+ # @!attribute [rw] address_family
6826
+ # The IP address type.
6827
+ #
6828
+ # Valid Values: `IPv4` \| `IPv6`
6829
+ # @return [String]
6830
+ #
6831
+ # @!attribute [rw] client_token
6832
+ # Unique, case-sensitive identifier you provide to ensure the
6833
+ # idempotency of the request. For more information, see [Ensuring
6834
+ # Idempotency][1].
6835
+ #
6836
+ # Constraints: Up to 255 UTF-8 characters in length.
6837
+ #
6838
+ # **A suitable default value is auto-generated.** You should normally
6839
+ # not need to pass this option.
6840
+ #
6841
+ #
6842
+ #
6843
+ # [1]: https://docs.aws.amazon.com/AWSEC2/latest/APIReference/Run_Instance_Idempotency.html
6844
+ # @return [String]
6845
+ #
6846
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateManagedPrefixListRequest AWS API Documentation
6847
+ #
6848
+ class CreateManagedPrefixListRequest < Struct.new(
6849
+ :dry_run,
6850
+ :prefix_list_name,
6851
+ :entries,
6852
+ :max_entries,
6853
+ :tag_specifications,
6854
+ :address_family,
6855
+ :client_token)
6856
+ SENSITIVE = []
6857
+ include Aws::Structure
6858
+ end
6859
+
6860
+ # @!attribute [rw] prefix_list
6861
+ # Information about the prefix list.
6862
+ # @return [Types::ManagedPrefixList]
6863
+ #
6864
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateManagedPrefixListResult AWS API Documentation
6865
+ #
6866
+ class CreateManagedPrefixListResult < Struct.new(
6867
+ :prefix_list)
6868
+ SENSITIVE = []
6869
+ include Aws::Structure
6870
+ end
6871
+
6673
6872
  # @note When making an API call, you may pass CreateNatGatewayRequest
6674
6873
  # data as a hash:
6675
6874
  #
@@ -6782,7 +6981,9 @@ module Aws::EC2
6782
6981
  #
6783
6982
  # @!attribute [rw] cidr_block
6784
6983
  # The IPv4 network range to allow or deny, in CIDR notation (for
6785
- # example `172.16.0.0/24`).
6984
+ # example `172.16.0.0/24`). We modify the specified CIDR block to its
6985
+ # canonical form; for example, if you specify `100.68.0.18/18`, we
6986
+ # modify it to `100.68.0.0/18`.
6786
6987
  # @return [String]
6787
6988
  #
6788
6989
  # @!attribute [rw] dry_run
@@ -6864,6 +7065,17 @@ module Aws::EC2
6864
7065
  # {
6865
7066
  # dry_run: false,
6866
7067
  # vpc_id: "VpcId", # required
7068
+ # tag_specifications: [
7069
+ # {
7070
+ # 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
7071
+ # tags: [
7072
+ # {
7073
+ # key: "String",
7074
+ # value: "String",
7075
+ # },
7076
+ # ],
7077
+ # },
7078
+ # ],
6867
7079
  # }
6868
7080
  #
6869
7081
  # @!attribute [rw] dry_run
@@ -6877,11 +7089,16 @@ module Aws::EC2
6877
7089
  # The ID of the VPC.
6878
7090
  # @return [String]
6879
7091
  #
7092
+ # @!attribute [rw] tag_specifications
7093
+ # The tags to assign to the network ACL.
7094
+ # @return [Array<Types::TagSpecification>]
7095
+ #
6880
7096
  # @see http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateNetworkAclRequest AWS API Documentation
6881
7097
  #
6882
7098
  class CreateNetworkAclRequest < Struct.new(
6883
7099
  :dry_run,
6884
- :vpc_id)
7100
+ :vpc_id,
7101
+ :tag_specifications)
6885
7102
  SENSITIVE = []
6886
7103
  include Aws::Structure
6887
7104
  end
@@ -6985,6 +7202,17 @@ module Aws::EC2
6985
7202
  # secondary_private_ip_address_count: 1,
6986
7203
  # interface_type: "efa", # accepts efa
6987
7204
  # subnet_id: "SubnetId", # required
7205
+ # tag_specifications: [
7206
+ # {
7207
+ # 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
7208
+ # tags: [
7209
+ # {
7210
+ # key: "String",
7211
+ # value: "String",
7212
+ # },
7213
+ # ],
7214
+ # },
7215
+ # ],
6988
7216
  # }
6989
7217
  #
6990
7218
  # @!attribute [rw] description
@@ -7060,6 +7288,10 @@ module Aws::EC2
7060
7288
  # The ID of the subnet to associate with the network interface.
7061
7289
  # @return [String]
7062
7290
  #
7291
+ # @!attribute [rw] tag_specifications
7292
+ # The tags to apply to the new network interface.
7293
+ # @return [Array<Types::TagSpecification>]
7294
+ #
7063
7295
  # @see http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateNetworkInterfaceRequest AWS API Documentation
7064
7296
  #
7065
7297
  class CreateNetworkInterfaceRequest < Struct.new(
@@ -7072,7 +7304,8 @@ module Aws::EC2
7072
7304
  :private_ip_addresses,
7073
7305
  :secondary_private_ip_address_count,
7074
7306
  :interface_type,
7075
- :subnet_id)
7307
+ :subnet_id,
7308
+ :tag_specifications)
7076
7309
  SENSITIVE = []
7077
7310
  include Aws::Structure
7078
7311
  end
@@ -7238,6 +7471,7 @@ module Aws::EC2
7238
7471
  # {
7239
7472
  # destination_cidr_block: "String",
7240
7473
  # destination_ipv_6_cidr_block: "String",
7474
+ # destination_prefix_list_id: "PrefixListResourceId",
7241
7475
  # dry_run: false,
7242
7476
  # egress_only_internet_gateway_id: "EgressOnlyInternetGatewayId",
7243
7477
  # gateway_id: "RouteGatewayId",
@@ -7252,7 +7486,9 @@ module Aws::EC2
7252
7486
  #
7253
7487
  # @!attribute [rw] destination_cidr_block
7254
7488
  # The IPv4 CIDR address block used for the destination match. Routing
7255
- # decisions are based on the most specific match.
7489
+ # decisions are based on the most specific match. We modify the
7490
+ # specified CIDR block to its canonical form; for example, if you
7491
+ # specify `100.68.0.18/18`, we modify it to `100.68.0.0/18`.
7256
7492
  # @return [String]
7257
7493
  #
7258
7494
  # @!attribute [rw] destination_ipv_6_cidr_block
@@ -7260,6 +7496,10 @@ module Aws::EC2
7260
7496
  # decisions are based on the most specific match.
7261
7497
  # @return [String]
7262
7498
  #
7499
+ # @!attribute [rw] destination_prefix_list_id
7500
+ # The ID of a prefix list used for the destination match.
7501
+ # @return [String]
7502
+ #
7263
7503
  # @!attribute [rw] dry_run
7264
7504
  # Checks whether you have the required permissions for the action,
7265
7505
  # without actually making the request, and provides an error response.
@@ -7311,6 +7551,7 @@ module Aws::EC2
7311
7551
  class CreateRouteRequest < Struct.new(
7312
7552
  :destination_cidr_block,
7313
7553
  :destination_ipv_6_cidr_block,
7554
+ :destination_prefix_list_id,
7314
7555
  :dry_run,
7315
7556
  :egress_only_internet_gateway_id,
7316
7557
  :gateway_id,
@@ -7385,6 +7626,17 @@ module Aws::EC2
7385
7626
  # description: "String", # required
7386
7627
  # group_name: "String", # required
7387
7628
  # vpc_id: "VpcId",
7629
+ # tag_specifications: [
7630
+ # {
7631
+ # 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
7632
+ # tags: [
7633
+ # {
7634
+ # key: "String",
7635
+ # value: "String",
7636
+ # },
7637
+ # ],
7638
+ # },
7639
+ # ],
7388
7640
  # dry_run: false,
7389
7641
  # }
7390
7642
  #
@@ -7415,6 +7667,10 @@ module Aws::EC2
7415
7667
  # \[EC2-VPC\] The ID of the VPC. Required for EC2-VPC.
7416
7668
  # @return [String]
7417
7669
  #
7670
+ # @!attribute [rw] tag_specifications
7671
+ # The tags to assign to the security group.
7672
+ # @return [Array<Types::TagSpecification>]
7673
+ #
7418
7674
  # @!attribute [rw] dry_run
7419
7675
  # Checks whether you have the required permissions for the action,
7420
7676
  # without actually making the request, and provides an error response.
@@ -7428,6 +7684,7 @@ module Aws::EC2
7428
7684
  :description,
7429
7685
  :group_name,
7430
7686
  :vpc_id,
7687
+ :tag_specifications,
7431
7688
  :dry_run)
7432
7689
  SENSITIVE = []
7433
7690
  include Aws::Structure
@@ -7437,10 +7694,15 @@ module Aws::EC2
7437
7694
  # The ID of the security group.
7438
7695
  # @return [String]
7439
7696
  #
7697
+ # @!attribute [rw] tags
7698
+ # The tags assigned to the security group.
7699
+ # @return [Array<Types::Tag>]
7700
+ #
7440
7701
  # @see http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateSecurityGroupResult AWS API Documentation
7441
7702
  #
7442
7703
  class CreateSecurityGroupResult < Struct.new(
7443
- :group_id)
7704
+ :group_id,
7705
+ :tags)
7444
7706
  SENSITIVE = []
7445
7707
  include Aws::Structure
7446
7708
  end
@@ -7622,6 +7884,17 @@ module Aws::EC2
7622
7884
  # data as a hash:
7623
7885
  #
7624
7886
  # {
7887
+ # tag_specifications: [
7888
+ # {
7889
+ # 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
7890
+ # tags: [
7891
+ # {
7892
+ # key: "String",
7893
+ # value: "String",
7894
+ # },
7895
+ # ],
7896
+ # },
7897
+ # ],
7625
7898
  # availability_zone: "String",
7626
7899
  # availability_zone_id: "String",
7627
7900
  # cidr_block: "String", # required
@@ -7631,6 +7904,10 @@ module Aws::EC2
7631
7904
  # dry_run: false,
7632
7905
  # }
7633
7906
  #
7907
+ # @!attribute [rw] tag_specifications
7908
+ # The tags to assign to the subnet.
7909
+ # @return [Array<Types::TagSpecification>]
7910
+ #
7634
7911
  # @!attribute [rw] availability_zone
7635
7912
  # The Availability Zone or Local Zone for the subnet.
7636
7913
  #
@@ -7657,7 +7934,9 @@ module Aws::EC2
7657
7934
  #
7658
7935
  # @!attribute [rw] cidr_block
7659
7936
  # The IPv4 network range for the subnet, in CIDR notation. For
7660
- # example, `10.0.0.0/24`.
7937
+ # example, `10.0.0.0/24`. We modify the specified CIDR block to its
7938
+ # canonical form; for example, if you specify `100.68.0.18/18`, we
7939
+ # modify it to `100.68.0.0/18`.
7661
7940
  # @return [String]
7662
7941
  #
7663
7942
  # @!attribute [rw] ipv_6_cidr_block
@@ -7685,6 +7964,7 @@ module Aws::EC2
7685
7964
  # @see http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateSubnetRequest AWS API Documentation
7686
7965
  #
7687
7966
  class CreateSubnetRequest < Struct.new(
7967
+ :tag_specifications,
7688
7968
  :availability_zone,
7689
7969
  :availability_zone_id,
7690
7970
  :cidr_block,
@@ -9235,11 +9515,24 @@ module Aws::EC2
9235
9515
  # dry_run: false,
9236
9516
  # instance_tenancy: "default", # accepts default, dedicated, host
9237
9517
  # ipv_6_cidr_block_network_border_group: "String",
9518
+ # tag_specifications: [
9519
+ # {
9520
+ # 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
9521
+ # tags: [
9522
+ # {
9523
+ # key: "String",
9524
+ # value: "String",
9525
+ # },
9526
+ # ],
9527
+ # },
9528
+ # ],
9238
9529
  # }
9239
9530
  #
9240
9531
  # @!attribute [rw] cidr_block
9241
9532
  # The IPv4 network range for the VPC, in CIDR notation. For example,
9242
- # `10.0.0.0/16`.
9533
+ # `10.0.0.0/16`. We modify the specified CIDR block to its canonical
9534
+ # form; for example, if you specify `100.68.0.18/18`, we modify it to
9535
+ # `100.68.0.0/18`.
9243
9536
  # @return [String]
9244
9537
  #
9245
9538
  # @!attribute [rw] amazon_provided_ipv_6_cidr_block
@@ -9290,6 +9583,10 @@ module Aws::EC2
9290
9583
  # parameter.
9291
9584
  # @return [String]
9292
9585
  #
9586
+ # @!attribute [rw] tag_specifications
9587
+ # The tags to assign to the VPC.
9588
+ # @return [Array<Types::TagSpecification>]
9589
+ #
9293
9590
  # @see http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateVpcRequest AWS API Documentation
9294
9591
  #
9295
9592
  class CreateVpcRequest < Struct.new(
@@ -9299,7 +9596,8 @@ module Aws::EC2
9299
9596
  :ipv_6_cidr_block,
9300
9597
  :dry_run,
9301
9598
  :instance_tenancy,
9302
- :ipv_6_cidr_block_network_border_group)
9599
+ :ipv_6_cidr_block_network_border_group,
9600
+ :tag_specifications)
9303
9601
  SENSITIVE = []
9304
9602
  include Aws::Structure
9305
9603
  end
@@ -10317,6 +10615,46 @@ module Aws::EC2
10317
10615
  include Aws::Structure
10318
10616
  end
10319
10617
 
10618
+ # @note When making an API call, you may pass DeleteManagedPrefixListRequest
10619
+ # data as a hash:
10620
+ #
10621
+ # {
10622
+ # dry_run: false,
10623
+ # prefix_list_id: "PrefixListResourceId", # required
10624
+ # }
10625
+ #
10626
+ # @!attribute [rw] dry_run
10627
+ # Checks whether you have the required permissions for the action,
10628
+ # without actually making the request, and provides an error response.
10629
+ # If you have the required permissions, the error response is
10630
+ # `DryRunOperation`. Otherwise, it is `UnauthorizedOperation`.
10631
+ # @return [Boolean]
10632
+ #
10633
+ # @!attribute [rw] prefix_list_id
10634
+ # The ID of the prefix list.
10635
+ # @return [String]
10636
+ #
10637
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteManagedPrefixListRequest AWS API Documentation
10638
+ #
10639
+ class DeleteManagedPrefixListRequest < Struct.new(
10640
+ :dry_run,
10641
+ :prefix_list_id)
10642
+ SENSITIVE = []
10643
+ include Aws::Structure
10644
+ end
10645
+
10646
+ # @!attribute [rw] prefix_list
10647
+ # Information about the prefix list.
10648
+ # @return [Types::ManagedPrefixList]
10649
+ #
10650
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteManagedPrefixListResult AWS API Documentation
10651
+ #
10652
+ class DeleteManagedPrefixListResult < Struct.new(
10653
+ :prefix_list)
10654
+ SENSITIVE = []
10655
+ include Aws::Structure
10656
+ end
10657
+
10320
10658
  # @note When making an API call, you may pass DeleteNatGatewayRequest
10321
10659
  # data as a hash:
10322
10660
  #
@@ -10606,6 +10944,7 @@ module Aws::EC2
10606
10944
  # {
10607
10945
  # destination_cidr_block: "String",
10608
10946
  # destination_ipv_6_cidr_block: "String",
10947
+ # destination_prefix_list_id: "PrefixListResourceId",
10609
10948
  # dry_run: false,
10610
10949
  # route_table_id: "RouteTableId", # required
10611
10950
  # }
@@ -10620,6 +10959,10 @@ module Aws::EC2
10620
10959
  # the CIDR for the route exactly.
10621
10960
  # @return [String]
10622
10961
  #
10962
+ # @!attribute [rw] destination_prefix_list_id
10963
+ # The ID of the prefix list for the route.
10964
+ # @return [String]
10965
+ #
10623
10966
  # @!attribute [rw] dry_run
10624
10967
  # Checks whether you have the required permissions for the action,
10625
10968
  # without actually making the request, and provides an error response.
@@ -10636,6 +10979,7 @@ module Aws::EC2
10636
10979
  class DeleteRouteRequest < Struct.new(
10637
10980
  :destination_cidr_block,
10638
10981
  :destination_ipv_6_cidr_block,
10982
+ :destination_prefix_list_id,
10639
10983
  :dry_run,
10640
10984
  :route_table_id)
10641
10985
  SENSITIVE = []
@@ -11999,13 +12343,13 @@ module Aws::EC2
11999
12343
  # Local Zones, use the name of the group associated with the Local
12000
12344
  # Zone (for example, `us-west-2-lax-1`).
12001
12345
  #
12002
- # * `message` - The Availability Zone or Local Zone message.
12346
+ # * `message` - The Zone message.
12003
12347
  #
12004
12348
  # * `opt-in-status` - The opt in status (`opted-in`, and
12005
12349
  # `not-opted-in` \| `opt-in-not-required`).
12006
12350
  #
12007
- # * `region-name` - The name of the Region for the Availability Zone
12008
- # or Local Zone (for example, `us-east-1`).
12351
+ # * `region-name` - The name of the Region for the Zone (for example,
12352
+ # `us-east-1`).
12009
12353
  #
12010
12354
  # * `state` - The state of the Availability Zone or Local Zone
12011
12355
  # (`available` \| `information` \| `impaired` \| `unavailable`).
@@ -12019,11 +12363,11 @@ module Aws::EC2
12019
12363
  # @return [Array<Types::Filter>]
12020
12364
  #
12021
12365
  # @!attribute [rw] zone_names
12022
- # The names of the Availability Zones and Local Zones.
12366
+ # The names of the Zones.
12023
12367
  # @return [Array<String>]
12024
12368
  #
12025
12369
  # @!attribute [rw] zone_ids
12026
- # The IDs of the Availability Zones and Local Zones.
12370
+ # The IDs of the Zones.
12027
12371
  # @return [Array<String>]
12028
12372
  #
12029
12373
  # @!attribute [rw] all_availability_zones
@@ -12054,7 +12398,7 @@ module Aws::EC2
12054
12398
  end
12055
12399
 
12056
12400
  # @!attribute [rw] availability_zones
12057
- # Information about the Availability Zones and Local Zones.
12401
+ # Information about the Zones.
12058
12402
  # @return [Array<Types::AvailabilityZone>]
12059
12403
  #
12060
12404
  # @see http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeAvailabilityZonesResult AWS API Documentation
@@ -16771,6 +17115,83 @@ module Aws::EC2
16771
17115
  include Aws::Structure
16772
17116
  end
16773
17117
 
17118
+ # @note When making an API call, you may pass DescribeManagedPrefixListsRequest
17119
+ # data as a hash:
17120
+ #
17121
+ # {
17122
+ # dry_run: false,
17123
+ # filters: [
17124
+ # {
17125
+ # name: "String",
17126
+ # values: ["String"],
17127
+ # },
17128
+ # ],
17129
+ # max_results: 1,
17130
+ # next_token: "NextToken",
17131
+ # prefix_list_ids: ["String"],
17132
+ # }
17133
+ #
17134
+ # @!attribute [rw] dry_run
17135
+ # Checks whether you have the required permissions for the action,
17136
+ # without actually making the request, and provides an error response.
17137
+ # If you have the required permissions, the error response is
17138
+ # `DryRunOperation`. Otherwise, it is `UnauthorizedOperation`.
17139
+ # @return [Boolean]
17140
+ #
17141
+ # @!attribute [rw] filters
17142
+ # One or more filters.
17143
+ #
17144
+ # * `owner-id` - The ID of the prefix list owner.
17145
+ #
17146
+ # * `prefix-list-id` - The ID of the prefix list.
17147
+ #
17148
+ # * `prefix-list-name` - The name of the prefix list.
17149
+ # @return [Array<Types::Filter>]
17150
+ #
17151
+ # @!attribute [rw] max_results
17152
+ # The maximum number of results to return with a single call. To
17153
+ # retrieve the remaining results, make another call with the returned
17154
+ # `nextToken` value.
17155
+ # @return [Integer]
17156
+ #
17157
+ # @!attribute [rw] next_token
17158
+ # The token for the next page of results.
17159
+ # @return [String]
17160
+ #
17161
+ # @!attribute [rw] prefix_list_ids
17162
+ # One or more prefix list IDs.
17163
+ # @return [Array<String>]
17164
+ #
17165
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeManagedPrefixListsRequest AWS API Documentation
17166
+ #
17167
+ class DescribeManagedPrefixListsRequest < Struct.new(
17168
+ :dry_run,
17169
+ :filters,
17170
+ :max_results,
17171
+ :next_token,
17172
+ :prefix_list_ids)
17173
+ SENSITIVE = []
17174
+ include Aws::Structure
17175
+ end
17176
+
17177
+ # @!attribute [rw] next_token
17178
+ # The token to use to retrieve the next page of results. This value is
17179
+ # `null` when there are no more results to return.
17180
+ # @return [String]
17181
+ #
17182
+ # @!attribute [rw] prefix_lists
17183
+ # Information about the prefix lists.
17184
+ # @return [Array<Types::ManagedPrefixList>]
17185
+ #
17186
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeManagedPrefixListsResult AWS API Documentation
17187
+ #
17188
+ class DescribeManagedPrefixListsResult < Struct.new(
17189
+ :next_token,
17190
+ :prefix_lists)
17191
+ SENSITIVE = []
17192
+ include Aws::Structure
17193
+ end
17194
+
16774
17195
  # @note When making an API call, you may pass DescribeMovingAddressesRequest
16775
17196
  # data as a hash:
16776
17197
  #
@@ -17283,9 +17704,6 @@ module Aws::EC2
17283
17704
  # * `attachment.instance-owner-id` - The owner ID of the instance to
17284
17705
  # which the network interface is attached.
17285
17706
  #
17286
- # * `attachment.nat-gateway-id` - The ID of the NAT gateway to which
17287
- # the network interface is attached.
17288
- #
17289
17707
  # * `attachment.status` - The status of the attachment (`attaching` \|
17290
17708
  # `attached` \| `detaching` \| `detached`).
17291
17709
  #
@@ -18689,8 +19107,8 @@ module Aws::EC2
18689
19107
  # * `egress.ip-permission.ipv6-cidr` - An IPv6 CIDR block for an
18690
19108
  # outbound security group rule.
18691
19109
  #
18692
- # * `egress.ip-permission.prefix-list-id` - The ID (prefix) of the AWS
18693
- # service to which a security group rule allows outbound access.
19110
+ # * `egress.ip-permission.prefix-list-id` - The ID of a prefix list to
19111
+ # which a security group rule allows outbound access.
18694
19112
  #
18695
19113
  # * `egress.ip-permission.protocol` - The IP protocol for an outbound
18696
19114
  # security group rule (`tcp` \| `udp` \| `icmp` or a protocol
@@ -18721,8 +19139,8 @@ module Aws::EC2
18721
19139
  # * `ip-permission.ipv6-cidr` - An IPv6 CIDR block for an inbound
18722
19140
  # security group rule.
18723
19141
  #
18724
- # * `ip-permission.prefix-list-id` - The ID (prefix) of the AWS
18725
- # service from which a security group rule allows inbound access.
19142
+ # * `ip-permission.prefix-list-id` - The ID of a prefix list from
19143
+ # which a security group rule allows inbound access.
18726
19144
  #
18727
19145
  # * `ip-permission.protocol` - The IP protocol for an inbound security
18728
19146
  # group rule (`tcp` \| `udp` \| `icmp` or a protocol number).
@@ -19398,8 +19816,8 @@ module Aws::EC2
19398
19816
  # * `state` - The state of the Spot Instance request (`open` \|
19399
19817
  # `active` \| `closed` \| `cancelled` \| `failed`). Spot request
19400
19818
  # status information can help you track your Amazon EC2 Spot
19401
- # Instance requests. For more information, see [Spot Request
19402
- # Status][1] in the *Amazon EC2 User Guide for Linux Instances*.
19819
+ # Instance requests. For more information, see [Spot request
19820
+ # status][1] in the *Amazon EC2 User Guide for Linux Instances*.
19403
19821
  #
19404
19822
  # * `status-code` - The short code describing the most recent
19405
19823
  # evaluation of your Spot Instance request.
@@ -26389,6 +26807,133 @@ module Aws::EC2
26389
26807
  include Aws::Structure
26390
26808
  end
26391
26809
 
26810
+ # @note When making an API call, you may pass GetManagedPrefixListAssociationsRequest
26811
+ # data as a hash:
26812
+ #
26813
+ # {
26814
+ # dry_run: false,
26815
+ # prefix_list_id: "PrefixListResourceId", # required
26816
+ # max_results: 1,
26817
+ # next_token: "NextToken",
26818
+ # }
26819
+ #
26820
+ # @!attribute [rw] dry_run
26821
+ # Checks whether you have the required permissions for the action,
26822
+ # without actually making the request, and provides an error response.
26823
+ # If you have the required permissions, the error response is
26824
+ # `DryRunOperation`. Otherwise, it is `UnauthorizedOperation`.
26825
+ # @return [Boolean]
26826
+ #
26827
+ # @!attribute [rw] prefix_list_id
26828
+ # The ID of the prefix list.
26829
+ # @return [String]
26830
+ #
26831
+ # @!attribute [rw] max_results
26832
+ # The maximum number of results to return with a single call. To
26833
+ # retrieve the remaining results, make another call with the returned
26834
+ # `nextToken` value.
26835
+ # @return [Integer]
26836
+ #
26837
+ # @!attribute [rw] next_token
26838
+ # The token for the next page of results.
26839
+ # @return [String]
26840
+ #
26841
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/GetManagedPrefixListAssociationsRequest AWS API Documentation
26842
+ #
26843
+ class GetManagedPrefixListAssociationsRequest < Struct.new(
26844
+ :dry_run,
26845
+ :prefix_list_id,
26846
+ :max_results,
26847
+ :next_token)
26848
+ SENSITIVE = []
26849
+ include Aws::Structure
26850
+ end
26851
+
26852
+ # @!attribute [rw] prefix_list_associations
26853
+ # Information about the associations.
26854
+ # @return [Array<Types::PrefixListAssociation>]
26855
+ #
26856
+ # @!attribute [rw] next_token
26857
+ # The token to use to retrieve the next page of results. This value is
26858
+ # `null` when there are no more results to return.
26859
+ # @return [String]
26860
+ #
26861
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/GetManagedPrefixListAssociationsResult AWS API Documentation
26862
+ #
26863
+ class GetManagedPrefixListAssociationsResult < Struct.new(
26864
+ :prefix_list_associations,
26865
+ :next_token)
26866
+ SENSITIVE = []
26867
+ include Aws::Structure
26868
+ end
26869
+
26870
+ # @note When making an API call, you may pass GetManagedPrefixListEntriesRequest
26871
+ # data as a hash:
26872
+ #
26873
+ # {
26874
+ # dry_run: false,
26875
+ # prefix_list_id: "PrefixListResourceId", # required
26876
+ # target_version: 1,
26877
+ # max_results: 1,
26878
+ # next_token: "NextToken",
26879
+ # }
26880
+ #
26881
+ # @!attribute [rw] dry_run
26882
+ # Checks whether you have the required permissions for the action,
26883
+ # without actually making the request, and provides an error response.
26884
+ # If you have the required permissions, the error response is
26885
+ # `DryRunOperation`. Otherwise, it is `UnauthorizedOperation`.
26886
+ # @return [Boolean]
26887
+ #
26888
+ # @!attribute [rw] prefix_list_id
26889
+ # The ID of the prefix list.
26890
+ # @return [String]
26891
+ #
26892
+ # @!attribute [rw] target_version
26893
+ # The version of the prefix list for which to return the entries. The
26894
+ # default is the current version.
26895
+ # @return [Integer]
26896
+ #
26897
+ # @!attribute [rw] max_results
26898
+ # The maximum number of results to return with a single call. To
26899
+ # retrieve the remaining results, make another call with the returned
26900
+ # `nextToken` value.
26901
+ # @return [Integer]
26902
+ #
26903
+ # @!attribute [rw] next_token
26904
+ # The token for the next page of results.
26905
+ # @return [String]
26906
+ #
26907
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/GetManagedPrefixListEntriesRequest AWS API Documentation
26908
+ #
26909
+ class GetManagedPrefixListEntriesRequest < Struct.new(
26910
+ :dry_run,
26911
+ :prefix_list_id,
26912
+ :target_version,
26913
+ :max_results,
26914
+ :next_token)
26915
+ SENSITIVE = []
26916
+ include Aws::Structure
26917
+ end
26918
+
26919
+ # @!attribute [rw] entries
26920
+ # Information about the prefix list entries.
26921
+ # @return [Array<Types::PrefixListEntry>]
26922
+ #
26923
+ # @!attribute [rw] next_token
26924
+ # The token to use to retrieve the next page of results. This value is
26925
+ # `null` when there are no more results to return.
26926
+ # @return [String]
26927
+ #
26928
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/GetManagedPrefixListEntriesResult AWS API Documentation
26929
+ #
26930
+ class GetManagedPrefixListEntriesResult < Struct.new(
26931
+ :entries,
26932
+ :next_token)
26933
+ SENSITIVE = []
26934
+ include Aws::Structure
26935
+ end
26936
+
26392
26937
  # @note When making an API call, you may pass GetPasswordDataRequest
26393
26938
  # data as a hash:
26394
26939
  #
@@ -30646,9 +31191,7 @@ module Aws::EC2
30646
31191
  # @return [Array<Types::Ipv6Range>]
30647
31192
  #
30648
31193
  # @!attribute [rw] prefix_list_ids
30649
- # \[VPC only\] The prefix list IDs for an AWS service. With outbound
30650
- # rules, this is the AWS service to access through a VPC endpoint from
30651
- # instances associated with the security group.
31194
+ # \[VPC only\] The prefix list IDs.
30652
31195
  # @return [Array<Types::PrefixListId>]
30653
31196
  #
30654
31197
  # @!attribute [rw] to_port
@@ -32917,6 +33460,65 @@ module Aws::EC2
32917
33460
  include Aws::Structure
32918
33461
  end
32919
33462
 
33463
+ # Describes a managed prefix list.
33464
+ #
33465
+ # @!attribute [rw] prefix_list_id
33466
+ # The ID of the prefix list.
33467
+ # @return [String]
33468
+ #
33469
+ # @!attribute [rw] address_family
33470
+ # The IP address version.
33471
+ # @return [String]
33472
+ #
33473
+ # @!attribute [rw] state
33474
+ # The state of the prefix list.
33475
+ # @return [String]
33476
+ #
33477
+ # @!attribute [rw] state_message
33478
+ # The state message.
33479
+ # @return [String]
33480
+ #
33481
+ # @!attribute [rw] prefix_list_arn
33482
+ # The Amazon Resource Name (ARN) for the prefix list.
33483
+ # @return [String]
33484
+ #
33485
+ # @!attribute [rw] prefix_list_name
33486
+ # The name of the prefix list.
33487
+ # @return [String]
33488
+ #
33489
+ # @!attribute [rw] max_entries
33490
+ # The maximum number of entries for the prefix list.
33491
+ # @return [Integer]
33492
+ #
33493
+ # @!attribute [rw] version
33494
+ # The version of the prefix list.
33495
+ # @return [Integer]
33496
+ #
33497
+ # @!attribute [rw] tags
33498
+ # The tags for the prefix list.
33499
+ # @return [Array<Types::Tag>]
33500
+ #
33501
+ # @!attribute [rw] owner_id
33502
+ # The ID of the owner of the prefix list.
33503
+ # @return [String]
33504
+ #
33505
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ManagedPrefixList AWS API Documentation
33506
+ #
33507
+ class ManagedPrefixList < Struct.new(
33508
+ :prefix_list_id,
33509
+ :address_family,
33510
+ :state,
33511
+ :state_message,
33512
+ :prefix_list_arn,
33513
+ :prefix_list_name,
33514
+ :max_entries,
33515
+ :version,
33516
+ :tags,
33517
+ :owner_id)
33518
+ SENSITIVE = []
33519
+ include Aws::Structure
33520
+ end
33521
+
32920
33522
  # Describes the memory for the instance type.
32921
33523
  #
32922
33524
  # @!attribute [rw] size_in_mi_b
@@ -34316,6 +34918,79 @@ module Aws::EC2
34316
34918
  include Aws::Structure
34317
34919
  end
34318
34920
 
34921
+ # @note When making an API call, you may pass ModifyManagedPrefixListRequest
34922
+ # data as a hash:
34923
+ #
34924
+ # {
34925
+ # dry_run: false,
34926
+ # prefix_list_id: "PrefixListResourceId", # required
34927
+ # current_version: 1,
34928
+ # prefix_list_name: "String",
34929
+ # add_entries: [
34930
+ # {
34931
+ # cidr: "String", # required
34932
+ # description: "String",
34933
+ # },
34934
+ # ],
34935
+ # remove_entries: [
34936
+ # {
34937
+ # cidr: "String", # required
34938
+ # },
34939
+ # ],
34940
+ # }
34941
+ #
34942
+ # @!attribute [rw] dry_run
34943
+ # Checks whether you have the required permissions for the action,
34944
+ # without actually making the request, and provides an error response.
34945
+ # If you have the required permissions, the error response is
34946
+ # `DryRunOperation`. Otherwise, it is `UnauthorizedOperation`.
34947
+ # @return [Boolean]
34948
+ #
34949
+ # @!attribute [rw] prefix_list_id
34950
+ # The ID of the prefix list.
34951
+ # @return [String]
34952
+ #
34953
+ # @!attribute [rw] current_version
34954
+ # The current version of the prefix list.
34955
+ # @return [Integer]
34956
+ #
34957
+ # @!attribute [rw] prefix_list_name
34958
+ # A name for the prefix list.
34959
+ # @return [String]
34960
+ #
34961
+ # @!attribute [rw] add_entries
34962
+ # One or more entries to add to the prefix list.
34963
+ # @return [Array<Types::AddPrefixListEntry>]
34964
+ #
34965
+ # @!attribute [rw] remove_entries
34966
+ # One or more entries to remove from the prefix list.
34967
+ # @return [Array<Types::RemovePrefixListEntry>]
34968
+ #
34969
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyManagedPrefixListRequest AWS API Documentation
34970
+ #
34971
+ class ModifyManagedPrefixListRequest < Struct.new(
34972
+ :dry_run,
34973
+ :prefix_list_id,
34974
+ :current_version,
34975
+ :prefix_list_name,
34976
+ :add_entries,
34977
+ :remove_entries)
34978
+ SENSITIVE = []
34979
+ include Aws::Structure
34980
+ end
34981
+
34982
+ # @!attribute [rw] prefix_list
34983
+ # Information about the prefix list.
34984
+ # @return [Types::ManagedPrefixList]
34985
+ #
34986
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyManagedPrefixListResult AWS API Documentation
34987
+ #
34988
+ class ModifyManagedPrefixListResult < Struct.new(
34989
+ :prefix_list)
34990
+ SENSITIVE = []
34991
+ include Aws::Structure
34992
+ end
34993
+
34319
34994
  # Contains the parameters for ModifyNetworkInterfaceAttribute.
34320
34995
  #
34321
34996
  # @note When making an API call, you may pass ModifyNetworkInterfaceAttributeRequest
@@ -37486,6 +38161,44 @@ module Aws::EC2
37486
38161
  include Aws::Structure
37487
38162
  end
37488
38163
 
38164
+ # Describes the resource with which a prefix list is associated.
38165
+ #
38166
+ # @!attribute [rw] resource_id
38167
+ # The ID of the resource.
38168
+ # @return [String]
38169
+ #
38170
+ # @!attribute [rw] resource_owner
38171
+ # The owner of the resource.
38172
+ # @return [String]
38173
+ #
38174
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/PrefixListAssociation AWS API Documentation
38175
+ #
38176
+ class PrefixListAssociation < Struct.new(
38177
+ :resource_id,
38178
+ :resource_owner)
38179
+ SENSITIVE = []
38180
+ include Aws::Structure
38181
+ end
38182
+
38183
+ # Describes a prefix list entry.
38184
+ #
38185
+ # @!attribute [rw] cidr
38186
+ # The CIDR block.
38187
+ # @return [String]
38188
+ #
38189
+ # @!attribute [rw] description
38190
+ # The description.
38191
+ # @return [String]
38192
+ #
38193
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/PrefixListEntry AWS API Documentation
38194
+ #
38195
+ class PrefixListEntry < Struct.new(
38196
+ :cidr,
38197
+ :description)
38198
+ SENSITIVE = []
38199
+ include Aws::Structure
38200
+ end
38201
+
37489
38202
  # Describes a prefix list ID.
37490
38203
  #
37491
38204
  # @note When making an API call, you may pass PrefixListId
@@ -38977,6 +39690,27 @@ module Aws::EC2
38977
39690
  include Aws::Structure
38978
39691
  end
38979
39692
 
39693
+ # An entry for a prefix list.
39694
+ #
39695
+ # @note When making an API call, you may pass RemovePrefixListEntry
39696
+ # data as a hash:
39697
+ #
39698
+ # {
39699
+ # cidr: "String", # required
39700
+ # }
39701
+ #
39702
+ # @!attribute [rw] cidr
39703
+ # The CIDR block.
39704
+ # @return [String]
39705
+ #
39706
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/RemovePrefixListEntry AWS API Documentation
39707
+ #
39708
+ class RemovePrefixListEntry < Struct.new(
39709
+ :cidr)
39710
+ SENSITIVE = []
39711
+ include Aws::Structure
39712
+ end
39713
+
38980
39714
  # @note When making an API call, you may pass ReplaceIamInstanceProfileAssociationRequest
38981
39715
  # data as a hash:
38982
39716
  #
@@ -39167,6 +39901,7 @@ module Aws::EC2
39167
39901
  # {
39168
39902
  # destination_cidr_block: "String",
39169
39903
  # destination_ipv_6_cidr_block: "String",
39904
+ # destination_prefix_list_id: "PrefixListResourceId",
39170
39905
  # dry_run: false,
39171
39906
  # egress_only_internet_gateway_id: "EgressOnlyInternetGatewayId",
39172
39907
  # gateway_id: "RouteGatewayId",
@@ -39192,6 +39927,10 @@ module Aws::EC2
39192
39927
  # the table.
39193
39928
  # @return [String]
39194
39929
  #
39930
+ # @!attribute [rw] destination_prefix_list_id
39931
+ # The ID of the prefix list for the route.
39932
+ # @return [String]
39933
+ #
39195
39934
  # @!attribute [rw] dry_run
39196
39935
  # Checks whether you have the required permissions for the action,
39197
39936
  # without actually making the request, and provides an error response.
@@ -39245,6 +39984,7 @@ module Aws::EC2
39245
39984
  class ReplaceRouteRequest < Struct.new(
39246
39985
  :destination_cidr_block,
39247
39986
  :destination_ipv_6_cidr_block,
39987
+ :destination_prefix_list_id,
39248
39988
  :dry_run,
39249
39989
  :egress_only_internet_gateway_id,
39250
39990
  :gateway_id,
@@ -40105,6 +40845,17 @@ module Aws::EC2
40105
40845
  # type: "one-time", # accepts one-time, persistent
40106
40846
  # valid_from: Time.now,
40107
40847
  # valid_until: Time.now,
40848
+ # tag_specifications: [
40849
+ # {
40850
+ # 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
40851
+ # tags: [
40852
+ # {
40853
+ # key: "String",
40854
+ # value: "String",
40855
+ # },
40856
+ # ],
40857
+ # },
40858
+ # ],
40108
40859
  # instance_interruption_behavior: "hibernate", # accepts hibernate, stop, terminate
40109
40860
  # }
40110
40861
  #
@@ -40214,6 +40965,18 @@ module Aws::EC2
40214
40965
  # default end date is 7 days from the current date.
40215
40966
  # @return [Time]
40216
40967
  #
40968
+ # @!attribute [rw] tag_specifications
40969
+ # The key-value pair for tagging the Spot Instance request on
40970
+ # creation. The value for `ResourceType` must be
40971
+ # `spot-instances-request`, otherwise the Spot Instance request fails.
40972
+ # To tag the Spot Instance request after it has been created, see
40973
+ # [CreateTags][1].
40974
+ #
40975
+ #
40976
+ #
40977
+ # [1]: https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_CreateTags.html
40978
+ # @return [Array<Types::TagSpecification>]
40979
+ #
40217
40980
  # @!attribute [rw] instance_interruption_behavior
40218
40981
  # The behavior when a Spot Instance is interrupted. The default is
40219
40982
  # `terminate`.
@@ -40233,6 +40996,7 @@ module Aws::EC2
40233
40996
  :type,
40234
40997
  :valid_from,
40235
40998
  :valid_until,
40999
+ :tag_specifications,
40236
41000
  :instance_interruption_behavior)
40237
41001
  SENSITIVE = []
40238
41002
  include Aws::Structure
@@ -41405,6 +42169,58 @@ module Aws::EC2
41405
42169
  include Aws::Structure
41406
42170
  end
41407
42171
 
42172
+ # @note When making an API call, you may pass RestoreManagedPrefixListVersionRequest
42173
+ # data as a hash:
42174
+ #
42175
+ # {
42176
+ # dry_run: false,
42177
+ # prefix_list_id: "PrefixListResourceId", # required
42178
+ # previous_version: 1, # required
42179
+ # current_version: 1, # required
42180
+ # }
42181
+ #
42182
+ # @!attribute [rw] dry_run
42183
+ # Checks whether you have the required permissions for the action,
42184
+ # without actually making the request, and provides an error response.
42185
+ # If you have the required permissions, the error response is
42186
+ # `DryRunOperation`. Otherwise, it is `UnauthorizedOperation`.
42187
+ # @return [Boolean]
42188
+ #
42189
+ # @!attribute [rw] prefix_list_id
42190
+ # The ID of the prefix list.
42191
+ # @return [String]
42192
+ #
42193
+ # @!attribute [rw] previous_version
42194
+ # The version to restore.
42195
+ # @return [Integer]
42196
+ #
42197
+ # @!attribute [rw] current_version
42198
+ # The current version number for the prefix list.
42199
+ # @return [Integer]
42200
+ #
42201
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/RestoreManagedPrefixListVersionRequest AWS API Documentation
42202
+ #
42203
+ class RestoreManagedPrefixListVersionRequest < Struct.new(
42204
+ :dry_run,
42205
+ :prefix_list_id,
42206
+ :previous_version,
42207
+ :current_version)
42208
+ SENSITIVE = []
42209
+ include Aws::Structure
42210
+ end
42211
+
42212
+ # @!attribute [rw] prefix_list
42213
+ # Information about the prefix list.
42214
+ # @return [Types::ManagedPrefixList]
42215
+ #
42216
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/RestoreManagedPrefixListVersionResult AWS API Documentation
42217
+ #
42218
+ class RestoreManagedPrefixListVersionResult < Struct.new(
42219
+ :prefix_list)
42220
+ SENSITIVE = []
42221
+ include Aws::Structure
42222
+ end
42223
+
41408
42224
  # @note When making an API call, you may pass RevokeClientVpnIngressRequest
41409
42225
  # data as a hash:
41410
42226
  #
@@ -44923,7 +45739,7 @@ module Aws::EC2
44923
45739
  # The Amazon Resource Name (ARN) of an AWS Identity and Access
44924
45740
  # Management (IAM) role that grants the Spot Fleet the permission to
44925
45741
  # request, launch, terminate, and tag instances on your behalf. For
44926
- # more information, see [Spot Fleet Prerequisites][1] in the *Amazon
45742
+ # more information, see [Spot Fleet prerequisites][1] in the *Amazon
44927
45743
  # EC2 User Guide for Linux Instances*. Spot Fleet can terminate Spot
44928
45744
  # Instances on your behalf when you cancel its Spot Fleet request
44929
45745
  # using [CancelSpotFleetRequests][2] or when the Spot Fleet request
@@ -45200,7 +46016,7 @@ module Aws::EC2
45200
46016
  # @!attribute [rw] state
45201
46017
  # The state of the Spot Instance request. Spot status information
45202
46018
  # helps track your Spot Instance requests. For more information, see
45203
- # [Spot Status][1] in the *Amazon EC2 User Guide for Linux Instances*.
46019
+ # [Spot status][1] in the *Amazon EC2 User Guide for Linux Instances*.
45204
46020
  #
45205
46021
  #
45206
46022
  #
@@ -45287,8 +46103,8 @@ module Aws::EC2
45287
46103
  # Describes the status of a Spot Instance request.
45288
46104
  #
45289
46105
  # @!attribute [rw] code
45290
- # The status code. For a list of status codes, see [Spot Status
45291
- # Codes][1] in the *Amazon EC2 User Guide for Linux Instances*.
46106
+ # The status code. For a list of status codes, see [Spot status
46107
+ # codes][1] in the *Amazon EC2 User Guide for Linux Instances*.
45292
46108
  #
45293
46109
  #
45294
46110
  #
@@ -45617,8 +46433,7 @@ module Aws::EC2
45617
46433
  # @return [Array<String>]
45618
46434
  #
45619
46435
  # @!attribute [rw] prefix_list_ids
45620
- # The prefix list IDs for an AWS service. Not applicable for stale
45621
- # security group rules.
46436
+ # The prefix list IDs. Not applicable for stale security group rules.
45622
46437
  # @return [Array<String>]
45623
46438
  #
45624
46439
  # @!attribute [rw] to_port
@@ -46225,15 +47040,19 @@ module Aws::EC2
46225
47040
  # @!attribute [rw] resource_type
46226
47041
  # The type of resource to tag. Currently, the resource types that
46227
47042
  # support tagging on creation are: `capacity-reservation` \|
46228
- # `client-vpn-endpoint` \| `dedicated-host` \| `fleet` \| `fpga-image`
46229
- # \| `host-reservation` \| `instance` \| `ipv4pool-ec2` \|
46230
- # `ipv6pool-ec2` \| `key-pair` \| `launch-template` \| `natgateway` \|
46231
- # `spot-fleet-request` \| `placement-group` \| `snapshot` \|
47043
+ # `client-vpn-endpoint` \| `dedicated-host` \| `dhcp-options` \|
47044
+ # `export-image-task` \| `export-instance-task` \| `fleet` \|
47045
+ # `fpga-image` \| `host-reservation` \| `import-image-task` \|
47046
+ # `import-snapshot-task` \| `instance` \| `internet-gateway` \|
47047
+ # `ipv4pool-ec2` \| `ipv6pool-ec2` \| `key-pair` \| `launch-template`
47048
+ # \| `placement-group` \| `prefix-list` \| `launch-template` \|
47049
+ # `natgateway` \| `network-acl` \| `security-group` \|
47050
+ # `spot-fleet-request` \| `snapshot` \| `subnet` \|
46232
47051
  # `traffic-mirror-filter` \| `traffic-mirror-session` \|
46233
47052
  # `traffic-mirror-target` \| `transit-gateway` \|
46234
47053
  # `transit-gateway-attachment` \| `transit-gateway-route-table` \|
46235
- # `vpc-endpoint` (for interface and gateway endpoints) \|
46236
- # `vpc-endpoint-service` (for AWS PrivateLink) \| `volume` \|
47054
+ # `volume` \|`vpc` \| `vpc-endpoint` (for interface and gateway
47055
+ # endpoints) \| `vpc-endpoint-service` (for AWS PrivateLink) \|
46237
47056
  # `vpc-flow-log`.
46238
47057
  #
46239
47058
  # To tag a resource after it has been created, see [CreateTags][1].