aws-sdk-ec2 1.490.0 → 1.491.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -6267,6 +6267,7 @@ module Aws::EC2
6267
6267
  # resp.subnet.private_dns_name_options_on_launch.hostname_type #=> String, one of "ip-name", "resource-name"
6268
6268
  # resp.subnet.private_dns_name_options_on_launch.enable_resource_name_dns_a_record #=> Boolean
6269
6269
  # resp.subnet.private_dns_name_options_on_launch.enable_resource_name_dns_aaaa_record #=> Boolean
6270
+ # resp.subnet.block_public_access_states.internet_gateway_block_mode #=> String, one of "off", "block-bidirectional", "block-ingress"
6270
6271
  # resp.subnet.subnet_id #=> String
6271
6272
  # resp.subnet.state #=> String, one of "pending", "available", "unavailable"
6272
6273
  # resp.subnet.vpc_id #=> String
@@ -6336,6 +6337,7 @@ module Aws::EC2
6336
6337
  # resp.vpc.tags #=> Array
6337
6338
  # resp.vpc.tags[0].key #=> String
6338
6339
  # resp.vpc.tags[0].value #=> String
6340
+ # resp.vpc.block_public_access_states.internet_gateway_block_mode #=> String, one of "off", "block-bidirectional", "block-ingress"
6339
6341
  # resp.vpc.vpc_id #=> String
6340
6342
  # resp.vpc.state #=> String, one of "pending", "available"
6341
6343
  # resp.vpc.cidr_block #=> String
@@ -12568,6 +12570,7 @@ module Aws::EC2
12568
12570
  # resp.subnet.private_dns_name_options_on_launch.hostname_type #=> String, one of "ip-name", "resource-name"
12569
12571
  # resp.subnet.private_dns_name_options_on_launch.enable_resource_name_dns_a_record #=> Boolean
12570
12572
  # resp.subnet.private_dns_name_options_on_launch.enable_resource_name_dns_aaaa_record #=> Boolean
12573
+ # resp.subnet.block_public_access_states.internet_gateway_block_mode #=> String, one of "off", "block-bidirectional", "block-ingress"
12571
12574
  # resp.subnet.subnet_id #=> String
12572
12575
  # resp.subnet.state #=> String, one of "pending", "available", "unavailable"
12573
12576
  # resp.subnet.vpc_id #=> String
@@ -15059,6 +15062,7 @@ module Aws::EC2
15059
15062
  # resp.vpc.tags #=> Array
15060
15063
  # resp.vpc.tags[0].key #=> String
15061
15064
  # resp.vpc.tags[0].value #=> String
15065
+ # resp.vpc.block_public_access_states.internet_gateway_block_mode #=> String, one of "off", "block-bidirectional", "block-ingress"
15062
15066
  # resp.vpc.vpc_id #=> String
15063
15067
  # resp.vpc.state #=> String, one of "pending", "available"
15064
15068
  # resp.vpc.cidr_block #=> String
@@ -15073,6 +15077,96 @@ module Aws::EC2
15073
15077
  req.send_request(options)
15074
15078
  end
15075
15079
 
15080
+ # Create a VPC Block Public Access (BPA) exclusion. A VPC BPA exclusion
15081
+ # is a mode that can be applied to a single VPC or subnet that exempts
15082
+ # it from the account’s BPA mode and will allow bidirectional or
15083
+ # egress-only access. You can create BPA exclusions for VPCs and subnets
15084
+ # even when BPA is not enabled on the account to ensure that there is no
15085
+ # traffic disruption to the exclusions when VPC BPA is turned on. To
15086
+ # learn more about VPC BPA, see [Block public access to VPCs and
15087
+ # subnets][1] in the *Amazon VPC User Guide*.
15088
+ #
15089
+ #
15090
+ #
15091
+ # [1]: https://docs.aws.amazon.com/vpc/latest/userguide/security-vpc-bpa.html
15092
+ #
15093
+ # @option params [Boolean] :dry_run
15094
+ # Checks whether you have the required permissions for the action,
15095
+ # without actually making the request, and provides an error response.
15096
+ # If you have the required permissions, the error response is
15097
+ # `DryRunOperation`. Otherwise, it is `UnauthorizedOperation`.
15098
+ #
15099
+ # @option params [String] :subnet_id
15100
+ # A subnet ID.
15101
+ #
15102
+ # @option params [String] :vpc_id
15103
+ # A VPC ID.
15104
+ #
15105
+ # @option params [required, String] :internet_gateway_exclusion_mode
15106
+ # The exclusion mode for internet gateway traffic.
15107
+ #
15108
+ # * `bidirectional-access-allowed`: Allow all internet traffic to and
15109
+ # from the excluded VPCs and subnets.
15110
+ #
15111
+ # * `egress-access-allowed`: Allow outbound internet traffic from the
15112
+ # excluded VPCs and subnets. Block inbound internet traffic to the
15113
+ # excluded VPCs and subnets. Only applies when VPC Block Public Access
15114
+ # is set to Bidirectional.
15115
+ #
15116
+ # @option params [Array<Types::TagSpecification>] :tag_specifications
15117
+ # `tag` - The key/value combination of a tag assigned to the resource.
15118
+ # Use the tag key in the filter name and the tag value as the filter
15119
+ # value. For example, to find all resources that have a tag with the key
15120
+ # `Owner` and the value `TeamA`, specify `tag:Owner` for the filter name
15121
+ # and `TeamA` for the filter value.
15122
+ #
15123
+ # @return [Types::CreateVpcBlockPublicAccessExclusionResult] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
15124
+ #
15125
+ # * {Types::CreateVpcBlockPublicAccessExclusionResult#vpc_block_public_access_exclusion #vpc_block_public_access_exclusion} => Types::VpcBlockPublicAccessExclusion
15126
+ #
15127
+ # @example Request syntax with placeholder values
15128
+ #
15129
+ # resp = client.create_vpc_block_public_access_exclusion({
15130
+ # dry_run: false,
15131
+ # subnet_id: "SubnetId",
15132
+ # vpc_id: "VpcId",
15133
+ # internet_gateway_exclusion_mode: "allow-bidirectional", # required, accepts allow-bidirectional, allow-egress
15134
+ # tag_specifications: [
15135
+ # {
15136
+ # resource_type: "capacity-reservation", # accepts capacity-reservation, client-vpn-endpoint, customer-gateway, carrier-gateway, coip-pool, dedicated-host, dhcp-options, egress-only-internet-gateway, elastic-ip, elastic-gpu, export-image-task, export-instance-task, fleet, fpga-image, host-reservation, image, import-image-task, import-snapshot-task, instance, instance-event-window, internet-gateway, ipam, ipam-pool, ipam-scope, ipv4pool-ec2, ipv6pool-ec2, key-pair, launch-template, local-gateway, local-gateway-route-table, local-gateway-virtual-interface, local-gateway-virtual-interface-group, local-gateway-route-table-vpc-association, local-gateway-route-table-virtual-interface-group-association, natgateway, network-acl, network-interface, network-insights-analysis, network-insights-path, network-insights-access-scope, network-insights-access-scope-analysis, placement-group, prefix-list, replace-root-volume-task, reserved-instances, route-table, security-group, security-group-rule, snapshot, spot-fleet-request, spot-instances-request, subnet, subnet-cidr-reservation, traffic-mirror-filter, traffic-mirror-session, traffic-mirror-target, transit-gateway, transit-gateway-attachment, transit-gateway-connect-peer, transit-gateway-multicast-domain, transit-gateway-policy-table, transit-gateway-route-table, transit-gateway-route-table-announcement, volume, vpc, vpc-endpoint, vpc-endpoint-connection, vpc-endpoint-service, vpc-endpoint-service-permission, vpc-peering-connection, vpn-connection, vpn-gateway, vpc-flow-log, capacity-reservation-fleet, traffic-mirror-filter-rule, vpc-endpoint-connection-device-type, verified-access-instance, verified-access-group, verified-access-endpoint, verified-access-policy, verified-access-trust-provider, vpn-connection-device-type, vpc-block-public-access-exclusion, ipam-resource-discovery, ipam-resource-discovery-association, instance-connect-endpoint, ipam-external-resource-verification-token
15137
+ # tags: [
15138
+ # {
15139
+ # key: "String",
15140
+ # value: "String",
15141
+ # },
15142
+ # ],
15143
+ # },
15144
+ # ],
15145
+ # })
15146
+ #
15147
+ # @example Response structure
15148
+ #
15149
+ # resp.vpc_block_public_access_exclusion.exclusion_id #=> String
15150
+ # resp.vpc_block_public_access_exclusion.internet_gateway_exclusion_mode #=> String, one of "allow-bidirectional", "allow-egress"
15151
+ # resp.vpc_block_public_access_exclusion.resource_arn #=> String
15152
+ # resp.vpc_block_public_access_exclusion.state #=> String, one of "create-in-progress", "create-complete", "create-failed", "update-in-progress", "update-complete", "update-failed", "delete-in-progress", "delete-complete", "disable-in-progress", "disable-complete"
15153
+ # resp.vpc_block_public_access_exclusion.reason #=> String
15154
+ # resp.vpc_block_public_access_exclusion.creation_timestamp #=> Time
15155
+ # resp.vpc_block_public_access_exclusion.last_update_timestamp #=> Time
15156
+ # resp.vpc_block_public_access_exclusion.deletion_timestamp #=> Time
15157
+ # resp.vpc_block_public_access_exclusion.tags #=> Array
15158
+ # resp.vpc_block_public_access_exclusion.tags[0].key #=> String
15159
+ # resp.vpc_block_public_access_exclusion.tags[0].value #=> String
15160
+ #
15161
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateVpcBlockPublicAccessExclusion AWS API Documentation
15162
+ #
15163
+ # @overload create_vpc_block_public_access_exclusion(params = {})
15164
+ # @param [Hash] params ({})
15165
+ def create_vpc_block_public_access_exclusion(params = {}, options = {})
15166
+ req = build_request(:create_vpc_block_public_access_exclusion, params)
15167
+ req.send_request(options)
15168
+ end
15169
+
15076
15170
  # Creates a VPC endpoint. A VPC endpoint provides a private connection
15077
15171
  # between the specified VPC and the specified endpoint service. You can
15078
15172
  # use an endpoint service provided by Amazon Web Services, an Amazon Web
@@ -19291,6 +19385,62 @@ module Aws::EC2
19291
19385
  req.send_request(options)
19292
19386
  end
19293
19387
 
19388
+ # Delete a VPC Block Public Access (BPA) exclusion. A VPC BPA exclusion
19389
+ # is a mode that can be applied to a single VPC or subnet that exempts
19390
+ # it from the account’s BPA mode and will allow bidirectional or
19391
+ # egress-only access. You can create BPA exclusions for VPCs and subnets
19392
+ # even when BPA is not enabled on the account to ensure that there is no
19393
+ # traffic disruption to the exclusions when VPC BPA is turned on. To
19394
+ # learn more about VPC BPA, see [Block public access to VPCs and
19395
+ # subnets][1] in the *Amazon VPC User Guide*.
19396
+ #
19397
+ #
19398
+ #
19399
+ # [1]: https://docs.aws.amazon.com/vpc/latest/userguide/security-vpc-bpa.html
19400
+ #
19401
+ # @option params [Boolean] :dry_run
19402
+ # Checks whether you have the required permissions for the action,
19403
+ # without actually making the request, and provides an error response.
19404
+ # If you have the required permissions, the error response is
19405
+ # `DryRunOperation`. Otherwise, it is `UnauthorizedOperation`.
19406
+ #
19407
+ # @option params [required, String] :exclusion_id
19408
+ # The ID of the exclusion.
19409
+ #
19410
+ # @return [Types::DeleteVpcBlockPublicAccessExclusionResult] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
19411
+ #
19412
+ # * {Types::DeleteVpcBlockPublicAccessExclusionResult#vpc_block_public_access_exclusion #vpc_block_public_access_exclusion} => Types::VpcBlockPublicAccessExclusion
19413
+ #
19414
+ # @example Request syntax with placeholder values
19415
+ #
19416
+ # resp = client.delete_vpc_block_public_access_exclusion({
19417
+ # dry_run: false,
19418
+ # exclusion_id: "VpcBlockPublicAccessExclusionId", # required
19419
+ # })
19420
+ #
19421
+ # @example Response structure
19422
+ #
19423
+ # resp.vpc_block_public_access_exclusion.exclusion_id #=> String
19424
+ # resp.vpc_block_public_access_exclusion.internet_gateway_exclusion_mode #=> String, one of "allow-bidirectional", "allow-egress"
19425
+ # resp.vpc_block_public_access_exclusion.resource_arn #=> String
19426
+ # resp.vpc_block_public_access_exclusion.state #=> String, one of "create-in-progress", "create-complete", "create-failed", "update-in-progress", "update-complete", "update-failed", "delete-in-progress", "delete-complete", "disable-in-progress", "disable-complete"
19427
+ # resp.vpc_block_public_access_exclusion.reason #=> String
19428
+ # resp.vpc_block_public_access_exclusion.creation_timestamp #=> Time
19429
+ # resp.vpc_block_public_access_exclusion.last_update_timestamp #=> Time
19430
+ # resp.vpc_block_public_access_exclusion.deletion_timestamp #=> Time
19431
+ # resp.vpc_block_public_access_exclusion.tags #=> Array
19432
+ # resp.vpc_block_public_access_exclusion.tags[0].key #=> String
19433
+ # resp.vpc_block_public_access_exclusion.tags[0].value #=> String
19434
+ #
19435
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteVpcBlockPublicAccessExclusion AWS API Documentation
19436
+ #
19437
+ # @overload delete_vpc_block_public_access_exclusion(params = {})
19438
+ # @param [Hash] params ({})
19439
+ def delete_vpc_block_public_access_exclusion(params = {}, options = {})
19440
+ req = build_request(:delete_vpc_block_public_access_exclusion, params)
19441
+ req.send_request(options)
19442
+ end
19443
+
19294
19444
  # Deletes the specified VPC endpoint connection notifications.
19295
19445
  #
19296
19446
  # @option params [Boolean] :dry_run
@@ -21375,11 +21525,11 @@ module Aws::EC2
21375
21525
  #
21376
21526
  # * `instance-id` - The ID of the instance.
21377
21527
  #
21378
- # * `tag`:&lt;key&gt; - The key/value combination of a tag assigned to
21379
- # the resource. Use the tag key in the filter name and the tag value
21380
- # as the filter value. For example, to find all resources that have a
21381
- # tag with the key `Owner` and the value `TeamA`, specify `tag:Owner`
21382
- # for the filter name and `TeamA` for the filter value.
21528
+ # * `tag` - The key/value combination of a tag assigned to the resource.
21529
+ # Use the tag key in the filter name and the tag value as the filter
21530
+ # value. For example, to find all resources that have a tag with the
21531
+ # key `Owner` and the value `TeamA`, specify `tag:Owner` for the
21532
+ # filter name and `TeamA` for the filter value.
21383
21533
  #
21384
21534
  # * `tag-key` - The key of a tag assigned to the resource. Use this
21385
21535
  # filter to find all resources assigned a tag with a specific key,
@@ -22173,11 +22323,11 @@ module Aws::EC2
22173
22323
  # * `owner-id` - The ID of the Amazon Web Services account that owns the
22174
22324
  # DHCP options set.
22175
22325
  #
22176
- # * `tag`:&lt;key&gt; - The key/value combination of a tag assigned to
22177
- # the resource. Use the tag key in the filter name and the tag value
22178
- # as the filter value. For example, to find all resources that have a
22179
- # tag with the key `Owner` and the value `TeamA`, specify `tag:Owner`
22180
- # for the filter name and `TeamA` for the filter value.
22326
+ # * `tag` - The key/value combination of a tag assigned to the resource.
22327
+ # Use the tag key in the filter name and the tag value as the filter
22328
+ # value. For example, to find all resources that have a tag with the
22329
+ # key `Owner` and the value `TeamA`, specify `tag:Owner` for the
22330
+ # filter name and `TeamA` for the filter value.
22181
22331
  #
22182
22332
  # * `tag-key` - The key of a tag assigned to the resource. Use this
22183
22333
  # filter to find all resources assigned a tag with a specific key,
@@ -22292,11 +22442,11 @@ module Aws::EC2
22292
22442
  # @option params [Array<Types::Filter>] :filters
22293
22443
  # The filters.
22294
22444
  #
22295
- # * `tag`:&lt;key&gt; - The key/value combination of a tag assigned to
22296
- # the resource. Use the tag key in the filter name and the tag value
22297
- # as the filter value. For example, to find all resources that have a
22298
- # tag with the key `Owner` and the value `TeamA`, specify `tag:Owner`
22299
- # for the filter name and `TeamA` for the filter value.
22445
+ # * `tag` - The key/value combination of a tag assigned to the resource.
22446
+ # Use the tag key in the filter name and the tag value as the filter
22447
+ # value. For example, to find all resources that have a tag with the
22448
+ # key `Owner` and the value `TeamA`, specify `tag:Owner` for the
22449
+ # filter name and `TeamA` for the filter value.
22300
22450
  #
22301
22451
  # * `tag-key` - The key of a tag assigned to the resource. Use this
22302
22452
  # filter to find all resources assigned a tag with a specific key,
@@ -26877,11 +27027,11 @@ module Aws::EC2
26877
27027
  # * `owner-id` - The ID of the Amazon Web Services account that owns the
26878
27028
  # internet gateway.
26879
27029
  #
26880
- # * `tag`:&lt;key&gt; - The key/value combination of a tag assigned to
26881
- # the resource. Use the tag key in the filter name and the tag value
26882
- # as the filter value. For example, to find all resources that have a
26883
- # tag with the key `Owner` and the value `TeamA`, specify `tag:Owner`
26884
- # for the filter name and `TeamA` for the filter value.
27030
+ # * `tag` - The key/value combination of a tag assigned to the resource.
27031
+ # Use the tag key in the filter name and the tag value as the filter
27032
+ # value. For example, to find all resources that have a tag with the
27033
+ # key `Owner` and the value `TeamA`, specify `tag:Owner` for the
27034
+ # filter name and `TeamA` for the filter value.
26885
27035
  #
26886
27036
  # * `tag-key` - The key of a tag assigned to the resource. Use this
26887
27037
  # filter to find all resources assigned a tag with a specific key,
@@ -29028,11 +29178,11 @@ module Aws::EC2
29028
29178
  #
29029
29179
  # * `subnet-id` - The ID of the subnet in which the NAT gateway resides.
29030
29180
  #
29031
- # * `tag`:&lt;key&gt; - The key/value combination of a tag assigned to
29032
- # the resource. Use the tag key in the filter name and the tag value
29033
- # as the filter value. For example, to find all resources that have a
29034
- # tag with the key `Owner` and the value `TeamA`, specify `tag:Owner`
29035
- # for the filter name and `TeamA` for the filter value.
29181
+ # * `tag` - The key/value combination of a tag assigned to the resource.
29182
+ # Use the tag key in the filter name and the tag value as the filter
29183
+ # value. For example, to find all resources that have a tag with the
29184
+ # key `Owner` and the value `TeamA`, specify `tag:Owner` for the
29185
+ # filter name and `TeamA` for the filter value.
29036
29186
  #
29037
29187
  # * `tag-key` - The key of a tag assigned to the resource. Use this
29038
29188
  # filter to find all resources assigned a tag with a specific key,
@@ -29241,11 +29391,11 @@ module Aws::EC2
29241
29391
  # * `owner-id` - The ID of the Amazon Web Services account that owns the
29242
29392
  # network ACL.
29243
29393
  #
29244
- # * `tag`:&lt;key&gt; - The key/value combination of a tag assigned to
29245
- # the resource. Use the tag key in the filter name and the tag value
29246
- # as the filter value. For example, to find all resources that have a
29247
- # tag with the key `Owner` and the value `TeamA`, specify `tag:Owner`
29248
- # for the filter name and `TeamA` for the filter value.
29394
+ # * `tag` - The key/value combination of a tag assigned to the resource.
29395
+ # Use the tag key in the filter name and the tag value as the filter
29396
+ # value. For example, to find all resources that have a tag with the
29397
+ # key `Owner` and the value `TeamA`, specify `tag:Owner` for the
29398
+ # filter name and `TeamA` for the filter value.
29249
29399
  #
29250
29400
  # * `tag-key` - The key of a tag assigned to the resource. Use this
29251
29401
  # filter to find all resources assigned a tag with a specific key,
@@ -32290,11 +32440,11 @@ module Aws::EC2
32290
32440
  # * `route.vpc-peering-connection-id` - The ID of a VPC peering
32291
32441
  # connection specified in a route in the table.
32292
32442
  #
32293
- # * `tag`:&lt;key&gt; - The key/value combination of a tag assigned to
32294
- # the resource. Use the tag key in the filter name and the tag value
32295
- # as the filter value. For example, to find all resources that have a
32296
- # tag with the key `Owner` and the value `TeamA`, specify `tag:Owner`
32297
- # for the filter name and `TeamA` for the filter value.
32443
+ # * `tag` - The key/value combination of a tag assigned to the resource.
32444
+ # Use the tag key in the filter name and the tag value as the filter
32445
+ # value. For example, to find all resources that have a tag with the
32446
+ # key `Owner` and the value `TeamA`, specify `tag:Owner` for the
32447
+ # filter name and `TeamA` for the filter value.
32298
32448
  #
32299
32449
  # * `tag-key` - The key of a tag assigned to the resource. Use this
32300
32450
  # filter to find all resources assigned a tag with a specific key,
@@ -34930,11 +35080,11 @@ module Aws::EC2
34930
35080
  #
34931
35081
  # * `subnet-id` - The ID of the subnet.
34932
35082
  #
34933
- # * `tag`:&lt;key&gt; - The key/value combination of a tag assigned to
34934
- # the resource. Use the tag key in the filter name and the tag value
34935
- # as the filter value. For example, to find all resources that have a
34936
- # tag with the key `Owner` and the value `TeamA`, specify `tag:Owner`
34937
- # for the filter name and `TeamA` for the filter value.
35083
+ # * `tag` - The key/value combination of a tag assigned to the resource.
35084
+ # Use the tag key in the filter name and the tag value as the filter
35085
+ # value. For example, to find all resources that have a tag with the
35086
+ # key `Owner` and the value `TeamA`, specify `tag:Owner` for the
35087
+ # filter name and `TeamA` for the filter value.
34938
35088
  #
34939
35089
  # * `tag-key` - The key of a tag assigned to the resource. Use this
34940
35090
  # filter to find all resources assigned a tag with a specific key,
@@ -35047,6 +35197,7 @@ module Aws::EC2
35047
35197
  # resp.subnets[0].private_dns_name_options_on_launch.hostname_type #=> String, one of "ip-name", "resource-name"
35048
35198
  # resp.subnets[0].private_dns_name_options_on_launch.enable_resource_name_dns_a_record #=> Boolean
35049
35199
  # resp.subnets[0].private_dns_name_options_on_launch.enable_resource_name_dns_aaaa_record #=> Boolean
35200
+ # resp.subnets[0].block_public_access_states.internet_gateway_block_mode #=> String, one of "off", "block-bidirectional", "block-ingress"
35050
35201
  # resp.subnets[0].subnet_id #=> String
35051
35202
  # resp.subnets[0].state #=> String, one of "pending", "available", "unavailable"
35052
35203
  # resp.subnets[0].vpc_id #=> String
@@ -37670,6 +37821,159 @@ module Aws::EC2
37670
37821
  req.send_request(options)
37671
37822
  end
37672
37823
 
37824
+ # Describe VPC Block Public Access (BPA) exclusions. A VPC BPA exclusion
37825
+ # is a mode that can be applied to a single VPC or subnet that exempts
37826
+ # it from the account’s BPA mode and will allow bidirectional or
37827
+ # egress-only access. You can create BPA exclusions for VPCs and subnets
37828
+ # even when BPA is not enabled on the account to ensure that there is no
37829
+ # traffic disruption to the exclusions when VPC BPA is turned on. To
37830
+ # learn more about VPC BPA, see [Block public access to VPCs and
37831
+ # subnets][1] in the *Amazon VPC User Guide*.
37832
+ #
37833
+ #
37834
+ #
37835
+ # [1]: https://docs.aws.amazon.com/vpc/latest/userguide/security-vpc-bpa.html
37836
+ #
37837
+ # @option params [Boolean] :dry_run
37838
+ # Checks whether you have the required permissions for the action,
37839
+ # without actually making the request, and provides an error response.
37840
+ # If you have the required permissions, the error response is
37841
+ # `DryRunOperation`. Otherwise, it is `UnauthorizedOperation`.
37842
+ #
37843
+ # @option params [Array<Types::Filter>] :filters
37844
+ # Filters for the request:
37845
+ #
37846
+ # * `resource-arn` - The Amazon Resource Name (ARN) of a exclusion.
37847
+ #
37848
+ # * `internet-gateway-exclusion-mode` - The mode of a VPC BPA exclusion.
37849
+ # Possible values: `bidirectional-access-allowed |
37850
+ # egress-access-allowed`.
37851
+ #
37852
+ # * `state` - The state of VPC BPA. Possible values: `create-in-progress
37853
+ # | create-complete | update-in-progress | update-complete |
37854
+ # delete-in-progress | deleted-complete | disable-in-progress |
37855
+ # disable-complete`
37856
+ #
37857
+ # * `tag` - The key/value combination of a tag assigned to the resource.
37858
+ # Use the tag key in the filter name and the tag value as the filter
37859
+ # value. For example, to find all resources that have a tag with the
37860
+ # key `Owner` and the value `TeamA`, specify `tag:Owner` for the
37861
+ # filter name and `TeamA` for the filter value.
37862
+ #
37863
+ # * `tag-key` - The key of a tag assigned to the resource. Use this
37864
+ # filter to find all resources assigned a tag with a specific key,
37865
+ # regardless of the tag value.
37866
+ #
37867
+ # * `tag-value`: The value of a tag assigned to the resource. Use this
37868
+ # filter to find all resources assigned a tag with a specific value,
37869
+ # regardless of the tag key.
37870
+ #
37871
+ # @option params [Array<String>] :exclusion_ids
37872
+ # IDs of exclusions.
37873
+ #
37874
+ # @option params [String] :next_token
37875
+ # The token returned from a previous paginated request. Pagination
37876
+ # continues from the end of the items returned by the previous request.
37877
+ #
37878
+ # @option params [Integer] :max_results
37879
+ # The maximum number of items to return for this request. To get the
37880
+ # next page of items, make another request with the token returned in
37881
+ # the output. For more information, see [Pagination][1].
37882
+ #
37883
+ #
37884
+ #
37885
+ # [1]: https://docs.aws.amazon.com/AWSEC2/latest/APIReference/Query-Requests.html#api-pagination
37886
+ #
37887
+ # @return [Types::DescribeVpcBlockPublicAccessExclusionsResult] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
37888
+ #
37889
+ # * {Types::DescribeVpcBlockPublicAccessExclusionsResult#vpc_block_public_access_exclusions #vpc_block_public_access_exclusions} => Array&lt;Types::VpcBlockPublicAccessExclusion&gt;
37890
+ # * {Types::DescribeVpcBlockPublicAccessExclusionsResult#next_token #next_token} => String
37891
+ #
37892
+ # @example Request syntax with placeholder values
37893
+ #
37894
+ # resp = client.describe_vpc_block_public_access_exclusions({
37895
+ # dry_run: false,
37896
+ # filters: [
37897
+ # {
37898
+ # name: "String",
37899
+ # values: ["String"],
37900
+ # },
37901
+ # ],
37902
+ # exclusion_ids: ["VpcBlockPublicAccessExclusionId"],
37903
+ # next_token: "String",
37904
+ # max_results: 1,
37905
+ # })
37906
+ #
37907
+ # @example Response structure
37908
+ #
37909
+ # resp.vpc_block_public_access_exclusions #=> Array
37910
+ # resp.vpc_block_public_access_exclusions[0].exclusion_id #=> String
37911
+ # resp.vpc_block_public_access_exclusions[0].internet_gateway_exclusion_mode #=> String, one of "allow-bidirectional", "allow-egress"
37912
+ # resp.vpc_block_public_access_exclusions[0].resource_arn #=> String
37913
+ # resp.vpc_block_public_access_exclusions[0].state #=> String, one of "create-in-progress", "create-complete", "create-failed", "update-in-progress", "update-complete", "update-failed", "delete-in-progress", "delete-complete", "disable-in-progress", "disable-complete"
37914
+ # resp.vpc_block_public_access_exclusions[0].reason #=> String
37915
+ # resp.vpc_block_public_access_exclusions[0].creation_timestamp #=> Time
37916
+ # resp.vpc_block_public_access_exclusions[0].last_update_timestamp #=> Time
37917
+ # resp.vpc_block_public_access_exclusions[0].deletion_timestamp #=> Time
37918
+ # resp.vpc_block_public_access_exclusions[0].tags #=> Array
37919
+ # resp.vpc_block_public_access_exclusions[0].tags[0].key #=> String
37920
+ # resp.vpc_block_public_access_exclusions[0].tags[0].value #=> String
37921
+ # resp.next_token #=> String
37922
+ #
37923
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeVpcBlockPublicAccessExclusions AWS API Documentation
37924
+ #
37925
+ # @overload describe_vpc_block_public_access_exclusions(params = {})
37926
+ # @param [Hash] params ({})
37927
+ def describe_vpc_block_public_access_exclusions(params = {}, options = {})
37928
+ req = build_request(:describe_vpc_block_public_access_exclusions, params)
37929
+ req.send_request(options)
37930
+ end
37931
+
37932
+ # Describe VPC Block Public Access (BPA) options. VPC Block public
37933
+ # Access (BPA) enables you to block resources in VPCs and subnets that
37934
+ # you own in a Region from reaching or being reached from the internet
37935
+ # through internet gateways and egress-only internet gateways. To learn
37936
+ # more about VPC BPA, see [Block public access to VPCs and subnets][1]
37937
+ # in the *Amazon VPC User Guide*.
37938
+ #
37939
+ #
37940
+ #
37941
+ # [1]: https://docs.aws.amazon.com/vpc/latest/userguide/security-vpc-bpa.html
37942
+ #
37943
+ # @option params [Boolean] :dry_run
37944
+ # Checks whether you have the required permissions for the action,
37945
+ # without actually making the request, and provides an error response.
37946
+ # If you have the required permissions, the error response is
37947
+ # `DryRunOperation`. Otherwise, it is `UnauthorizedOperation`.
37948
+ #
37949
+ # @return [Types::DescribeVpcBlockPublicAccessOptionsResult] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
37950
+ #
37951
+ # * {Types::DescribeVpcBlockPublicAccessOptionsResult#vpc_block_public_access_options #vpc_block_public_access_options} => Types::VpcBlockPublicAccessOptions
37952
+ #
37953
+ # @example Request syntax with placeholder values
37954
+ #
37955
+ # resp = client.describe_vpc_block_public_access_options({
37956
+ # dry_run: false,
37957
+ # })
37958
+ #
37959
+ # @example Response structure
37960
+ #
37961
+ # resp.vpc_block_public_access_options.aws_account_id #=> String
37962
+ # resp.vpc_block_public_access_options.aws_region #=> String
37963
+ # resp.vpc_block_public_access_options.state #=> String, one of "default-state", "update-in-progress", "update-complete"
37964
+ # resp.vpc_block_public_access_options.internet_gateway_block_mode #=> String, one of "off", "block-bidirectional", "block-ingress"
37965
+ # resp.vpc_block_public_access_options.reason #=> String
37966
+ # resp.vpc_block_public_access_options.last_update_timestamp #=> Time
37967
+ #
37968
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeVpcBlockPublicAccessOptions AWS API Documentation
37969
+ #
37970
+ # @overload describe_vpc_block_public_access_options(params = {})
37971
+ # @param [Hash] params ({})
37972
+ def describe_vpc_block_public_access_options(params = {}, options = {})
37973
+ req = build_request(:describe_vpc_block_public_access_options, params)
37974
+ req.send_request(options)
37975
+ end
37976
+
37673
37977
  # <note markdown="1"> This action is deprecated.
37674
37978
  #
37675
37979
  # </note>
@@ -37691,11 +37995,11 @@ module Aws::EC2
37691
37995
  # * `is-classic-link-enabled` - Whether the VPC is enabled for
37692
37996
  # ClassicLink (`true` \| `false`).
37693
37997
  #
37694
- # * `tag`:&lt;key&gt; - The key/value combination of a tag assigned to
37695
- # the resource. Use the tag key in the filter name and the tag value
37696
- # as the filter value. For example, to find all resources that have a
37697
- # tag with the key `Owner` and the value `TeamA`, specify `tag:Owner`
37698
- # for the filter name and `TeamA` for the filter value.
37998
+ # * `tag` - The key/value combination of a tag assigned to the resource.
37999
+ # Use the tag key in the filter name and the tag value as the filter
38000
+ # value. For example, to find all resources that have a tag with the
38001
+ # key `Owner` and the value `TeamA`, specify `tag:Owner` for the
38002
+ # filter name and `TeamA` for the filter value.
37699
38003
  #
37700
38004
  # * `tag-key` - The key of a tag assigned to the resource. Use this
37701
38005
  # filter to find all resources assigned a tag with a specific key,
@@ -38434,11 +38738,11 @@ module Aws::EC2
38434
38738
  # * `status-message` - A message that provides more information about
38435
38739
  # the status of the VPC peering connection, if applicable.
38436
38740
  #
38437
- # * `tag`:&lt;key&gt; - The key/value combination of a tag assigned to
38438
- # the resource. Use the tag key in the filter name and the tag value
38439
- # as the filter value. For example, to find all resources that have a
38440
- # tag with the key `Owner` and the value `TeamA`, specify `tag:Owner`
38441
- # for the filter name and `TeamA` for the filter value.
38741
+ # * `tag` - The key/value combination of a tag assigned to the resource.
38742
+ # Use the tag key in the filter name and the tag value as the filter
38743
+ # value. For example, to find all resources that have a tag with the
38744
+ # key `Owner` and the value `TeamA`, specify `tag:Owner` for the
38745
+ # filter name and `TeamA` for the filter value.
38442
38746
  #
38443
38747
  # * `tag-key` - The key of a tag assigned to the resource. Use this
38444
38748
  # filter to find all resources assigned a tag with a specific key,
@@ -38559,11 +38863,11 @@ module Aws::EC2
38559
38863
  #
38560
38864
  # * `state` - The state of the VPC (`pending` \| `available`).
38561
38865
  #
38562
- # * `tag`:&lt;key&gt; - The key/value combination of a tag assigned to
38563
- # the resource. Use the tag key in the filter name and the tag value
38564
- # as the filter value. For example, to find all resources that have a
38565
- # tag with the key `Owner` and the value `TeamA`, specify `tag:Owner`
38566
- # for the filter name and `TeamA` for the filter value.
38866
+ # * `tag` - The key/value combination of a tag assigned to the resource.
38867
+ # Use the tag key in the filter name and the tag value as the filter
38868
+ # value. For example, to find all resources that have a tag with the
38869
+ # key `Owner` and the value `TeamA`, specify `tag:Owner` for the
38870
+ # filter name and `TeamA` for the filter value.
38567
38871
  #
38568
38872
  # * `tag-key` - The key of a tag assigned to the resource. Use this
38569
38873
  # filter to find all resources assigned a tag with a specific key,
@@ -38670,6 +38974,7 @@ module Aws::EC2
38670
38974
  # resp.vpcs[0].tags #=> Array
38671
38975
  # resp.vpcs[0].tags[0].key #=> String
38672
38976
  # resp.vpcs[0].tags[0].value #=> String
38977
+ # resp.vpcs[0].block_public_access_states.internet_gateway_block_mode #=> String, one of "off", "block-bidirectional", "block-ingress"
38673
38978
  # resp.vpcs[0].vpc_id #=> String
38674
38979
  # resp.vpcs[0].state #=> String, one of "pending", "available"
38675
38980
  # resp.vpcs[0].cidr_block #=> String
@@ -52069,6 +52374,131 @@ module Aws::EC2
52069
52374
  req.send_request(options)
52070
52375
  end
52071
52376
 
52377
+ # Modify VPC Block Public Access (BPA) exclusions. A VPC BPA exclusion
52378
+ # is a mode that can be applied to a single VPC or subnet that exempts
52379
+ # it from the account’s BPA mode and will allow bidirectional or
52380
+ # egress-only access. You can create BPA exclusions for VPCs and subnets
52381
+ # even when BPA is not enabled on the account to ensure that there is no
52382
+ # traffic disruption to the exclusions when VPC BPA is turned on.
52383
+ #
52384
+ # @option params [Boolean] :dry_run
52385
+ # Checks whether you have the required permissions for the action,
52386
+ # without actually making the request, and provides an error response.
52387
+ # If you have the required permissions, the error response is
52388
+ # `DryRunOperation`. Otherwise, it is `UnauthorizedOperation`.
52389
+ #
52390
+ # @option params [required, String] :exclusion_id
52391
+ # The ID of an exclusion.
52392
+ #
52393
+ # @option params [required, String] :internet_gateway_exclusion_mode
52394
+ # The exclusion mode for internet gateway traffic.
52395
+ #
52396
+ # * `bidirectional-access-allowed`: Allow all internet traffic to and
52397
+ # from the excluded VPCs and subnets.
52398
+ #
52399
+ # * `egress-access-allowed`: Allow outbound internet traffic from the
52400
+ # excluded VPCs and subnets. Block inbound internet traffic to the
52401
+ # excluded VPCs and subnets. Only applies when VPC Block Public Access
52402
+ # is set to Bidirectional.
52403
+ #
52404
+ # @return [Types::ModifyVpcBlockPublicAccessExclusionResult] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
52405
+ #
52406
+ # * {Types::ModifyVpcBlockPublicAccessExclusionResult#vpc_block_public_access_exclusion #vpc_block_public_access_exclusion} => Types::VpcBlockPublicAccessExclusion
52407
+ #
52408
+ # @example Request syntax with placeholder values
52409
+ #
52410
+ # resp = client.modify_vpc_block_public_access_exclusion({
52411
+ # dry_run: false,
52412
+ # exclusion_id: "VpcBlockPublicAccessExclusionId", # required
52413
+ # internet_gateway_exclusion_mode: "allow-bidirectional", # required, accepts allow-bidirectional, allow-egress
52414
+ # })
52415
+ #
52416
+ # @example Response structure
52417
+ #
52418
+ # resp.vpc_block_public_access_exclusion.exclusion_id #=> String
52419
+ # resp.vpc_block_public_access_exclusion.internet_gateway_exclusion_mode #=> String, one of "allow-bidirectional", "allow-egress"
52420
+ # resp.vpc_block_public_access_exclusion.resource_arn #=> String
52421
+ # resp.vpc_block_public_access_exclusion.state #=> String, one of "create-in-progress", "create-complete", "create-failed", "update-in-progress", "update-complete", "update-failed", "delete-in-progress", "delete-complete", "disable-in-progress", "disable-complete"
52422
+ # resp.vpc_block_public_access_exclusion.reason #=> String
52423
+ # resp.vpc_block_public_access_exclusion.creation_timestamp #=> Time
52424
+ # resp.vpc_block_public_access_exclusion.last_update_timestamp #=> Time
52425
+ # resp.vpc_block_public_access_exclusion.deletion_timestamp #=> Time
52426
+ # resp.vpc_block_public_access_exclusion.tags #=> Array
52427
+ # resp.vpc_block_public_access_exclusion.tags[0].key #=> String
52428
+ # resp.vpc_block_public_access_exclusion.tags[0].value #=> String
52429
+ #
52430
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyVpcBlockPublicAccessExclusion AWS API Documentation
52431
+ #
52432
+ # @overload modify_vpc_block_public_access_exclusion(params = {})
52433
+ # @param [Hash] params ({})
52434
+ def modify_vpc_block_public_access_exclusion(params = {}, options = {})
52435
+ req = build_request(:modify_vpc_block_public_access_exclusion, params)
52436
+ req.send_request(options)
52437
+ end
52438
+
52439
+ # Modify VPC Block Public Access (BPA) options. VPC Block public Access
52440
+ # (BPA) enables you to block resources in VPCs and subnets that you own
52441
+ # in a Region from reaching or being reached from the internet through
52442
+ # internet gateways and egress-only internet gateways. To learn more
52443
+ # about VPC BPA, see [Block public access to VPCs and subnets][1] in the
52444
+ # *Amazon VPC User Guide*.
52445
+ #
52446
+ #
52447
+ #
52448
+ # [1]: https://docs.aws.amazon.com/vpc/latest/userguide/security-vpc-bpa.html
52449
+ #
52450
+ # @option params [Boolean] :dry_run
52451
+ # Checks whether you have the required permissions for the action,
52452
+ # without actually making the request, and provides an error response.
52453
+ # If you have the required permissions, the error response is
52454
+ # `DryRunOperation`. Otherwise, it is `UnauthorizedOperation`.
52455
+ #
52456
+ # @option params [required, String] :internet_gateway_block_mode
52457
+ # The mode of VPC BPA.
52458
+ #
52459
+ # * `bidirectional-access-allowed`: VPC BPA is not enabled and traffic
52460
+ # is allowed to and from internet gateways and egress-only internet
52461
+ # gateways in this Region.
52462
+ #
52463
+ # * `bidirectional-access-blocked`: Block all traffic to and from
52464
+ # internet gateways and egress-only internet gateways in this Region
52465
+ # (except for excluded VPCs and subnets).
52466
+ #
52467
+ # * `ingress-access-blocked`: Block all internet traffic to the VPCs in
52468
+ # this Region (except for VPCs or subnets which are excluded). Only
52469
+ # traffic to and from NAT gateways and egress-only internet gateways
52470
+ # is allowed because these gateways only allow outbound connections to
52471
+ # be established.
52472
+ #
52473
+ # @return [Types::ModifyVpcBlockPublicAccessOptionsResult] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
52474
+ #
52475
+ # * {Types::ModifyVpcBlockPublicAccessOptionsResult#vpc_block_public_access_options #vpc_block_public_access_options} => Types::VpcBlockPublicAccessOptions
52476
+ #
52477
+ # @example Request syntax with placeholder values
52478
+ #
52479
+ # resp = client.modify_vpc_block_public_access_options({
52480
+ # dry_run: false,
52481
+ # internet_gateway_block_mode: "off", # required, accepts off, block-bidirectional, block-ingress
52482
+ # })
52483
+ #
52484
+ # @example Response structure
52485
+ #
52486
+ # resp.vpc_block_public_access_options.aws_account_id #=> String
52487
+ # resp.vpc_block_public_access_options.aws_region #=> String
52488
+ # resp.vpc_block_public_access_options.state #=> String, one of "default-state", "update-in-progress", "update-complete"
52489
+ # resp.vpc_block_public_access_options.internet_gateway_block_mode #=> String, one of "off", "block-bidirectional", "block-ingress"
52490
+ # resp.vpc_block_public_access_options.reason #=> String
52491
+ # resp.vpc_block_public_access_options.last_update_timestamp #=> Time
52492
+ #
52493
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyVpcBlockPublicAccessOptions AWS API Documentation
52494
+ #
52495
+ # @overload modify_vpc_block_public_access_options(params = {})
52496
+ # @param [Hash] params ({})
52497
+ def modify_vpc_block_public_access_options(params = {}, options = {})
52498
+ req = build_request(:modify_vpc_block_public_access_options, params)
52499
+ req.send_request(options)
52500
+ end
52501
+
52072
52502
  # Modifies attributes of a specified VPC endpoint. The attributes that
52073
52503
  # you can modify depend on the type of VPC endpoint (interface, gateway,
52074
52504
  # or Gateway Load Balancer). For more information, see the [Amazon Web
@@ -60918,7 +61348,7 @@ module Aws::EC2
60918
61348
  tracer: tracer
60919
61349
  )
60920
61350
  context[:gem_name] = 'aws-sdk-ec2'
60921
- context[:gem_version] = '1.490.0'
61351
+ context[:gem_version] = '1.491.0'
60922
61352
  Seahorse::Client::Request.new(handlers, context)
60923
61353
  end
60924
61354