aws-sdk-ec2 1.490.0 → 1.491.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -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