aws-sdk-networkfirewall 1.81.0 → 1.82.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.
@@ -585,6 +585,78 @@ module Aws::NetworkFirewall
585
585
  include Aws::Structure
586
586
  end
587
587
 
588
+ # @!attribute [rw] proxy_configuration_name
589
+ # The descriptive name of the proxy configuration. You can't change
590
+ # the name of a proxy configuration after you create it.
591
+ #
592
+ # You must specify the ARN or the name, and you can specify both.
593
+ # @return [String]
594
+ #
595
+ # @!attribute [rw] proxy_configuration_arn
596
+ # The Amazon Resource Name (ARN) of a proxy configuration.
597
+ #
598
+ # You must specify the ARN or the name, and you can specify both.
599
+ # @return [String]
600
+ #
601
+ # @!attribute [rw] rule_groups
602
+ # The proxy rule group(s) to attach to the proxy configuration
603
+ # @return [Array<Types::ProxyRuleGroupAttachment>]
604
+ #
605
+ # @!attribute [rw] update_token
606
+ # A token used for optimistic locking. Network Firewall returns a
607
+ # token to your requests that access the proxy configuration. The
608
+ # token marks the state of the proxy configuration resource at the
609
+ # time of the request.
610
+ #
611
+ # To make changes to the proxy configuration, you provide the token in
612
+ # your request. Network Firewall uses the token to ensure that the
613
+ # proxy configuration hasn't changed since you last retrieved it. If
614
+ # it has changed, the operation fails with an `InvalidTokenException`.
615
+ # If this happens, retrieve the proxy configuration again to get a
616
+ # current copy of it with a current token. Reapply your changes as
617
+ # needed, then try the operation again using the new token.
618
+ # @return [String]
619
+ #
620
+ # @see http://docs.aws.amazon.com/goto/WebAPI/network-firewall-2020-11-12/AttachRuleGroupsToProxyConfigurationRequest AWS API Documentation
621
+ #
622
+ class AttachRuleGroupsToProxyConfigurationRequest < Struct.new(
623
+ :proxy_configuration_name,
624
+ :proxy_configuration_arn,
625
+ :rule_groups,
626
+ :update_token)
627
+ SENSITIVE = []
628
+ include Aws::Structure
629
+ end
630
+
631
+ # @!attribute [rw] proxy_configuration
632
+ # The updated proxy configuration resource that reflects the updates
633
+ # from the request.
634
+ # @return [Types::ProxyConfiguration]
635
+ #
636
+ # @!attribute [rw] update_token
637
+ # A token used for optimistic locking. Network Firewall returns a
638
+ # token to your requests that access the proxy configuration. The
639
+ # token marks the state of the proxy configuration resource at the
640
+ # time of the request.
641
+ #
642
+ # To make changes to the proxy configuration, you provide the token in
643
+ # your request. Network Firewall uses the token to ensure that the
644
+ # proxy configuration hasn't changed since you last retrieved it. If
645
+ # it has changed, the operation fails with an `InvalidTokenException`.
646
+ # If this happens, retrieve the proxy configuration again to get a
647
+ # current copy of it with a current token. Reapply your changes as
648
+ # needed, then try the operation again using the new token.
649
+ # @return [String]
650
+ #
651
+ # @see http://docs.aws.amazon.com/goto/WebAPI/network-firewall-2020-11-12/AttachRuleGroupsToProxyConfigurationResponse AWS API Documentation
652
+ #
653
+ class AttachRuleGroupsToProxyConfigurationResponse < Struct.new(
654
+ :proxy_configuration,
655
+ :update_token)
656
+ SENSITIVE = []
657
+ include Aws::Structure
658
+ end
659
+
588
660
  # The definition and status of the firewall endpoint for a single
589
661
  # subnet. In each configured subnet, Network Firewall instantiates a
590
662
  # firewall endpoint to handle network traffic.
@@ -1016,6 +1088,340 @@ module Aws::NetworkFirewall
1016
1088
  include Aws::Structure
1017
1089
  end
1018
1090
 
1091
+ # @!attribute [rw] proxy_configuration_name
1092
+ # The descriptive name of the proxy configuration. You can't change
1093
+ # the name of a proxy configuration after you create it.
1094
+ # @return [String]
1095
+ #
1096
+ # @!attribute [rw] description
1097
+ # A description of the proxy configuration.
1098
+ # @return [String]
1099
+ #
1100
+ # @!attribute [rw] rule_group_names
1101
+ # The proxy rule group name(s) to attach to the proxy configuration.
1102
+ #
1103
+ # You must specify the ARNs or the names, and you can specify both.
1104
+ # @return [Array<String>]
1105
+ #
1106
+ # @!attribute [rw] rule_group_arns
1107
+ # The proxy rule group arn(s) to attach to the proxy configuration.
1108
+ #
1109
+ # You must specify the ARNs or the names, and you can specify both.
1110
+ # @return [Array<String>]
1111
+ #
1112
+ # @!attribute [rw] default_rule_phase_actions
1113
+ # Evaluation points in the traffic flow where rules are applied. There
1114
+ # are three phases in a traffic where the rule match is applied.
1115
+ # @return [Types::ProxyConfigDefaultRulePhaseActionsRequest]
1116
+ #
1117
+ # @!attribute [rw] tags
1118
+ # The key:value pairs to associate with the resource.
1119
+ # @return [Array<Types::Tag>]
1120
+ #
1121
+ # @see http://docs.aws.amazon.com/goto/WebAPI/network-firewall-2020-11-12/CreateProxyConfigurationRequest AWS API Documentation
1122
+ #
1123
+ class CreateProxyConfigurationRequest < Struct.new(
1124
+ :proxy_configuration_name,
1125
+ :description,
1126
+ :rule_group_names,
1127
+ :rule_group_arns,
1128
+ :default_rule_phase_actions,
1129
+ :tags)
1130
+ SENSITIVE = []
1131
+ include Aws::Structure
1132
+ end
1133
+
1134
+ # @!attribute [rw] proxy_configuration
1135
+ # The properties that define the proxy configuration.
1136
+ # @return [Types::ProxyConfiguration]
1137
+ #
1138
+ # @!attribute [rw] update_token
1139
+ # A token used for optimistic locking. Network Firewall returns a
1140
+ # token to your requests that access the proxy configuration. The
1141
+ # token marks the state of the proxy configuration resource at the
1142
+ # time of the request.
1143
+ #
1144
+ # To make changes to the proxy configuration, you provide the token in
1145
+ # your request. Network Firewall uses the token to ensure that the
1146
+ # proxy configuration hasn't changed since you last retrieved it. If
1147
+ # it has changed, the operation fails with an `InvalidTokenException`.
1148
+ # If this happens, retrieve the proxy configuration again to get a
1149
+ # current copy of it with a current token. Reapply your changes as
1150
+ # needed, then try the operation again using the new token.
1151
+ # @return [String]
1152
+ #
1153
+ # @see http://docs.aws.amazon.com/goto/WebAPI/network-firewall-2020-11-12/CreateProxyConfigurationResponse AWS API Documentation
1154
+ #
1155
+ class CreateProxyConfigurationResponse < Struct.new(
1156
+ :proxy_configuration,
1157
+ :update_token)
1158
+ SENSITIVE = []
1159
+ include Aws::Structure
1160
+ end
1161
+
1162
+ # @!attribute [rw] proxy_name
1163
+ # The descriptive name of the proxy. You can't change the name of a
1164
+ # proxy after you create it.
1165
+ # @return [String]
1166
+ #
1167
+ # @!attribute [rw] nat_gateway_id
1168
+ # A unique identifier for the NAT gateway to use with proxy resources.
1169
+ # @return [String]
1170
+ #
1171
+ # @!attribute [rw] proxy_configuration_name
1172
+ # The descriptive name of the proxy configuration. You can't change
1173
+ # the name of a proxy configuration after you create it.
1174
+ #
1175
+ # You must specify the ARN or the name, and you can specify both.
1176
+ # @return [String]
1177
+ #
1178
+ # @!attribute [rw] proxy_configuration_arn
1179
+ # The Amazon Resource Name (ARN) of a proxy configuration.
1180
+ #
1181
+ # You must specify the ARN or the name, and you can specify both.
1182
+ # @return [String]
1183
+ #
1184
+ # @!attribute [rw] listener_properties
1185
+ # Listener properties for HTTP and HTTPS traffic.
1186
+ # @return [Array<Types::ListenerPropertyRequest>]
1187
+ #
1188
+ # @!attribute [rw] tls_intercept_properties
1189
+ # TLS decryption on traffic to filter on attributes in the HTTP
1190
+ # header.
1191
+ # @return [Types::TlsInterceptPropertiesRequest]
1192
+ #
1193
+ # @!attribute [rw] tags
1194
+ # The key:value pairs to associate with the resource.
1195
+ # @return [Array<Types::Tag>]
1196
+ #
1197
+ # @see http://docs.aws.amazon.com/goto/WebAPI/network-firewall-2020-11-12/CreateProxyRequest AWS API Documentation
1198
+ #
1199
+ class CreateProxyRequest < Struct.new(
1200
+ :proxy_name,
1201
+ :nat_gateway_id,
1202
+ :proxy_configuration_name,
1203
+ :proxy_configuration_arn,
1204
+ :listener_properties,
1205
+ :tls_intercept_properties,
1206
+ :tags)
1207
+ SENSITIVE = []
1208
+ include Aws::Structure
1209
+ end
1210
+
1211
+ # @!attribute [rw] proxy
1212
+ # Proxy attached to a NAT gateway.
1213
+ # @return [Types::Proxy]
1214
+ #
1215
+ # @!attribute [rw] update_token
1216
+ # A token used for optimistic locking. Network Firewall returns a
1217
+ # token to your requests that access the proxy. The token marks the
1218
+ # state of the proxy resource at the time of the request.
1219
+ #
1220
+ # To make changes to the proxy, you provide the token in your request.
1221
+ # Network Firewall uses the token to ensure that the proxy hasn't
1222
+ # changed since you last retrieved it. If it has changed, the
1223
+ # operation fails with an `InvalidTokenException`. If this happens,
1224
+ # retrieve the proxy again to get a current copy of it with a current
1225
+ # token. Reapply your changes as needed, then try the operation again
1226
+ # using the new token.
1227
+ # @return [String]
1228
+ #
1229
+ # @see http://docs.aws.amazon.com/goto/WebAPI/network-firewall-2020-11-12/CreateProxyResponse AWS API Documentation
1230
+ #
1231
+ class CreateProxyResponse < Struct.new(
1232
+ :proxy,
1233
+ :update_token)
1234
+ SENSITIVE = []
1235
+ include Aws::Structure
1236
+ end
1237
+
1238
+ # Individual rules that define match conditions and actions for
1239
+ # application-layer traffic. Rules specify what to inspect (domains,
1240
+ # headers, methods) and what action to take (allow, deny, alert).
1241
+ #
1242
+ # @!attribute [rw] proxy_rule_name
1243
+ # The descriptive name of the proxy rule. You can't change the name
1244
+ # of a proxy rule after you create it.
1245
+ # @return [String]
1246
+ #
1247
+ # @!attribute [rw] description
1248
+ # A description of the proxy rule.
1249
+ # @return [String]
1250
+ #
1251
+ # @!attribute [rw] action
1252
+ # Action to take.
1253
+ # @return [String]
1254
+ #
1255
+ # @!attribute [rw] conditions
1256
+ # Match criteria that specify what traffic attributes to examine.
1257
+ # Conditions include operators (StringEquals, StringLike) and values
1258
+ # to match against.
1259
+ # @return [Array<Types::ProxyRuleCondition>]
1260
+ #
1261
+ # @!attribute [rw] insert_position
1262
+ # Where to insert a proxy rule in a proxy rule group.
1263
+ # @return [Integer]
1264
+ #
1265
+ # @see http://docs.aws.amazon.com/goto/WebAPI/network-firewall-2020-11-12/CreateProxyRule AWS API Documentation
1266
+ #
1267
+ class CreateProxyRule < Struct.new(
1268
+ :proxy_rule_name,
1269
+ :description,
1270
+ :action,
1271
+ :conditions,
1272
+ :insert_position)
1273
+ SENSITIVE = []
1274
+ include Aws::Structure
1275
+ end
1276
+
1277
+ # @!attribute [rw] proxy_rule_group_name
1278
+ # The descriptive name of the proxy rule group. You can't change the
1279
+ # name of a proxy rule group after you create it.
1280
+ # @return [String]
1281
+ #
1282
+ # @!attribute [rw] description
1283
+ # A description of the proxy rule group.
1284
+ # @return [String]
1285
+ #
1286
+ # @!attribute [rw] rules
1287
+ # Individual rules that define match conditions and actions for
1288
+ # application-layer traffic. Rules specify what to inspect (domains,
1289
+ # headers, methods) and what action to take (allow, deny, alert).
1290
+ # @return [Types::ProxyRulesByRequestPhase]
1291
+ #
1292
+ # @!attribute [rw] tags
1293
+ # The key:value pairs to associate with the resource.
1294
+ # @return [Array<Types::Tag>]
1295
+ #
1296
+ # @see http://docs.aws.amazon.com/goto/WebAPI/network-firewall-2020-11-12/CreateProxyRuleGroupRequest AWS API Documentation
1297
+ #
1298
+ class CreateProxyRuleGroupRequest < Struct.new(
1299
+ :proxy_rule_group_name,
1300
+ :description,
1301
+ :rules,
1302
+ :tags)
1303
+ SENSITIVE = []
1304
+ include Aws::Structure
1305
+ end
1306
+
1307
+ # @!attribute [rw] proxy_rule_group
1308
+ # The properties that define the proxy rule group.
1309
+ # @return [Types::ProxyRuleGroup]
1310
+ #
1311
+ # @!attribute [rw] update_token
1312
+ # A token used for optimistic locking. Network Firewall returns a
1313
+ # token to your requests that access the proxy rule group. The token
1314
+ # marks the state of the proxy rule group resource at the time of the
1315
+ # request.
1316
+ #
1317
+ # To make changes to the proxy rule group, you provide the token in
1318
+ # your request. Network Firewall uses the token to ensure that the
1319
+ # proxy rule group hasn't changed since you last retrieved it. If it
1320
+ # has changed, the operation fails with an `InvalidTokenException`. If
1321
+ # this happens, retrieve the proxy rule group again to get a current
1322
+ # copy of it with a current token. Reapply your changes as needed,
1323
+ # then try the operation again using the new token.
1324
+ # @return [String]
1325
+ #
1326
+ # @see http://docs.aws.amazon.com/goto/WebAPI/network-firewall-2020-11-12/CreateProxyRuleGroupResponse AWS API Documentation
1327
+ #
1328
+ class CreateProxyRuleGroupResponse < Struct.new(
1329
+ :proxy_rule_group,
1330
+ :update_token)
1331
+ SENSITIVE = []
1332
+ include Aws::Structure
1333
+ end
1334
+
1335
+ # Evaluation points in the traffic flow where rules are applied. There
1336
+ # are three phases in a traffic where the rule match is applied.
1337
+ #
1338
+ # This data type is used specifically for the CreateProxyRules API.
1339
+ #
1340
+ # Pre-DNS - before domain resolution.
1341
+ #
1342
+ # Pre-Request - after DNS, before request.
1343
+ #
1344
+ # Post-Response - after receiving response.
1345
+ #
1346
+ # @!attribute [rw] pre_dns
1347
+ # Before domain resolution.
1348
+ # @return [Array<Types::CreateProxyRule>]
1349
+ #
1350
+ # @!attribute [rw] pre_request
1351
+ # After DNS, before request.
1352
+ # @return [Array<Types::CreateProxyRule>]
1353
+ #
1354
+ # @!attribute [rw] post_response
1355
+ # After receiving response.
1356
+ # @return [Array<Types::CreateProxyRule>]
1357
+ #
1358
+ # @see http://docs.aws.amazon.com/goto/WebAPI/network-firewall-2020-11-12/CreateProxyRulesByRequestPhase AWS API Documentation
1359
+ #
1360
+ class CreateProxyRulesByRequestPhase < Struct.new(
1361
+ :pre_dns,
1362
+ :pre_request,
1363
+ :post_response)
1364
+ SENSITIVE = []
1365
+ include Aws::Structure
1366
+ end
1367
+
1368
+ # @!attribute [rw] proxy_rule_group_arn
1369
+ # The Amazon Resource Name (ARN) of a proxy rule group.
1370
+ #
1371
+ # You must specify the ARN or the name, and you can specify both.
1372
+ # @return [String]
1373
+ #
1374
+ # @!attribute [rw] proxy_rule_group_name
1375
+ # The descriptive name of the proxy rule group. You can't change the
1376
+ # name of a proxy rule group after you create it.
1377
+ #
1378
+ # You must specify the ARN or the name, and you can specify both.
1379
+ # @return [String]
1380
+ #
1381
+ # @!attribute [rw] rules
1382
+ # Individual rules that define match conditions and actions for
1383
+ # application-layer traffic. Rules specify what to inspect (domains,
1384
+ # headers, methods) and what action to take (allow, deny, alert).
1385
+ # @return [Types::CreateProxyRulesByRequestPhase]
1386
+ #
1387
+ # @see http://docs.aws.amazon.com/goto/WebAPI/network-firewall-2020-11-12/CreateProxyRulesRequest AWS API Documentation
1388
+ #
1389
+ class CreateProxyRulesRequest < Struct.new(
1390
+ :proxy_rule_group_arn,
1391
+ :proxy_rule_group_name,
1392
+ :rules)
1393
+ SENSITIVE = []
1394
+ include Aws::Structure
1395
+ end
1396
+
1397
+ # @!attribute [rw] proxy_rule_group
1398
+ # The properties that define the proxy rule group with the newly
1399
+ # created proxy rule(s).
1400
+ # @return [Types::ProxyRuleGroup]
1401
+ #
1402
+ # @!attribute [rw] update_token
1403
+ # A token used for optimistic locking. Network Firewall returns a
1404
+ # token to your requests that access the proxy rule. The token marks
1405
+ # the state of the proxy rule resource at the time of the request.
1406
+ #
1407
+ # To make changes to the proxy rule, you provide the token in your
1408
+ # request. Network Firewall uses the token to ensure that the proxy
1409
+ # rule hasn't changed since you last retrieved it. If it has changed,
1410
+ # the operation fails with an `InvalidTokenException`. If this
1411
+ # happens, retrieve the proxy rule again to get a current copy of it
1412
+ # with a current token. Reapply your changes as needed, then try the
1413
+ # operation again using the new token.
1414
+ # @return [String]
1415
+ #
1416
+ # @see http://docs.aws.amazon.com/goto/WebAPI/network-firewall-2020-11-12/CreateProxyRulesResponse AWS API Documentation
1417
+ #
1418
+ class CreateProxyRulesResponse < Struct.new(
1419
+ :proxy_rule_group,
1420
+ :update_token)
1421
+ SENSITIVE = []
1422
+ include Aws::Structure
1423
+ end
1424
+
1019
1425
  # @!attribute [rw] rule_group_name
1020
1426
  # The descriptive name of the rule group. You can't change the name
1021
1427
  # of a rule group after you create it.
@@ -1552,81 +1958,251 @@ module Aws::NetworkFirewall
1552
1958
  include Aws::Structure
1553
1959
  end
1554
1960
 
1555
- # @!attribute [rw] resource_arn
1556
- # The Amazon Resource Name (ARN) of the rule group or firewall policy
1557
- # whose resource policy you want to delete.
1961
+ # @!attribute [rw] proxy_configuration_name
1962
+ # The descriptive name of the proxy configuration. You can't change
1963
+ # the name of a proxy configuration after you create it.
1964
+ #
1965
+ # You must specify the ARN or the name, and you can specify both.
1558
1966
  # @return [String]
1559
1967
  #
1560
- # @see http://docs.aws.amazon.com/goto/WebAPI/network-firewall-2020-11-12/DeleteResourcePolicyRequest AWS API Documentation
1968
+ # @!attribute [rw] proxy_configuration_arn
1969
+ # The Amazon Resource Name (ARN) of a proxy configuration.
1561
1970
  #
1562
- class DeleteResourcePolicyRequest < Struct.new(
1563
- :resource_arn)
1971
+ # You must specify the ARN or the name, and you can specify both.
1972
+ # @return [String]
1973
+ #
1974
+ # @see http://docs.aws.amazon.com/goto/WebAPI/network-firewall-2020-11-12/DeleteProxyConfigurationRequest AWS API Documentation
1975
+ #
1976
+ class DeleteProxyConfigurationRequest < Struct.new(
1977
+ :proxy_configuration_name,
1978
+ :proxy_configuration_arn)
1564
1979
  SENSITIVE = []
1565
1980
  include Aws::Structure
1566
1981
  end
1567
1982
 
1568
- # @see http://docs.aws.amazon.com/goto/WebAPI/network-firewall-2020-11-12/DeleteResourcePolicyResponse AWS API Documentation
1983
+ # @!attribute [rw] proxy_configuration_name
1984
+ # The descriptive name of the proxy configuration. You can't change
1985
+ # the name of a proxy configuration after you create it.
1986
+ # @return [String]
1569
1987
  #
1570
- class DeleteResourcePolicyResponse < Aws::EmptyStructure; end
1571
-
1572
- # @!attribute [rw] rule_group_name
1573
- # The descriptive name of the rule group. You can't change the name
1574
- # of a rule group after you create it.
1988
+ # @!attribute [rw] proxy_configuration_arn
1989
+ # The Amazon Resource Name (ARN) of a proxy configuration.
1990
+ # @return [String]
1575
1991
  #
1576
- # You must specify the ARN or the name, and you can specify both.
1992
+ # @see http://docs.aws.amazon.com/goto/WebAPI/network-firewall-2020-11-12/DeleteProxyConfigurationResponse AWS API Documentation
1993
+ #
1994
+ class DeleteProxyConfigurationResponse < Struct.new(
1995
+ :proxy_configuration_name,
1996
+ :proxy_configuration_arn)
1997
+ SENSITIVE = []
1998
+ include Aws::Structure
1999
+ end
2000
+
2001
+ # @!attribute [rw] nat_gateway_id
2002
+ # The NAT Gateway the proxy is attached to.
1577
2003
  # @return [String]
1578
2004
  #
1579
- # @!attribute [rw] rule_group_arn
1580
- # The Amazon Resource Name (ARN) of the rule group.
2005
+ # @!attribute [rw] proxy_name
2006
+ # The descriptive name of the proxy. You can't change the name of a
2007
+ # proxy after you create it.
1581
2008
  #
1582
2009
  # You must specify the ARN or the name, and you can specify both.
1583
2010
  # @return [String]
1584
2011
  #
1585
- # @!attribute [rw] type
1586
- # Indicates whether the rule group is stateless or stateful. If the
1587
- # rule group is stateless, it contains stateless rules. If it is
1588
- # stateful, it contains stateful rules.
1589
- #
1590
- # <note markdown="1"> This setting is required for requests that do not include the
1591
- # `RuleGroupARN`.
2012
+ # @!attribute [rw] proxy_arn
2013
+ # The Amazon Resource Name (ARN) of a proxy.
1592
2014
  #
1593
- # </note>
2015
+ # You must specify the ARN or the name, and you can specify both.
1594
2016
  # @return [String]
1595
2017
  #
1596
- # @see http://docs.aws.amazon.com/goto/WebAPI/network-firewall-2020-11-12/DeleteRuleGroupRequest AWS API Documentation
2018
+ # @see http://docs.aws.amazon.com/goto/WebAPI/network-firewall-2020-11-12/DeleteProxyRequest AWS API Documentation
1597
2019
  #
1598
- class DeleteRuleGroupRequest < Struct.new(
1599
- :rule_group_name,
1600
- :rule_group_arn,
1601
- :type)
2020
+ class DeleteProxyRequest < Struct.new(
2021
+ :nat_gateway_id,
2022
+ :proxy_name,
2023
+ :proxy_arn)
1602
2024
  SENSITIVE = []
1603
2025
  include Aws::Structure
1604
2026
  end
1605
2027
 
1606
- # @!attribute [rw] rule_group_response
1607
- # The high-level properties of a rule group. This, along with the
1608
- # RuleGroup, define the rule group. You can retrieve all objects for a
1609
- # rule group by calling DescribeRuleGroup.
1610
- # @return [Types::RuleGroupResponse]
2028
+ # @!attribute [rw] nat_gateway_id
2029
+ # The NAT Gateway the Proxy was attached to.
2030
+ # @return [String]
1611
2031
  #
1612
- # @see http://docs.aws.amazon.com/goto/WebAPI/network-firewall-2020-11-12/DeleteRuleGroupResponse AWS API Documentation
2032
+ # @!attribute [rw] proxy_name
2033
+ # The descriptive name of the proxy. You can't change the name of a
2034
+ # proxy after you create it.
2035
+ # @return [String]
1613
2036
  #
1614
- class DeleteRuleGroupResponse < Struct.new(
1615
- :rule_group_response)
2037
+ # @!attribute [rw] proxy_arn
2038
+ # The Amazon Resource Name (ARN) of a proxy.
2039
+ # @return [String]
2040
+ #
2041
+ # @see http://docs.aws.amazon.com/goto/WebAPI/network-firewall-2020-11-12/DeleteProxyResponse AWS API Documentation
2042
+ #
2043
+ class DeleteProxyResponse < Struct.new(
2044
+ :nat_gateway_id,
2045
+ :proxy_name,
2046
+ :proxy_arn)
1616
2047
  SENSITIVE = []
1617
2048
  include Aws::Structure
1618
2049
  end
1619
2050
 
1620
- # @!attribute [rw] tls_inspection_configuration_arn
1621
- # The Amazon Resource Name (ARN) of the TLS inspection configuration.
2051
+ # @!attribute [rw] proxy_rule_group_name
2052
+ # The descriptive name of the proxy rule group. You can't change the
2053
+ # name of a proxy rule group after you create it.
1622
2054
  #
1623
2055
  # You must specify the ARN or the name, and you can specify both.
1624
2056
  # @return [String]
1625
2057
  #
1626
- # @!attribute [rw] tls_inspection_configuration_name
1627
- # The descriptive name of the TLS inspection configuration. You can't
1628
- # change the name of a TLS inspection configuration after you create
1629
- # it.
2058
+ # @!attribute [rw] proxy_rule_group_arn
2059
+ # The Amazon Resource Name (ARN) of a proxy rule group.
2060
+ #
2061
+ # You must specify the ARN or the name, and you can specify both.
2062
+ # @return [String]
2063
+ #
2064
+ # @see http://docs.aws.amazon.com/goto/WebAPI/network-firewall-2020-11-12/DeleteProxyRuleGroupRequest AWS API Documentation
2065
+ #
2066
+ class DeleteProxyRuleGroupRequest < Struct.new(
2067
+ :proxy_rule_group_name,
2068
+ :proxy_rule_group_arn)
2069
+ SENSITIVE = []
2070
+ include Aws::Structure
2071
+ end
2072
+
2073
+ # @!attribute [rw] proxy_rule_group_name
2074
+ # The descriptive name of the proxy rule group. You can't change the
2075
+ # name of a proxy rule group after you create it.
2076
+ # @return [String]
2077
+ #
2078
+ # @!attribute [rw] proxy_rule_group_arn
2079
+ # The Amazon Resource Name (ARN) of a proxy rule group.
2080
+ # @return [String]
2081
+ #
2082
+ # @see http://docs.aws.amazon.com/goto/WebAPI/network-firewall-2020-11-12/DeleteProxyRuleGroupResponse AWS API Documentation
2083
+ #
2084
+ class DeleteProxyRuleGroupResponse < Struct.new(
2085
+ :proxy_rule_group_name,
2086
+ :proxy_rule_group_arn)
2087
+ SENSITIVE = []
2088
+ include Aws::Structure
2089
+ end
2090
+
2091
+ # @!attribute [rw] proxy_rule_group_arn
2092
+ # The Amazon Resource Name (ARN) of a proxy rule group.
2093
+ #
2094
+ # You must specify the ARN or the name, and you can specify both.
2095
+ # @return [String]
2096
+ #
2097
+ # @!attribute [rw] proxy_rule_group_name
2098
+ # The descriptive name of the proxy rule group. You can't change the
2099
+ # name of a proxy rule group after you create it.
2100
+ #
2101
+ # You must specify the ARN or the name, and you can specify both.
2102
+ # @return [String]
2103
+ #
2104
+ # @!attribute [rw] rules
2105
+ # The proxy rule(s) to remove from the existing proxy rule group.
2106
+ # @return [Array<String>]
2107
+ #
2108
+ # @see http://docs.aws.amazon.com/goto/WebAPI/network-firewall-2020-11-12/DeleteProxyRulesRequest AWS API Documentation
2109
+ #
2110
+ class DeleteProxyRulesRequest < Struct.new(
2111
+ :proxy_rule_group_arn,
2112
+ :proxy_rule_group_name,
2113
+ :rules)
2114
+ SENSITIVE = []
2115
+ include Aws::Structure
2116
+ end
2117
+
2118
+ # @!attribute [rw] proxy_rule_group
2119
+ # The properties that define the proxy rule group with the newly
2120
+ # created proxy rule(s).
2121
+ # @return [Types::ProxyRuleGroup]
2122
+ #
2123
+ # @see http://docs.aws.amazon.com/goto/WebAPI/network-firewall-2020-11-12/DeleteProxyRulesResponse AWS API Documentation
2124
+ #
2125
+ class DeleteProxyRulesResponse < Struct.new(
2126
+ :proxy_rule_group)
2127
+ SENSITIVE = []
2128
+ include Aws::Structure
2129
+ end
2130
+
2131
+ # @!attribute [rw] resource_arn
2132
+ # The Amazon Resource Name (ARN) of the rule group or firewall policy
2133
+ # whose resource policy you want to delete.
2134
+ # @return [String]
2135
+ #
2136
+ # @see http://docs.aws.amazon.com/goto/WebAPI/network-firewall-2020-11-12/DeleteResourcePolicyRequest AWS API Documentation
2137
+ #
2138
+ class DeleteResourcePolicyRequest < Struct.new(
2139
+ :resource_arn)
2140
+ SENSITIVE = []
2141
+ include Aws::Structure
2142
+ end
2143
+
2144
+ # @see http://docs.aws.amazon.com/goto/WebAPI/network-firewall-2020-11-12/DeleteResourcePolicyResponse AWS API Documentation
2145
+ #
2146
+ class DeleteResourcePolicyResponse < Aws::EmptyStructure; end
2147
+
2148
+ # @!attribute [rw] rule_group_name
2149
+ # The descriptive name of the rule group. You can't change the name
2150
+ # of a rule group after you create it.
2151
+ #
2152
+ # You must specify the ARN or the name, and you can specify both.
2153
+ # @return [String]
2154
+ #
2155
+ # @!attribute [rw] rule_group_arn
2156
+ # The Amazon Resource Name (ARN) of the rule group.
2157
+ #
2158
+ # You must specify the ARN or the name, and you can specify both.
2159
+ # @return [String]
2160
+ #
2161
+ # @!attribute [rw] type
2162
+ # Indicates whether the rule group is stateless or stateful. If the
2163
+ # rule group is stateless, it contains stateless rules. If it is
2164
+ # stateful, it contains stateful rules.
2165
+ #
2166
+ # <note markdown="1"> This setting is required for requests that do not include the
2167
+ # `RuleGroupARN`.
2168
+ #
2169
+ # </note>
2170
+ # @return [String]
2171
+ #
2172
+ # @see http://docs.aws.amazon.com/goto/WebAPI/network-firewall-2020-11-12/DeleteRuleGroupRequest AWS API Documentation
2173
+ #
2174
+ class DeleteRuleGroupRequest < Struct.new(
2175
+ :rule_group_name,
2176
+ :rule_group_arn,
2177
+ :type)
2178
+ SENSITIVE = []
2179
+ include Aws::Structure
2180
+ end
2181
+
2182
+ # @!attribute [rw] rule_group_response
2183
+ # The high-level properties of a rule group. This, along with the
2184
+ # RuleGroup, define the rule group. You can retrieve all objects for a
2185
+ # rule group by calling DescribeRuleGroup.
2186
+ # @return [Types::RuleGroupResponse]
2187
+ #
2188
+ # @see http://docs.aws.amazon.com/goto/WebAPI/network-firewall-2020-11-12/DeleteRuleGroupResponse AWS API Documentation
2189
+ #
2190
+ class DeleteRuleGroupResponse < Struct.new(
2191
+ :rule_group_response)
2192
+ SENSITIVE = []
2193
+ include Aws::Structure
2194
+ end
2195
+
2196
+ # @!attribute [rw] tls_inspection_configuration_arn
2197
+ # The Amazon Resource Name (ARN) of the TLS inspection configuration.
2198
+ #
2199
+ # You must specify the ARN or the name, and you can specify both.
2200
+ # @return [String]
2201
+ #
2202
+ # @!attribute [rw] tls_inspection_configuration_name
2203
+ # The descriptive name of the TLS inspection configuration. You can't
2204
+ # change the name of a TLS inspection configuration after you create
2205
+ # it.
1630
2206
  #
1631
2207
  # You must specify the ARN or the name, and you can specify both.
1632
2208
  # @return [String]
@@ -2035,169 +2611,470 @@ module Aws::NetworkFirewall
2035
2611
  include Aws::Structure
2036
2612
  end
2037
2613
 
2038
- # @!attribute [rw] resource_arn
2039
- # The Amazon Resource Name (ARN) of the rule group or firewall policy
2040
- # whose resource policy you want to retrieve.
2614
+ # @!attribute [rw] proxy_configuration_name
2615
+ # The descriptive name of the proxy configuration. You can't change
2616
+ # the name of a proxy configuration after you create it.
2617
+ #
2618
+ # You must specify the ARN or the name, and you can specify both.
2041
2619
  # @return [String]
2042
2620
  #
2043
- # @see http://docs.aws.amazon.com/goto/WebAPI/network-firewall-2020-11-12/DescribeResourcePolicyRequest AWS API Documentation
2621
+ # @!attribute [rw] proxy_configuration_arn
2622
+ # The Amazon Resource Name (ARN) of a proxy configuration.
2044
2623
  #
2045
- class DescribeResourcePolicyRequest < Struct.new(
2046
- :resource_arn)
2624
+ # You must specify the ARN or the name, and you can specify both.
2625
+ # @return [String]
2626
+ #
2627
+ # @see http://docs.aws.amazon.com/goto/WebAPI/network-firewall-2020-11-12/DescribeProxyConfigurationRequest AWS API Documentation
2628
+ #
2629
+ class DescribeProxyConfigurationRequest < Struct.new(
2630
+ :proxy_configuration_name,
2631
+ :proxy_configuration_arn)
2047
2632
  SENSITIVE = []
2048
2633
  include Aws::Structure
2049
2634
  end
2050
2635
 
2051
- # @!attribute [rw] policy
2052
- # The IAM policy for the resource.
2636
+ # @!attribute [rw] proxy_configuration
2637
+ # The configuration for the specified proxy configuration.
2638
+ # @return [Types::ProxyConfiguration]
2639
+ #
2640
+ # @!attribute [rw] update_token
2641
+ # A token used for optimistic locking. Network Firewall returns a
2642
+ # token to your requests that access the proxy configuration. The
2643
+ # token marks the state of the proxy configuration resource at the
2644
+ # time of the request.
2645
+ #
2646
+ # To make changes to the proxy configuration, you provide the token in
2647
+ # your request. Network Firewall uses the token to ensure that the
2648
+ # proxy configuration hasn't changed since you last retrieved it. If
2649
+ # it has changed, the operation fails with an `InvalidTokenException`.
2650
+ # If this happens, retrieve the proxy configuration again to get a
2651
+ # current copy of it with a current token. Reapply your changes as
2652
+ # needed, then try the operation again using the new token.
2053
2653
  # @return [String]
2054
2654
  #
2055
- # @see http://docs.aws.amazon.com/goto/WebAPI/network-firewall-2020-11-12/DescribeResourcePolicyResponse AWS API Documentation
2655
+ # @see http://docs.aws.amazon.com/goto/WebAPI/network-firewall-2020-11-12/DescribeProxyConfigurationResponse AWS API Documentation
2056
2656
  #
2057
- class DescribeResourcePolicyResponse < Struct.new(
2058
- :policy)
2657
+ class DescribeProxyConfigurationResponse < Struct.new(
2658
+ :proxy_configuration,
2659
+ :update_token)
2059
2660
  SENSITIVE = []
2060
2661
  include Aws::Structure
2061
2662
  end
2062
2663
 
2063
- # @!attribute [rw] rule_group_name
2064
- # The descriptive name of the rule group. You can't change the name
2065
- # of a rule group after you create it.
2664
+ # @!attribute [rw] proxy_name
2665
+ # The descriptive name of the proxy. You can't change the name of a
2666
+ # proxy after you create it.
2066
2667
  #
2067
2668
  # You must specify the ARN or the name, and you can specify both.
2068
2669
  # @return [String]
2069
2670
  #
2070
- # @!attribute [rw] rule_group_arn
2071
- # The descriptive name of the rule group. You can't change the name
2072
- # of a rule group after you create it.
2671
+ # @!attribute [rw] proxy_arn
2672
+ # The Amazon Resource Name (ARN) of a proxy.
2073
2673
  #
2074
2674
  # You must specify the ARN or the name, and you can specify both.
2075
2675
  # @return [String]
2076
2676
  #
2077
- # @!attribute [rw] type
2078
- # Indicates whether the rule group is stateless or stateful. If the
2079
- # rule group is stateless, it contains stateless rules. If it is
2080
- # stateful, it contains stateful rules.
2081
- #
2082
- # <note markdown="1"> This setting is required for requests that do not include the
2083
- # `RuleGroupARN`.
2084
- #
2085
- # </note>
2086
- # @return [String]
2087
- #
2088
- # @see http://docs.aws.amazon.com/goto/WebAPI/network-firewall-2020-11-12/DescribeRuleGroupMetadataRequest AWS API Documentation
2677
+ # @see http://docs.aws.amazon.com/goto/WebAPI/network-firewall-2020-11-12/DescribeProxyRequest AWS API Documentation
2089
2678
  #
2090
- class DescribeRuleGroupMetadataRequest < Struct.new(
2091
- :rule_group_name,
2092
- :rule_group_arn,
2093
- :type)
2679
+ class DescribeProxyRequest < Struct.new(
2680
+ :proxy_name,
2681
+ :proxy_arn)
2094
2682
  SENSITIVE = []
2095
2683
  include Aws::Structure
2096
2684
  end
2097
2685
 
2098
- # @!attribute [rw] rule_group_arn
2099
- # The descriptive name of the rule group. You can't change the name
2100
- # of a rule group after you create it.
2686
+ # Proxy attached to a NAT gateway.
2101
2687
  #
2102
- # You must specify the ARN or the name, and you can specify both.
2688
+ # @!attribute [rw] proxy_name
2689
+ # The descriptive name of the proxy. You can't change the name of a
2690
+ # proxy after you create it.
2103
2691
  # @return [String]
2104
2692
  #
2105
- # @!attribute [rw] rule_group_name
2106
- # The descriptive name of the rule group. You can't change the name
2107
- # of a rule group after you create it.
2693
+ # @!attribute [rw] proxy_arn
2694
+ # The Amazon Resource Name (ARN) of a proxy.
2695
+ # @return [String]
2108
2696
  #
2109
- # You must specify the ARN or the name, and you can specify both.
2697
+ # @!attribute [rw] proxy_configuration_name
2698
+ # The descriptive name of the proxy configuration. You can't change
2699
+ # the name of a proxy configuration after you create it.
2110
2700
  # @return [String]
2111
2701
  #
2112
- # @!attribute [rw] description
2113
- # Returns the metadata objects for the specified rule group.
2702
+ # @!attribute [rw] proxy_configuration_arn
2703
+ # The Amazon Resource Name (ARN) of a proxy configuration.
2114
2704
  # @return [String]
2115
2705
  #
2116
- # @!attribute [rw] type
2117
- # Indicates whether the rule group is stateless or stateful. If the
2118
- # rule group is stateless, it contains stateless rules. If it is
2119
- # stateful, it contains stateful rules.
2706
+ # @!attribute [rw] nat_gateway_id
2707
+ # The NAT Gateway for the proxy.
2708
+ # @return [String]
2120
2709
  #
2121
- # <note markdown="1"> This setting is required for requests that do not include the
2122
- # `RuleGroupARN`.
2710
+ # @!attribute [rw] proxy_state
2711
+ # Current attachment/detachment status of the Proxy.
2712
+ # @return [String]
2123
2713
  #
2124
- # </note>
2714
+ # @!attribute [rw] proxy_modify_state
2715
+ # Current modification status of the Proxy.
2125
2716
  # @return [String]
2126
2717
  #
2127
- # @!attribute [rw] capacity
2128
- # The maximum operating resources that this rule group can use. Rule
2129
- # group capacity is fixed at creation. When you update a rule group,
2130
- # you are limited to this capacity. When you reference a rule group
2131
- # from a firewall policy, Network Firewall reserves this capacity for
2132
- # the rule group.
2718
+ # @!attribute [rw] listener_properties
2719
+ # Listener properties for HTTP and HTTPS traffic.
2720
+ # @return [Array<Types::ListenerProperty>]
2133
2721
  #
2134
- # You can retrieve the capacity that would be required for a rule
2135
- # group before you create the rule group by calling CreateRuleGroup
2136
- # with `DryRun` set to `TRUE`.
2137
- # @return [Integer]
2722
+ # @!attribute [rw] tls_intercept_properties
2723
+ # TLS decryption on traffic to filter on attributes in the HTTP
2724
+ # header.
2725
+ # @return [Types::TlsInterceptProperties]
2138
2726
  #
2139
- # @!attribute [rw] stateful_rule_options
2140
- # Additional options governing how Network Firewall handles the rule
2141
- # group. You can only use these for stateful rule groups.
2142
- # @return [Types::StatefulRuleOptions]
2727
+ # @!attribute [rw] vpc_endpoint_service_name
2728
+ # The service endpoint created in the VPC.
2729
+ # @return [String]
2143
2730
  #
2144
- # @!attribute [rw] last_modified_time
2145
- # A timestamp indicating when the rule group was last modified.
2731
+ # @!attribute [rw] private_dns_name
2732
+ # The private DNS name of the Proxy.
2733
+ # @return [String]
2734
+ #
2735
+ # @!attribute [rw] create_time
2736
+ # Time the Proxy was created.
2146
2737
  # @return [Time]
2147
2738
  #
2148
- # @!attribute [rw] vendor_name
2149
- # The name of the Amazon Web Services Marketplace vendor that provides
2150
- # this rule group.
2739
+ # @!attribute [rw] delete_time
2740
+ # Time the Proxy was deleted.
2741
+ # @return [Time]
2742
+ #
2743
+ # @!attribute [rw] update_time
2744
+ # Time the Proxy was updated.
2745
+ # @return [Time]
2746
+ #
2747
+ # @!attribute [rw] failure_code
2748
+ # Failure code for cases when the Proxy fails to attach or update.
2151
2749
  # @return [String]
2152
2750
  #
2153
- # @!attribute [rw] product_id
2154
- # The unique identifier for the product listing associated with this
2155
- # rule group.
2751
+ # @!attribute [rw] failure_message
2752
+ # Failure message for cases when the Proxy fails to attach or update.
2156
2753
  # @return [String]
2157
2754
  #
2158
- # @!attribute [rw] listing_name
2159
- # The display name of the product listing for this rule group.
2755
+ # @!attribute [rw] tags
2756
+ # The key:value pairs to associate with the resource.
2757
+ # @return [Array<Types::Tag>]
2758
+ #
2759
+ # @see http://docs.aws.amazon.com/goto/WebAPI/network-firewall-2020-11-12/DescribeProxyResource AWS API Documentation
2760
+ #
2761
+ class DescribeProxyResource < Struct.new(
2762
+ :proxy_name,
2763
+ :proxy_arn,
2764
+ :proxy_configuration_name,
2765
+ :proxy_configuration_arn,
2766
+ :nat_gateway_id,
2767
+ :proxy_state,
2768
+ :proxy_modify_state,
2769
+ :listener_properties,
2770
+ :tls_intercept_properties,
2771
+ :vpc_endpoint_service_name,
2772
+ :private_dns_name,
2773
+ :create_time,
2774
+ :delete_time,
2775
+ :update_time,
2776
+ :failure_code,
2777
+ :failure_message,
2778
+ :tags)
2779
+ SENSITIVE = []
2780
+ include Aws::Structure
2781
+ end
2782
+
2783
+ # @!attribute [rw] proxy
2784
+ # Proxy attached to a NAT gateway.
2785
+ # @return [Types::DescribeProxyResource]
2786
+ #
2787
+ # @!attribute [rw] update_token
2788
+ # A token used for optimistic locking. Network Firewall returns a
2789
+ # token to your requests that access the proxy. The token marks the
2790
+ # state of the proxy resource at the time of the request.
2791
+ #
2792
+ # To make changes to the proxy, you provide the token in your request.
2793
+ # Network Firewall uses the token to ensure that the proxy hasn't
2794
+ # changed since you last retrieved it. If it has changed, the
2795
+ # operation fails with an `InvalidTokenException`. If this happens,
2796
+ # retrieve the proxy again to get a current copy of it with a current
2797
+ # token. Reapply your changes as needed, then try the operation again
2798
+ # using the new token.
2160
2799
  # @return [String]
2161
2800
  #
2162
- # @see http://docs.aws.amazon.com/goto/WebAPI/network-firewall-2020-11-12/DescribeRuleGroupMetadataResponse AWS API Documentation
2801
+ # @see http://docs.aws.amazon.com/goto/WebAPI/network-firewall-2020-11-12/DescribeProxyResponse AWS API Documentation
2163
2802
  #
2164
- class DescribeRuleGroupMetadataResponse < Struct.new(
2165
- :rule_group_arn,
2166
- :rule_group_name,
2167
- :description,
2168
- :type,
2169
- :capacity,
2170
- :stateful_rule_options,
2171
- :last_modified_time,
2172
- :vendor_name,
2173
- :product_id,
2174
- :listing_name)
2803
+ class DescribeProxyResponse < Struct.new(
2804
+ :proxy,
2805
+ :update_token)
2175
2806
  SENSITIVE = []
2176
2807
  include Aws::Structure
2177
2808
  end
2178
2809
 
2179
- # @!attribute [rw] rule_group_name
2180
- # The descriptive name of the rule group. You can't change the name
2181
- # of a rule group after you create it.
2810
+ # @!attribute [rw] proxy_rule_group_name
2811
+ # The descriptive name of the proxy rule group. You can't change the
2812
+ # name of a proxy rule group after you create it.
2182
2813
  #
2183
2814
  # You must specify the ARN or the name, and you can specify both.
2184
2815
  # @return [String]
2185
2816
  #
2186
- # @!attribute [rw] rule_group_arn
2187
- # The Amazon Resource Name (ARN) of the rule group.
2817
+ # @!attribute [rw] proxy_rule_group_arn
2818
+ # The Amazon Resource Name (ARN) of a proxy rule group.
2188
2819
  #
2189
2820
  # You must specify the ARN or the name, and you can specify both.
2190
2821
  # @return [String]
2191
2822
  #
2192
- # @!attribute [rw] type
2193
- # Indicates whether the rule group is stateless or stateful. If the
2194
- # rule group is stateless, it contains stateless rules. If it is
2195
- # stateful, it contains stateful rules.
2823
+ # @see http://docs.aws.amazon.com/goto/WebAPI/network-firewall-2020-11-12/DescribeProxyRuleGroupRequest AWS API Documentation
2196
2824
  #
2197
- # <note markdown="1"> This setting is required for requests that do not include the
2198
- # `RuleGroupARN`.
2825
+ class DescribeProxyRuleGroupRequest < Struct.new(
2826
+ :proxy_rule_group_name,
2827
+ :proxy_rule_group_arn)
2828
+ SENSITIVE = []
2829
+ include Aws::Structure
2830
+ end
2831
+
2832
+ # @!attribute [rw] proxy_rule_group
2833
+ # The configuration for the specified proxy rule group.
2834
+ # @return [Types::ProxyRuleGroup]
2199
2835
  #
2200
- # </note>
2836
+ # @!attribute [rw] update_token
2837
+ # A token used for optimistic locking. Network Firewall returns a
2838
+ # token to your requests that access the proxy rule group. The token
2839
+ # marks the state of the proxy rule group resource at the time of the
2840
+ # request.
2841
+ #
2842
+ # To make changes to the proxy rule group, you provide the token in
2843
+ # your request. Network Firewall uses the token to ensure that the
2844
+ # proxy rule group hasn't changed since you last retrieved it. If it
2845
+ # has changed, the operation fails with an `InvalidTokenException`. If
2846
+ # this happens, retrieve the proxy rule group again to get a current
2847
+ # copy of it with a current token. Reapply your changes as needed,
2848
+ # then try the operation again using the new token.
2849
+ # @return [String]
2850
+ #
2851
+ # @see http://docs.aws.amazon.com/goto/WebAPI/network-firewall-2020-11-12/DescribeProxyRuleGroupResponse AWS API Documentation
2852
+ #
2853
+ class DescribeProxyRuleGroupResponse < Struct.new(
2854
+ :proxy_rule_group,
2855
+ :update_token)
2856
+ SENSITIVE = []
2857
+ include Aws::Structure
2858
+ end
2859
+
2860
+ # @!attribute [rw] proxy_rule_name
2861
+ # The descriptive name of the proxy rule. You can't change the name
2862
+ # of a proxy rule after you create it.
2863
+ # @return [String]
2864
+ #
2865
+ # @!attribute [rw] proxy_rule_group_name
2866
+ # The descriptive name of the proxy rule group. You can't change the
2867
+ # name of a proxy rule group after you create it.
2868
+ #
2869
+ # You must specify the ARN or the name, and you can specify both.
2870
+ # @return [String]
2871
+ #
2872
+ # @!attribute [rw] proxy_rule_group_arn
2873
+ # The Amazon Resource Name (ARN) of a proxy rule group.
2874
+ #
2875
+ # You must specify the ARN or the name, and you can specify both.
2876
+ # @return [String]
2877
+ #
2878
+ # @see http://docs.aws.amazon.com/goto/WebAPI/network-firewall-2020-11-12/DescribeProxyRuleRequest AWS API Documentation
2879
+ #
2880
+ class DescribeProxyRuleRequest < Struct.new(
2881
+ :proxy_rule_name,
2882
+ :proxy_rule_group_name,
2883
+ :proxy_rule_group_arn)
2884
+ SENSITIVE = []
2885
+ include Aws::Structure
2886
+ end
2887
+
2888
+ # @!attribute [rw] proxy_rule
2889
+ # The configuration for the specified proxy rule.
2890
+ # @return [Types::ProxyRule]
2891
+ #
2892
+ # @!attribute [rw] update_token
2893
+ # A token used for optimistic locking. Network Firewall returns a
2894
+ # token to your requests that access the proxy rule. The token marks
2895
+ # the state of the proxy rule resource at the time of the request.
2896
+ #
2897
+ # To make changes to the proxy rule, you provide the token in your
2898
+ # request. Network Firewall uses the token to ensure that the proxy
2899
+ # rule hasn't changed since you last retrieved it. If it has changed,
2900
+ # the operation fails with an `InvalidTokenException`. If this
2901
+ # happens, retrieve the proxy rule again to get a current copy of it
2902
+ # with a current token. Reapply your changes as needed, then try the
2903
+ # operation again using the new token.
2904
+ # @return [String]
2905
+ #
2906
+ # @see http://docs.aws.amazon.com/goto/WebAPI/network-firewall-2020-11-12/DescribeProxyRuleResponse AWS API Documentation
2907
+ #
2908
+ class DescribeProxyRuleResponse < Struct.new(
2909
+ :proxy_rule,
2910
+ :update_token)
2911
+ SENSITIVE = []
2912
+ include Aws::Structure
2913
+ end
2914
+
2915
+ # @!attribute [rw] resource_arn
2916
+ # The Amazon Resource Name (ARN) of the rule group or firewall policy
2917
+ # whose resource policy you want to retrieve.
2918
+ # @return [String]
2919
+ #
2920
+ # @see http://docs.aws.amazon.com/goto/WebAPI/network-firewall-2020-11-12/DescribeResourcePolicyRequest AWS API Documentation
2921
+ #
2922
+ class DescribeResourcePolicyRequest < Struct.new(
2923
+ :resource_arn)
2924
+ SENSITIVE = []
2925
+ include Aws::Structure
2926
+ end
2927
+
2928
+ # @!attribute [rw] policy
2929
+ # The IAM policy for the resource.
2930
+ # @return [String]
2931
+ #
2932
+ # @see http://docs.aws.amazon.com/goto/WebAPI/network-firewall-2020-11-12/DescribeResourcePolicyResponse AWS API Documentation
2933
+ #
2934
+ class DescribeResourcePolicyResponse < Struct.new(
2935
+ :policy)
2936
+ SENSITIVE = []
2937
+ include Aws::Structure
2938
+ end
2939
+
2940
+ # @!attribute [rw] rule_group_name
2941
+ # The descriptive name of the rule group. You can't change the name
2942
+ # of a rule group after you create it.
2943
+ #
2944
+ # You must specify the ARN or the name, and you can specify both.
2945
+ # @return [String]
2946
+ #
2947
+ # @!attribute [rw] rule_group_arn
2948
+ # The descriptive name of the rule group. You can't change the name
2949
+ # of a rule group after you create it.
2950
+ #
2951
+ # You must specify the ARN or the name, and you can specify both.
2952
+ # @return [String]
2953
+ #
2954
+ # @!attribute [rw] type
2955
+ # Indicates whether the rule group is stateless or stateful. If the
2956
+ # rule group is stateless, it contains stateless rules. If it is
2957
+ # stateful, it contains stateful rules.
2958
+ #
2959
+ # <note markdown="1"> This setting is required for requests that do not include the
2960
+ # `RuleGroupARN`.
2961
+ #
2962
+ # </note>
2963
+ # @return [String]
2964
+ #
2965
+ # @see http://docs.aws.amazon.com/goto/WebAPI/network-firewall-2020-11-12/DescribeRuleGroupMetadataRequest AWS API Documentation
2966
+ #
2967
+ class DescribeRuleGroupMetadataRequest < Struct.new(
2968
+ :rule_group_name,
2969
+ :rule_group_arn,
2970
+ :type)
2971
+ SENSITIVE = []
2972
+ include Aws::Structure
2973
+ end
2974
+
2975
+ # @!attribute [rw] rule_group_arn
2976
+ # The descriptive name of the rule group. You can't change the name
2977
+ # of a rule group after you create it.
2978
+ #
2979
+ # You must specify the ARN or the name, and you can specify both.
2980
+ # @return [String]
2981
+ #
2982
+ # @!attribute [rw] rule_group_name
2983
+ # The descriptive name of the rule group. You can't change the name
2984
+ # of a rule group after you create it.
2985
+ #
2986
+ # You must specify the ARN or the name, and you can specify both.
2987
+ # @return [String]
2988
+ #
2989
+ # @!attribute [rw] description
2990
+ # Returns the metadata objects for the specified rule group.
2991
+ # @return [String]
2992
+ #
2993
+ # @!attribute [rw] type
2994
+ # Indicates whether the rule group is stateless or stateful. If the
2995
+ # rule group is stateless, it contains stateless rules. If it is
2996
+ # stateful, it contains stateful rules.
2997
+ #
2998
+ # <note markdown="1"> This setting is required for requests that do not include the
2999
+ # `RuleGroupARN`.
3000
+ #
3001
+ # </note>
3002
+ # @return [String]
3003
+ #
3004
+ # @!attribute [rw] capacity
3005
+ # The maximum operating resources that this rule group can use. Rule
3006
+ # group capacity is fixed at creation. When you update a rule group,
3007
+ # you are limited to this capacity. When you reference a rule group
3008
+ # from a firewall policy, Network Firewall reserves this capacity for
3009
+ # the rule group.
3010
+ #
3011
+ # You can retrieve the capacity that would be required for a rule
3012
+ # group before you create the rule group by calling CreateRuleGroup
3013
+ # with `DryRun` set to `TRUE`.
3014
+ # @return [Integer]
3015
+ #
3016
+ # @!attribute [rw] stateful_rule_options
3017
+ # Additional options governing how Network Firewall handles the rule
3018
+ # group. You can only use these for stateful rule groups.
3019
+ # @return [Types::StatefulRuleOptions]
3020
+ #
3021
+ # @!attribute [rw] last_modified_time
3022
+ # A timestamp indicating when the rule group was last modified.
3023
+ # @return [Time]
3024
+ #
3025
+ # @!attribute [rw] vendor_name
3026
+ # The name of the Amazon Web Services Marketplace vendor that provides
3027
+ # this rule group.
3028
+ # @return [String]
3029
+ #
3030
+ # @!attribute [rw] product_id
3031
+ # The unique identifier for the product listing associated with this
3032
+ # rule group.
3033
+ # @return [String]
3034
+ #
3035
+ # @!attribute [rw] listing_name
3036
+ # The display name of the product listing for this rule group.
3037
+ # @return [String]
3038
+ #
3039
+ # @see http://docs.aws.amazon.com/goto/WebAPI/network-firewall-2020-11-12/DescribeRuleGroupMetadataResponse AWS API Documentation
3040
+ #
3041
+ class DescribeRuleGroupMetadataResponse < Struct.new(
3042
+ :rule_group_arn,
3043
+ :rule_group_name,
3044
+ :description,
3045
+ :type,
3046
+ :capacity,
3047
+ :stateful_rule_options,
3048
+ :last_modified_time,
3049
+ :vendor_name,
3050
+ :product_id,
3051
+ :listing_name)
3052
+ SENSITIVE = []
3053
+ include Aws::Structure
3054
+ end
3055
+
3056
+ # @!attribute [rw] rule_group_name
3057
+ # The descriptive name of the rule group. You can't change the name
3058
+ # of a rule group after you create it.
3059
+ #
3060
+ # You must specify the ARN or the name, and you can specify both.
3061
+ # @return [String]
3062
+ #
3063
+ # @!attribute [rw] rule_group_arn
3064
+ # The Amazon Resource Name (ARN) of the rule group.
3065
+ #
3066
+ # You must specify the ARN or the name, and you can specify both.
3067
+ # @return [String]
3068
+ #
3069
+ # @!attribute [rw] type
3070
+ # Indicates whether the rule group is stateless or stateful. If the
3071
+ # rule group is stateless, it contains stateless rules. If it is
3072
+ # stateful, it contains stateful rules.
3073
+ #
3074
+ # <note markdown="1"> This setting is required for requests that do not include the
3075
+ # `RuleGroupARN`.
3076
+ #
3077
+ # </note>
2201
3078
  # @return [String]
2202
3079
  #
2203
3080
  # @!attribute [rw] analyze_rule_group
@@ -2445,6 +3322,83 @@ module Aws::NetworkFirewall
2445
3322
  include Aws::Structure
2446
3323
  end
2447
3324
 
3325
+ # @!attribute [rw] proxy_configuration_name
3326
+ # The descriptive name of the proxy configuration. You can't change
3327
+ # the name of a proxy configuration after you create it.
3328
+ #
3329
+ # You must specify the ARN or the name, and you can specify both.
3330
+ # @return [String]
3331
+ #
3332
+ # @!attribute [rw] proxy_configuration_arn
3333
+ # The Amazon Resource Name (ARN) of a proxy configuration.
3334
+ #
3335
+ # You must specify the ARN or the name, and you can specify both.
3336
+ # @return [String]
3337
+ #
3338
+ # @!attribute [rw] rule_group_names
3339
+ # The proxy rule group names to detach from the proxy configuration
3340
+ # @return [Array<String>]
3341
+ #
3342
+ # @!attribute [rw] rule_group_arns
3343
+ # The proxy rule group arns to detach from the proxy configuration
3344
+ # @return [Array<String>]
3345
+ #
3346
+ # @!attribute [rw] update_token
3347
+ # A token used for optimistic locking. Network Firewall returns a
3348
+ # token to your requests that access the proxy configuration. The
3349
+ # token marks the state of the proxy configuration resource at the
3350
+ # time of the request.
3351
+ #
3352
+ # To make changes to the proxy configuration, you provide the token in
3353
+ # your request. Network Firewall uses the token to ensure that the
3354
+ # proxy configuration hasn't changed since you last retrieved it. If
3355
+ # it has changed, the operation fails with an `InvalidTokenException`.
3356
+ # If this happens, retrieve the proxy configuration again to get a
3357
+ # current copy of it with a current token. Reapply your changes as
3358
+ # needed, then try the operation again using the new token.
3359
+ # @return [String]
3360
+ #
3361
+ # @see http://docs.aws.amazon.com/goto/WebAPI/network-firewall-2020-11-12/DetachRuleGroupsFromProxyConfigurationRequest AWS API Documentation
3362
+ #
3363
+ class DetachRuleGroupsFromProxyConfigurationRequest < Struct.new(
3364
+ :proxy_configuration_name,
3365
+ :proxy_configuration_arn,
3366
+ :rule_group_names,
3367
+ :rule_group_arns,
3368
+ :update_token)
3369
+ SENSITIVE = []
3370
+ include Aws::Structure
3371
+ end
3372
+
3373
+ # @!attribute [rw] proxy_configuration
3374
+ # The updated proxy configuration resource that reflects the updates
3375
+ # from the request.
3376
+ # @return [Types::ProxyConfiguration]
3377
+ #
3378
+ # @!attribute [rw] update_token
3379
+ # A token used for optimistic locking. Network Firewall returns a
3380
+ # token to your requests that access the proxy configuration. The
3381
+ # token marks the state of the proxy configuration resource at the
3382
+ # time of the request.
3383
+ #
3384
+ # To make changes to the proxy configuration, you provide the token in
3385
+ # your request. Network Firewall uses the token to ensure that the
3386
+ # proxy configuration hasn't changed since you last retrieved it. If
3387
+ # it has changed, the operation fails with an `InvalidTokenException`.
3388
+ # If this happens, retrieve the proxy configuration again to get a
3389
+ # current copy of it with a current token. Reapply your changes as
3390
+ # needed, then try the operation again using the new token.
3391
+ # @return [String]
3392
+ #
3393
+ # @see http://docs.aws.amazon.com/goto/WebAPI/network-firewall-2020-11-12/DetachRuleGroupsFromProxyConfigurationResponse AWS API Documentation
3394
+ #
3395
+ class DetachRuleGroupsFromProxyConfigurationResponse < Struct.new(
3396
+ :proxy_configuration,
3397
+ :update_token)
3398
+ SENSITIVE = []
3399
+ include Aws::Structure
3400
+ end
3401
+
2448
3402
  # The value to use in an Amazon CloudWatch custom metric dimension. This
2449
3403
  # is used in the `PublishMetrics` CustomAction. A CloudWatch custom
2450
3404
  # metric dimension is a name/value pair that's part of the identity of
@@ -4162,25 +5116,166 @@ module Aws::NetworkFirewall
4162
5116
  # use in a subsequent call to get the next batch of objects.
4163
5117
  # @return [Integer]
4164
5118
  #
4165
- # @!attribute [rw] scope
4166
- # The scope of the request. The default setting of `ACCOUNT` or a
4167
- # setting of `NULL` returns all of the rule groups in your account. A
4168
- # setting of `MANAGED` returns all available managed rule groups.
4169
- # @return [String]
5119
+ # @see http://docs.aws.amazon.com/goto/WebAPI/network-firewall-2020-11-12/ListProxiesRequest AWS API Documentation
4170
5120
  #
4171
- # @!attribute [rw] managed_type
4172
- # Indicates the general category of the Amazon Web Services managed
4173
- # rule group.
4174
- # @return [String]
5121
+ class ListProxiesRequest < Struct.new(
5122
+ :next_token,
5123
+ :max_results)
5124
+ SENSITIVE = []
5125
+ include Aws::Structure
5126
+ end
5127
+
5128
+ # @!attribute [rw] proxies
5129
+ # The metadata for the proxies. Depending on your setting for max
5130
+ # results and the number of proxies that you have, this might not be
5131
+ # the full list.
5132
+ # @return [Array<Types::ProxyMetadata>]
4175
5133
  #
4176
- # @!attribute [rw] subscription_status
4177
- # Filters the results to show only rule groups with the specified
4178
- # subscription status. Use this to find subscribed or unsubscribed
4179
- # rule groups.
5134
+ # @!attribute [rw] next_token
5135
+ # When you request a list of objects with a `MaxResults` setting, if
5136
+ # the number of objects that are still available for retrieval exceeds
5137
+ # the maximum you requested, Network Firewall returns a `NextToken`
5138
+ # value in the response. To retrieve the next batch of objects, use
5139
+ # the token returned from the prior request in your next request.
4180
5140
  # @return [String]
4181
5141
  #
4182
- # @!attribute [rw] type
4183
- # Indicates whether the rule group is stateless or stateful. If the
5142
+ # @see http://docs.aws.amazon.com/goto/WebAPI/network-firewall-2020-11-12/ListProxiesResponse AWS API Documentation
5143
+ #
5144
+ class ListProxiesResponse < Struct.new(
5145
+ :proxies,
5146
+ :next_token)
5147
+ SENSITIVE = []
5148
+ include Aws::Structure
5149
+ end
5150
+
5151
+ # @!attribute [rw] next_token
5152
+ # When you request a list of objects with a `MaxResults` setting, if
5153
+ # the number of objects that are still available for retrieval exceeds
5154
+ # the maximum you requested, Network Firewall returns a `NextToken`
5155
+ # value in the response. To retrieve the next batch of objects, use
5156
+ # the token returned from the prior request in your next request.
5157
+ # @return [String]
5158
+ #
5159
+ # @!attribute [rw] max_results
5160
+ # The maximum number of objects that you want Network Firewall to
5161
+ # return for this request. If more objects are available, in the
5162
+ # response, Network Firewall provides a `NextToken` value that you can
5163
+ # use in a subsequent call to get the next batch of objects.
5164
+ # @return [Integer]
5165
+ #
5166
+ # @see http://docs.aws.amazon.com/goto/WebAPI/network-firewall-2020-11-12/ListProxyConfigurationsRequest AWS API Documentation
5167
+ #
5168
+ class ListProxyConfigurationsRequest < Struct.new(
5169
+ :next_token,
5170
+ :max_results)
5171
+ SENSITIVE = []
5172
+ include Aws::Structure
5173
+ end
5174
+
5175
+ # @!attribute [rw] proxy_configurations
5176
+ # The metadata for the proxy configurations. Depending on your setting
5177
+ # for max results and the number of proxy configurations that you
5178
+ # have, this might not be the full list.
5179
+ # @return [Array<Types::ProxyConfigurationMetadata>]
5180
+ #
5181
+ # @!attribute [rw] next_token
5182
+ # When you request a list of objects with a `MaxResults` setting, if
5183
+ # the number of objects that are still available for retrieval exceeds
5184
+ # the maximum you requested, Network Firewall returns a `NextToken`
5185
+ # value in the response. To retrieve the next batch of objects, use
5186
+ # the token returned from the prior request in your next request.
5187
+ # @return [String]
5188
+ #
5189
+ # @see http://docs.aws.amazon.com/goto/WebAPI/network-firewall-2020-11-12/ListProxyConfigurationsResponse AWS API Documentation
5190
+ #
5191
+ class ListProxyConfigurationsResponse < Struct.new(
5192
+ :proxy_configurations,
5193
+ :next_token)
5194
+ SENSITIVE = []
5195
+ include Aws::Structure
5196
+ end
5197
+
5198
+ # @!attribute [rw] next_token
5199
+ # When you request a list of objects with a `MaxResults` setting, if
5200
+ # the number of objects that are still available for retrieval exceeds
5201
+ # the maximum you requested, Network Firewall returns a `NextToken`
5202
+ # value in the response. To retrieve the next batch of objects, use
5203
+ # the token returned from the prior request in your next request.
5204
+ # @return [String]
5205
+ #
5206
+ # @!attribute [rw] max_results
5207
+ # The maximum number of objects that you want Network Firewall to
5208
+ # return for this request. If more objects are available, in the
5209
+ # response, Network Firewall provides a `NextToken` value that you can
5210
+ # use in a subsequent call to get the next batch of objects.
5211
+ # @return [Integer]
5212
+ #
5213
+ # @see http://docs.aws.amazon.com/goto/WebAPI/network-firewall-2020-11-12/ListProxyRuleGroupsRequest AWS API Documentation
5214
+ #
5215
+ class ListProxyRuleGroupsRequest < Struct.new(
5216
+ :next_token,
5217
+ :max_results)
5218
+ SENSITIVE = []
5219
+ include Aws::Structure
5220
+ end
5221
+
5222
+ # @!attribute [rw] proxy_rule_groups
5223
+ # The metadata for the proxy rule groups. Depending on your setting
5224
+ # for max results and the number of proxy rule groups that you have,
5225
+ # this might not be the full list.
5226
+ # @return [Array<Types::ProxyRuleGroupMetadata>]
5227
+ #
5228
+ # @!attribute [rw] next_token
5229
+ # When you request a list of objects with a `MaxResults` setting, if
5230
+ # the number of objects that are still available for retrieval exceeds
5231
+ # the maximum you requested, Network Firewall returns a `NextToken`
5232
+ # value in the response. To retrieve the next batch of objects, use
5233
+ # the token returned from the prior request in your next request.
5234
+ # @return [String]
5235
+ #
5236
+ # @see http://docs.aws.amazon.com/goto/WebAPI/network-firewall-2020-11-12/ListProxyRuleGroupsResponse AWS API Documentation
5237
+ #
5238
+ class ListProxyRuleGroupsResponse < Struct.new(
5239
+ :proxy_rule_groups,
5240
+ :next_token)
5241
+ SENSITIVE = []
5242
+ include Aws::Structure
5243
+ end
5244
+
5245
+ # @!attribute [rw] next_token
5246
+ # When you request a list of objects with a `MaxResults` setting, if
5247
+ # the number of objects that are still available for retrieval exceeds
5248
+ # the maximum you requested, Network Firewall returns a `NextToken`
5249
+ # value in the response. To retrieve the next batch of objects, use
5250
+ # the token returned from the prior request in your next request.
5251
+ # @return [String]
5252
+ #
5253
+ # @!attribute [rw] max_results
5254
+ # The maximum number of objects that you want Network Firewall to
5255
+ # return for this request. If more objects are available, in the
5256
+ # response, Network Firewall provides a `NextToken` value that you can
5257
+ # use in a subsequent call to get the next batch of objects.
5258
+ # @return [Integer]
5259
+ #
5260
+ # @!attribute [rw] scope
5261
+ # The scope of the request. The default setting of `ACCOUNT` or a
5262
+ # setting of `NULL` returns all of the rule groups in your account. A
5263
+ # setting of `MANAGED` returns all available managed rule groups.
5264
+ # @return [String]
5265
+ #
5266
+ # @!attribute [rw] managed_type
5267
+ # Indicates the general category of the Amazon Web Services managed
5268
+ # rule group.
5269
+ # @return [String]
5270
+ #
5271
+ # @!attribute [rw] subscription_status
5272
+ # Filters the results to show only rule groups with the specified
5273
+ # subscription status. Use this to find subscribed or unsubscribed
5274
+ # rule groups.
5275
+ # @return [String]
5276
+ #
5277
+ # @!attribute [rw] type
5278
+ # Indicates whether the rule group is stateless or stateful. If the
4184
5279
  # rule group is stateless, it contains stateless rules. If it is
4185
5280
  # stateful, it contains stateful rules.
4186
5281
  # @return [String]
@@ -4376,6 +5471,47 @@ module Aws::NetworkFirewall
4376
5471
  include Aws::Structure
4377
5472
  end
4378
5473
 
5474
+ # Open port for taking HTTP or HTTPS traffic.
5475
+ #
5476
+ # @!attribute [rw] port
5477
+ # Port for processing traffic.
5478
+ # @return [Integer]
5479
+ #
5480
+ # @!attribute [rw] type
5481
+ # Selection of HTTP or HTTPS traffic.
5482
+ # @return [String]
5483
+ #
5484
+ # @see http://docs.aws.amazon.com/goto/WebAPI/network-firewall-2020-11-12/ListenerProperty AWS API Documentation
5485
+ #
5486
+ class ListenerProperty < Struct.new(
5487
+ :port,
5488
+ :type)
5489
+ SENSITIVE = []
5490
+ include Aws::Structure
5491
+ end
5492
+
5493
+ # This data type is used specifically for the CreateProxy and
5494
+ # UpdateProxy APIs.
5495
+ #
5496
+ # Open port for taking HTTP or HTTPS traffic.
5497
+ #
5498
+ # @!attribute [rw] port
5499
+ # Port for processing traffic.
5500
+ # @return [Integer]
5501
+ #
5502
+ # @!attribute [rw] type
5503
+ # Selection of HTTP or HTTPS traffic.
5504
+ # @return [String]
5505
+ #
5506
+ # @see http://docs.aws.amazon.com/goto/WebAPI/network-firewall-2020-11-12/ListenerPropertyRequest AWS API Documentation
5507
+ #
5508
+ class ListenerPropertyRequest < Struct.new(
5509
+ :port,
5510
+ :type)
5511
+ SENSITIVE = []
5512
+ include Aws::Structure
5513
+ end
5514
+
4379
5515
  # Defines where Network Firewall sends logs for the firewall for one log
4380
5516
  # type. This is used in LoggingConfiguration. You can send each type of
4381
5517
  # log to an Amazon S3 bucket, a CloudWatch log group, or a Firehose
@@ -4564,59 +5700,545 @@ module Aws::NetworkFirewall
4564
5700
  include Aws::Structure
4565
5701
  end
4566
5702
 
4567
- # Contains variables that you can use to override default Suricata
4568
- # settings in your firewall policy.
5703
+ # Contains variables that you can use to override default Suricata
5704
+ # settings in your firewall policy.
5705
+ #
5706
+ # @!attribute [rw] rule_variables
5707
+ # The IPv4 or IPv6 addresses in CIDR notation to use for the Suricata
5708
+ # `HOME_NET` variable. If your firewall uses an inspection VPC, you
5709
+ # might want to override the `HOME_NET` variable with the CIDRs of
5710
+ # your home networks. If you don't override `HOME_NET` with your own
5711
+ # CIDRs, Network Firewall by default uses the CIDR of your inspection
5712
+ # VPC.
5713
+ # @return [Hash<String,Types::IPSet>]
5714
+ #
5715
+ # @see http://docs.aws.amazon.com/goto/WebAPI/network-firewall-2020-11-12/PolicyVariables AWS API Documentation
5716
+ #
5717
+ class PolicyVariables < Struct.new(
5718
+ :rule_variables)
5719
+ SENSITIVE = []
5720
+ include Aws::Structure
5721
+ end
5722
+
5723
+ # A single port range specification. This is used for source and
5724
+ # destination port ranges in the stateless rule MatchAttributes,
5725
+ # `SourcePorts`, and `DestinationPorts` settings.
5726
+ #
5727
+ # @!attribute [rw] from_port
5728
+ # The lower limit of the port range. This must be less than or equal
5729
+ # to the `ToPort` specification.
5730
+ # @return [Integer]
5731
+ #
5732
+ # @!attribute [rw] to_port
5733
+ # The upper limit of the port range. This must be greater than or
5734
+ # equal to the `FromPort` specification.
5735
+ # @return [Integer]
5736
+ #
5737
+ # @see http://docs.aws.amazon.com/goto/WebAPI/network-firewall-2020-11-12/PortRange AWS API Documentation
5738
+ #
5739
+ class PortRange < Struct.new(
5740
+ :from_port,
5741
+ :to_port)
5742
+ SENSITIVE = []
5743
+ include Aws::Structure
5744
+ end
5745
+
5746
+ # A set of port ranges for use in the rules in a rule group.
5747
+ #
5748
+ # @!attribute [rw] definition
5749
+ # The set of port ranges.
5750
+ # @return [Array<String>]
5751
+ #
5752
+ # @see http://docs.aws.amazon.com/goto/WebAPI/network-firewall-2020-11-12/PortSet AWS API Documentation
5753
+ #
5754
+ class PortSet < Struct.new(
5755
+ :definition)
5756
+ SENSITIVE = []
5757
+ include Aws::Structure
5758
+ end
5759
+
5760
+ # Proxy attached to a NAT gateway.
5761
+ #
5762
+ # @!attribute [rw] create_time
5763
+ # Time the Proxy was created.
5764
+ # @return [Time]
5765
+ #
5766
+ # @!attribute [rw] delete_time
5767
+ # Time the Proxy was deleted.
5768
+ # @return [Time]
5769
+ #
5770
+ # @!attribute [rw] update_time
5771
+ # Time the Proxy was updated.
5772
+ # @return [Time]
5773
+ #
5774
+ # @!attribute [rw] failure_code
5775
+ # Failure code for cases when the Proxy fails to attach or update.
5776
+ # @return [String]
5777
+ #
5778
+ # @!attribute [rw] failure_message
5779
+ # Failure message for cases when the Proxy fails to attach or update.
5780
+ # @return [String]
5781
+ #
5782
+ # @!attribute [rw] proxy_state
5783
+ # Current attachment/detachment status of the Proxy.
5784
+ # @return [String]
5785
+ #
5786
+ # @!attribute [rw] proxy_modify_state
5787
+ # Current modification status of the Proxy.
5788
+ # @return [String]
5789
+ #
5790
+ # @!attribute [rw] nat_gateway_id
5791
+ # The NAT Gateway for the proxy.
5792
+ # @return [String]
5793
+ #
5794
+ # @!attribute [rw] proxy_configuration_name
5795
+ # The descriptive name of the proxy configuration. You can't change
5796
+ # the name of a proxy configuration after you create it.
5797
+ # @return [String]
5798
+ #
5799
+ # @!attribute [rw] proxy_configuration_arn
5800
+ # The Amazon Resource Name (ARN) of a proxy configuration.
5801
+ # @return [String]
5802
+ #
5803
+ # @!attribute [rw] proxy_name
5804
+ # The descriptive name of the proxy. You can't change the name of a
5805
+ # proxy after you create it.
5806
+ # @return [String]
5807
+ #
5808
+ # @!attribute [rw] proxy_arn
5809
+ # The Amazon Resource Name (ARN) of a proxy.
5810
+ # @return [String]
5811
+ #
5812
+ # @!attribute [rw] listener_properties
5813
+ # Listener properties for HTTP and HTTPS traffic.
5814
+ # @return [Array<Types::ListenerProperty>]
5815
+ #
5816
+ # @!attribute [rw] tls_intercept_properties
5817
+ # TLS decryption on traffic to filter on attributes in the HTTP
5818
+ # header.
5819
+ # @return [Types::TlsInterceptProperties]
5820
+ #
5821
+ # @!attribute [rw] tags
5822
+ # The key:value pairs to associate with the resource.
5823
+ # @return [Array<Types::Tag>]
5824
+ #
5825
+ # @see http://docs.aws.amazon.com/goto/WebAPI/network-firewall-2020-11-12/Proxy AWS API Documentation
5826
+ #
5827
+ class Proxy < Struct.new(
5828
+ :create_time,
5829
+ :delete_time,
5830
+ :update_time,
5831
+ :failure_code,
5832
+ :failure_message,
5833
+ :proxy_state,
5834
+ :proxy_modify_state,
5835
+ :nat_gateway_id,
5836
+ :proxy_configuration_name,
5837
+ :proxy_configuration_arn,
5838
+ :proxy_name,
5839
+ :proxy_arn,
5840
+ :listener_properties,
5841
+ :tls_intercept_properties,
5842
+ :tags)
5843
+ SENSITIVE = []
5844
+ include Aws::Structure
5845
+ end
5846
+
5847
+ # Evaluation points in the traffic flow where rules are applied. There
5848
+ # are three phases in a traffic where the rule match is applied.
5849
+ #
5850
+ # This data type is used specifically for the CreateProxyConfiguration
5851
+ # and UpdateProxyConfiguration APIs.
5852
+ #
5853
+ # @!attribute [rw] pre_dns
5854
+ # Before domain resolution.
5855
+ # @return [String]
5856
+ #
5857
+ # @!attribute [rw] pre_request
5858
+ # After DNS, before request.
5859
+ # @return [String]
5860
+ #
5861
+ # @!attribute [rw] post_response
5862
+ # After receiving response.
5863
+ # @return [String]
5864
+ #
5865
+ # @see http://docs.aws.amazon.com/goto/WebAPI/network-firewall-2020-11-12/ProxyConfigDefaultRulePhaseActionsRequest AWS API Documentation
5866
+ #
5867
+ class ProxyConfigDefaultRulePhaseActionsRequest < Struct.new(
5868
+ :pre_dns,
5869
+ :pre_request,
5870
+ :post_response)
5871
+ SENSITIVE = []
5872
+ include Aws::Structure
5873
+ end
5874
+
5875
+ # Proxy rule group contained within a proxy configuration.
5876
+ #
5877
+ # @!attribute [rw] proxy_rule_group_name
5878
+ # The descriptive name of the proxy rule group. You can't change the
5879
+ # name of a proxy rule group after you create it.
5880
+ # @return [String]
5881
+ #
5882
+ # @!attribute [rw] proxy_rule_group_arn
5883
+ # The Amazon Resource Name (ARN) of a proxy rule group.
5884
+ # @return [String]
5885
+ #
5886
+ # @!attribute [rw] type
5887
+ # Proxy rule group type.
5888
+ # @return [String]
5889
+ #
5890
+ # @!attribute [rw] priority
5891
+ # Priority of the proxy rule group in the proxy configuration.
5892
+ # @return [Integer]
5893
+ #
5894
+ # @see http://docs.aws.amazon.com/goto/WebAPI/network-firewall-2020-11-12/ProxyConfigRuleGroup AWS API Documentation
5895
+ #
5896
+ class ProxyConfigRuleGroup < Struct.new(
5897
+ :proxy_rule_group_name,
5898
+ :proxy_rule_group_arn,
5899
+ :type,
5900
+ :priority)
5901
+ SENSITIVE = []
5902
+ include Aws::Structure
5903
+ end
5904
+
5905
+ # A Proxy Configuration defines the monitoring and protection behavior
5906
+ # for a Proxy. The details of the behavior are defined in the rule
5907
+ # groups that you add to your configuration.
5908
+ #
5909
+ # @!attribute [rw] proxy_configuration_name
5910
+ # The descriptive name of the proxy configuration. You can't change
5911
+ # the name of a proxy configuration after you create it.
5912
+ # @return [String]
5913
+ #
5914
+ # @!attribute [rw] proxy_configuration_arn
5915
+ # The Amazon Resource Name (ARN) of a proxy configuration.
5916
+ # @return [String]
5917
+ #
5918
+ # @!attribute [rw] description
5919
+ # A description of the proxy configuration.
5920
+ # @return [String]
5921
+ #
5922
+ # @!attribute [rw] create_time
5923
+ # Time the Proxy Configuration was created.
5924
+ # @return [Time]
5925
+ #
5926
+ # @!attribute [rw] delete_time
5927
+ # Time the Proxy Configuration was deleted.
5928
+ # @return [Time]
5929
+ #
5930
+ # @!attribute [rw] rule_groups
5931
+ # Proxy rule groups within the proxy configuration.
5932
+ # @return [Array<Types::ProxyConfigRuleGroup>]
5933
+ #
5934
+ # @!attribute [rw] default_rule_phase_actions
5935
+ # Evaluation points in the traffic flow where rules are applied. There
5936
+ # are three phases in a traffic where the rule match is applied.
5937
+ #
5938
+ # Pre-DNS - before domain resolution.
5939
+ #
5940
+ # Pre-Request - after DNS, before request.
5941
+ #
5942
+ # Post-Response - after receiving response.
5943
+ # @return [Types::ProxyConfigDefaultRulePhaseActionsRequest]
5944
+ #
5945
+ # @!attribute [rw] tags
5946
+ # The key:value pairs to associate with the resource.
5947
+ # @return [Array<Types::Tag>]
5948
+ #
5949
+ # @see http://docs.aws.amazon.com/goto/WebAPI/network-firewall-2020-11-12/ProxyConfiguration AWS API Documentation
5950
+ #
5951
+ class ProxyConfiguration < Struct.new(
5952
+ :proxy_configuration_name,
5953
+ :proxy_configuration_arn,
5954
+ :description,
5955
+ :create_time,
5956
+ :delete_time,
5957
+ :rule_groups,
5958
+ :default_rule_phase_actions,
5959
+ :tags)
5960
+ SENSITIVE = []
5961
+ include Aws::Structure
5962
+ end
5963
+
5964
+ # High-level information about a proxy configuration, returned by
5965
+ # operations like create and describe. You can use the information
5966
+ # provided in the metadata to retrieve and manage a proxy configuration.
5967
+ # You can retrieve all objects for a proxy configuration by calling
5968
+ # DescribeProxyConfiguration.
5969
+ #
5970
+ # @!attribute [rw] name
5971
+ # The descriptive name of the proxy configuration. You can't change
5972
+ # the name of a proxy configuration after you create it.
5973
+ # @return [String]
5974
+ #
5975
+ # @!attribute [rw] arn
5976
+ # The Amazon Resource Name (ARN) of a proxy configuration.
5977
+ # @return [String]
5978
+ #
5979
+ # @see http://docs.aws.amazon.com/goto/WebAPI/network-firewall-2020-11-12/ProxyConfigurationMetadata AWS API Documentation
5980
+ #
5981
+ class ProxyConfigurationMetadata < Struct.new(
5982
+ :name,
5983
+ :arn)
5984
+ SENSITIVE = []
5985
+ include Aws::Structure
5986
+ end
5987
+
5988
+ # High-level information about a proxy, returned by operations like
5989
+ # create and describe. You can use the information provided in the
5990
+ # metadata to retrieve and manage a proxy. You can retrieve all objects
5991
+ # for a proxy by calling DescribeProxy.
5992
+ #
5993
+ # @!attribute [rw] name
5994
+ # The descriptive name of the proxy. You can't change the name of a
5995
+ # proxy after you create it.
5996
+ # @return [String]
5997
+ #
5998
+ # @!attribute [rw] arn
5999
+ # The Amazon Resource Name (ARN) of a proxy.
6000
+ # @return [String]
6001
+ #
6002
+ # @see http://docs.aws.amazon.com/goto/WebAPI/network-firewall-2020-11-12/ProxyMetadata AWS API Documentation
6003
+ #
6004
+ class ProxyMetadata < Struct.new(
6005
+ :name,
6006
+ :arn)
6007
+ SENSITIVE = []
6008
+ include Aws::Structure
6009
+ end
6010
+
6011
+ # Individual rules that define match conditions and actions for
6012
+ # application-layer traffic. Rules specify what to inspect (domains,
6013
+ # headers, methods) and what action to take (allow, deny, alert).
6014
+ #
6015
+ # @!attribute [rw] proxy_rule_name
6016
+ # The descriptive name of the proxy rule. You can't change the name
6017
+ # of a proxy rule after you create it.
6018
+ # @return [String]
6019
+ #
6020
+ # @!attribute [rw] description
6021
+ # A description of the proxy rule.
6022
+ # @return [String]
6023
+ #
6024
+ # @!attribute [rw] action
6025
+ # Action to take.
6026
+ # @return [String]
6027
+ #
6028
+ # @!attribute [rw] conditions
6029
+ # Match criteria that specify what traffic attributes to examine.
6030
+ # Conditions include operators (StringEquals, StringLike) and values
6031
+ # to match against.
6032
+ # @return [Array<Types::ProxyRuleCondition>]
6033
+ #
6034
+ # @see http://docs.aws.amazon.com/goto/WebAPI/network-firewall-2020-11-12/ProxyRule AWS API Documentation
6035
+ #
6036
+ class ProxyRule < Struct.new(
6037
+ :proxy_rule_name,
6038
+ :description,
6039
+ :action,
6040
+ :conditions)
6041
+ SENSITIVE = []
6042
+ include Aws::Structure
6043
+ end
6044
+
6045
+ # Match criteria that specify what traffic attributes to examine.
6046
+ #
6047
+ # @!attribute [rw] condition_operator
6048
+ # Defines how to perform a match.
6049
+ # @return [String]
6050
+ #
6051
+ # @!attribute [rw] condition_key
6052
+ # Defines what is to be matched.
6053
+ # @return [String]
6054
+ #
6055
+ # @!attribute [rw] condition_values
6056
+ # Specifes the exact value that needs to be matched against.
6057
+ # @return [Array<String>]
6058
+ #
6059
+ # @see http://docs.aws.amazon.com/goto/WebAPI/network-firewall-2020-11-12/ProxyRuleCondition AWS API Documentation
6060
+ #
6061
+ class ProxyRuleCondition < Struct.new(
6062
+ :condition_operator,
6063
+ :condition_key,
6064
+ :condition_values)
6065
+ SENSITIVE = []
6066
+ include Aws::Structure
6067
+ end
6068
+
6069
+ # Collections of related proxy filtering rules. Rule groups help you
6070
+ # manage and reuse sets of rules across multiple proxy configurations.
6071
+ #
6072
+ # @!attribute [rw] proxy_rule_group_name
6073
+ # The descriptive name of the proxy rule group. You can't change the
6074
+ # name of a proxy rule group after you create it.
6075
+ # @return [String]
6076
+ #
6077
+ # @!attribute [rw] proxy_rule_group_arn
6078
+ # The Amazon Resource Name (ARN) of a proxy rule group.
6079
+ # @return [String]
6080
+ #
6081
+ # @!attribute [rw] create_time
6082
+ # Time the Proxy Rule Group was created.
6083
+ # @return [Time]
6084
+ #
6085
+ # @!attribute [rw] delete_time
6086
+ # Time the Proxy Rule Group was deleted.
6087
+ # @return [Time]
6088
+ #
6089
+ # @!attribute [rw] rules
6090
+ # Individual rules that define match conditions and actions for
6091
+ # application-layer traffic. Rules specify what to inspect (domains,
6092
+ # headers, methods) and what action to take (allow, deny, alert).
6093
+ # @return [Types::ProxyRulesByRequestPhase]
6094
+ #
6095
+ # @!attribute [rw] description
6096
+ # A description of the proxy rule group.
6097
+ # @return [String]
6098
+ #
6099
+ # @!attribute [rw] tags
6100
+ # The key:value pairs to associate with the resource.
6101
+ # @return [Array<Types::Tag>]
6102
+ #
6103
+ # @see http://docs.aws.amazon.com/goto/WebAPI/network-firewall-2020-11-12/ProxyRuleGroup AWS API Documentation
6104
+ #
6105
+ class ProxyRuleGroup < Struct.new(
6106
+ :proxy_rule_group_name,
6107
+ :proxy_rule_group_arn,
6108
+ :create_time,
6109
+ :delete_time,
6110
+ :rules,
6111
+ :description,
6112
+ :tags)
6113
+ SENSITIVE = []
6114
+ include Aws::Structure
6115
+ end
6116
+
6117
+ # The proxy rule group(s) to attach to the proxy configuration
6118
+ #
6119
+ # @!attribute [rw] proxy_rule_group_name
6120
+ # The descriptive name of the proxy rule group. You can't change the
6121
+ # name of a proxy rule group after you create it.
6122
+ # @return [String]
6123
+ #
6124
+ # @!attribute [rw] insert_position
6125
+ # Where to insert a proxy rule group in a proxy configuration.
6126
+ # @return [Integer]
6127
+ #
6128
+ # @see http://docs.aws.amazon.com/goto/WebAPI/network-firewall-2020-11-12/ProxyRuleGroupAttachment AWS API Documentation
6129
+ #
6130
+ class ProxyRuleGroupAttachment < Struct.new(
6131
+ :proxy_rule_group_name,
6132
+ :insert_position)
6133
+ SENSITIVE = []
6134
+ include Aws::Structure
6135
+ end
6136
+
6137
+ # High-level information about a proxy rule group, returned by
6138
+ # operations like create and describe. You can use the information
6139
+ # provided in the metadata to retrieve and manage a proxy rule group.
6140
+ # You can retrieve all objects for a proxy rule group by calling
6141
+ # DescribeProxyRuleGroup.
6142
+ #
6143
+ # @!attribute [rw] name
6144
+ # The descriptive name of the proxy rule group. You can't change the
6145
+ # name of a proxy rule group after you create it.
6146
+ # @return [String]
6147
+ #
6148
+ # @!attribute [rw] arn
6149
+ # The Amazon Resource Name (ARN) of a proxy rule group.
6150
+ # @return [String]
6151
+ #
6152
+ # @see http://docs.aws.amazon.com/goto/WebAPI/network-firewall-2020-11-12/ProxyRuleGroupMetadata AWS API Documentation
6153
+ #
6154
+ class ProxyRuleGroupMetadata < Struct.new(
6155
+ :name,
6156
+ :arn)
6157
+ SENSITIVE = []
6158
+ include Aws::Structure
6159
+ end
6160
+
6161
+ # Proxy rule group name and new desired position.
6162
+ #
6163
+ # @!attribute [rw] proxy_rule_group_name
6164
+ # The descriptive name of the proxy rule group. You can't change the
6165
+ # name of a proxy rule group after you create it.
6166
+ # @return [String]
6167
+ #
6168
+ # @!attribute [rw] new_position
6169
+ # Where to move a proxy rule group in a proxy configuration.
6170
+ # @return [Integer]
6171
+ #
6172
+ # @see http://docs.aws.amazon.com/goto/WebAPI/network-firewall-2020-11-12/ProxyRuleGroupPriority AWS API Documentation
6173
+ #
6174
+ class ProxyRuleGroupPriority < Struct.new(
6175
+ :proxy_rule_group_name,
6176
+ :new_position)
6177
+ SENSITIVE = []
6178
+ include Aws::Structure
6179
+ end
6180
+
6181
+ # Proxy rule group along with its priority.
4569
6182
  #
4570
- # @!attribute [rw] rule_variables
4571
- # The IPv4 or IPv6 addresses in CIDR notation to use for the Suricata
4572
- # `HOME_NET` variable. If your firewall uses an inspection VPC, you
4573
- # might want to override the `HOME_NET` variable with the CIDRs of
4574
- # your home networks. If you don't override `HOME_NET` with your own
4575
- # CIDRs, Network Firewall by default uses the CIDR of your inspection
4576
- # VPC.
4577
- # @return [Hash<String,Types::IPSet>]
6183
+ # @!attribute [rw] proxy_rule_group_name
6184
+ # The descriptive name of the proxy rule group. You can't change the
6185
+ # name of a proxy rule group after you create it.
6186
+ # @return [String]
4578
6187
  #
4579
- # @see http://docs.aws.amazon.com/goto/WebAPI/network-firewall-2020-11-12/PolicyVariables AWS API Documentation
6188
+ # @!attribute [rw] priority
6189
+ # Priority of the proxy rule group in the proxy configuration.
6190
+ # @return [Integer]
4580
6191
  #
4581
- class PolicyVariables < Struct.new(
4582
- :rule_variables)
6192
+ # @see http://docs.aws.amazon.com/goto/WebAPI/network-firewall-2020-11-12/ProxyRuleGroupPriorityResult AWS API Documentation
6193
+ #
6194
+ class ProxyRuleGroupPriorityResult < Struct.new(
6195
+ :proxy_rule_group_name,
6196
+ :priority)
4583
6197
  SENSITIVE = []
4584
6198
  include Aws::Structure
4585
6199
  end
4586
6200
 
4587
- # A single port range specification. This is used for source and
4588
- # destination port ranges in the stateless rule MatchAttributes,
4589
- # `SourcePorts`, and `DestinationPorts` settings.
6201
+ # Proxy rule name and new desired position.
4590
6202
  #
4591
- # @!attribute [rw] from_port
4592
- # The lower limit of the port range. This must be less than or equal
4593
- # to the `ToPort` specification.
4594
- # @return [Integer]
6203
+ # @!attribute [rw] proxy_rule_name
6204
+ # The descriptive name of the proxy rule. You can't change the name
6205
+ # of a proxy rule after you create it.
6206
+ # @return [String]
4595
6207
  #
4596
- # @!attribute [rw] to_port
4597
- # The upper limit of the port range. This must be greater than or
4598
- # equal to the `FromPort` specification.
6208
+ # @!attribute [rw] new_position
6209
+ # Where to move a proxy rule in a proxy rule group.
4599
6210
  # @return [Integer]
4600
6211
  #
4601
- # @see http://docs.aws.amazon.com/goto/WebAPI/network-firewall-2020-11-12/PortRange AWS API Documentation
6212
+ # @see http://docs.aws.amazon.com/goto/WebAPI/network-firewall-2020-11-12/ProxyRulePriority AWS API Documentation
4602
6213
  #
4603
- class PortRange < Struct.new(
4604
- :from_port,
4605
- :to_port)
6214
+ class ProxyRulePriority < Struct.new(
6215
+ :proxy_rule_name,
6216
+ :new_position)
4606
6217
  SENSITIVE = []
4607
6218
  include Aws::Structure
4608
6219
  end
4609
6220
 
4610
- # A set of port ranges for use in the rules in a rule group.
6221
+ # Evaluation points in the traffic flow where rules are applied. There
6222
+ # are three phases in a traffic where the rule match is applied.
4611
6223
  #
4612
- # @!attribute [rw] definition
4613
- # The set of port ranges.
4614
- # @return [Array<String>]
6224
+ # @!attribute [rw] pre_dns
6225
+ # Before domain resolution.
6226
+ # @return [Array<Types::ProxyRule>]
4615
6227
  #
4616
- # @see http://docs.aws.amazon.com/goto/WebAPI/network-firewall-2020-11-12/PortSet AWS API Documentation
6228
+ # @!attribute [rw] pre_request
6229
+ # After DNS, before request.
6230
+ # @return [Array<Types::ProxyRule>]
4617
6231
  #
4618
- class PortSet < Struct.new(
4619
- :definition)
6232
+ # @!attribute [rw] post_response
6233
+ # After receiving response.
6234
+ # @return [Array<Types::ProxyRule>]
6235
+ #
6236
+ # @see http://docs.aws.amazon.com/goto/WebAPI/network-firewall-2020-11-12/ProxyRulesByRequestPhase AWS API Documentation
6237
+ #
6238
+ class ProxyRulesByRequestPhase < Struct.new(
6239
+ :pre_dns,
6240
+ :pre_request,
6241
+ :post_response)
4620
6242
  SENSITIVE = []
4621
6243
  include Aws::Structure
4622
6244
  end
@@ -6324,6 +7946,53 @@ module Aws::NetworkFirewall
6324
7946
  include Aws::Structure
6325
7947
  end
6326
7948
 
7949
+ # TLS decryption on traffic to filter on attributes in the HTTP header.
7950
+ #
7951
+ # @!attribute [rw] pca_arn
7952
+ # Private Certificate Authority (PCA) used to issue private TLS
7953
+ # certificates so that the proxy can present PCA-signed certificates
7954
+ # which applications trust through the same root, establishing a
7955
+ # secure and consistent trust model for encrypted communication.
7956
+ # @return [String]
7957
+ #
7958
+ # @!attribute [rw] tls_intercept_mode
7959
+ # Specifies whether to enable or disable TLS Intercept Mode.
7960
+ # @return [String]
7961
+ #
7962
+ # @see http://docs.aws.amazon.com/goto/WebAPI/network-firewall-2020-11-12/TlsInterceptProperties AWS API Documentation
7963
+ #
7964
+ class TlsInterceptProperties < Struct.new(
7965
+ :pca_arn,
7966
+ :tls_intercept_mode)
7967
+ SENSITIVE = []
7968
+ include Aws::Structure
7969
+ end
7970
+
7971
+ # This data type is used specifically for the CreateProxy and
7972
+ # UpdateProxy APIs.
7973
+ #
7974
+ # TLS decryption on traffic to filter on attributes in the HTTP header.
7975
+ #
7976
+ # @!attribute [rw] pca_arn
7977
+ # Private Certificate Authority (PCA) used to issue private TLS
7978
+ # certificates so that the proxy can present PCA-signed certificates
7979
+ # which applications trust through the same root, establishing a
7980
+ # secure and consistent trust model for encrypted communication.
7981
+ # @return [String]
7982
+ #
7983
+ # @!attribute [rw] tls_intercept_mode
7984
+ # Specifies whether to enable or disable TLS Intercept Mode.
7985
+ # @return [String]
7986
+ #
7987
+ # @see http://docs.aws.amazon.com/goto/WebAPI/network-firewall-2020-11-12/TlsInterceptPropertiesRequest AWS API Documentation
7988
+ #
7989
+ class TlsInterceptPropertiesRequest < Struct.new(
7990
+ :pca_arn,
7991
+ :tls_intercept_mode)
7992
+ SENSITIVE = []
7993
+ include Aws::Structure
7994
+ end
7995
+
6327
7996
  # Contains information about the synchronization state of a transit
6328
7997
  # gateway attachment, including its current status and any error
6329
7998
  # messages. Network Firewall uses this to track the state of your
@@ -7234,6 +8903,434 @@ module Aws::NetworkFirewall
7234
8903
  include Aws::Structure
7235
8904
  end
7236
8905
 
8906
+ # @!attribute [rw] proxy_configuration_name
8907
+ # The descriptive name of the proxy configuration. You can't change
8908
+ # the name of a proxy configuration after you create it.
8909
+ #
8910
+ # You must specify the ARN or the name, and you can specify both.
8911
+ # @return [String]
8912
+ #
8913
+ # @!attribute [rw] proxy_configuration_arn
8914
+ # The Amazon Resource Name (ARN) of a proxy configuration.
8915
+ #
8916
+ # You must specify the ARN or the name, and you can specify both.
8917
+ # @return [String]
8918
+ #
8919
+ # @!attribute [rw] default_rule_phase_actions
8920
+ # Evaluation points in the traffic flow where rules are applied. There
8921
+ # are three phases in a traffic where the rule match is applied.
8922
+ # @return [Types::ProxyConfigDefaultRulePhaseActionsRequest]
8923
+ #
8924
+ # @!attribute [rw] update_token
8925
+ # A token used for optimistic locking. Network Firewall returns a
8926
+ # token to your requests that access the proxy configuration. The
8927
+ # token marks the state of the proxy configuration resource at the
8928
+ # time of the request.
8929
+ #
8930
+ # To make changes to the proxy configuration, you provide the token in
8931
+ # your request. Network Firewall uses the token to ensure that the
8932
+ # proxy configuration hasn't changed since you last retrieved it. If
8933
+ # it has changed, the operation fails with an `InvalidTokenException`.
8934
+ # If this happens, retrieve the proxy configuration again to get a
8935
+ # current copy of it with a current token. Reapply your changes as
8936
+ # needed, then try the operation again using the new token.
8937
+ # @return [String]
8938
+ #
8939
+ # @see http://docs.aws.amazon.com/goto/WebAPI/network-firewall-2020-11-12/UpdateProxyConfigurationRequest AWS API Documentation
8940
+ #
8941
+ class UpdateProxyConfigurationRequest < Struct.new(
8942
+ :proxy_configuration_name,
8943
+ :proxy_configuration_arn,
8944
+ :default_rule_phase_actions,
8945
+ :update_token)
8946
+ SENSITIVE = []
8947
+ include Aws::Structure
8948
+ end
8949
+
8950
+ # @!attribute [rw] proxy_configuration
8951
+ # The updated proxy configuration resource that reflects the updates
8952
+ # from the request.
8953
+ # @return [Types::ProxyConfiguration]
8954
+ #
8955
+ # @!attribute [rw] update_token
8956
+ # A token used for optimistic locking. Network Firewall returns a
8957
+ # token to your requests that access the proxy configuration. The
8958
+ # token marks the state of the proxy configuration resource at the
8959
+ # time of the request.
8960
+ #
8961
+ # To make changes to the proxy configuration, you provide the token in
8962
+ # your request. Network Firewall uses the token to ensure that the
8963
+ # proxy configuration hasn't changed since you last retrieved it. If
8964
+ # it has changed, the operation fails with an `InvalidTokenException`.
8965
+ # If this happens, retrieve the proxy configuration again to get a
8966
+ # current copy of it with a current token. Reapply your changes as
8967
+ # needed, then try the operation again using the new token.
8968
+ # @return [String]
8969
+ #
8970
+ # @see http://docs.aws.amazon.com/goto/WebAPI/network-firewall-2020-11-12/UpdateProxyConfigurationResponse AWS API Documentation
8971
+ #
8972
+ class UpdateProxyConfigurationResponse < Struct.new(
8973
+ :proxy_configuration,
8974
+ :update_token)
8975
+ SENSITIVE = []
8976
+ include Aws::Structure
8977
+ end
8978
+
8979
+ # @!attribute [rw] nat_gateway_id
8980
+ # The NAT Gateway the proxy is attached to.
8981
+ # @return [String]
8982
+ #
8983
+ # @!attribute [rw] proxy_name
8984
+ # The descriptive name of the proxy. You can't change the name of a
8985
+ # proxy after you create it.
8986
+ #
8987
+ # You must specify the ARN or the name, and you can specify both.
8988
+ # @return [String]
8989
+ #
8990
+ # @!attribute [rw] proxy_arn
8991
+ # The Amazon Resource Name (ARN) of a proxy.
8992
+ #
8993
+ # You must specify the ARN or the name, and you can specify both.
8994
+ # @return [String]
8995
+ #
8996
+ # @!attribute [rw] listener_properties_to_add
8997
+ # Listener properties for HTTP and HTTPS traffic to add.
8998
+ # @return [Array<Types::ListenerPropertyRequest>]
8999
+ #
9000
+ # @!attribute [rw] listener_properties_to_remove
9001
+ # Listener properties for HTTP and HTTPS traffic to remove.
9002
+ # @return [Array<Types::ListenerPropertyRequest>]
9003
+ #
9004
+ # @!attribute [rw] tls_intercept_properties
9005
+ # TLS decryption on traffic to filter on attributes in the HTTP
9006
+ # header.
9007
+ # @return [Types::TlsInterceptPropertiesRequest]
9008
+ #
9009
+ # @!attribute [rw] update_token
9010
+ # A token used for optimistic locking. Network Firewall returns a
9011
+ # token to your requests that access the proxy. The token marks the
9012
+ # state of the proxy resource at the time of the request.
9013
+ #
9014
+ # To make changes to the proxy, you provide the token in your request.
9015
+ # Network Firewall uses the token to ensure that the proxy hasn't
9016
+ # changed since you last retrieved it. If it has changed, the
9017
+ # operation fails with an `InvalidTokenException`. If this happens,
9018
+ # retrieve the proxy again to get a current copy of it with a current
9019
+ # token. Reapply your changes as needed, then try the operation again
9020
+ # using the new token.
9021
+ # @return [String]
9022
+ #
9023
+ # @see http://docs.aws.amazon.com/goto/WebAPI/network-firewall-2020-11-12/UpdateProxyRequest AWS API Documentation
9024
+ #
9025
+ class UpdateProxyRequest < Struct.new(
9026
+ :nat_gateway_id,
9027
+ :proxy_name,
9028
+ :proxy_arn,
9029
+ :listener_properties_to_add,
9030
+ :listener_properties_to_remove,
9031
+ :tls_intercept_properties,
9032
+ :update_token)
9033
+ SENSITIVE = []
9034
+ include Aws::Structure
9035
+ end
9036
+
9037
+ # @!attribute [rw] proxy
9038
+ # The updated proxy resource that reflects the updates from the
9039
+ # request.
9040
+ # @return [Types::Proxy]
9041
+ #
9042
+ # @!attribute [rw] update_token
9043
+ # A token used for optimistic locking. Network Firewall returns a
9044
+ # token to your requests that access the proxy. The token marks the
9045
+ # state of the proxy resource at the time of the request.
9046
+ #
9047
+ # To make changes to the proxy, you provide the token in your request.
9048
+ # Network Firewall uses the token to ensure that the proxy hasn't
9049
+ # changed since you last retrieved it. If it has changed, the
9050
+ # operation fails with an `InvalidTokenException`. If this happens,
9051
+ # retrieve the proxy again to get a current copy of it with a current
9052
+ # token. Reapply your changes as needed, then try the operation again
9053
+ # using the new token.
9054
+ # @return [String]
9055
+ #
9056
+ # @see http://docs.aws.amazon.com/goto/WebAPI/network-firewall-2020-11-12/UpdateProxyResponse AWS API Documentation
9057
+ #
9058
+ class UpdateProxyResponse < Struct.new(
9059
+ :proxy,
9060
+ :update_token)
9061
+ SENSITIVE = []
9062
+ include Aws::Structure
9063
+ end
9064
+
9065
+ # @!attribute [rw] proxy_configuration_name
9066
+ # The descriptive name of the proxy configuration. You can't change
9067
+ # the name of a proxy configuration after you create it.
9068
+ #
9069
+ # You must specify the ARN or the name, and you can specify both.
9070
+ # @return [String]
9071
+ #
9072
+ # @!attribute [rw] proxy_configuration_arn
9073
+ # The Amazon Resource Name (ARN) of a proxy configuration.
9074
+ #
9075
+ # You must specify the ARN or the name, and you can specify both.
9076
+ # @return [String]
9077
+ #
9078
+ # @!attribute [rw] rule_groups
9079
+ # proxy rule group resources to update to new positions.
9080
+ # @return [Array<Types::ProxyRuleGroupPriority>]
9081
+ #
9082
+ # @!attribute [rw] update_token
9083
+ # A token used for optimistic locking. Network Firewall returns a
9084
+ # token to your requests that access the proxy configuration. The
9085
+ # token marks the state of the proxy configuration resource at the
9086
+ # time of the request.
9087
+ #
9088
+ # To make changes to the proxy configuration, you provide the token in
9089
+ # your request. Network Firewall uses the token to ensure that the
9090
+ # proxy configuration hasn't changed since you last retrieved it. If
9091
+ # it has changed, the operation fails with an `InvalidTokenException`.
9092
+ # If this happens, retrieve the proxy configuration again to get a
9093
+ # current copy of it with a current token. Reapply your changes as
9094
+ # needed, then try the operation again using the new token.
9095
+ # @return [String]
9096
+ #
9097
+ # @see http://docs.aws.amazon.com/goto/WebAPI/network-firewall-2020-11-12/UpdateProxyRuleGroupPrioritiesRequest AWS API Documentation
9098
+ #
9099
+ class UpdateProxyRuleGroupPrioritiesRequest < Struct.new(
9100
+ :proxy_configuration_name,
9101
+ :proxy_configuration_arn,
9102
+ :rule_groups,
9103
+ :update_token)
9104
+ SENSITIVE = []
9105
+ include Aws::Structure
9106
+ end
9107
+
9108
+ # @!attribute [rw] proxy_rule_groups
9109
+ # The updated proxy rule group hierarchy that reflects the updates
9110
+ # from the request.
9111
+ # @return [Array<Types::ProxyRuleGroupPriorityResult>]
9112
+ #
9113
+ # @!attribute [rw] update_token
9114
+ # A token used for optimistic locking. Network Firewall returns a
9115
+ # token to your requests that access the proxy configuration. The
9116
+ # token marks the state of the proxy configuration resource at the
9117
+ # time of the request.
9118
+ #
9119
+ # To make changes to the proxy configuration, you provide the token in
9120
+ # your request. Network Firewall uses the token to ensure that the
9121
+ # proxy configuration hasn't changed since you last retrieved it. If
9122
+ # it has changed, the operation fails with an `InvalidTokenException`.
9123
+ # If this happens, retrieve the proxy configuration again to get a
9124
+ # current copy of it with a current token. Reapply your changes as
9125
+ # needed, then try the operation again using the new token.
9126
+ # @return [String]
9127
+ #
9128
+ # @see http://docs.aws.amazon.com/goto/WebAPI/network-firewall-2020-11-12/UpdateProxyRuleGroupPrioritiesResponse AWS API Documentation
9129
+ #
9130
+ class UpdateProxyRuleGroupPrioritiesResponse < Struct.new(
9131
+ :proxy_rule_groups,
9132
+ :update_token)
9133
+ SENSITIVE = []
9134
+ include Aws::Structure
9135
+ end
9136
+
9137
+ # @!attribute [rw] proxy_rule_group_name
9138
+ # The descriptive name of the proxy rule group. You can't change the
9139
+ # name of a proxy rule group after you create it.
9140
+ #
9141
+ # You must specify the ARN or the name, and you can specify both.
9142
+ # @return [String]
9143
+ #
9144
+ # @!attribute [rw] proxy_rule_group_arn
9145
+ # The Amazon Resource Name (ARN) of a proxy rule group.
9146
+ #
9147
+ # You must specify the ARN or the name, and you can specify both.
9148
+ # @return [String]
9149
+ #
9150
+ # @!attribute [rw] rule_group_request_phase
9151
+ # Evaluation points in the traffic flow where rules are applied. There
9152
+ # are three phases in a traffic where the rule match is applied.
9153
+ # @return [String]
9154
+ #
9155
+ # @!attribute [rw] rules
9156
+ # proxy rule resources to update to new positions.
9157
+ # @return [Array<Types::ProxyRulePriority>]
9158
+ #
9159
+ # @!attribute [rw] update_token
9160
+ # A token used for optimistic locking. Network Firewall returns a
9161
+ # token to your requests that access the proxy rule group. The token
9162
+ # marks the state of the proxy rule group resource at the time of the
9163
+ # request.
9164
+ #
9165
+ # To make changes to the proxy rule group, you provide the token in
9166
+ # your request. Network Firewall uses the token to ensure that the
9167
+ # proxy rule group hasn't changed since you last retrieved it. If it
9168
+ # has changed, the operation fails with an `InvalidTokenException`. If
9169
+ # this happens, retrieve the proxy rule group again to get a current
9170
+ # copy of it with a current token. Reapply your changes as needed,
9171
+ # then try the operation again using the new token.
9172
+ # @return [String]
9173
+ #
9174
+ # @see http://docs.aws.amazon.com/goto/WebAPI/network-firewall-2020-11-12/UpdateProxyRulePrioritiesRequest AWS API Documentation
9175
+ #
9176
+ class UpdateProxyRulePrioritiesRequest < Struct.new(
9177
+ :proxy_rule_group_name,
9178
+ :proxy_rule_group_arn,
9179
+ :rule_group_request_phase,
9180
+ :rules,
9181
+ :update_token)
9182
+ SENSITIVE = []
9183
+ include Aws::Structure
9184
+ end
9185
+
9186
+ # @!attribute [rw] proxy_rule_group_name
9187
+ # The descriptive name of the proxy rule group. You can't change the
9188
+ # name of a proxy rule group after you create it.
9189
+ # @return [String]
9190
+ #
9191
+ # @!attribute [rw] proxy_rule_group_arn
9192
+ # The Amazon Resource Name (ARN) of a proxy rule group.
9193
+ # @return [String]
9194
+ #
9195
+ # @!attribute [rw] rule_group_request_phase
9196
+ # Evaluation points in the traffic flow where rules are applied. There
9197
+ # are three phases in a traffic where the rule match is applied.
9198
+ # @return [String]
9199
+ #
9200
+ # @!attribute [rw] rules
9201
+ # The updated proxy rule hierarchy that reflects the updates from the
9202
+ # request.
9203
+ # @return [Array<Types::ProxyRulePriority>]
9204
+ #
9205
+ # @!attribute [rw] update_token
9206
+ # A token used for optimistic locking. Network Firewall returns a
9207
+ # token to your requests that access the proxy rule group. The token
9208
+ # marks the state of the proxy rule group resource at the time of the
9209
+ # request.
9210
+ #
9211
+ # To make changes to the proxy rule group, you provide the token in
9212
+ # your request. Network Firewall uses the token to ensure that the
9213
+ # proxy rule group hasn't changed since you last retrieved it. If it
9214
+ # has changed, the operation fails with an `InvalidTokenException`. If
9215
+ # this happens, retrieve the proxy rule group again to get a current
9216
+ # copy of it with a current token. Reapply your changes as needed,
9217
+ # then try the operation again using the new token.
9218
+ # @return [String]
9219
+ #
9220
+ # @see http://docs.aws.amazon.com/goto/WebAPI/network-firewall-2020-11-12/UpdateProxyRulePrioritiesResponse AWS API Documentation
9221
+ #
9222
+ class UpdateProxyRulePrioritiesResponse < Struct.new(
9223
+ :proxy_rule_group_name,
9224
+ :proxy_rule_group_arn,
9225
+ :rule_group_request_phase,
9226
+ :rules,
9227
+ :update_token)
9228
+ SENSITIVE = []
9229
+ include Aws::Structure
9230
+ end
9231
+
9232
+ # @!attribute [rw] proxy_rule_group_name
9233
+ # The descriptive name of the proxy rule group. You can't change the
9234
+ # name of a proxy rule group after you create it.
9235
+ #
9236
+ # You must specify the ARN or the name, and you can specify both.
9237
+ # @return [String]
9238
+ #
9239
+ # @!attribute [rw] proxy_rule_group_arn
9240
+ # The Amazon Resource Name (ARN) of a proxy rule group.
9241
+ #
9242
+ # You must specify the ARN or the name, and you can specify both.
9243
+ # @return [String]
9244
+ #
9245
+ # @!attribute [rw] proxy_rule_name
9246
+ # The descriptive name of the proxy rule. You can't change the name
9247
+ # of a proxy rule after you create it.
9248
+ # @return [String]
9249
+ #
9250
+ # @!attribute [rw] description
9251
+ # A description of the proxy rule.
9252
+ # @return [String]
9253
+ #
9254
+ # @!attribute [rw] action
9255
+ # Depending on the match action, the proxy either stops the evaluation
9256
+ # (if the action is terminal - allow or deny), or continues it (if the
9257
+ # action is alert) until it matches a rule with a terminal action.
9258
+ # @return [String]
9259
+ #
9260
+ # @!attribute [rw] add_conditions
9261
+ # Proxy rule conditions to add. Match criteria that specify what
9262
+ # traffic attributes to examine. Conditions include operators
9263
+ # (StringEquals, StringLike) and values to match against.
9264
+ # @return [Array<Types::ProxyRuleCondition>]
9265
+ #
9266
+ # @!attribute [rw] remove_conditions
9267
+ # Proxy rule conditions to remove. Match criteria that specify what
9268
+ # traffic attributes to examine. Conditions include operators
9269
+ # (StringEquals, StringLike) and values to match against.
9270
+ # @return [Array<Types::ProxyRuleCondition>]
9271
+ #
9272
+ # @!attribute [rw] update_token
9273
+ # A token used for optimistic locking. Network Firewall returns a
9274
+ # token to your requests that access the proxy rule. The token marks
9275
+ # the state of the proxy rule resource at the time of the request.
9276
+ #
9277
+ # To make changes to the proxy rule, you provide the token in your
9278
+ # request. Network Firewall uses the token to ensure that the proxy
9279
+ # rule hasn't changed since you last retrieved it. If it has changed,
9280
+ # the operation fails with an `InvalidTokenException`. If this
9281
+ # happens, retrieve the proxy rule again to get a current copy of it
9282
+ # with a current token. Reapply your changes as needed, then try the
9283
+ # operation again using the new token.
9284
+ # @return [String]
9285
+ #
9286
+ # @see http://docs.aws.amazon.com/goto/WebAPI/network-firewall-2020-11-12/UpdateProxyRuleRequest AWS API Documentation
9287
+ #
9288
+ class UpdateProxyRuleRequest < Struct.new(
9289
+ :proxy_rule_group_name,
9290
+ :proxy_rule_group_arn,
9291
+ :proxy_rule_name,
9292
+ :description,
9293
+ :action,
9294
+ :add_conditions,
9295
+ :remove_conditions,
9296
+ :update_token)
9297
+ SENSITIVE = []
9298
+ include Aws::Structure
9299
+ end
9300
+
9301
+ # @!attribute [rw] proxy_rule
9302
+ # The updated proxy rule resource that reflects the updates from the
9303
+ # request.
9304
+ # @return [Types::ProxyRule]
9305
+ #
9306
+ # @!attribute [rw] removed_conditions
9307
+ # Proxy rule conditions removed from the rule.
9308
+ # @return [Array<Types::ProxyRuleCondition>]
9309
+ #
9310
+ # @!attribute [rw] update_token
9311
+ # A token used for optimistic locking. Network Firewall returns a
9312
+ # token to your requests that access the proxy rule. The token marks
9313
+ # the state of the proxy rule resource at the time of the request.
9314
+ #
9315
+ # To make changes to the proxy rule, you provide the token in your
9316
+ # request. Network Firewall uses the token to ensure that the proxy
9317
+ # rule hasn't changed since you last retrieved it. If it has changed,
9318
+ # the operation fails with an `InvalidTokenException`. If this
9319
+ # happens, retrieve the proxy rule again to get a current copy of it
9320
+ # with a current token. Reapply your changes as needed, then try the
9321
+ # operation again using the new token.
9322
+ # @return [String]
9323
+ #
9324
+ # @see http://docs.aws.amazon.com/goto/WebAPI/network-firewall-2020-11-12/UpdateProxyRuleResponse AWS API Documentation
9325
+ #
9326
+ class UpdateProxyRuleResponse < Struct.new(
9327
+ :proxy_rule,
9328
+ :removed_conditions,
9329
+ :update_token)
9330
+ SENSITIVE = []
9331
+ include Aws::Structure
9332
+ end
9333
+
7237
9334
  # @!attribute [rw] update_token
7238
9335
  # A token used for optimistic locking. Network Firewall returns a
7239
9336
  # token to your requests that access the rule group. The token marks