aws-sdk-networkfirewall 1.95.0 → 1.96.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.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: e49743c64ce3f821f44464693c085ae86d078983edc7a7f6fff41380bca43f8a
4
- data.tar.gz: 5a74a381f489461473bb6e7e2edb5049592ef9c1d632da1fe15c69ff40c10794
3
+ metadata.gz: 4a3e3dc1475e3dd6dc7504f48c2e7f4cb4d2e899a319c7b556e907c7243e7eb3
4
+ data.tar.gz: 3747273908aebabe39680fa07904a7cf275701bfb7adf1eec77113c8f5d0165b
5
5
  SHA512:
6
- metadata.gz: bb18a57f675717b97dffb189a47648616e174416041cf5349ef269972a82dcf57a93eeacf435b8b0a65cd977bc1c3c2d77eb0867e0c76d178e5b5ba86303ad95
7
- data.tar.gz: df180bc6465716ce039593c897f80e50b2b454ff37c021870475ab0c4942389e14717d589574d60aacd735a92d7786ebd3d8b1a73ed3a185b5668936f9590b4c
6
+ metadata.gz: 5f4a2fc8291f604f4815a5769d2410529d822b6613aa44c3f2a14ea882c9bb7fe1c8533c9c471980a41108e691b85ef14f31906a1f1cfef41b7db207a49b1012
7
+ data.tar.gz: 4014485ba584d5d0daa9b0aac624baec46c535ea8006160ceae357ffd1f121cfd1c9cbda51cb2e47a99af3ec91315d82ff19994c48d3c26f85dc14dc034b12ac
data/CHANGELOG.md CHANGED
@@ -1,6 +1,11 @@
1
1
  Unreleased Changes
2
2
  ------------------
3
3
 
4
+ 1.96.0 (2026-08-03)
5
+ ------------------
6
+
7
+ * Feature - This launch allows customers to use Network Firewall as an explicit Proxy and protect their workloads against threat of data exfiltration.
8
+
4
9
  1.95.0 (2026-07-31)
5
10
  ------------------
6
11
 
data/VERSION CHANGED
@@ -1 +1 @@
1
- 1.95.0
1
+ 1.96.0
@@ -1057,6 +1057,40 @@ module Aws::NetworkFirewall
1057
1057
  #
1058
1058
  # Default value: `FALSE`
1059
1059
  #
1060
+ # @option params [Array<Types::NatGatewayMapping>] :nat_gateway_mappings
1061
+ # The NAT gateways that the firewall uses to proxy traffic when
1062
+ # `NoSourcePreservation` is `TRUE`. Network Firewall attaches the
1063
+ # firewall to each NAT gateway that you specify, so that egress traffic
1064
+ # is proxied through the NAT gateway.
1065
+ #
1066
+ # @option params [Types::ProxySettings] :proxy_settings
1067
+ # The listener configuration for a proxy mode firewall, used when
1068
+ # `NoSourcePreservation` is `TRUE`. This specifies the ports and
1069
+ # protocols on which the firewall's proxy listens for traffic.
1070
+ #
1071
+ # @option params [Boolean] :no_source_preservation
1072
+ # Optional. Indicates whether the firewall operates in proxy mode, in
1073
+ # which the source IP address of the traffic is not preserved. When set
1074
+ # to `TRUE`, the firewall proxies traffic through a NAT gateway and the
1075
+ # traffic reaching the destination uses the NAT gateway's IP address as
1076
+ # the source.
1077
+ #
1078
+ # When you set this to `TRUE`, you must specify `NatGatewayMappings` and
1079
+ # `VpcEndpoint` instead of a top-level `VpcId` and `SubnetMappings`.
1080
+ #
1081
+ # You can't change this setting after you create the firewall.
1082
+ #
1083
+ # Default value: `FALSE`
1084
+ #
1085
+ # @option params [Types::VpcEndpoint] :vpc_endpoint
1086
+ # The VPC and subnets for the firewall endpoint, used when
1087
+ # `NoSourcePreservation` is `TRUE`. Network Firewall creates the
1088
+ # firewall endpoint in the subnets that you specify here.
1089
+ #
1090
+ # For proxy mode firewalls, provide the firewall's VPC and endpoint
1091
+ # subnets through this parameter instead of the top-level `VpcId` and
1092
+ # `SubnetMappings`.
1093
+ #
1060
1094
  # @return [Types::CreateFirewallResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1061
1095
  #
1062
1096
  # * {Types::CreateFirewallResponse#firewall #firewall} => Types::Firewall
@@ -1096,6 +1130,29 @@ module Aws::NetworkFirewall
1096
1130
  # },
1097
1131
  # ],
1098
1132
  # availability_zone_change_protection: false,
1133
+ # nat_gateway_mappings: [
1134
+ # {
1135
+ # nat_gateway_id: "NatGatewayId", # required
1136
+ # },
1137
+ # ],
1138
+ # proxy_settings: {
1139
+ # listener_properties: [ # required
1140
+ # {
1141
+ # port: 1,
1142
+ # type: "HTTP", # accepts HTTP, HTTPS
1143
+ # },
1144
+ # ],
1145
+ # },
1146
+ # no_source_preservation: false,
1147
+ # vpc_endpoint: {
1148
+ # vpc_id: "VpcId", # required
1149
+ # subnet_mappings: [ # required
1150
+ # {
1151
+ # subnet_id: "CollectionMember_String", # required
1152
+ # ip_address_type: "DUALSTACK", # accepts DUALSTACK, IPV4, IPV6
1153
+ # },
1154
+ # ],
1155
+ # },
1099
1156
  # })
1100
1157
  #
1101
1158
  # @example Response structure
@@ -1125,6 +1182,16 @@ module Aws::NetworkFirewall
1125
1182
  # resp.firewall.availability_zone_mappings #=> Array
1126
1183
  # resp.firewall.availability_zone_mappings[0].availability_zone #=> String
1127
1184
  # resp.firewall.availability_zone_change_protection #=> Boolean
1185
+ # resp.firewall.nat_gateway_mappings #=> Array
1186
+ # resp.firewall.nat_gateway_mappings[0].nat_gateway_id #=> String
1187
+ # resp.firewall.proxy_settings.listener_properties #=> Array
1188
+ # resp.firewall.proxy_settings.listener_properties[0].port #=> Integer
1189
+ # resp.firewall.proxy_settings.listener_properties[0].type #=> String, one of "HTTP", "HTTPS"
1190
+ # resp.firewall.no_source_preservation #=> Boolean
1191
+ # resp.firewall.vpc_endpoint.vpc_id #=> String
1192
+ # resp.firewall.vpc_endpoint.subnet_mappings #=> Array
1193
+ # resp.firewall.vpc_endpoint.subnet_mappings[0].subnet_id #=> String
1194
+ # resp.firewall.vpc_endpoint.subnet_mappings[0].ip_address_type #=> String, one of "DUALSTACK", "IPV4", "IPV6"
1128
1195
  # resp.firewall_status.status #=> String, one of "PROVISIONING", "DELETING", "READY"
1129
1196
  # resp.firewall_status.configuration_sync_state_summary #=> String, one of "PENDING", "IN_SYNC", "CAPACITY_CONSTRAINED"
1130
1197
  # resp.firewall_status.sync_states #=> Hash
@@ -1132,9 +1199,15 @@ module Aws::NetworkFirewall
1132
1199
  # resp.firewall_status.sync_states["AvailabilityZone"].attachment.endpoint_id #=> String
1133
1200
  # resp.firewall_status.sync_states["AvailabilityZone"].attachment.status #=> String, one of "CREATING", "DELETING", "FAILED", "ERROR", "SCALING", "READY"
1134
1201
  # resp.firewall_status.sync_states["AvailabilityZone"].attachment.status_message #=> String
1202
+ # resp.firewall_status.sync_states["AvailabilityZone"].attachment.dns_name #=> String
1135
1203
  # resp.firewall_status.sync_states["AvailabilityZone"].config #=> Hash
1136
1204
  # resp.firewall_status.sync_states["AvailabilityZone"].config["ResourceName"].sync_status #=> String, one of "PENDING", "IN_SYNC", "CAPACITY_CONSTRAINED", "NOT_SUBSCRIBED", "DEPRECATED"
1137
1205
  # resp.firewall_status.sync_states["AvailabilityZone"].config["ResourceName"].update_token #=> String
1206
+ # resp.firewall_status.sync_states["AvailabilityZone"].nat_gateway_attachments #=> Array
1207
+ # resp.firewall_status.sync_states["AvailabilityZone"].nat_gateway_attachments[0].nat_gateway_id #=> String
1208
+ # resp.firewall_status.sync_states["AvailabilityZone"].nat_gateway_attachments[0].status #=> String, one of "CREATING", "READY", "UPDATING", "FAILED", "DELETING"
1209
+ # resp.firewall_status.sync_states["AvailabilityZone"].nat_gateway_attachments[0].status_message #=> String
1210
+ # resp.firewall_status.sync_states["AvailabilityZone"].nat_gateway_attachments[0].dns_name #=> String
1138
1211
  # resp.firewall_status.capacity_usage_summary.cid_rs.available_cidr_count #=> Integer
1139
1212
  # resp.firewall_status.capacity_usage_summary.cid_rs.utilized_cidr_count #=> Integer
1140
1213
  # resp.firewall_status.capacity_usage_summary.cid_rs.ip_set_references #=> Hash
@@ -2315,6 +2388,7 @@ module Aws::NetworkFirewall
2315
2388
  # resp.vpc_endpoint_association_status.association_sync_state["AvailabilityZone"].attachment.endpoint_id #=> String
2316
2389
  # resp.vpc_endpoint_association_status.association_sync_state["AvailabilityZone"].attachment.status #=> String, one of "CREATING", "DELETING", "FAILED", "ERROR", "SCALING", "READY"
2317
2390
  # resp.vpc_endpoint_association_status.association_sync_state["AvailabilityZone"].attachment.status_message #=> String
2391
+ # resp.vpc_endpoint_association_status.association_sync_state["AvailabilityZone"].attachment.dns_name #=> String
2318
2392
  #
2319
2393
  # @see http://docs.aws.amazon.com/goto/WebAPI/network-firewall-2020-11-12/CreateVpcEndpointAssociation AWS API Documentation
2320
2394
  #
@@ -2434,6 +2508,16 @@ module Aws::NetworkFirewall
2434
2508
  # resp.firewall.availability_zone_mappings #=> Array
2435
2509
  # resp.firewall.availability_zone_mappings[0].availability_zone #=> String
2436
2510
  # resp.firewall.availability_zone_change_protection #=> Boolean
2511
+ # resp.firewall.nat_gateway_mappings #=> Array
2512
+ # resp.firewall.nat_gateway_mappings[0].nat_gateway_id #=> String
2513
+ # resp.firewall.proxy_settings.listener_properties #=> Array
2514
+ # resp.firewall.proxy_settings.listener_properties[0].port #=> Integer
2515
+ # resp.firewall.proxy_settings.listener_properties[0].type #=> String, one of "HTTP", "HTTPS"
2516
+ # resp.firewall.no_source_preservation #=> Boolean
2517
+ # resp.firewall.vpc_endpoint.vpc_id #=> String
2518
+ # resp.firewall.vpc_endpoint.subnet_mappings #=> Array
2519
+ # resp.firewall.vpc_endpoint.subnet_mappings[0].subnet_id #=> String
2520
+ # resp.firewall.vpc_endpoint.subnet_mappings[0].ip_address_type #=> String, one of "DUALSTACK", "IPV4", "IPV6"
2437
2521
  # resp.firewall_status.status #=> String, one of "PROVISIONING", "DELETING", "READY"
2438
2522
  # resp.firewall_status.configuration_sync_state_summary #=> String, one of "PENDING", "IN_SYNC", "CAPACITY_CONSTRAINED"
2439
2523
  # resp.firewall_status.sync_states #=> Hash
@@ -2441,9 +2525,15 @@ module Aws::NetworkFirewall
2441
2525
  # resp.firewall_status.sync_states["AvailabilityZone"].attachment.endpoint_id #=> String
2442
2526
  # resp.firewall_status.sync_states["AvailabilityZone"].attachment.status #=> String, one of "CREATING", "DELETING", "FAILED", "ERROR", "SCALING", "READY"
2443
2527
  # resp.firewall_status.sync_states["AvailabilityZone"].attachment.status_message #=> String
2528
+ # resp.firewall_status.sync_states["AvailabilityZone"].attachment.dns_name #=> String
2444
2529
  # resp.firewall_status.sync_states["AvailabilityZone"].config #=> Hash
2445
2530
  # resp.firewall_status.sync_states["AvailabilityZone"].config["ResourceName"].sync_status #=> String, one of "PENDING", "IN_SYNC", "CAPACITY_CONSTRAINED", "NOT_SUBSCRIBED", "DEPRECATED"
2446
2531
  # resp.firewall_status.sync_states["AvailabilityZone"].config["ResourceName"].update_token #=> String
2532
+ # resp.firewall_status.sync_states["AvailabilityZone"].nat_gateway_attachments #=> Array
2533
+ # resp.firewall_status.sync_states["AvailabilityZone"].nat_gateway_attachments[0].nat_gateway_id #=> String
2534
+ # resp.firewall_status.sync_states["AvailabilityZone"].nat_gateway_attachments[0].status #=> String, one of "CREATING", "READY", "UPDATING", "FAILED", "DELETING"
2535
+ # resp.firewall_status.sync_states["AvailabilityZone"].nat_gateway_attachments[0].status_message #=> String
2536
+ # resp.firewall_status.sync_states["AvailabilityZone"].nat_gateway_attachments[0].dns_name #=> String
2447
2537
  # resp.firewall_status.capacity_usage_summary.cid_rs.available_cidr_count #=> Integer
2448
2538
  # resp.firewall_status.capacity_usage_summary.cid_rs.utilized_cidr_count #=> Integer
2449
2539
  # resp.firewall_status.capacity_usage_summary.cid_rs.ip_set_references #=> Hash
@@ -2948,6 +3038,7 @@ module Aws::NetworkFirewall
2948
3038
  # resp.vpc_endpoint_association_status.association_sync_state["AvailabilityZone"].attachment.endpoint_id #=> String
2949
3039
  # resp.vpc_endpoint_association_status.association_sync_state["AvailabilityZone"].attachment.status #=> String, one of "CREATING", "DELETING", "FAILED", "ERROR", "SCALING", "READY"
2950
3040
  # resp.vpc_endpoint_association_status.association_sync_state["AvailabilityZone"].attachment.status_message #=> String
3041
+ # resp.vpc_endpoint_association_status.association_sync_state["AvailabilityZone"].attachment.dns_name #=> String
2951
3042
  #
2952
3043
  # @see http://docs.aws.amazon.com/goto/WebAPI/network-firewall-2020-11-12/DeleteVpcEndpointAssociation AWS API Documentation
2953
3044
  #
@@ -3072,6 +3163,16 @@ module Aws::NetworkFirewall
3072
3163
  # resp.firewall.availability_zone_mappings #=> Array
3073
3164
  # resp.firewall.availability_zone_mappings[0].availability_zone #=> String
3074
3165
  # resp.firewall.availability_zone_change_protection #=> Boolean
3166
+ # resp.firewall.nat_gateway_mappings #=> Array
3167
+ # resp.firewall.nat_gateway_mappings[0].nat_gateway_id #=> String
3168
+ # resp.firewall.proxy_settings.listener_properties #=> Array
3169
+ # resp.firewall.proxy_settings.listener_properties[0].port #=> Integer
3170
+ # resp.firewall.proxy_settings.listener_properties[0].type #=> String, one of "HTTP", "HTTPS"
3171
+ # resp.firewall.no_source_preservation #=> Boolean
3172
+ # resp.firewall.vpc_endpoint.vpc_id #=> String
3173
+ # resp.firewall.vpc_endpoint.subnet_mappings #=> Array
3174
+ # resp.firewall.vpc_endpoint.subnet_mappings[0].subnet_id #=> String
3175
+ # resp.firewall.vpc_endpoint.subnet_mappings[0].ip_address_type #=> String, one of "DUALSTACK", "IPV4", "IPV6"
3075
3176
  # resp.firewall_status.status #=> String, one of "PROVISIONING", "DELETING", "READY"
3076
3177
  # resp.firewall_status.configuration_sync_state_summary #=> String, one of "PENDING", "IN_SYNC", "CAPACITY_CONSTRAINED"
3077
3178
  # resp.firewall_status.sync_states #=> Hash
@@ -3079,9 +3180,15 @@ module Aws::NetworkFirewall
3079
3180
  # resp.firewall_status.sync_states["AvailabilityZone"].attachment.endpoint_id #=> String
3080
3181
  # resp.firewall_status.sync_states["AvailabilityZone"].attachment.status #=> String, one of "CREATING", "DELETING", "FAILED", "ERROR", "SCALING", "READY"
3081
3182
  # resp.firewall_status.sync_states["AvailabilityZone"].attachment.status_message #=> String
3183
+ # resp.firewall_status.sync_states["AvailabilityZone"].attachment.dns_name #=> String
3082
3184
  # resp.firewall_status.sync_states["AvailabilityZone"].config #=> Hash
3083
3185
  # resp.firewall_status.sync_states["AvailabilityZone"].config["ResourceName"].sync_status #=> String, one of "PENDING", "IN_SYNC", "CAPACITY_CONSTRAINED", "NOT_SUBSCRIBED", "DEPRECATED"
3084
3186
  # resp.firewall_status.sync_states["AvailabilityZone"].config["ResourceName"].update_token #=> String
3187
+ # resp.firewall_status.sync_states["AvailabilityZone"].nat_gateway_attachments #=> Array
3188
+ # resp.firewall_status.sync_states["AvailabilityZone"].nat_gateway_attachments[0].nat_gateway_id #=> String
3189
+ # resp.firewall_status.sync_states["AvailabilityZone"].nat_gateway_attachments[0].status #=> String, one of "CREATING", "READY", "UPDATING", "FAILED", "DELETING"
3190
+ # resp.firewall_status.sync_states["AvailabilityZone"].nat_gateway_attachments[0].status_message #=> String
3191
+ # resp.firewall_status.sync_states["AvailabilityZone"].nat_gateway_attachments[0].dns_name #=> String
3085
3192
  # resp.firewall_status.capacity_usage_summary.cid_rs.available_cidr_count #=> Integer
3086
3193
  # resp.firewall_status.capacity_usage_summary.cid_rs.utilized_cidr_count #=> Integer
3087
3194
  # resp.firewall_status.capacity_usage_summary.cid_rs.ip_set_references #=> Hash
@@ -3989,6 +4096,7 @@ module Aws::NetworkFirewall
3989
4096
  # resp.vpc_endpoint_association_status.association_sync_state["AvailabilityZone"].attachment.endpoint_id #=> String
3990
4097
  # resp.vpc_endpoint_association_status.association_sync_state["AvailabilityZone"].attachment.status #=> String, one of "CREATING", "DELETING", "FAILED", "ERROR", "SCALING", "READY"
3991
4098
  # resp.vpc_endpoint_association_status.association_sync_state["AvailabilityZone"].attachment.status_message #=> String
4099
+ # resp.vpc_endpoint_association_status.association_sync_state["AvailabilityZone"].attachment.dns_name #=> String
3992
4100
  #
3993
4101
  # @see http://docs.aws.amazon.com/goto/WebAPI/network-firewall-2020-11-12/DescribeVpcEndpointAssociation AWS API Documentation
3994
4102
  #
@@ -6752,6 +6860,87 @@ module Aws::NetworkFirewall
6752
6860
  req.send_request(options)
6753
6861
  end
6754
6862
 
6863
+ # Modifies the proxy listener configuration of a proxy mode firewall.
6864
+ # Proxy mode firewalls are created with `NoSourcePreservation` set to
6865
+ # `TRUE`. Use this operation to change the ports and protocols on which
6866
+ # the firewall's proxy listens for traffic.
6867
+ #
6868
+ # @option params [String] :firewall_arn
6869
+ # The Amazon Resource Name (ARN) of the firewall.
6870
+ #
6871
+ # You must specify the ARN or the name, and you can specify both.
6872
+ #
6873
+ # @option params [String] :firewall_name
6874
+ # The descriptive name of the firewall. You can't change the name of a
6875
+ # firewall after you create it.
6876
+ #
6877
+ # You must specify the ARN or the name, and you can specify both.
6878
+ #
6879
+ # @option params [String] :update_token
6880
+ # An optional token that you can use for optimistic locking. Network
6881
+ # Firewall returns a token to your requests that access the firewall.
6882
+ # The token marks the state of the firewall resource at the time of the
6883
+ # request.
6884
+ #
6885
+ # To make an unconditional change to the firewall, omit the token in
6886
+ # your update request. Without the token, Network Firewall performs your
6887
+ # updates regardless of whether the firewall has changed since you last
6888
+ # retrieved it.
6889
+ #
6890
+ # To make a conditional change to the firewall, provide the token in
6891
+ # your update request. Network Firewall uses the token to ensure that
6892
+ # the firewall hasn't changed since you last retrieved it. If it has
6893
+ # changed, the operation fails with an `InvalidTokenException`. If this
6894
+ # happens, retrieve the firewall again to get a current copy of it with
6895
+ # a new token. Reapply your changes as needed, then try the operation
6896
+ # again using the new token.
6897
+ #
6898
+ # @option params [Types::ProxySettings] :proxy_settings
6899
+ # The proxy listener configuration to set on the firewall. This
6900
+ # specifies the ports and protocols on which the firewall's proxy
6901
+ # listens for traffic.
6902
+ #
6903
+ # @return [Types::UpdateProxySettingsResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
6904
+ #
6905
+ # * {Types::UpdateProxySettingsResponse#firewall_arn #firewall_arn} => String
6906
+ # * {Types::UpdateProxySettingsResponse#firewall_name #firewall_name} => String
6907
+ # * {Types::UpdateProxySettingsResponse#update_token #update_token} => String
6908
+ # * {Types::UpdateProxySettingsResponse#proxy_settings #proxy_settings} => Types::ProxySettings
6909
+ #
6910
+ # @example Request syntax with placeholder values
6911
+ #
6912
+ # resp = client.update_proxy_settings({
6913
+ # firewall_arn: "ResourceArn",
6914
+ # firewall_name: "ResourceName",
6915
+ # update_token: "UpdateToken",
6916
+ # proxy_settings: {
6917
+ # listener_properties: [ # required
6918
+ # {
6919
+ # port: 1,
6920
+ # type: "HTTP", # accepts HTTP, HTTPS
6921
+ # },
6922
+ # ],
6923
+ # },
6924
+ # })
6925
+ #
6926
+ # @example Response structure
6927
+ #
6928
+ # resp.firewall_arn #=> String
6929
+ # resp.firewall_name #=> String
6930
+ # resp.update_token #=> String
6931
+ # resp.proxy_settings.listener_properties #=> Array
6932
+ # resp.proxy_settings.listener_properties[0].port #=> Integer
6933
+ # resp.proxy_settings.listener_properties[0].type #=> String, one of "HTTP", "HTTPS"
6934
+ #
6935
+ # @see http://docs.aws.amazon.com/goto/WebAPI/network-firewall-2020-11-12/UpdateProxySettings AWS API Documentation
6936
+ #
6937
+ # @overload update_proxy_settings(params = {})
6938
+ # @param [Hash] params ({})
6939
+ def update_proxy_settings(params = {}, options = {})
6940
+ req = build_request(:update_proxy_settings, params)
6941
+ req.send_request(options)
6942
+ end
6943
+
6755
6944
  # Updates the rule settings for the specified rule group. You use a rule
6756
6945
  # group by reference in one or more firewall policies. When you modify a
6757
6946
  # rule group, you modify all firewall policies that use the rule group.
@@ -7275,7 +7464,7 @@ module Aws::NetworkFirewall
7275
7464
  tracer: tracer
7276
7465
  )
7277
7466
  context[:gem_name] = 'aws-sdk-networkfirewall'
7278
- context[:gem_version] = '1.95.0'
7467
+ context[:gem_version] = '1.96.0'
7279
7468
  Seahorse::Client::Request.new(handlers, context)
7280
7469
  end
7281
7470
 
@@ -170,6 +170,7 @@ module Aws::NetworkFirewall
170
170
  DisassociateAvailabilityZonesResponse = Shapes::StructureShape.new(name: 'DisassociateAvailabilityZonesResponse')
171
171
  DisassociateSubnetsRequest = Shapes::StructureShape.new(name: 'DisassociateSubnetsRequest')
172
172
  DisassociateSubnetsResponse = Shapes::StructureShape.new(name: 'DisassociateSubnetsResponse')
173
+ DnsName = Shapes::StringShape.new(name: 'DnsName')
173
174
  Domain = Shapes::StringShape.new(name: 'Domain')
174
175
  EnableMonitoringDashboard = Shapes::BooleanShape.new(name: 'EnableMonitoringDashboard')
175
176
  EnableTLSSessionHolding = Shapes::BooleanShape.new(name: 'EnableTLSSessionHolding')
@@ -274,7 +275,12 @@ module Aws::NetworkFirewall
274
275
  LogType = Shapes::StringShape.new(name: 'LogType')
275
276
  LoggingConfiguration = Shapes::StructureShape.new(name: 'LoggingConfiguration')
276
277
  MatchAttributes = Shapes::StructureShape.new(name: 'MatchAttributes')
278
+ NatGatewayAttachment = Shapes::StructureShape.new(name: 'NatGatewayAttachment')
279
+ NatGatewayAttachmentStatus = Shapes::StringShape.new(name: 'NatGatewayAttachmentStatus')
280
+ NatGatewayAttachmentsList = Shapes::ListShape.new(name: 'NatGatewayAttachmentsList')
277
281
  NatGatewayId = Shapes::StringShape.new(name: 'NatGatewayId')
282
+ NatGatewayMapping = Shapes::StructureShape.new(name: 'NatGatewayMapping')
283
+ NatGatewayMappingsList = Shapes::ListShape.new(name: 'NatGatewayMappingsList')
278
284
  NatGatewayPort = Shapes::IntegerShape.new(name: 'NatGatewayPort')
279
285
  NumberOfAssociations = Shapes::IntegerShape.new(name: 'NumberOfAssociations')
280
286
  OverrideAction = Shapes::StringShape.new(name: 'OverrideAction')
@@ -330,6 +336,7 @@ module Aws::NetworkFirewall
330
336
  ProxyRulePriority = Shapes::StructureShape.new(name: 'ProxyRulePriority')
331
337
  ProxyRulePriorityList = Shapes::ListShape.new(name: 'ProxyRulePriorityList')
332
338
  ProxyRulesByRequestPhase = Shapes::StructureShape.new(name: 'ProxyRulesByRequestPhase')
339
+ ProxySettings = Shapes::StructureShape.new(name: 'ProxySettings')
333
340
  ProxyState = Shapes::StringShape.new(name: 'ProxyState')
334
341
  PublishMetricAction = Shapes::StructureShape.new(name: 'PublishMetricAction')
335
342
  PutResourcePolicyRequest = Shapes::StructureShape.new(name: 'PutResourcePolicyRequest')
@@ -478,6 +485,8 @@ module Aws::NetworkFirewall
478
485
  UpdateProxyRulePrioritiesResponse = Shapes::StructureShape.new(name: 'UpdateProxyRulePrioritiesResponse')
479
486
  UpdateProxyRuleRequest = Shapes::StructureShape.new(name: 'UpdateProxyRuleRequest')
480
487
  UpdateProxyRuleResponse = Shapes::StructureShape.new(name: 'UpdateProxyRuleResponse')
488
+ UpdateProxySettingsRequest = Shapes::StructureShape.new(name: 'UpdateProxySettingsRequest')
489
+ UpdateProxySettingsResponse = Shapes::StructureShape.new(name: 'UpdateProxySettingsResponse')
481
490
  UpdateRuleGroupRequest = Shapes::StructureShape.new(name: 'UpdateRuleGroupRequest')
482
491
  UpdateRuleGroupResponse = Shapes::StructureShape.new(name: 'UpdateRuleGroupResponse')
483
492
  UpdateSubnetChangeProtectionRequest = Shapes::StructureShape.new(name: 'UpdateSubnetChangeProtectionRequest')
@@ -489,6 +498,7 @@ module Aws::NetworkFirewall
489
498
  VariableDefinition = Shapes::StringShape.new(name: 'VariableDefinition')
490
499
  VariableDefinitionList = Shapes::ListShape.new(name: 'VariableDefinitionList')
491
500
  VendorName = Shapes::StringShape.new(name: 'VendorName')
501
+ VpcEndpoint = Shapes::StructureShape.new(name: 'VpcEndpoint')
492
502
  VpcEndpointAssociation = Shapes::StructureShape.new(name: 'VpcEndpointAssociation')
493
503
  VpcEndpointAssociationMetadata = Shapes::StructureShape.new(name: 'VpcEndpointAssociationMetadata')
494
504
  VpcEndpointAssociationStatus = Shapes::StructureShape.new(name: 'VpcEndpointAssociationStatus')
@@ -594,6 +604,7 @@ module Aws::NetworkFirewall
594
604
  Attachment.add_member(:endpoint_id, Shapes::ShapeRef.new(shape: EndpointId, location_name: "EndpointId"))
595
605
  Attachment.add_member(:status, Shapes::ShapeRef.new(shape: AttachmentStatus, location_name: "Status"))
596
606
  Attachment.add_member(:status_message, Shapes::ShapeRef.new(shape: StatusMessage, location_name: "StatusMessage"))
607
+ Attachment.add_member(:dns_name, Shapes::ShapeRef.new(shape: DnsName, location_name: "DnsName"))
597
608
  Attachment.struct_class = Types::Attachment
598
609
 
599
610
  AvailabilityZoneMapping.add_member(:availability_zone, Shapes::ShapeRef.new(shape: AvailabilityZoneMappingString, required: true, location_name: "AvailabilityZone"))
@@ -681,6 +692,10 @@ module Aws::NetworkFirewall
681
692
  CreateFirewallRequest.add_member(:transit_gateway_id, Shapes::ShapeRef.new(shape: TransitGatewayId, location_name: "TransitGatewayId"))
682
693
  CreateFirewallRequest.add_member(:availability_zone_mappings, Shapes::ShapeRef.new(shape: AvailabilityZoneMappings, location_name: "AvailabilityZoneMappings"))
683
694
  CreateFirewallRequest.add_member(:availability_zone_change_protection, Shapes::ShapeRef.new(shape: Boolean, location_name: "AvailabilityZoneChangeProtection"))
695
+ CreateFirewallRequest.add_member(:nat_gateway_mappings, Shapes::ShapeRef.new(shape: NatGatewayMappingsList, location_name: "NatGatewayMappings"))
696
+ CreateFirewallRequest.add_member(:proxy_settings, Shapes::ShapeRef.new(shape: ProxySettings, location_name: "ProxySettings"))
697
+ CreateFirewallRequest.add_member(:no_source_preservation, Shapes::ShapeRef.new(shape: Boolean, location_name: "NoSourcePreservation"))
698
+ CreateFirewallRequest.add_member(:vpc_endpoint, Shapes::ShapeRef.new(shape: VpcEndpoint, location_name: "VpcEndpoint"))
684
699
  CreateFirewallRequest.struct_class = Types::CreateFirewallRequest
685
700
 
686
701
  CreateFirewallResponse.add_member(:firewall, Shapes::ShapeRef.new(shape: Firewall, location_name: "Firewall"))
@@ -1132,6 +1147,10 @@ module Aws::NetworkFirewall
1132
1147
  Firewall.add_member(:transit_gateway_owner_account_id, Shapes::ShapeRef.new(shape: AWSAccountId, location_name: "TransitGatewayOwnerAccountId"))
1133
1148
  Firewall.add_member(:availability_zone_mappings, Shapes::ShapeRef.new(shape: AvailabilityZoneMappings, location_name: "AvailabilityZoneMappings"))
1134
1149
  Firewall.add_member(:availability_zone_change_protection, Shapes::ShapeRef.new(shape: Boolean, location_name: "AvailabilityZoneChangeProtection"))
1150
+ Firewall.add_member(:nat_gateway_mappings, Shapes::ShapeRef.new(shape: NatGatewayMappingsList, location_name: "NatGatewayMappings"))
1151
+ Firewall.add_member(:proxy_settings, Shapes::ShapeRef.new(shape: ProxySettings, location_name: "ProxySettings"))
1152
+ Firewall.add_member(:no_source_preservation, Shapes::ShapeRef.new(shape: Boolean, location_name: "NoSourcePreservation"))
1153
+ Firewall.add_member(:vpc_endpoint, Shapes::ShapeRef.new(shape: VpcEndpoint, location_name: "VpcEndpoint"))
1135
1154
  Firewall.struct_class = Types::Firewall
1136
1155
 
1137
1156
  FirewallMetadata.add_member(:firewall_name, Shapes::ShapeRef.new(shape: ResourceName, location_name: "FirewallName"))
@@ -1451,6 +1470,19 @@ module Aws::NetworkFirewall
1451
1470
  MatchAttributes.add_member(:tcp_flags, Shapes::ShapeRef.new(shape: TCPFlags, location_name: "TCPFlags"))
1452
1471
  MatchAttributes.struct_class = Types::MatchAttributes
1453
1472
 
1473
+ NatGatewayAttachment.add_member(:nat_gateway_id, Shapes::ShapeRef.new(shape: NatGatewayId, required: true, location_name: "NatGatewayId"))
1474
+ NatGatewayAttachment.add_member(:status, Shapes::ShapeRef.new(shape: NatGatewayAttachmentStatus, required: true, location_name: "Status"))
1475
+ NatGatewayAttachment.add_member(:status_message, Shapes::ShapeRef.new(shape: StatusReason, location_name: "StatusMessage"))
1476
+ NatGatewayAttachment.add_member(:dns_name, Shapes::ShapeRef.new(shape: DnsName, location_name: "DnsName"))
1477
+ NatGatewayAttachment.struct_class = Types::NatGatewayAttachment
1478
+
1479
+ NatGatewayAttachmentsList.member = Shapes::ShapeRef.new(shape: NatGatewayAttachment)
1480
+
1481
+ NatGatewayMapping.add_member(:nat_gateway_id, Shapes::ShapeRef.new(shape: NatGatewayId, required: true, location_name: "NatGatewayId"))
1482
+ NatGatewayMapping.struct_class = Types::NatGatewayMapping
1483
+
1484
+ NatGatewayMappingsList.member = Shapes::ShapeRef.new(shape: NatGatewayMapping)
1485
+
1454
1486
  PerObjectStatus.add_member(:sync_status, Shapes::ShapeRef.new(shape: PerObjectSyncStatus, location_name: "SyncStatus"))
1455
1487
  PerObjectStatus.add_member(:update_token, Shapes::ShapeRef.new(shape: UpdateToken, location_name: "UpdateToken"))
1456
1488
  PerObjectStatus.struct_class = Types::PerObjectStatus
@@ -1587,6 +1619,9 @@ module Aws::NetworkFirewall
1587
1619
  ProxyRulesByRequestPhase.add_member(:post_response, Shapes::ShapeRef.new(shape: ProxyRuleList, location_name: "PostRESPONSE"))
1588
1620
  ProxyRulesByRequestPhase.struct_class = Types::ProxyRulesByRequestPhase
1589
1621
 
1622
+ ProxySettings.add_member(:listener_properties, Shapes::ShapeRef.new(shape: ListenerProperties, required: true, location_name: "ListenerProperties"))
1623
+ ProxySettings.struct_class = Types::ProxySettings
1624
+
1590
1625
  PublishMetricAction.add_member(:dimensions, Shapes::ShapeRef.new(shape: Dimensions, required: true, location_name: "Dimensions"))
1591
1626
  PublishMetricAction.struct_class = Types::PublishMetricAction
1592
1627
 
@@ -1810,6 +1845,7 @@ module Aws::NetworkFirewall
1810
1845
 
1811
1846
  SyncState.add_member(:attachment, Shapes::ShapeRef.new(shape: Attachment, location_name: "Attachment"))
1812
1847
  SyncState.add_member(:config, Shapes::ShapeRef.new(shape: SyncStateConfig, location_name: "Config"))
1848
+ SyncState.add_member(:nat_gateway_attachments, Shapes::ShapeRef.new(shape: NatGatewayAttachmentsList, location_name: "NatGatewayAttachments"))
1813
1849
  SyncState.struct_class = Types::SyncState
1814
1850
 
1815
1851
  SyncStateConfig.key = Shapes::ShapeRef.new(shape: ResourceName)
@@ -2074,6 +2110,18 @@ module Aws::NetworkFirewall
2074
2110
  UpdateProxyRuleResponse.add_member(:update_token, Shapes::ShapeRef.new(shape: UpdateToken, location_name: "UpdateToken"))
2075
2111
  UpdateProxyRuleResponse.struct_class = Types::UpdateProxyRuleResponse
2076
2112
 
2113
+ UpdateProxySettingsRequest.add_member(:firewall_arn, Shapes::ShapeRef.new(shape: ResourceArn, location_name: "FirewallArn"))
2114
+ UpdateProxySettingsRequest.add_member(:firewall_name, Shapes::ShapeRef.new(shape: ResourceName, location_name: "FirewallName"))
2115
+ UpdateProxySettingsRequest.add_member(:update_token, Shapes::ShapeRef.new(shape: UpdateToken, location_name: "UpdateToken"))
2116
+ UpdateProxySettingsRequest.add_member(:proxy_settings, Shapes::ShapeRef.new(shape: ProxySettings, location_name: "ProxySettings"))
2117
+ UpdateProxySettingsRequest.struct_class = Types::UpdateProxySettingsRequest
2118
+
2119
+ UpdateProxySettingsResponse.add_member(:firewall_arn, Shapes::ShapeRef.new(shape: ResourceArn, location_name: "FirewallArn"))
2120
+ UpdateProxySettingsResponse.add_member(:firewall_name, Shapes::ShapeRef.new(shape: ResourceName, location_name: "FirewallName"))
2121
+ UpdateProxySettingsResponse.add_member(:update_token, Shapes::ShapeRef.new(shape: UpdateToken, location_name: "UpdateToken"))
2122
+ UpdateProxySettingsResponse.add_member(:proxy_settings, Shapes::ShapeRef.new(shape: ProxySettings, location_name: "ProxySettings"))
2123
+ UpdateProxySettingsResponse.struct_class = Types::UpdateProxySettingsResponse
2124
+
2077
2125
  UpdateRuleGroupRequest.add_member(:update_token, Shapes::ShapeRef.new(shape: UpdateToken, required: true, location_name: "UpdateToken"))
2078
2126
  UpdateRuleGroupRequest.add_member(:rule_group_arn, Shapes::ShapeRef.new(shape: ResourceArn, location_name: "RuleGroupArn"))
2079
2127
  UpdateRuleGroupRequest.add_member(:rule_group_name, Shapes::ShapeRef.new(shape: ResourceName, location_name: "RuleGroupName"))
@@ -2118,6 +2166,10 @@ module Aws::NetworkFirewall
2118
2166
 
2119
2167
  VariableDefinitionList.member = Shapes::ShapeRef.new(shape: VariableDefinition)
2120
2168
 
2169
+ VpcEndpoint.add_member(:vpc_id, Shapes::ShapeRef.new(shape: VpcId, required: true, location_name: "VpcId"))
2170
+ VpcEndpoint.add_member(:subnet_mappings, Shapes::ShapeRef.new(shape: SubnetMappings, required: true, location_name: "SubnetMappings"))
2171
+ VpcEndpoint.struct_class = Types::VpcEndpoint
2172
+
2121
2173
  VpcEndpointAssociation.add_member(:vpc_endpoint_association_id, Shapes::ShapeRef.new(shape: ResourceId, location_name: "VpcEndpointAssociationId"))
2122
2174
  VpcEndpointAssociation.add_member(:vpc_endpoint_association_arn, Shapes::ShapeRef.new(shape: ResourceArn, required: true, location_name: "VpcEndpointAssociationArn"))
2123
2175
  VpcEndpointAssociation.add_member(:firewall_arn, Shapes::ShapeRef.new(shape: ResourceArn, required: true, location_name: "FirewallArn"))
@@ -3259,6 +3311,21 @@ module Aws::NetworkFirewall
3259
3311
  o.errors << Shapes::ShapeRef.new(shape: ThrottlingException)
3260
3312
  end)
3261
3313
 
3314
+ api.add_operation(:update_proxy_settings, Seahorse::Model::Operation.new.tap do |o|
3315
+ o.name = "UpdateProxySettings"
3316
+ o.http_method = "POST"
3317
+ o.http_request_uri = "/"
3318
+ o.input = Shapes::ShapeRef.new(shape: UpdateProxySettingsRequest)
3319
+ o.output = Shapes::ShapeRef.new(shape: UpdateProxySettingsResponse)
3320
+ o.errors << Shapes::ShapeRef.new(shape: InvalidRequestException)
3321
+ o.errors << Shapes::ShapeRef.new(shape: InternalServerError)
3322
+ o.errors << Shapes::ShapeRef.new(shape: ResourceNotFoundException)
3323
+ o.errors << Shapes::ShapeRef.new(shape: ResourceOwnerCheckException)
3324
+ o.errors << Shapes::ShapeRef.new(shape: ThrottlingException)
3325
+ o.errors << Shapes::ShapeRef.new(shape: InvalidTokenException)
3326
+ o.errors << Shapes::ShapeRef.new(shape: InvalidOperationException)
3327
+ end)
3328
+
3262
3329
  api.add_operation(:update_rule_group, Seahorse::Model::Operation.new.tap do |o|
3263
3330
  o.name = "UpdateRuleGroup"
3264
3331
  o.http_method = "POST"
@@ -708,13 +708,20 @@ module Aws::NetworkFirewall
708
708
  # [1]: https://docs.aws.amazon.com/network-firewall/latest/developerguide/firewall-troubleshooting-endpoint-failures.html
709
709
  # @return [String]
710
710
  #
711
+ # @!attribute [rw] dns_name
712
+ # The DNS name that resolves to the firewall endpoint in the subnet.
713
+ # This is populated for proxy mode firewalls, where clients direct
714
+ # traffic to the firewall's proxy using this name.
715
+ # @return [String]
716
+ #
711
717
  # @see http://docs.aws.amazon.com/goto/WebAPI/network-firewall-2020-11-12/Attachment AWS API Documentation
712
718
  #
713
719
  class Attachment < Struct.new(
714
720
  :subnet_id,
715
721
  :endpoint_id,
716
722
  :status,
717
- :status_message)
723
+ :status_message,
724
+ :dns_name)
718
725
  SENSITIVE = []
719
726
  include Aws::Structure
720
727
  end
@@ -1212,6 +1219,45 @@ module Aws::NetworkFirewall
1212
1219
  # Default value: `FALSE`
1213
1220
  # @return [Boolean]
1214
1221
  #
1222
+ # @!attribute [rw] nat_gateway_mappings
1223
+ # The NAT gateways that the firewall uses to proxy traffic when
1224
+ # `NoSourcePreservation` is `TRUE`. Network Firewall attaches the
1225
+ # firewall to each NAT gateway that you specify, so that egress
1226
+ # traffic is proxied through the NAT gateway.
1227
+ # @return [Array<Types::NatGatewayMapping>]
1228
+ #
1229
+ # @!attribute [rw] proxy_settings
1230
+ # The listener configuration for a proxy mode firewall, used when
1231
+ # `NoSourcePreservation` is `TRUE`. This specifies the ports and
1232
+ # protocols on which the firewall's proxy listens for traffic.
1233
+ # @return [Types::ProxySettings]
1234
+ #
1235
+ # @!attribute [rw] no_source_preservation
1236
+ # Optional. Indicates whether the firewall operates in proxy mode, in
1237
+ # which the source IP address of the traffic is not preserved. When
1238
+ # set to `TRUE`, the firewall proxies traffic through a NAT gateway
1239
+ # and the traffic reaching the destination uses the NAT gateway's IP
1240
+ # address as the source.
1241
+ #
1242
+ # When you set this to `TRUE`, you must specify `NatGatewayMappings`
1243
+ # and `VpcEndpoint` instead of a top-level `VpcId` and
1244
+ # `SubnetMappings`.
1245
+ #
1246
+ # You can't change this setting after you create the firewall.
1247
+ #
1248
+ # Default value: `FALSE`
1249
+ # @return [Boolean]
1250
+ #
1251
+ # @!attribute [rw] vpc_endpoint
1252
+ # The VPC and subnets for the firewall endpoint, used when
1253
+ # `NoSourcePreservation` is `TRUE`. Network Firewall creates the
1254
+ # firewall endpoint in the subnets that you specify here.
1255
+ #
1256
+ # For proxy mode firewalls, provide the firewall's VPC and endpoint
1257
+ # subnets through this parameter instead of the top-level `VpcId` and
1258
+ # `SubnetMappings`.
1259
+ # @return [Types::VpcEndpoint]
1260
+ #
1215
1261
  # @see http://docs.aws.amazon.com/goto/WebAPI/network-firewall-2020-11-12/CreateFirewallRequest AWS API Documentation
1216
1262
  #
1217
1263
  class CreateFirewallRequest < Struct.new(
@@ -1228,7 +1274,11 @@ module Aws::NetworkFirewall
1228
1274
  :enabled_analysis_types,
1229
1275
  :transit_gateway_id,
1230
1276
  :availability_zone_mappings,
1231
- :availability_zone_change_protection)
1277
+ :availability_zone_change_protection,
1278
+ :nat_gateway_mappings,
1279
+ :proxy_settings,
1280
+ :no_source_preservation,
1281
+ :vpc_endpoint)
1232
1282
  SENSITIVE = []
1233
1283
  include Aws::Structure
1234
1284
  end
@@ -4099,6 +4149,30 @@ module Aws::NetworkFirewall
4099
4149
  # Availability Zones.
4100
4150
  # @return [Boolean]
4101
4151
  #
4152
+ # @!attribute [rw] nat_gateway_mappings
4153
+ # The NAT gateways that the firewall uses to proxy traffic. This is
4154
+ # set for proxy mode firewalls, where `NoSourcePreservation` is
4155
+ # `TRUE`.
4156
+ # @return [Array<Types::NatGatewayMapping>]
4157
+ #
4158
+ # @!attribute [rw] proxy_settings
4159
+ # The listener configuration for the firewall's proxy. This is set
4160
+ # for proxy mode firewalls, where `NoSourcePreservation` is `TRUE`.
4161
+ # @return [Types::ProxySettings]
4162
+ #
4163
+ # @!attribute [rw] no_source_preservation
4164
+ # Indicates whether the firewall operates in proxy mode, in which the
4165
+ # source IP address of the traffic is not preserved. When this value
4166
+ # is `TRUE`, the firewall proxies traffic through a NAT gateway and
4167
+ # uses the NAT gateway's IP address as the source for traffic
4168
+ # reaching the destination.
4169
+ # @return [Boolean]
4170
+ #
4171
+ # @!attribute [rw] vpc_endpoint
4172
+ # The VPC and subnets for the firewall endpoint. This is set for proxy
4173
+ # mode firewalls, where `NoSourcePreservation` is `TRUE`.
4174
+ # @return [Types::VpcEndpoint]
4175
+ #
4102
4176
  # @see http://docs.aws.amazon.com/goto/WebAPI/network-firewall-2020-11-12/Firewall AWS API Documentation
4103
4177
  #
4104
4178
  class Firewall < Struct.new(
@@ -4119,7 +4193,11 @@ module Aws::NetworkFirewall
4119
4193
  :transit_gateway_id,
4120
4194
  :transit_gateway_owner_account_id,
4121
4195
  :availability_zone_mappings,
4122
- :availability_zone_change_protection)
4196
+ :availability_zone_change_protection,
4197
+ :nat_gateway_mappings,
4198
+ :proxy_settings,
4199
+ :no_source_preservation,
4200
+ :vpc_endpoint)
4123
4201
  SENSITIVE = []
4124
4202
  include Aws::Structure
4125
4203
  end
@@ -6044,6 +6122,57 @@ module Aws::NetworkFirewall
6044
6122
  include Aws::Structure
6045
6123
  end
6046
6124
 
6125
+ # The definition and status of the attachment between a proxy mode
6126
+ # firewall and a NAT gateway that proxies its traffic.
6127
+ #
6128
+ # @!attribute [rw] nat_gateway_id
6129
+ # A unique identifier for the NAT gateway to use with proxy resources.
6130
+ # @return [String]
6131
+ #
6132
+ # @!attribute [rw] status
6133
+ # The current status of the NAT gateway attachment.
6134
+ #
6135
+ # When this value is `READY`, the attachment is available to proxy
6136
+ # traffic. Otherwise, this value reflects its state, for example
6137
+ # `CREATING` or `DELETING`.
6138
+ # @return [String]
6139
+ #
6140
+ # @!attribute [rw] status_message
6141
+ # If Network Firewall encounters an issue with the NAT gateway
6142
+ # attachment, it populates this with an explanation of the problem.
6143
+ # @return [String]
6144
+ #
6145
+ # @!attribute [rw] dns_name
6146
+ # The DNS name that resolves to the firewall's proxy for traffic sent
6147
+ # through this NAT gateway attachment.
6148
+ # @return [String]
6149
+ #
6150
+ # @see http://docs.aws.amazon.com/goto/WebAPI/network-firewall-2020-11-12/NatGatewayAttachment AWS API Documentation
6151
+ #
6152
+ class NatGatewayAttachment < Struct.new(
6153
+ :nat_gateway_id,
6154
+ :status,
6155
+ :status_message,
6156
+ :dns_name)
6157
+ SENSITIVE = []
6158
+ include Aws::Structure
6159
+ end
6160
+
6161
+ # A NAT gateway that a proxy mode firewall uses to proxy traffic. This
6162
+ # is used in CreateFirewall when `NoSourcePreservation` is `TRUE`.
6163
+ #
6164
+ # @!attribute [rw] nat_gateway_id
6165
+ # A unique identifier for the NAT gateway to use with proxy resources.
6166
+ # @return [String]
6167
+ #
6168
+ # @see http://docs.aws.amazon.com/goto/WebAPI/network-firewall-2020-11-12/NatGatewayMapping AWS API Documentation
6169
+ #
6170
+ class NatGatewayMapping < Struct.new(
6171
+ :nat_gateway_id)
6172
+ SENSITIVE = []
6173
+ include Aws::Structure
6174
+ end
6175
+
6047
6176
  # Provides configuration status for a single policy or rule group that
6048
6177
  # is used for a firewall endpoint. Network Firewall provides each
6049
6178
  # endpoint with the rules that are configured in the firewall policy.
@@ -6614,6 +6743,22 @@ module Aws::NetworkFirewall
6614
6743
  include Aws::Structure
6615
6744
  end
6616
6745
 
6746
+ # The listener configuration for a proxy mode firewall. This specifies
6747
+ # the ports and protocols on which the firewall's proxy listens for
6748
+ # traffic.
6749
+ #
6750
+ # @!attribute [rw] listener_properties
6751
+ # Listener properties for HTTP and HTTPS traffic.
6752
+ # @return [Array<Types::ListenerProperty>]
6753
+ #
6754
+ # @see http://docs.aws.amazon.com/goto/WebAPI/network-firewall-2020-11-12/ProxySettings AWS API Documentation
6755
+ #
6756
+ class ProxySettings < Struct.new(
6757
+ :listener_properties)
6758
+ SENSITIVE = []
6759
+ include Aws::Structure
6760
+ end
6761
+
6617
6762
  # Stateless inspection criteria that publishes the specified metrics to
6618
6763
  # Amazon CloudWatch for the matching packet. This setting defines a
6619
6764
  # CloudWatch dimension value to be published.
@@ -8052,11 +8197,18 @@ module Aws::NetworkFirewall
8052
8197
  # traffic.
8053
8198
  # @return [Hash<String,Types::PerObjectStatus>]
8054
8199
  #
8200
+ # @!attribute [rw] nat_gateway_attachments
8201
+ # The status of the NAT gateway attachments for a proxy mode firewall
8202
+ # in the Availability Zone. This reflects the attachment of the
8203
+ # firewall to each NAT gateway that proxies its traffic.
8204
+ # @return [Array<Types::NatGatewayAttachment>]
8205
+ #
8055
8206
  # @see http://docs.aws.amazon.com/goto/WebAPI/network-firewall-2020-11-12/SyncState AWS API Documentation
8056
8207
  #
8057
8208
  class SyncState < Struct.new(
8058
8209
  :attachment,
8059
- :config)
8210
+ :config,
8211
+ :nat_gateway_attachments)
8060
8212
  SENSITIVE = []
8061
8213
  include Aws::Structure
8062
8214
  end
@@ -9837,6 +9989,100 @@ module Aws::NetworkFirewall
9837
9989
  include Aws::Structure
9838
9990
  end
9839
9991
 
9992
+ # @!attribute [rw] firewall_arn
9993
+ # The Amazon Resource Name (ARN) of the firewall.
9994
+ #
9995
+ # You must specify the ARN or the name, and you can specify both.
9996
+ # @return [String]
9997
+ #
9998
+ # @!attribute [rw] firewall_name
9999
+ # The descriptive name of the firewall. You can't change the name of
10000
+ # a firewall after you create it.
10001
+ #
10002
+ # You must specify the ARN or the name, and you can specify both.
10003
+ # @return [String]
10004
+ #
10005
+ # @!attribute [rw] update_token
10006
+ # An optional token that you can use for optimistic locking. Network
10007
+ # Firewall returns a token to your requests that access the firewall.
10008
+ # The token marks the state of the firewall resource at the time of
10009
+ # the request.
10010
+ #
10011
+ # To make an unconditional change to the firewall, omit the token in
10012
+ # your update request. Without the token, Network Firewall performs
10013
+ # your updates regardless of whether the firewall has changed since
10014
+ # you last retrieved it.
10015
+ #
10016
+ # To make a conditional change to the firewall, provide the token in
10017
+ # your update request. Network Firewall uses the token to ensure that
10018
+ # the firewall hasn't changed since you last retrieved it. If it has
10019
+ # changed, the operation fails with an `InvalidTokenException`. If
10020
+ # this happens, retrieve the firewall again to get a current copy of
10021
+ # it with a new token. Reapply your changes as needed, then try the
10022
+ # operation again using the new token.
10023
+ # @return [String]
10024
+ #
10025
+ # @!attribute [rw] proxy_settings
10026
+ # The proxy listener configuration to set on the firewall. This
10027
+ # specifies the ports and protocols on which the firewall's proxy
10028
+ # listens for traffic.
10029
+ # @return [Types::ProxySettings]
10030
+ #
10031
+ # @see http://docs.aws.amazon.com/goto/WebAPI/network-firewall-2020-11-12/UpdateProxySettingsRequest AWS API Documentation
10032
+ #
10033
+ class UpdateProxySettingsRequest < Struct.new(
10034
+ :firewall_arn,
10035
+ :firewall_name,
10036
+ :update_token,
10037
+ :proxy_settings)
10038
+ SENSITIVE = []
10039
+ include Aws::Structure
10040
+ end
10041
+
10042
+ # @!attribute [rw] firewall_arn
10043
+ # The Amazon Resource Name (ARN) of the firewall.
10044
+ # @return [String]
10045
+ #
10046
+ # @!attribute [rw] firewall_name
10047
+ # The descriptive name of the firewall. You can't change the name of
10048
+ # a firewall after you create it.
10049
+ # @return [String]
10050
+ #
10051
+ # @!attribute [rw] update_token
10052
+ # An optional token that you can use for optimistic locking. Network
10053
+ # Firewall returns a token to your requests that access the firewall.
10054
+ # The token marks the state of the firewall resource at the time of
10055
+ # the request.
10056
+ #
10057
+ # To make an unconditional change to the firewall, omit the token in
10058
+ # your update request. Without the token, Network Firewall performs
10059
+ # your updates regardless of whether the firewall has changed since
10060
+ # you last retrieved it.
10061
+ #
10062
+ # To make a conditional change to the firewall, provide the token in
10063
+ # your update request. Network Firewall uses the token to ensure that
10064
+ # the firewall hasn't changed since you last retrieved it. If it has
10065
+ # changed, the operation fails with an `InvalidTokenException`. If
10066
+ # this happens, retrieve the firewall again to get a current copy of
10067
+ # it with a new token. Reapply your changes as needed, then try the
10068
+ # operation again using the new token.
10069
+ # @return [String]
10070
+ #
10071
+ # @!attribute [rw] proxy_settings
10072
+ # The updated proxy listener configuration on the firewall.
10073
+ # @return [Types::ProxySettings]
10074
+ #
10075
+ # @see http://docs.aws.amazon.com/goto/WebAPI/network-firewall-2020-11-12/UpdateProxySettingsResponse AWS API Documentation
10076
+ #
10077
+ class UpdateProxySettingsResponse < Struct.new(
10078
+ :firewall_arn,
10079
+ :firewall_name,
10080
+ :update_token,
10081
+ :proxy_settings)
10082
+ SENSITIVE = []
10083
+ include Aws::Structure
10084
+ end
10085
+
9840
10086
  # @!attribute [rw] update_token
9841
10087
  # A token used for optimistic locking. Network Firewall returns a
9842
10088
  # token to your requests that access the rule group. The token marks
@@ -10198,6 +10444,33 @@ module Aws::NetworkFirewall
10198
10444
  include Aws::Structure
10199
10445
  end
10200
10446
 
10447
+ # The VPC and subnets for a proxy mode firewall endpoint. This is used
10448
+ # in CreateFirewall when `NoSourcePreservation` is `TRUE`, to specify
10449
+ # where Network Firewall creates the firewall endpoint.
10450
+ #
10451
+ # This differs from VpcEndpointAssociation, which defines additional
10452
+ # secondary endpoints for a firewall in other VPCs.
10453
+ #
10454
+ # @!attribute [rw] vpc_id
10455
+ # The unique identifier of the VPC where Network Firewall creates the
10456
+ # proxy mode firewall endpoint.
10457
+ # @return [String]
10458
+ #
10459
+ # @!attribute [rw] subnet_mappings
10460
+ # The subnets in which Network Firewall creates the firewall endpoint
10461
+ # for a proxy mode firewall. Each subnet must belong to a different
10462
+ # Availability Zone in the VPC.
10463
+ # @return [Array<Types::SubnetMapping>]
10464
+ #
10465
+ # @see http://docs.aws.amazon.com/goto/WebAPI/network-firewall-2020-11-12/VpcEndpoint AWS API Documentation
10466
+ #
10467
+ class VpcEndpoint < Struct.new(
10468
+ :vpc_id,
10469
+ :subnet_mappings)
10470
+ SENSITIVE = []
10471
+ include Aws::Structure
10472
+ end
10473
+
10201
10474
  # A VPC endpoint association defines a single subnet to use for a
10202
10475
  # firewall endpoint for a `Firewall`. You can define VPC endpoint
10203
10476
  # associations only in the Availability Zones that already have a subnet
@@ -54,7 +54,7 @@ module Aws::NetworkFirewall
54
54
  autoload :EndpointProvider, 'aws-sdk-networkfirewall/endpoint_provider'
55
55
  autoload :Endpoints, 'aws-sdk-networkfirewall/endpoints'
56
56
 
57
- GEM_VERSION = '1.95.0'
57
+ GEM_VERSION = '1.96.0'
58
58
 
59
59
  end
60
60
 
data/sig/client.rbs CHANGED
@@ -239,7 +239,30 @@ module Aws
239
239
  availability_zone: ::String
240
240
  }
241
241
  ],
242
- ?availability_zone_change_protection: bool
242
+ ?availability_zone_change_protection: bool,
243
+ ?nat_gateway_mappings: Array[
244
+ {
245
+ nat_gateway_id: ::String
246
+ }
247
+ ],
248
+ ?proxy_settings: {
249
+ listener_properties: Array[
250
+ {
251
+ port: ::Integer?,
252
+ type: ("HTTP" | "HTTPS")?
253
+ }
254
+ ]
255
+ },
256
+ ?no_source_preservation: bool,
257
+ ?vpc_endpoint: {
258
+ vpc_id: ::String,
259
+ subnet_mappings: Array[
260
+ {
261
+ subnet_id: ::String,
262
+ ip_address_type: ("DUALSTACK" | "IPV4" | "IPV6")?
263
+ }
264
+ ]
265
+ }
243
266
  ) -> _CreateFirewallResponseSuccess
244
267
  | (Hash[Symbol, untyped] params, ?Hash[Symbol, untyped] options) -> _CreateFirewallResponseSuccess
245
268
 
@@ -1477,6 +1500,29 @@ module Aws
1477
1500
  ) -> _UpdateProxyRulePrioritiesResponseSuccess
1478
1501
  | (Hash[Symbol, untyped] params, ?Hash[Symbol, untyped] options) -> _UpdateProxyRulePrioritiesResponseSuccess
1479
1502
 
1503
+ interface _UpdateProxySettingsResponseSuccess
1504
+ include ::Seahorse::Client::_ResponseSuccess[Types::UpdateProxySettingsResponse]
1505
+ def firewall_arn: () -> ::String
1506
+ def firewall_name: () -> ::String
1507
+ def update_token: () -> ::String
1508
+ def proxy_settings: () -> Types::ProxySettings
1509
+ end
1510
+ # https://docs.aws.amazon.com/sdk-for-ruby/v3/api/Aws/NetworkFirewall/Client.html#update_proxy_settings-instance_method
1511
+ def update_proxy_settings: (
1512
+ ?firewall_arn: ::String,
1513
+ ?firewall_name: ::String,
1514
+ ?update_token: ::String,
1515
+ ?proxy_settings: {
1516
+ listener_properties: Array[
1517
+ {
1518
+ port: ::Integer?,
1519
+ type: ("HTTP" | "HTTPS")?
1520
+ }
1521
+ ]
1522
+ }
1523
+ ) -> _UpdateProxySettingsResponseSuccess
1524
+ | (?Hash[Symbol, untyped] params, ?Hash[Symbol, untyped] options) -> _UpdateProxySettingsResponseSuccess
1525
+
1480
1526
  interface _UpdateRuleGroupResponseSuccess
1481
1527
  include ::Seahorse::Client::_ResponseSuccess[Types::UpdateRuleGroupResponse]
1482
1528
  def update_token: () -> ::String
data/sig/types.rbs CHANGED
@@ -126,6 +126,7 @@ module Aws::NetworkFirewall
126
126
  attr_accessor endpoint_id: ::String
127
127
  attr_accessor status: ("CREATING" | "DELETING" | "FAILED" | "ERROR" | "SCALING" | "READY")
128
128
  attr_accessor status_message: ::String
129
+ attr_accessor dns_name: ::String
129
130
  SENSITIVE: []
130
131
  end
131
132
 
@@ -227,6 +228,10 @@ module Aws::NetworkFirewall
227
228
  attr_accessor transit_gateway_id: ::String
228
229
  attr_accessor availability_zone_mappings: ::Array[Types::AvailabilityZoneMapping]
229
230
  attr_accessor availability_zone_change_protection: bool
231
+ attr_accessor nat_gateway_mappings: ::Array[Types::NatGatewayMapping]
232
+ attr_accessor proxy_settings: Types::ProxySettings
233
+ attr_accessor no_source_preservation: bool
234
+ attr_accessor vpc_endpoint: Types::VpcEndpoint
230
235
  SENSITIVE: []
231
236
  end
232
237
 
@@ -837,6 +842,10 @@ module Aws::NetworkFirewall
837
842
  attr_accessor transit_gateway_owner_account_id: ::String
838
843
  attr_accessor availability_zone_mappings: ::Array[Types::AvailabilityZoneMapping]
839
844
  attr_accessor availability_zone_change_protection: bool
845
+ attr_accessor nat_gateway_mappings: ::Array[Types::NatGatewayMapping]
846
+ attr_accessor proxy_settings: Types::ProxySettings
847
+ attr_accessor no_source_preservation: bool
848
+ attr_accessor vpc_endpoint: Types::VpcEndpoint
840
849
  SENSITIVE: []
841
850
  end
842
851
 
@@ -1239,6 +1248,19 @@ module Aws::NetworkFirewall
1239
1248
  SENSITIVE: []
1240
1249
  end
1241
1250
 
1251
+ class NatGatewayAttachment
1252
+ attr_accessor nat_gateway_id: ::String
1253
+ attr_accessor status: ("CREATING" | "READY" | "UPDATING" | "FAILED" | "DELETING")
1254
+ attr_accessor status_message: ::String
1255
+ attr_accessor dns_name: ::String
1256
+ SENSITIVE: []
1257
+ end
1258
+
1259
+ class NatGatewayMapping
1260
+ attr_accessor nat_gateway_id: ::String
1261
+ SENSITIVE: []
1262
+ end
1263
+
1242
1264
  class PerObjectStatus
1243
1265
  attr_accessor sync_status: ("PENDING" | "IN_SYNC" | "CAPACITY_CONSTRAINED" | "NOT_SUBSCRIBED" | "DEPRECATED")
1244
1266
  attr_accessor update_token: ::String
@@ -1382,6 +1404,11 @@ module Aws::NetworkFirewall
1382
1404
  SENSITIVE: []
1383
1405
  end
1384
1406
 
1407
+ class ProxySettings
1408
+ attr_accessor listener_properties: ::Array[Types::ListenerProperty]
1409
+ SENSITIVE: []
1410
+ end
1411
+
1385
1412
  class PublishMetricAction
1386
1413
  attr_accessor dimensions: ::Array[Types::Dimension]
1387
1414
  SENSITIVE: []
@@ -1640,6 +1667,7 @@ module Aws::NetworkFirewall
1640
1667
  class SyncState
1641
1668
  attr_accessor attachment: Types::Attachment
1642
1669
  attr_accessor config: ::Hash[::String, Types::PerObjectStatus]
1670
+ attr_accessor nat_gateway_attachments: ::Array[Types::NatGatewayAttachment]
1643
1671
  SENSITIVE: []
1644
1672
  end
1645
1673
 
@@ -1975,6 +2003,22 @@ module Aws::NetworkFirewall
1975
2003
  SENSITIVE: []
1976
2004
  end
1977
2005
 
2006
+ class UpdateProxySettingsRequest
2007
+ attr_accessor firewall_arn: ::String
2008
+ attr_accessor firewall_name: ::String
2009
+ attr_accessor update_token: ::String
2010
+ attr_accessor proxy_settings: Types::ProxySettings
2011
+ SENSITIVE: []
2012
+ end
2013
+
2014
+ class UpdateProxySettingsResponse
2015
+ attr_accessor firewall_arn: ::String
2016
+ attr_accessor firewall_name: ::String
2017
+ attr_accessor update_token: ::String
2018
+ attr_accessor proxy_settings: Types::ProxySettings
2019
+ SENSITIVE: []
2020
+ end
2021
+
1978
2022
  class UpdateRuleGroupRequest
1979
2023
  attr_accessor update_token: ::String
1980
2024
  attr_accessor rule_group_arn: ::String
@@ -2029,6 +2073,12 @@ module Aws::NetworkFirewall
2029
2073
  SENSITIVE: []
2030
2074
  end
2031
2075
 
2076
+ class VpcEndpoint
2077
+ attr_accessor vpc_id: ::String
2078
+ attr_accessor subnet_mappings: ::Array[Types::SubnetMapping]
2079
+ SENSITIVE: []
2080
+ end
2081
+
2032
2082
  class VpcEndpointAssociation
2033
2083
  attr_accessor vpc_endpoint_association_id: ::String
2034
2084
  attr_accessor vpc_endpoint_association_arn: ::String
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: aws-sdk-networkfirewall
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.95.0
4
+ version: 1.96.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Amazon Web Services