aws-sdk-ec2 1.171.0 → 1.176.0

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