@aws-sdk/client-network-firewall 3.1100.0 → 3.1102.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.
Files changed (34) hide show
  1. package/README.md +9 -2
  2. package/dist-cjs/index.js +88 -16
  3. package/dist-es/NetworkFirewall.js +2 -0
  4. package/dist-es/commands/UpdateProxySettingsCommand.js +4 -0
  5. package/dist-es/commands/index.js +1 -0
  6. package/dist-es/models/enums.js +11 -4
  7. package/dist-es/schemas/schemas_0.js +63 -11
  8. package/dist-types/NetworkFirewall.d.ts +10 -2
  9. package/dist-types/NetworkFirewallClient.d.ts +5 -4
  10. package/dist-types/commands/CreateContainerAssociationCommand.d.ts +2 -3
  11. package/dist-types/commands/CreateFirewallCommand.d.ts +55 -0
  12. package/dist-types/commands/CreateVpcEndpointAssociationCommand.d.ts +1 -0
  13. package/dist-types/commands/DeleteContainerAssociationCommand.d.ts +3 -1
  14. package/dist-types/commands/DeleteFirewallCommand.d.ts +32 -0
  15. package/dist-types/commands/DeleteVpcEndpointAssociationCommand.d.ts +1 -0
  16. package/dist-types/commands/DescribeContainerAssociationCommand.d.ts +1 -1
  17. package/dist-types/commands/DescribeFirewallCommand.d.ts +32 -0
  18. package/dist-types/commands/DescribeVpcEndpointAssociationCommand.d.ts +1 -0
  19. package/dist-types/commands/ListContainerAssociationsCommand.d.ts +2 -1
  20. package/dist-types/commands/UpdateContainerAssociationCommand.d.ts +2 -1
  21. package/dist-types/commands/UpdateProxySettingsCommand.d.ts +127 -0
  22. package/dist-types/commands/index.d.ts +1 -0
  23. package/dist-types/index.d.ts +2 -2
  24. package/dist-types/models/enums.d.ts +27 -12
  25. package/dist-types/models/models_0.d.ts +343 -61
  26. package/dist-types/schemas/schemas_0.d.ts +7 -0
  27. package/dist-types/ts3.4/NetworkFirewall.d.ts +18 -0
  28. package/dist-types/ts3.4/NetworkFirewallClient.d.ts +6 -0
  29. package/dist-types/ts3.4/commands/UpdateProxySettingsCommand.d.ts +39 -0
  30. package/dist-types/ts3.4/commands/index.d.ts +1 -0
  31. package/dist-types/ts3.4/models/enums.d.ts +14 -5
  32. package/dist-types/ts3.4/models/models_0.d.ts +43 -4
  33. package/dist-types/ts3.4/schemas/schemas_0.d.ts +7 -0
  34. package/package.json +3 -3
@@ -1,4 +1,4 @@
1
- import type { AttachmentStatus, ConfigurationSyncState, ContainerAssociationStatus, ContainerMonitoringType, EnabledAnalysisType, EncryptionType, FirewallStatusValue, FlowOperationStatus, FlowOperationType, GeneratedRulesType, IdentifiedType, IPAddressType, ListenerPropertyType, LogDestinationType, LogType, OverrideAction, PerObjectSyncStatus, ProxyModifyState, ProxyRulePhaseAction, ProxyState, ResourceManagedStatus, ResourceManagedType, ResourceStatus, RevocationCheckAction, RuleGroupRequestPhase, RuleGroupType, RuleOrder, StatefulAction, StatefulRuleDirection, StatefulRuleProtocol, StreamExceptionPolicy, SubscriptionStatus, SummaryRuleOption, TargetType, TCPFlag, TlsInterceptMode, TransitGatewayAttachmentStatus } from "./enums";
1
+ import type { AttachmentStatus, ConfigurationSyncState, ContainerAssociationStatus, ContainerMonitoringType, EnabledAnalysisType, EncryptionType, FirewallStatusValue, FlowOperationStatus, FlowOperationType, GeneratedRulesType, IdentifiedType, IPAddressType, ListenerPropertyType, LogDestinationType, LogType, NatGatewayAttachmentStatus, OverrideAction, PerObjectSyncStatus, ProxyModifyState, ProxyRulePhaseAction, ProxyState, ResourceManagedStatus, ResourceManagedType, ResourceStatus, RevocationCheckAction, RuleGroupRequestPhase, RuleGroupType, RuleOrder, StatefulAction, StatefulRuleDirection, StatefulRuleProtocol, StreamExceptionPolicy, SubscriptionStatus, SummaryRuleOption, TargetType, TCPFlag, TlsInterceptMode, TransitGatewayAttachmentStatus } from "./enums";
2
2
  /**
3
3
  * @public
4
4
  */
@@ -510,6 +510,11 @@ export interface Attachment {
510
510
  * @public
511
511
  */
512
512
  StatusMessage?: string | undefined;
513
+ /**
514
+ * <p>The DNS name that resolves to the firewall endpoint in the subnet. This is populated for proxy mode firewalls, where clients direct traffic to the firewall's proxy using this name. </p>
515
+ * @public
516
+ */
517
+ DnsName?: string | undefined;
513
518
  }
514
519
  /**
515
520
  * <p>The status of the firewall endpoint defined by a <code>VpcEndpointAssociation</code>. </p>
@@ -837,7 +842,8 @@ export interface CheckCertificateRevocationStatusActions {
837
842
  UnknownStatusAction?: RevocationCheckAction | undefined;
838
843
  }
839
844
  /**
840
- * <p>High-level information about a container association, returned by the <a>ListContainerAssociations</a> operation. You can use this information to retrieve the full details of a container association using <a>DescribeContainerAssociation</a>.</p>
845
+ * <p>The metadata for a container association returned by <code>ListContainerAssociations</code>. Contains the ARN
846
+ * and name that you use to identify the container association in other operations.</p>
841
847
  * @public
842
848
  */
843
849
  export interface ContainerAssociationSummary {
@@ -853,33 +859,37 @@ export interface ContainerAssociationSummary {
853
859
  Name?: string | undefined;
854
860
  }
855
861
  /**
856
- * <p>A key-value pair that defines a container attribute filter for a container monitoring configuration.</p>
862
+ * <p>A key-value filter pair used in container association monitoring configurations to narrow which containers
863
+ * are tracked.</p>
857
864
  * @public
858
865
  */
859
866
  export interface ContainerAttribute {
860
867
  /**
861
- * <p>The key of the container attribute to filter on.</p>
868
+ * <p>The attribute key to filter on.</p>
862
869
  * @public
863
870
  */
864
871
  Key: string | undefined;
865
872
  /**
866
- * <p>The value of the container attribute to filter on.</p>
873
+ * <p>The attribute value to match.</p>
867
874
  * @public
868
875
  */
869
876
  Value: string | undefined;
870
877
  }
871
878
  /**
872
- * <p>Defines a container cluster to monitor, along with optional attribute filters that narrow the scope of monitored containers within the cluster.</p>
879
+ * <p>Contains the monitoring configuration for a single cluster in a container association. Specifies the cluster
880
+ * ARN and optional attribute filters to narrow which containers are tracked.</p>
873
881
  * @public
874
882
  */
875
883
  export interface ContainerMonitoringConfiguration {
876
884
  /**
877
- * <p>The Amazon Resource Name (ARN) of the container cluster to monitor.</p>
885
+ * <p>The ARN of the Amazon ECS or Amazon EKS cluster to monitor. The cluster must be in the same Region and account as
886
+ * the container association.</p>
878
887
  * @public
879
888
  */
880
889
  ClusterArn: string | undefined;
881
890
  /**
882
- * <p>A list of key-value pairs that filter which containers within the cluster are monitored. Only containers that match the specified attributes are included.</p>
891
+ * <p>Key-value pairs that filter which containers are tracked. For Amazon EKS, you can filter by namespace and
892
+ * Kubernetes labels. For Amazon ECS, you can filter by container instance attributes (EC2 launch type only).</p>
883
893
  * @public
884
894
  */
885
895
  AttributeFilters?: ContainerAttribute[] | undefined;
@@ -899,12 +909,23 @@ export interface CreateContainerAssociationRequest {
899
909
  */
900
910
  Description?: string | undefined;
901
911
  /**
902
- * <p>The type of container orchestration platform for the clusters in this association. Valid values are <code>ECS</code> and <code>EKS</code>. You can't change the type after creation.</p>
912
+ * <p>The type of containers to monitor. You can't change the container type after creation. Valid values:</p>
913
+ * <ul>
914
+ * <li>
915
+ * <p>
916
+ * <code>ECS</code> - Amazon Elastic Container Service</p>
917
+ * </li>
918
+ * <li>
919
+ * <p>
920
+ * <code>EKS</code> - Amazon Elastic Kubernetes Service</p>
921
+ * </li>
922
+ * </ul>
903
923
  * @public
904
924
  */
905
925
  Type: ContainerMonitoringType | undefined;
906
926
  /**
907
- * <p>The list of container monitoring configurations that define which clusters and container attributes to monitor.</p>
927
+ * <p>The monitoring configurations for the container association. Each configuration specifies an Amazon ECS or Amazon EKS cluster
928
+ * to monitor and optional attribute filters to narrow which containers are tracked.</p>
908
929
  * @public
909
930
  */
910
931
  ContainerMonitoringConfigurations: ContainerMonitoringConfiguration[] | undefined;
@@ -934,27 +955,42 @@ export interface CreateContainerAssociationResponse {
934
955
  */
935
956
  Description?: string | undefined;
936
957
  /**
937
- * <p>The type of container orchestration platform. Either <code>ECS</code> or <code>EKS</code>.</p>
958
+ * <p>The container type. Valid values:</p>
959
+ * <ul>
960
+ * <li>
961
+ * <p>
962
+ * <code>ECS</code> - Amazon Elastic Container Service</p>
963
+ * </li>
964
+ * <li>
965
+ * <p>
966
+ * <code>EKS</code> - Amazon Elastic Kubernetes Service</p>
967
+ * </li>
968
+ * </ul>
938
969
  * @public
939
970
  */
940
971
  Type?: ContainerMonitoringType | undefined;
941
972
  /**
942
- * <p>The container monitoring configurations for this container association.</p>
973
+ * <p>The monitoring configurations for the container association.</p>
943
974
  * @public
944
975
  */
945
976
  ContainerMonitoringConfigurations?: ContainerMonitoringConfiguration[] | undefined;
946
977
  /**
947
- * <p>The current status of the container association.</p>
978
+ * <p>The current status of the container association. For a new container association, the status is <code>CREATING</code>.</p>
948
979
  * @public
949
980
  */
950
981
  Status?: ContainerAssociationStatus | undefined;
951
982
  /**
952
- * <p>The key:value pairs associated with the resource.</p>
983
+ * <p>The key:value pairs to associate with the resource.</p>
953
984
  * @public
954
985
  */
955
986
  Tags?: Tag[] | undefined;
956
987
  /**
957
- * <p>A token used for optimistic locking. Network Firewall returns a token to your requests that access the container association. The token marks the state of the container association resource at the time of the request. To make an update to the container association, provide the token in your request. Network Firewall uses the token to ensure that the container association hasn't changed since you last retrieved it. If it has changed, the operation fails with an <code>InvalidTokenException</code>. If this happens, retrieve the container association again to get a current copy of it with a new token. Reapply your changes as needed, then try the operation again using the new token.</p>
988
+ * <p>A token used for optimistic locking. Network Firewall returns a token to your requests that access the container association.
989
+ * The token marks the state of the container association resource at the time of the request.</p>
990
+ * <p>To make changes to the container association, you provide the token in your request. Network Firewall uses the token to ensure
991
+ * that the container association hasn't changed since you last retrieved it. If it has changed, the operation fails with an
992
+ * <code>InvalidTokenException</code>. If this happens, retrieve the container association again to get a current copy of it
993
+ * with a current token. Reapply your changes as needed, then try the operation again using the new token.</p>
958
994
  * @public
959
995
  */
960
996
  UpdateToken?: string | undefined;
@@ -975,6 +1011,61 @@ export interface EncryptionConfiguration {
975
1011
  */
976
1012
  Type: EncryptionType | undefined;
977
1013
  }
1014
+ /**
1015
+ * <p>A NAT gateway that a proxy mode firewall uses to proxy traffic. This is used in <a>CreateFirewall</a> when <code>NoSourcePreservation</code> is <code>TRUE</code>. </p>
1016
+ * @public
1017
+ */
1018
+ export interface NatGatewayMapping {
1019
+ /**
1020
+ * <p>A unique identifier for the NAT gateway to use with proxy resources.</p>
1021
+ * @public
1022
+ */
1023
+ NatGatewayId: string | undefined;
1024
+ }
1025
+ /**
1026
+ * <p>Open port for taking HTTP or HTTPS traffic. </p>
1027
+ * @public
1028
+ */
1029
+ export interface ListenerProperty {
1030
+ /**
1031
+ * <p>Port for processing traffic.</p>
1032
+ * @public
1033
+ */
1034
+ Port?: number | undefined;
1035
+ /**
1036
+ * <p>Selection of HTTP or HTTPS traffic.</p>
1037
+ * @public
1038
+ */
1039
+ Type?: ListenerPropertyType | undefined;
1040
+ }
1041
+ /**
1042
+ * <p>The listener configuration for a proxy mode firewall. This specifies the ports and protocols on which the firewall's proxy listens for traffic. </p>
1043
+ * @public
1044
+ */
1045
+ export interface ProxySettings {
1046
+ /**
1047
+ * <p>Listener properties for HTTP and HTTPS traffic. </p>
1048
+ * @public
1049
+ */
1050
+ ListenerProperties: ListenerProperty[] | undefined;
1051
+ }
1052
+ /**
1053
+ * <p>The VPC and subnets for a proxy mode firewall endpoint. This is used in <a>CreateFirewall</a> when <code>NoSourcePreservation</code> is <code>TRUE</code>, to specify where Network Firewall creates the firewall endpoint. </p>
1054
+ * <p>This differs from <a>VpcEndpointAssociation</a>, which defines additional secondary endpoints for a firewall in other VPCs. </p>
1055
+ * @public
1056
+ */
1057
+ export interface VpcEndpoint {
1058
+ /**
1059
+ * <p>The unique identifier of the VPC where Network Firewall creates the proxy mode firewall endpoint. </p>
1060
+ * @public
1061
+ */
1062
+ VpcId: string | undefined;
1063
+ /**
1064
+ * <p>The subnets in which Network Firewall creates the firewall endpoint for a proxy mode firewall. Each subnet must belong to a different Availability Zone in the VPC. </p>
1065
+ * @public
1066
+ */
1067
+ SubnetMappings: SubnetMapping[] | undefined;
1068
+ }
978
1069
  /**
979
1070
  * @public
980
1071
  */
@@ -1066,6 +1157,31 @@ export interface CreateFirewallRequest {
1066
1157
  * @public
1067
1158
  */
1068
1159
  AvailabilityZoneChangeProtection?: boolean | undefined;
1160
+ /**
1161
+ * <p>The NAT gateways that the firewall uses to proxy traffic when <code>NoSourcePreservation</code> is <code>TRUE</code>. Network Firewall attaches the firewall to each NAT gateway that you specify, so that egress traffic is proxied through the NAT gateway. </p>
1162
+ * @public
1163
+ */
1164
+ NatGatewayMappings?: NatGatewayMapping[] | undefined;
1165
+ /**
1166
+ * <p>The listener configuration for a proxy mode firewall, used when <code>NoSourcePreservation</code> is <code>TRUE</code>. This specifies the ports and protocols on which the firewall's proxy listens for traffic. </p>
1167
+ * @public
1168
+ */
1169
+ ProxySettings?: ProxySettings | undefined;
1170
+ /**
1171
+ * <p>Optional. Indicates whether the firewall operates in proxy mode, in which the source IP address of the traffic is not preserved. When set to <code>TRUE</code>, the firewall proxies traffic through a NAT gateway and the traffic reaching the destination uses the NAT gateway's IP address as the source. </p>
1172
+ * <p>When you set this to <code>TRUE</code>, you must specify <code>NatGatewayMappings</code> and <code>VpcEndpoint</code> instead of a top-level <code>VpcId</code> and <code>SubnetMappings</code>. </p>
1173
+ * <p>You can't change this setting after you create the firewall. </p>
1174
+ * <p>Default value: <code>FALSE</code>
1175
+ * </p>
1176
+ * @public
1177
+ */
1178
+ NoSourcePreservation?: boolean | undefined;
1179
+ /**
1180
+ * <p>The VPC and subnets for the firewall endpoint, used when <code>NoSourcePreservation</code> is <code>TRUE</code>. Network Firewall creates the firewall endpoint in the subnets that you specify here. </p>
1181
+ * <p>For proxy mode firewalls, provide the firewall's VPC and endpoint subnets through this parameter instead of the top-level <code>VpcId</code> and <code>SubnetMappings</code>. </p>
1182
+ * @public
1183
+ */
1184
+ VpcEndpoint?: VpcEndpoint | undefined;
1069
1185
  }
1070
1186
  /**
1071
1187
  * <p>A firewall defines the behavior of a firewall, the main VPC where the firewall is used, the Availability Zones where the firewall can be used, and one subnet to use for a firewall endpoint within each of the Availability Zones. The Availability Zones are defined implicitly in the subnet specifications.</p>
@@ -1177,6 +1293,26 @@ export interface Firewall {
1177
1293
  * @public
1178
1294
  */
1179
1295
  AvailabilityZoneChangeProtection?: boolean | undefined;
1296
+ /**
1297
+ * <p>The NAT gateways that the firewall uses to proxy traffic. This is set for proxy mode firewalls, where <code>NoSourcePreservation</code> is <code>TRUE</code>. </p>
1298
+ * @public
1299
+ */
1300
+ NatGatewayMappings?: NatGatewayMapping[] | undefined;
1301
+ /**
1302
+ * <p>The listener configuration for the firewall's proxy. This is set for proxy mode firewalls, where <code>NoSourcePreservation</code> is <code>TRUE</code>. </p>
1303
+ * @public
1304
+ */
1305
+ ProxySettings?: ProxySettings | undefined;
1306
+ /**
1307
+ * <p>Indicates whether the firewall operates in proxy mode, in which the source IP address of the traffic is not preserved. When this value is <code>TRUE</code>, the firewall proxies traffic through a NAT gateway and uses the NAT gateway's IP address as the source for traffic reaching the destination. </p>
1308
+ * @public
1309
+ */
1310
+ NoSourcePreservation?: boolean | undefined;
1311
+ /**
1312
+ * <p>The VPC and subnets for the firewall endpoint. This is set for proxy mode firewalls, where <code>NoSourcePreservation</code> is <code>TRUE</code>. </p>
1313
+ * @public
1314
+ */
1315
+ VpcEndpoint?: VpcEndpoint | undefined;
1180
1316
  }
1181
1317
  /**
1182
1318
  * <p>Provides configuration status for a single policy or rule group that is used for a firewall endpoint. Network Firewall
@@ -1197,6 +1333,33 @@ export interface PerObjectStatus {
1197
1333
  */
1198
1334
  UpdateToken?: string | undefined;
1199
1335
  }
1336
+ /**
1337
+ * <p>The definition and status of the attachment between a proxy mode firewall and a NAT gateway that proxies its traffic. </p>
1338
+ * @public
1339
+ */
1340
+ export interface NatGatewayAttachment {
1341
+ /**
1342
+ * <p>A unique identifier for the NAT gateway to use with proxy resources.</p>
1343
+ * @public
1344
+ */
1345
+ NatGatewayId: string | undefined;
1346
+ /**
1347
+ * <p>The current status of the NAT gateway attachment. </p>
1348
+ * <p>When this value is <code>READY</code>, the attachment is available to proxy traffic. Otherwise, this value reflects its state, for example <code>CREATING</code> or <code>DELETING</code>.</p>
1349
+ * @public
1350
+ */
1351
+ Status: NatGatewayAttachmentStatus | undefined;
1352
+ /**
1353
+ * <p>If Network Firewall encounters an issue with the NAT gateway attachment, it populates this with an explanation of the problem. </p>
1354
+ * @public
1355
+ */
1356
+ StatusMessage?: string | undefined;
1357
+ /**
1358
+ * <p>The DNS name that resolves to the firewall's proxy for traffic sent through this NAT gateway attachment. </p>
1359
+ * @public
1360
+ */
1361
+ DnsName?: string | undefined;
1362
+ }
1200
1363
  /**
1201
1364
  * <p>The status of the firewall endpoint and firewall policy configuration for a single VPC subnet.
1202
1365
  * This is part of the <a>FirewallStatus</a>. </p>
@@ -1232,6 +1395,11 @@ export interface SyncState {
1232
1395
  * @public
1233
1396
  */
1234
1397
  Config?: Record<string, PerObjectStatus> | undefined;
1398
+ /**
1399
+ * <p>The status of the NAT gateway attachments for a proxy mode firewall in the Availability Zone. This reflects the attachment of the firewall to each NAT gateway that proxies its traffic. </p>
1400
+ * @public
1401
+ */
1402
+ NatGatewayAttachments?: NatGatewayAttachment[] | undefined;
1235
1403
  }
1236
1404
  /**
1237
1405
  * <p>Contains information about the synchronization state of a transit gateway attachment, including its current status and any error messages. Network Firewall uses this to track the state of your transit gateway configuration changes.</p>
@@ -1441,6 +1609,9 @@ export interface FlowTimeouts {
1441
1609
  }
1442
1610
  /**
1443
1611
  * <p>Configuration settings for the handling of the stateful rule groups in a firewall policy. </p>
1612
+ * <important>
1613
+ * <p>Updating any setting in <code>StatefulEngineOptions</code> may require a restart of the stateful engine in order to apply the changes. When this occurs, existing connections will be treated according to your stream exception policy configuration.</p>
1614
+ * </important>
1444
1615
  * @public
1445
1616
  */
1446
1617
  export interface StatefulEngineOptions {
@@ -1663,6 +1834,18 @@ export interface FirewallPolicy {
1663
1834
  * <li>
1664
1835
  * <p>aws:alert_established</p>
1665
1836
  * </li>
1837
+ * <li>
1838
+ * <p>aws:drop_established_app_layer</p>
1839
+ * </li>
1840
+ * <li>
1841
+ * <p>aws:alert_established_app_layer</p>
1842
+ * </li>
1843
+ * <li>
1844
+ * <p>aws:drop_established_app_layer_to_server</p>
1845
+ * </li>
1846
+ * <li>
1847
+ * <p>aws:alert_established_app_layer_to_server</p>
1848
+ * </li>
1666
1849
  * </ul>
1667
1850
  * <p>For more information, see
1668
1851
  * <a href="https://docs.aws.amazon.com/network-firewall/latest/developerguide/suricata-rule-evaluation-order.html#suricata-strict-rule-evaluation-order.html">Strict evaluation order</a> in the <i>Network Firewall Developer Guide</i>.
@@ -1899,22 +2082,6 @@ export interface CreateProxyRequest {
1899
2082
  */
1900
2083
  Tags?: Tag[] | undefined;
1901
2084
  }
1902
- /**
1903
- * <p>Open port for taking HTTP or HTTPS traffic. </p>
1904
- * @public
1905
- */
1906
- export interface ListenerProperty {
1907
- /**
1908
- * <p>Port for processing traffic.</p>
1909
- * @public
1910
- */
1911
- Port?: number | undefined;
1912
- /**
1913
- * <p>Selection of HTTP or HTTPS traffic.</p>
1914
- * @public
1915
- */
1916
- Type?: ListenerPropertyType | undefined;
1917
- }
1918
2085
  /**
1919
2086
  * <p>TLS decryption on traffic to filter on attributes in the HTTP header. </p>
1920
2087
  * @public
@@ -2475,12 +2642,12 @@ export interface Header {
2475
2642
  */
2476
2643
  export interface RuleOption {
2477
2644
  /**
2478
- * <p>The keyword for the Suricata compatible rule option. You must include a <code>sid</code> (signature ID), and can optionally include other keywords. For information about Suricata compatible keywords, see <a href="https://suricata.readthedocs.io/en/suricata-7.0.3/rules/intro.html#rule-options">Rule options</a> in the Suricata documentation.</p>
2645
+ * <p>The keyword for the Suricata compatible rule option. You must include a <code>sid</code> (signature ID), and can optionally include other keywords. For information about Suricata compatible keywords, see <a href="https://suricata.readthedocs.io/en/suricata-7.0.8/rules/intro.html#rule-options">Rule options</a> in the Suricata documentation.</p>
2479
2646
  * @public
2480
2647
  */
2481
2648
  Keyword: string | undefined;
2482
2649
  /**
2483
- * <p>The settings of the Suricata compatible rule option. Rule options have zero or more setting values, and the number of possible and required settings depends on the <code>Keyword</code>. For more information about the settings for specific options, see <a href="https://suricata.readthedocs.io/en/suricata-7.0.3/rules/intro.html#rule-options">Rule options</a>.</p>
2650
+ * <p>The settings of the Suricata compatible rule option. Rule options have zero or more setting values, and the number of possible and required settings depends on the <code>Keyword</code>. For more information about the settings for specific options, see <a href="https://suricata.readthedocs.io/en/suricata-7.0.8/rules/intro.html#rule-options">Rule options</a>.</p>
2484
2651
  * @public
2485
2652
  */
2486
2653
  Settings?: string[] | undefined;
@@ -2489,7 +2656,7 @@ export interface RuleOption {
2489
2656
  * <p>A single Suricata rules specification, for use in a stateful rule group.
2490
2657
  * Use this option to specify a simple Suricata rule with protocol, source and destination, ports, direction, and rule options.
2491
2658
  * For information about the Suricata <code>Rules</code> format, see
2492
- * <a href="https://suricata.readthedocs.io/en/suricata-7.0.3/rules/intro.html">Rules Format</a>. </p>
2659
+ * <a href="https://suricata.readthedocs.io/en/suricata-7.0.8/rules/intro.html">Rules Format</a>. </p>
2493
2660
  * @public
2494
2661
  */
2495
2662
  export interface StatefulRule {
@@ -2761,7 +2928,7 @@ export interface RulesSource {
2761
2928
  * <p>An array of individual stateful rules inspection criteria to be used together in a stateful rule group.
2762
2929
  * Use this option to specify simple Suricata rules with protocol, source and destination, ports, direction, and rule options.
2763
2930
  * For information about the Suricata <code>Rules</code> format, see
2764
- * <a href="https://suricata.readthedocs.io/en/suricata-7.0.3/rules/intro.html">Rules Format</a>. </p>
2931
+ * <a href="https://suricata.readthedocs.io/en/suricata-7.0.8/rules/intro.html">Rules Format</a>. </p>
2765
2932
  * @public
2766
2933
  */
2767
2934
  StatefulRules?: StatefulRule[] | undefined;
@@ -3497,12 +3664,14 @@ export interface CreateVpcEndpointAssociationResponse {
3497
3664
  */
3498
3665
  export interface DeleteContainerAssociationRequest {
3499
3666
  /**
3500
- * <p>The descriptive name of the container association. You must specify the ARN or the name, and you can specify both.</p>
3667
+ * <p>The descriptive name of the container association.</p>
3668
+ * <p>You must specify the ARN or the name, and you can specify both. </p>
3501
3669
  * @public
3502
3670
  */
3503
3671
  ContainerAssociationName?: string | undefined;
3504
3672
  /**
3505
- * <p>The Amazon Resource Name (ARN) of the container association. You must specify the ARN or the name, and you can specify both.</p>
3673
+ * <p>The Amazon Resource Name (ARN) of the container association.</p>
3674
+ * <p>You must specify the ARN or the name, and you can specify both. </p>
3506
3675
  * @public
3507
3676
  */
3508
3677
  ContainerAssociationArn?: string | undefined;
@@ -3522,7 +3691,7 @@ export interface DeleteContainerAssociationResponse {
3522
3691
  */
3523
3692
  ContainerAssociationArn?: string | undefined;
3524
3693
  /**
3525
- * <p>The current status of the container association.</p>
3694
+ * <p>The current status of the container association. After deletion is initiated, the status is <code>DELETING</code>.</p>
3526
3695
  * @public
3527
3696
  */
3528
3697
  Status?: ContainerAssociationStatus | undefined;
@@ -3903,12 +4072,14 @@ export interface DeleteVpcEndpointAssociationResponse {
3903
4072
  */
3904
4073
  export interface DescribeContainerAssociationRequest {
3905
4074
  /**
3906
- * <p>The descriptive name of the container association. You must specify the ARN or the name, and you can specify both.</p>
4075
+ * <p>The descriptive name of the container association.</p>
4076
+ * <p>You must specify the ARN or the name, and you can specify both. </p>
3907
4077
  * @public
3908
4078
  */
3909
4079
  ContainerAssociationName?: string | undefined;
3910
4080
  /**
3911
- * <p>The Amazon Resource Name (ARN) of the container association. You must specify the ARN or the name, and you can specify both.</p>
4081
+ * <p>The Amazon Resource Name (ARN) of the container association.</p>
4082
+ * <p>You must specify the ARN or the name, and you can specify both. </p>
3912
4083
  * @public
3913
4084
  */
3914
4085
  ContainerAssociationArn?: string | undefined;
@@ -3933,12 +4104,22 @@ export interface DescribeContainerAssociationResponse {
3933
4104
  */
3934
4105
  Description?: string | undefined;
3935
4106
  /**
3936
- * <p>The type of container orchestration platform. Either <code>ECS</code> or <code>EKS</code>.</p>
4107
+ * <p>The container type. Valid values:</p>
4108
+ * <ul>
4109
+ * <li>
4110
+ * <p>
4111
+ * <code>ECS</code> - Amazon Elastic Container Service</p>
4112
+ * </li>
4113
+ * <li>
4114
+ * <p>
4115
+ * <code>EKS</code> - Amazon Elastic Kubernetes Service</p>
4116
+ * </li>
4117
+ * </ul>
3937
4118
  * @public
3938
4119
  */
3939
4120
  Type?: ContainerMonitoringType | undefined;
3940
4121
  /**
3941
- * <p>The container monitoring configurations for this container association.</p>
4122
+ * <p>The monitoring configurations for the container association.</p>
3942
4123
  * @public
3943
4124
  */
3944
4125
  ContainerMonitoringConfigurations?: ContainerMonitoringConfiguration[] | undefined;
@@ -3948,22 +4129,27 @@ export interface DescribeContainerAssociationResponse {
3948
4129
  */
3949
4130
  Status?: ContainerAssociationStatus | undefined;
3950
4131
  /**
3951
- * <p>The number of CIDR blocks that have been resolved from the monitored containers for this container association.</p>
4132
+ * <p>The number of CIDR blocks resolved from the monitored containers.</p>
3952
4133
  * @public
3953
4134
  */
3954
4135
  ResolvedCidrCount?: number | undefined;
3955
4136
  /**
3956
- * <p>The last time that the container association was updated or resolved new container IP addresses.</p>
4137
+ * <p>The most recent time that Network Firewall updated the container association.</p>
3957
4138
  * @public
3958
4139
  */
3959
4140
  LastUpdatedTime?: Date | undefined;
3960
4141
  /**
3961
- * <p>The key:value pairs associated with the resource.</p>
4142
+ * <p>The key:value pairs to associate with the resource.</p>
3962
4143
  * @public
3963
4144
  */
3964
4145
  Tags?: Tag[] | undefined;
3965
4146
  /**
3966
- * <p>A token used for optimistic locking. Network Firewall returns a token to your requests that access the container association. The token marks the state of the container association resource at the time of the request.</p>
4147
+ * <p>A token used for optimistic locking. Network Firewall returns a token to your requests that access the container association.
4148
+ * The token marks the state of the container association resource at the time of the request.</p>
4149
+ * <p>To make changes to the container association, you provide the token in your request. Network Firewall uses the token to ensure
4150
+ * that the container association hasn't changed since you last retrieved it. If it has changed, the operation fails with an
4151
+ * <code>InvalidTokenException</code>. If this happens, retrieve the container association again to get a current copy of it
4152
+ * with a current token. Reapply your changes as needed, then try the operation again using the new token.</p>
3967
4153
  * @public
3968
4154
  */
3969
4155
  UpdateToken?: string | undefined;
@@ -5352,12 +5538,16 @@ export interface ListAnalysisReportsResponse {
5352
5538
  */
5353
5539
  export interface ListContainerAssociationsRequest {
5354
5540
  /**
5355
- * <p>The maximum number of objects that you want Network Firewall to return for this request. If more objects are available, in the response, Network Firewall provides a <code>NextToken</code> value that you can use in a subsequent call to get the next batch of objects.</p>
5541
+ * <p>The maximum number of objects that you want Network Firewall to return for this request. If more
5542
+ * objects are available, in the response, Network Firewall provides a
5543
+ * <code>NextToken</code> value that you can use in a subsequent call to get the next batch of objects.</p>
5356
5544
  * @public
5357
5545
  */
5358
5546
  MaxResults?: number | undefined;
5359
5547
  /**
5360
- * <p>When you request a list of objects with a <code>MaxResults</code> setting, if the number of objects that are still available for retrieval exceeds the maximum you requested, Network Firewall returns a <code>NextToken</code> value in the response. To retrieve the next batch of objects, use the token returned from the prior request in your next request.</p>
5548
+ * <p>When you request a list of objects with a <code>MaxResults</code> setting, if the number of objects that are still available
5549
+ * for retrieval exceeds the maximum you requested, Network Firewall returns a <code>NextToken</code>
5550
+ * value in the response. To retrieve the next batch of objects, use the token returned from the prior request in your next request.</p>
5361
5551
  * @public
5362
5552
  */
5363
5553
  NextToken?: string | undefined;
@@ -5367,12 +5557,14 @@ export interface ListContainerAssociationsRequest {
5367
5557
  */
5368
5558
  export interface ListContainerAssociationsResponse {
5369
5559
  /**
5370
- * <p>The container association metadata objects.</p>
5560
+ * <p>The container association metadata objects for the account and Region.</p>
5371
5561
  * @public
5372
5562
  */
5373
5563
  ContainerAssociations?: ContainerAssociationSummary[] | undefined;
5374
5564
  /**
5375
- * <p>When you request a list of objects with a <code>MaxResults</code> setting, if the number of objects that are still available for retrieval exceeds the maximum you requested, Network Firewall returns a <code>NextToken</code> value in the response. To retrieve the next batch of objects, use the token returned from the prior request in your next request.</p>
5565
+ * <p>When you request a list of objects with a <code>MaxResults</code> setting, if the number of objects that are still available
5566
+ * for retrieval exceeds the maximum you requested, Network Firewall returns a <code>NextToken</code>
5567
+ * value in the response. To retrieve the next batch of objects, use the token returned from the prior request in your next request.</p>
5376
5568
  * @public
5377
5569
  */
5378
5570
  NextToken?: string | undefined;
@@ -6403,37 +6595,56 @@ export interface UpdateAvailabilityZoneChangeProtectionResponse {
6403
6595
  */
6404
6596
  export interface UpdateContainerAssociationRequest {
6405
6597
  /**
6406
- * <p>The descriptive name of the container association. You must specify the ARN or the name, and you can specify both.</p>
6598
+ * <p>The descriptive name of the container association.</p>
6599
+ * <p>You must specify the ARN or the name, and you can specify both. </p>
6407
6600
  * @public
6408
6601
  */
6409
6602
  ContainerAssociationName?: string | undefined;
6410
6603
  /**
6411
- * <p>The Amazon Resource Name (ARN) of the container association. You must specify the ARN or the name, and you can specify both.</p>
6604
+ * <p>The Amazon Resource Name (ARN) of the container association.</p>
6605
+ * <p>You must specify the ARN or the name, and you can specify both. </p>
6412
6606
  * @public
6413
6607
  */
6414
6608
  ContainerAssociationArn?: string | undefined;
6415
6609
  /**
6416
- * <p>A description of the container association.</p>
6610
+ * <p>A description of the container association. When omitted, the existing description remains unchanged.
6611
+ * To clear the description, pass an empty string.</p>
6417
6612
  * @public
6418
6613
  */
6419
6614
  Description?: string | undefined;
6420
6615
  /**
6421
- * <p>The type of container orchestration platform. This must match the type specified when the container association was created.</p>
6616
+ * <p>The container type. This value must match the existing type and can't be changed. Valid values:</p>
6617
+ * <ul>
6618
+ * <li>
6619
+ * <p>
6620
+ * <code>ECS</code> - Amazon Elastic Container Service</p>
6621
+ * </li>
6622
+ * <li>
6623
+ * <p>
6624
+ * <code>EKS</code> - Amazon Elastic Kubernetes Service</p>
6625
+ * </li>
6626
+ * </ul>
6422
6627
  * @public
6423
6628
  */
6424
6629
  Type: ContainerMonitoringType | undefined;
6425
6630
  /**
6426
- * <p>The updated list of container monitoring configurations that define which clusters and container attributes to monitor.</p>
6631
+ * <p>The updated monitoring configurations for the container association. Each configuration specifies an Amazon ECS or Amazon EKS cluster
6632
+ * to monitor and optional attribute filters.</p>
6427
6633
  * @public
6428
6634
  */
6429
6635
  ContainerMonitoringConfigurations: ContainerMonitoringConfiguration[] | undefined;
6430
6636
  /**
6431
- * <p>The key:value pairs associated with the resource.</p>
6637
+ * <p>The key:value pairs to associate with the resource.</p>
6432
6638
  * @public
6433
6639
  */
6434
6640
  Tags?: Tag[] | undefined;
6435
6641
  /**
6436
- * <p>A token used for optimistic locking. Network Firewall returns a token to your requests that access the container association. The token marks the state of the container association resource at the time of the request. To make an update to the container association, provide the token in your request. Network Firewall uses the token to ensure that the container association hasn't changed since you last retrieved it. If it has changed, the operation fails with an <code>InvalidTokenException</code>. If this happens, retrieve the container association again to get a current copy of it with a new token. Reapply your changes as needed, then try the operation again using the new token.</p>
6642
+ * <p>A token used for optimistic locking. Network Firewall returns a token to your requests that access the container association.
6643
+ * The token marks the state of the container association resource at the time of the request.</p>
6644
+ * <p>To make changes to the container association, you provide the token in your request. Network Firewall uses the token to ensure
6645
+ * that the container association hasn't changed since you last retrieved it. If it has changed, the operation fails with an
6646
+ * <code>InvalidTokenException</code>. If this happens, retrieve the container association again to get a current copy of it
6647
+ * with a current token. Reapply your changes as needed, then try the operation again using the new token.</p>
6437
6648
  * @public
6438
6649
  */
6439
6650
  UpdateToken: string | undefined;
@@ -6458,12 +6669,22 @@ export interface UpdateContainerAssociationResponse {
6458
6669
  */
6459
6670
  Description?: string | undefined;
6460
6671
  /**
6461
- * <p>The type of container orchestration platform. Either <code>ECS</code> or <code>EKS</code>.</p>
6672
+ * <p>The container type. Valid values:</p>
6673
+ * <ul>
6674
+ * <li>
6675
+ * <p>
6676
+ * <code>ECS</code> - Amazon Elastic Container Service</p>
6677
+ * </li>
6678
+ * <li>
6679
+ * <p>
6680
+ * <code>EKS</code> - Amazon Elastic Kubernetes Service</p>
6681
+ * </li>
6682
+ * </ul>
6462
6683
  * @public
6463
6684
  */
6464
6685
  Type?: ContainerMonitoringType | undefined;
6465
6686
  /**
6466
- * <p>The container monitoring configurations for this container association.</p>
6687
+ * <p>The monitoring configurations for the container association.</p>
6467
6688
  * @public
6468
6689
  */
6469
6690
  ContainerMonitoringConfigurations?: ContainerMonitoringConfiguration[] | undefined;
@@ -6473,12 +6694,17 @@ export interface UpdateContainerAssociationResponse {
6473
6694
  */
6474
6695
  Status?: ContainerAssociationStatus | undefined;
6475
6696
  /**
6476
- * <p>The key:value pairs associated with the resource.</p>
6697
+ * <p>The key:value pairs to associate with the resource.</p>
6477
6698
  * @public
6478
6699
  */
6479
6700
  Tags?: Tag[] | undefined;
6480
6701
  /**
6481
- * <p>A token used for optimistic locking. Network Firewall returns a token to your requests that access the container association. The token marks the state of the container association resource at the time of the request.</p>
6702
+ * <p>A token used for optimistic locking. Network Firewall returns a token to your requests that access the container association.
6703
+ * The token marks the state of the container association resource at the time of the request.</p>
6704
+ * <p>To make changes to the container association, you provide the token in your request. Network Firewall uses the token to ensure
6705
+ * that the container association hasn't changed since you last retrieved it. If it has changed, the operation fails with an
6706
+ * <code>InvalidTokenException</code>. If this happens, retrieve the container association again to get a current copy of it
6707
+ * with a current token. Reapply your changes as needed, then try the operation again using the new token.</p>
6482
6708
  * @public
6483
6709
  */
6484
6710
  UpdateToken?: string | undefined;
@@ -7227,6 +7453,62 @@ export interface UpdateProxyRulePrioritiesResponse {
7227
7453
  */
7228
7454
  UpdateToken?: string | undefined;
7229
7455
  }
7456
+ /**
7457
+ * @public
7458
+ */
7459
+ export interface UpdateProxySettingsRequest {
7460
+ /**
7461
+ * <p>The Amazon Resource Name (ARN) of the firewall.</p>
7462
+ * <p>You must specify the ARN or the name, and you can specify both. </p>
7463
+ * @public
7464
+ */
7465
+ FirewallArn?: string | undefined;
7466
+ /**
7467
+ * <p>The descriptive name of the firewall. You can't change the name of a firewall after you create it.</p>
7468
+ * <p>You must specify the ARN or the name, and you can specify both. </p>
7469
+ * @public
7470
+ */
7471
+ FirewallName?: string | undefined;
7472
+ /**
7473
+ * <p>An optional token that you can use for optimistic locking. Network Firewall returns a token to your requests that access the firewall. The token marks the state of the firewall resource at the time of the request. </p>
7474
+ * <p>To make an unconditional change to the firewall, omit the token in your update request. Without the token, Network Firewall performs your updates regardless of whether the firewall has changed since you last retrieved it.</p>
7475
+ * <p>To make a conditional change to the firewall, provide the token in your update request. Network Firewall uses the token to ensure that the firewall hasn't changed since you last retrieved it. If it has changed, the operation fails with an <code>InvalidTokenException</code>. If this happens, retrieve the firewall again to get a current copy of it with a new token. Reapply your changes as needed, then try the operation again using the new token. </p>
7476
+ * @public
7477
+ */
7478
+ UpdateToken?: string | undefined;
7479
+ /**
7480
+ * <p>The proxy listener configuration to set on the firewall. This specifies the ports and protocols on which the firewall's proxy listens for traffic. </p>
7481
+ * @public
7482
+ */
7483
+ ProxySettings?: ProxySettings | undefined;
7484
+ }
7485
+ /**
7486
+ * @public
7487
+ */
7488
+ export interface UpdateProxySettingsResponse {
7489
+ /**
7490
+ * <p>The Amazon Resource Name (ARN) of the firewall.</p>
7491
+ * @public
7492
+ */
7493
+ FirewallArn?: string | undefined;
7494
+ /**
7495
+ * <p>The descriptive name of the firewall. You can't change the name of a firewall after you create it.</p>
7496
+ * @public
7497
+ */
7498
+ FirewallName?: string | undefined;
7499
+ /**
7500
+ * <p>An optional token that you can use for optimistic locking. Network Firewall returns a token to your requests that access the firewall. The token marks the state of the firewall resource at the time of the request. </p>
7501
+ * <p>To make an unconditional change to the firewall, omit the token in your update request. Without the token, Network Firewall performs your updates regardless of whether the firewall has changed since you last retrieved it.</p>
7502
+ * <p>To make a conditional change to the firewall, provide the token in your update request. Network Firewall uses the token to ensure that the firewall hasn't changed since you last retrieved it. If it has changed, the operation fails with an <code>InvalidTokenException</code>. If this happens, retrieve the firewall again to get a current copy of it with a new token. Reapply your changes as needed, then try the operation again using the new token. </p>
7503
+ * @public
7504
+ */
7505
+ UpdateToken?: string | undefined;
7506
+ /**
7507
+ * <p>The updated proxy listener configuration on the firewall. </p>
7508
+ * @public
7509
+ */
7510
+ ProxySettings?: ProxySettings | undefined;
7511
+ }
7230
7512
  /**
7231
7513
  * @public
7232
7514
  */