@aws-sdk/client-network-firewall 3.936.0 → 3.940.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 (97) hide show
  1. package/README.md +183 -7
  2. package/dist-cjs/index.js +1000 -42
  3. package/dist-es/NetworkFirewall.js +44 -0
  4. package/dist-es/commands/AttachRuleGroupsToProxyConfigurationCommand.js +16 -0
  5. package/dist-es/commands/CreateProxyCommand.js +16 -0
  6. package/dist-es/commands/CreateProxyConfigurationCommand.js +16 -0
  7. package/dist-es/commands/CreateProxyRuleGroupCommand.js +16 -0
  8. package/dist-es/commands/CreateProxyRulesCommand.js +16 -0
  9. package/dist-es/commands/DeleteProxyCommand.js +16 -0
  10. package/dist-es/commands/DeleteProxyConfigurationCommand.js +16 -0
  11. package/dist-es/commands/DeleteProxyRuleGroupCommand.js +16 -0
  12. package/dist-es/commands/DeleteProxyRulesCommand.js +16 -0
  13. package/dist-es/commands/DescribeProxyCommand.js +16 -0
  14. package/dist-es/commands/DescribeProxyConfigurationCommand.js +16 -0
  15. package/dist-es/commands/DescribeProxyRuleCommand.js +16 -0
  16. package/dist-es/commands/DescribeProxyRuleGroupCommand.js +16 -0
  17. package/dist-es/commands/DetachRuleGroupsFromProxyConfigurationCommand.js +16 -0
  18. package/dist-es/commands/ListProxiesCommand.js +16 -0
  19. package/dist-es/commands/ListProxyConfigurationsCommand.js +16 -0
  20. package/dist-es/commands/ListProxyRuleGroupsCommand.js +16 -0
  21. package/dist-es/commands/UpdateProxyCommand.js +16 -0
  22. package/dist-es/commands/UpdateProxyConfigurationCommand.js +16 -0
  23. package/dist-es/commands/UpdateProxyRuleCommand.js +16 -0
  24. package/dist-es/commands/UpdateProxyRuleGroupPrioritiesCommand.js +16 -0
  25. package/dist-es/commands/UpdateProxyRulePrioritiesCommand.js +16 -0
  26. package/dist-es/commands/index.js +22 -0
  27. package/dist-es/models/enums.js +31 -0
  28. package/dist-es/pagination/ListProxiesPaginator.js +4 -0
  29. package/dist-es/pagination/ListProxyConfigurationsPaginator.js +4 -0
  30. package/dist-es/pagination/ListProxyRuleGroupsPaginator.js +4 -0
  31. package/dist-es/pagination/index.js +3 -0
  32. package/dist-es/schemas/schemas_0.js +649 -42
  33. package/dist-types/NetworkFirewall.d.ts +162 -0
  34. package/dist-types/NetworkFirewallClient.d.ts +24 -2
  35. package/dist-types/commands/AttachRuleGroupsToProxyConfigurationCommand.d.ts +136 -0
  36. package/dist-types/commands/CreateProxyCommand.d.ts +159 -0
  37. package/dist-types/commands/CreateProxyConfigurationCommand.d.ts +151 -0
  38. package/dist-types/commands/CreateProxyRuleGroupCommand.d.ts +225 -0
  39. package/dist-types/commands/CreateProxyRulesCommand.d.ts +216 -0
  40. package/dist-types/commands/DeleteProxyCommand.d.ts +108 -0
  41. package/dist-types/commands/DeleteProxyConfigurationCommand.d.ts +102 -0
  42. package/dist-types/commands/DeleteProxyRuleGroupCommand.d.ts +102 -0
  43. package/dist-types/commands/DeleteProxyRulesCommand.d.ts +167 -0
  44. package/dist-types/commands/DescribeProxyCommand.d.ts +133 -0
  45. package/dist-types/commands/DescribeProxyConfigurationCommand.d.ts +127 -0
  46. package/dist-types/commands/DescribeProxyRuleCommand.d.ts +116 -0
  47. package/dist-types/commands/DescribeProxyRuleGroupCommand.d.ts +164 -0
  48. package/dist-types/commands/DetachRuleGroupsFromProxyConfigurationCommand.d.ts +136 -0
  49. package/dist-types/commands/ListProxiesCommand.d.ts +106 -0
  50. package/dist-types/commands/ListProxyConfigurationsCommand.d.ts +109 -0
  51. package/dist-types/commands/ListProxyRuleGroupsCommand.d.ts +109 -0
  52. package/dist-types/commands/UpdateProxyCommand.d.ts +152 -0
  53. package/dist-types/commands/UpdateProxyConfigurationCommand.d.ts +133 -0
  54. package/dist-types/commands/UpdateProxyRuleCommand.d.ts +146 -0
  55. package/dist-types/commands/UpdateProxyRuleGroupPrioritiesCommand.d.ts +114 -0
  56. package/dist-types/commands/UpdateProxyRulePrioritiesCommand.d.ts +118 -0
  57. package/dist-types/commands/index.d.ts +22 -0
  58. package/dist-types/models/enums.d.ts +79 -0
  59. package/dist-types/models/models_0.d.ts +1834 -264
  60. package/dist-types/pagination/ListProxiesPaginator.d.ts +7 -0
  61. package/dist-types/pagination/ListProxyConfigurationsPaginator.d.ts +7 -0
  62. package/dist-types/pagination/ListProxyRuleGroupsPaginator.d.ts +7 -0
  63. package/dist-types/pagination/index.d.ts +3 -0
  64. package/dist-types/schemas/schemas_0.d.ts +104 -0
  65. package/dist-types/ts3.4/NetworkFirewall.d.ts +394 -0
  66. package/dist-types/ts3.4/NetworkFirewallClient.d.ts +132 -0
  67. package/dist-types/ts3.4/commands/AttachRuleGroupsToProxyConfigurationCommand.d.ts +51 -0
  68. package/dist-types/ts3.4/commands/CreateProxyCommand.d.ts +47 -0
  69. package/dist-types/ts3.4/commands/CreateProxyConfigurationCommand.d.ts +51 -0
  70. package/dist-types/ts3.4/commands/CreateProxyRuleGroupCommand.d.ts +51 -0
  71. package/dist-types/ts3.4/commands/CreateProxyRulesCommand.d.ts +50 -0
  72. package/dist-types/ts3.4/commands/DeleteProxyCommand.d.ts +47 -0
  73. package/dist-types/ts3.4/commands/DeleteProxyConfigurationCommand.d.ts +51 -0
  74. package/dist-types/ts3.4/commands/DeleteProxyRuleGroupCommand.d.ts +51 -0
  75. package/dist-types/ts3.4/commands/DeleteProxyRulesCommand.d.ts +50 -0
  76. package/dist-types/ts3.4/commands/DescribeProxyCommand.d.ts +50 -0
  77. package/dist-types/ts3.4/commands/DescribeProxyConfigurationCommand.d.ts +51 -0
  78. package/dist-types/ts3.4/commands/DescribeProxyRuleCommand.d.ts +51 -0
  79. package/dist-types/ts3.4/commands/DescribeProxyRuleGroupCommand.d.ts +51 -0
  80. package/dist-types/ts3.4/commands/DetachRuleGroupsFromProxyConfigurationCommand.d.ts +51 -0
  81. package/dist-types/ts3.4/commands/ListProxiesCommand.d.ts +47 -0
  82. package/dist-types/ts3.4/commands/ListProxyConfigurationsCommand.d.ts +51 -0
  83. package/dist-types/ts3.4/commands/ListProxyRuleGroupsCommand.d.ts +51 -0
  84. package/dist-types/ts3.4/commands/UpdateProxyCommand.d.ts +47 -0
  85. package/dist-types/ts3.4/commands/UpdateProxyConfigurationCommand.d.ts +51 -0
  86. package/dist-types/ts3.4/commands/UpdateProxyRuleCommand.d.ts +50 -0
  87. package/dist-types/ts3.4/commands/UpdateProxyRuleGroupPrioritiesCommand.d.ts +51 -0
  88. package/dist-types/ts3.4/commands/UpdateProxyRulePrioritiesCommand.d.ts +51 -0
  89. package/dist-types/ts3.4/commands/index.d.ts +22 -0
  90. package/dist-types/ts3.4/models/enums.d.ts +42 -0
  91. package/dist-types/ts3.4/models/models_0.d.ts +372 -4
  92. package/dist-types/ts3.4/pagination/ListProxiesPaginator.d.ts +11 -0
  93. package/dist-types/ts3.4/pagination/ListProxyConfigurationsPaginator.d.ts +11 -0
  94. package/dist-types/ts3.4/pagination/ListProxyRuleGroupsPaginator.d.ts +11 -0
  95. package/dist-types/ts3.4/pagination/index.d.ts +3 -0
  96. package/dist-types/ts3.4/schemas/schemas_0.d.ts +104 -0
  97. package/package.json +5 -5
@@ -1,4 +1,4 @@
1
- import { AttachmentStatus, ConfigurationSyncState, EnabledAnalysisType, EncryptionType, FirewallStatusValue, FlowOperationStatus, FlowOperationType, GeneratedRulesType, IdentifiedType, IPAddressType, LogDestinationType, LogType, OverrideAction, PerObjectSyncStatus, ResourceManagedStatus, ResourceManagedType, ResourceStatus, RevocationCheckAction, RuleGroupType, RuleOrder, StatefulAction, StatefulRuleDirection, StatefulRuleProtocol, StreamExceptionPolicy, SubscriptionStatus, SummaryRuleOption, TargetType, TCPFlag, TransitGatewayAttachmentStatus } from "./enums";
1
+ import { AttachmentStatus, ConfigurationSyncState, 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";
2
2
  /**
3
3
  * @public
4
4
  */
@@ -532,6 +532,186 @@ export interface AZSyncState {
532
532
  */
533
533
  Attachment?: Attachment | undefined;
534
534
  }
535
+ /**
536
+ * <p>The proxy rule group(s) to attach to the proxy configuration</p>
537
+ * @public
538
+ */
539
+ export interface ProxyRuleGroupAttachment {
540
+ /**
541
+ * <p>The descriptive name of the proxy rule group. You can't change the name of a proxy rule group after you create it.</p>
542
+ * @public
543
+ */
544
+ ProxyRuleGroupName?: string | undefined;
545
+ /**
546
+ * <p>Where to insert a proxy rule group in a proxy configuration. </p>
547
+ * @public
548
+ */
549
+ InsertPosition?: number | undefined;
550
+ }
551
+ /**
552
+ * @public
553
+ */
554
+ export interface AttachRuleGroupsToProxyConfigurationRequest {
555
+ /**
556
+ * <p>The descriptive name of the proxy configuration. You can't change the name of a proxy configuration after you create it.</p>
557
+ * <p>You must specify the ARN or the name, and you can specify both. </p>
558
+ * @public
559
+ */
560
+ ProxyConfigurationName?: string | undefined;
561
+ /**
562
+ * <p>The Amazon Resource Name (ARN) of a proxy configuration.</p>
563
+ * <p>You must specify the ARN or the name, and you can specify both. </p>
564
+ * @public
565
+ */
566
+ ProxyConfigurationArn?: string | undefined;
567
+ /**
568
+ * <p>The proxy rule group(s) to attach to the proxy configuration</p>
569
+ * @public
570
+ */
571
+ RuleGroups: ProxyRuleGroupAttachment[] | undefined;
572
+ /**
573
+ * <p>A token used for optimistic locking. Network Firewall returns a token to your requests that access the proxy configuration. The token marks the state of the proxy configuration resource at the time of the request. </p>
574
+ * <p>To make changes to the proxy configuration, you provide the token in your request. Network Firewall uses the token to ensure that the proxy configuration 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 proxy configuration again to get a current copy of it with a current token. Reapply your changes as needed, then try the operation again using the new token. </p>
575
+ * @public
576
+ */
577
+ UpdateToken: string | undefined;
578
+ }
579
+ /**
580
+ * <p>Evaluation points in the traffic flow where rules are applied. There are three phases in a traffic where the rule match is applied. </p>
581
+ * <p>This data type is used specifically for the <a>CreateProxyConfiguration</a> and
582
+ * <a>UpdateProxyConfiguration</a> APIs.</p>
583
+ * @public
584
+ */
585
+ export interface ProxyConfigDefaultRulePhaseActionsRequest {
586
+ /**
587
+ * <p>Before domain resolution. </p>
588
+ * @public
589
+ */
590
+ PreDNS?: ProxyRulePhaseAction | undefined;
591
+ /**
592
+ * <p>After DNS, before request.</p>
593
+ * @public
594
+ */
595
+ PreREQUEST?: ProxyRulePhaseAction | undefined;
596
+ /**
597
+ * <p>After receiving response.</p>
598
+ * @public
599
+ */
600
+ PostRESPONSE?: ProxyRulePhaseAction | undefined;
601
+ }
602
+ /**
603
+ * <p>Proxy rule group contained within a proxy configuration. </p>
604
+ * @public
605
+ */
606
+ export interface ProxyConfigRuleGroup {
607
+ /**
608
+ * <p>The descriptive name of the proxy rule group. You can't change the name of a proxy rule group after you create it.</p>
609
+ * @public
610
+ */
611
+ ProxyRuleGroupName?: string | undefined;
612
+ /**
613
+ * <p>The Amazon Resource Name (ARN) of a proxy rule group.</p>
614
+ * @public
615
+ */
616
+ ProxyRuleGroupArn?: string | undefined;
617
+ /**
618
+ * <p>Proxy rule group type. </p>
619
+ * @public
620
+ */
621
+ Type?: string | undefined;
622
+ /**
623
+ * <p>Priority of the proxy rule group in the proxy configuration. </p>
624
+ * @public
625
+ */
626
+ Priority?: number | undefined;
627
+ }
628
+ /**
629
+ * <p>A key:value pair associated with an Amazon Web Services resource. The key:value pair can be anything you
630
+ * define. Typically, the tag key represents a category (such as "environment") and the tag
631
+ * value represents a specific value within that category (such as "test," "development," or
632
+ * "production"). You can add up to 50 tags to each Amazon Web Services resource. </p>
633
+ * @public
634
+ */
635
+ export interface Tag {
636
+ /**
637
+ * <p>The part of the key:value pair that defines a tag. You can use a tag key to describe a
638
+ * category of information, such as "customer." Tag keys are case-sensitive.</p>
639
+ * @public
640
+ */
641
+ Key: string | undefined;
642
+ /**
643
+ * <p>The part of the key:value pair that defines a tag. You can use a tag value to describe a
644
+ * specific value within a category, such as "companyA" or "companyB." Tag values are
645
+ * case-sensitive.</p>
646
+ * @public
647
+ */
648
+ Value: string | undefined;
649
+ }
650
+ /**
651
+ * <p>A Proxy Configuration defines the monitoring and protection behavior for a Proxy. The details of the behavior are defined in the rule groups that you add to your configuration. </p>
652
+ * @public
653
+ */
654
+ export interface ProxyConfiguration {
655
+ /**
656
+ * <p>The descriptive name of the proxy configuration. You can't change the name of a proxy configuration after you create it.</p>
657
+ * @public
658
+ */
659
+ ProxyConfigurationName?: string | undefined;
660
+ /**
661
+ * <p>The Amazon Resource Name (ARN) of a proxy configuration.</p>
662
+ * @public
663
+ */
664
+ ProxyConfigurationArn?: string | undefined;
665
+ /**
666
+ * <p>A description of the proxy configuration. </p>
667
+ * @public
668
+ */
669
+ Description?: string | undefined;
670
+ /**
671
+ * <p>Time the Proxy Configuration was created. </p>
672
+ * @public
673
+ */
674
+ CreateTime?: Date | undefined;
675
+ /**
676
+ * <p>Time the Proxy Configuration was deleted. </p>
677
+ * @public
678
+ */
679
+ DeleteTime?: Date | undefined;
680
+ /**
681
+ * <p>Proxy rule groups within the proxy configuration. </p>
682
+ * @public
683
+ */
684
+ RuleGroups?: ProxyConfigRuleGroup[] | undefined;
685
+ /**
686
+ * <p>Evaluation points in the traffic flow where rules are applied. There are three phases in a traffic where the rule match is applied. </p>
687
+ * <p>Pre-DNS - before domain resolution.</p>
688
+ * <p>Pre-Request - after DNS, before request.</p>
689
+ * <p>Post-Response - after receiving response.</p>
690
+ * @public
691
+ */
692
+ DefaultRulePhaseActions?: ProxyConfigDefaultRulePhaseActionsRequest | undefined;
693
+ /**
694
+ * <p>The key:value pairs to associate with the resource.</p>
695
+ * @public
696
+ */
697
+ Tags?: Tag[] | undefined;
698
+ }
699
+ /**
700
+ * @public
701
+ */
702
+ export interface AttachRuleGroupsToProxyConfigurationResponse {
703
+ /**
704
+ * <p>The updated proxy configuration resource that reflects the updates from the request.</p>
705
+ * @public
706
+ */
707
+ ProxyConfiguration?: ProxyConfiguration | undefined;
708
+ /**
709
+ * <p>A token used for optimistic locking. Network Firewall returns a token to your requests that access the proxy configuration. The token marks the state of the proxy configuration resource at the time of the request. </p>
710
+ * <p>To make changes to the proxy configuration, you provide the token in your request. Network Firewall uses the token to ensure that the proxy configuration 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 proxy configuration again to get a current copy of it with a current token. Reapply your changes as needed, then try the operation again using the new token. </p>
711
+ * @public
712
+ */
713
+ UpdateToken?: string | undefined;
714
+ }
535
715
  /**
536
716
  * <p>High-level information about an Availability Zone where the firewall has an endpoint defined. </p>
537
717
  * @public
@@ -672,28 +852,6 @@ export interface EncryptionConfiguration {
672
852
  */
673
853
  Type: EncryptionType | undefined;
674
854
  }
675
- /**
676
- * <p>A key:value pair associated with an Amazon Web Services resource. The key:value pair can be anything you
677
- * define. Typically, the tag key represents a category (such as "environment") and the tag
678
- * value represents a specific value within that category (such as "test," "development," or
679
- * "production"). You can add up to 50 tags to each Amazon Web Services resource. </p>
680
- * @public
681
- */
682
- export interface Tag {
683
- /**
684
- * <p>The part of the key:value pair that defines a tag. You can use a tag key to describe a
685
- * category of information, such as "customer." Tag keys are case-sensitive.</p>
686
- * @public
687
- */
688
- Key: string | undefined;
689
- /**
690
- * <p>The part of the key:value pair that defines a tag. You can use a tag value to describe a
691
- * specific value within a category, such as "companyA" or "companyB." Tag values are
692
- * case-sensitive.</p>
693
- * @public
694
- */
695
- Value: string | undefined;
696
- }
697
855
  /**
698
856
  * @public
699
857
  */
@@ -1536,154 +1694,658 @@ export interface CreateFirewallPolicyResponse {
1536
1694
  FirewallPolicyResponse: FirewallPolicyResponse | undefined;
1537
1695
  }
1538
1696
  /**
1539
- * <p>Configures one or more IP set references for a Suricata-compatible rule group. This is used in <a>CreateRuleGroup</a> or <a>UpdateRuleGroup</a>. An IP set reference is a rule variable that references resources that you create and manage in another Amazon Web Services service, such as an Amazon VPC prefix list. Network Firewall IP set references enable you to dynamically update the contents of your rules. When you create, update, or delete the resource you are referencing in your rule, Network Firewall automatically updates the rule's content with the changes. For more information about IP set references in Network Firewall, see <a href="https://docs.aws.amazon.com/network-firewall/latest/developerguide/rule-groups-ip-set-references">Using IP set references</a> in the <i>Network Firewall Developer Guide</i>.</p>
1540
- * <p>
1541
- * Network Firewall currently supports <a href="https://docs.aws.amazon.com/vpc/latest/userguide/managed-prefix-lists.html">Amazon VPC prefix lists</a> and <a href="https://docs.aws.amazon.com/network-firewall/latest/developerguide/rule-groups-ip-set-references.html#rule-groups-referencing-resource-groups">resource groups</a> in IP set references.
1542
- * </p>
1697
+ * <p>This data type is used specifically for the <a>CreateProxy</a> and
1698
+ * <a>UpdateProxy</a> APIs.</p>
1699
+ * <p>Open port for taking HTTP or HTTPS traffic.</p>
1543
1700
  * @public
1544
1701
  */
1545
- export interface IPSetReference {
1702
+ export interface ListenerPropertyRequest {
1546
1703
  /**
1547
- * <p>The Amazon Resource Name (ARN) of the resource that you are referencing in your rule group.</p>
1704
+ * <p>Port for processing traffic.</p>
1548
1705
  * @public
1549
1706
  */
1550
- ReferenceArn?: string | undefined;
1551
- }
1552
- /**
1553
- * <p>Contains a set of IP set references.</p>
1554
- * @public
1555
- */
1556
- export interface ReferenceSets {
1707
+ Port: number | undefined;
1557
1708
  /**
1558
- * <p>The list of IP set references.</p>
1709
+ * <p>Selection of HTTP or HTTPS traffic.</p>
1559
1710
  * @public
1560
1711
  */
1561
- IPSetReferences?: Record<string, IPSetReference> | undefined;
1712
+ Type: ListenerPropertyType | undefined;
1562
1713
  }
1563
1714
  /**
1564
- * <p>Stateful inspection criteria for a domain list rule group. </p>
1565
- * <p>For HTTPS traffic, domain filtering is SNI-based. It uses the server name indicator extension of the TLS handshake.</p>
1566
- * <p>By default, Network Firewall domain list inspection only includes traffic coming from the VPC where you deploy the firewall. To inspect traffic from IP addresses outside of the deployment VPC, you set the <code>HOME_NET</code> rule variable to include the CIDR range of the deployment VPC plus the other CIDR ranges. For more information, see <a>RuleVariables</a> in this guide and
1567
- * <a href="https://docs.aws.amazon.com/network-firewall/latest/developerguide/stateful-rule-groups-domain-names.html">Stateful domain list rule groups in Network Firewall</a> in the <i>Network Firewall Developer Guide</i>.</p>
1715
+ * <p>This data type is used specifically for the <a>CreateProxy</a> and
1716
+ * <a>UpdateProxy</a> APIs.</p>
1717
+ * <p>TLS decryption on traffic to filter on attributes in the HTTP header. </p>
1568
1718
  * @public
1569
1719
  */
1570
- export interface RulesSourceList {
1571
- /**
1572
- * <p>The domains that you want to inspect for in your traffic flows. Valid domain specifications are the following:</p>
1573
- * <ul>
1574
- * <li>
1575
- * <p>Explicit names. For example, <code>abc.example.com</code> matches only the domain <code>abc.example.com</code>.</p>
1576
- * </li>
1577
- * <li>
1578
- * <p>Names that use a domain wildcard, which you indicate with an initial '<code>.</code>'. For example,<code>.example.com</code> matches <code>example.com</code> and matches all subdomains of <code>example.com</code>, such as <code>abc.example.com</code> and <code>www.example.com</code>. </p>
1579
- * </li>
1580
- * </ul>
1581
- * @public
1582
- */
1583
- Targets: string[] | undefined;
1720
+ export interface TlsInterceptPropertiesRequest {
1584
1721
  /**
1585
- * <p>The protocols you want to inspect. Specify <code>TLS_SNI</code> for <code>HTTPS</code>. Specify <code>HTTP_HOST</code> for <code>HTTP</code>. You can specify either or both. </p>
1722
+ * <p>Private Certificate Authority (PCA) used to issue private TLS certificates so that the proxy can present PCA-signed certificates which applications trust through the same root, establishing a secure and consistent trust model for encrypted communication.</p>
1586
1723
  * @public
1587
1724
  */
1588
- TargetTypes: TargetType[] | undefined;
1725
+ PcaArn?: string | undefined;
1589
1726
  /**
1590
- * <p>Whether you want to apply allow, reject, alert, or drop behavior to the domains in your target list.</p>
1591
- * <note>
1592
- * <p>When logging is enabled and you choose Alert, traffic that matches the domain specifications
1593
- * generates an alert in the firewall's logs. Then, traffic either passes, is rejected, or drops based on other rules in the firewall policy.</p>
1594
- * </note>
1727
+ * <p>Specifies whether to enable or disable TLS Intercept Mode. </p>
1595
1728
  * @public
1596
1729
  */
1597
- GeneratedRulesType: GeneratedRulesType | undefined;
1730
+ TlsInterceptMode?: TlsInterceptMode | undefined;
1598
1731
  }
1599
1732
  /**
1600
- * <p>The basic rule criteria for Network Firewall to use to inspect packet headers in stateful
1601
- * traffic flow inspection. Traffic flows that match the criteria are a match for the
1602
- * corresponding <a>StatefulRule</a>. </p>
1603
1733
  * @public
1604
1734
  */
1605
- export interface Header {
1735
+ export interface CreateProxyRequest {
1606
1736
  /**
1607
- * <p>The protocol to inspect for. To specify all, you can use <code>IP</code>, because all traffic on Amazon Web Services and on the internet is IP.</p>
1737
+ * <p>The descriptive name of the proxy. You can't change the name of a proxy after you create it.</p>
1608
1738
  * @public
1609
1739
  */
1610
- Protocol: StatefulRuleProtocol | undefined;
1740
+ ProxyName: string | undefined;
1611
1741
  /**
1612
- * <p>The source IP address or address range to inspect for, in CIDR notation.
1613
- * To match with any address, specify <code>ANY</code>. </p>
1614
- * <p>Specify an IP address or a block of IP addresses in Classless Inter-Domain Routing (CIDR) notation. Network Firewall supports all address ranges for IPv4 and IPv6. </p>
1615
- * <p>Examples: </p>
1616
- * <ul>
1617
- * <li>
1618
- * <p>To configure Network Firewall to inspect for the IP address 192.0.2.44, specify <code>192.0.2.44/32</code>.</p>
1619
- * </li>
1620
- * <li>
1621
- * <p>To configure Network Firewall to inspect for IP addresses from 192.0.2.0 to 192.0.2.255, specify <code>192.0.2.0/24</code>.</p>
1622
- * </li>
1623
- * <li>
1624
- * <p>To configure Network Firewall to inspect for the IP address 1111:0000:0000:0000:0000:0000:0000:0111, specify <code>1111:0000:0000:0000:0000:0000:0000:0111/128</code>.</p>
1625
- * </li>
1626
- * <li>
1627
- * <p>To configure Network Firewall to inspect for IP addresses from 1111:0000:0000:0000:0000:0000:0000:0000 to 1111:0000:0000:0000:ffff:ffff:ffff:ffff, specify <code>1111:0000:0000:0000:0000:0000:0000:0000/64</code>.</p>
1628
- * </li>
1629
- * </ul>
1630
- * <p>For more information about CIDR notation, see the Wikipedia entry <a href="https://en.wikipedia.org/wiki/Classless_Inter-Domain_Routing">Classless
1631
- * Inter-Domain Routing</a>.</p>
1742
+ * <p>A unique identifier for the NAT gateway to use with proxy resources.</p>
1632
1743
  * @public
1633
1744
  */
1634
- Source: string | undefined;
1745
+ NatGatewayId: string | undefined;
1635
1746
  /**
1636
- * <p>The source port to inspect for. You can specify an individual port,
1637
- * for example <code>1994</code> and you can specify a port range, for example <code>1990:1994</code>.
1638
- * To match with any port, specify <code>ANY</code>.</p>
1747
+ * <p>The descriptive name of the proxy configuration. You can't change the name of a proxy configuration after you create it.</p>
1748
+ * <p>You must specify the ARN or the name, and you can specify both. </p>
1639
1749
  * @public
1640
1750
  */
1641
- SourcePort: string | undefined;
1751
+ ProxyConfigurationName?: string | undefined;
1642
1752
  /**
1643
- * <p>The direction of traffic flow to inspect. If set to <code>ANY</code>, the inspection
1644
- * matches bidirectional traffic, both from the source to the destination and from the
1645
- * destination to the source. If set to <code>FORWARD</code>, the inspection only matches
1646
- * traffic going from the source to the destination. </p>
1753
+ * <p>The Amazon Resource Name (ARN) of a proxy configuration.</p>
1754
+ * <p>You must specify the ARN or the name, and you can specify both. </p>
1647
1755
  * @public
1648
1756
  */
1649
- Direction: StatefulRuleDirection | undefined;
1757
+ ProxyConfigurationArn?: string | undefined;
1650
1758
  /**
1651
- * <p>The destination IP address or address range to inspect for, in CIDR notation.
1652
- * To match with any address, specify <code>ANY</code>. </p>
1653
- * <p>Specify an IP address or a block of IP addresses in Classless Inter-Domain Routing (CIDR) notation. Network Firewall supports all address ranges for IPv4 and IPv6. </p>
1654
- * <p>Examples: </p>
1655
- * <ul>
1656
- * <li>
1657
- * <p>To configure Network Firewall to inspect for the IP address 192.0.2.44, specify <code>192.0.2.44/32</code>.</p>
1658
- * </li>
1659
- * <li>
1660
- * <p>To configure Network Firewall to inspect for IP addresses from 192.0.2.0 to 192.0.2.255, specify <code>192.0.2.0/24</code>.</p>
1661
- * </li>
1662
- * <li>
1663
- * <p>To configure Network Firewall to inspect for the IP address 1111:0000:0000:0000:0000:0000:0000:0111, specify <code>1111:0000:0000:0000:0000:0000:0000:0111/128</code>.</p>
1664
- * </li>
1665
- * <li>
1666
- * <p>To configure Network Firewall to inspect for IP addresses from 1111:0000:0000:0000:0000:0000:0000:0000 to 1111:0000:0000:0000:ffff:ffff:ffff:ffff, specify <code>1111:0000:0000:0000:0000:0000:0000:0000/64</code>.</p>
1667
- * </li>
1668
- * </ul>
1669
- * <p>For more information about CIDR notation, see the Wikipedia entry <a href="https://en.wikipedia.org/wiki/Classless_Inter-Domain_Routing">Classless
1670
- * Inter-Domain Routing</a>.</p>
1759
+ * <p>Listener properties for HTTP and HTTPS traffic.</p>
1671
1760
  * @public
1672
1761
  */
1673
- Destination: string | undefined;
1762
+ ListenerProperties?: ListenerPropertyRequest[] | undefined;
1674
1763
  /**
1675
- * <p>The destination port to inspect for. You can specify an individual port,
1676
- * for example <code>1994</code> and you can specify a port range, for example <code>1990:1994</code>.
1677
- * To match with any port, specify <code>ANY</code>.</p>
1764
+ * <p>TLS decryption on traffic to filter on attributes in the HTTP header. </p>
1678
1765
  * @public
1679
1766
  */
1680
- DestinationPort: string | undefined;
1767
+ TlsInterceptProperties: TlsInterceptPropertiesRequest | undefined;
1768
+ /**
1769
+ * <p>The key:value pairs to associate with the resource.</p>
1770
+ * @public
1771
+ */
1772
+ Tags?: Tag[] | undefined;
1681
1773
  }
1682
1774
  /**
1683
- * <p>Additional settings for a stateful rule. This is part of the <a>StatefulRule</a> configuration.</p>
1775
+ * <p>Open port for taking HTTP or HTTPS traffic. </p>
1684
1776
  * @public
1685
1777
  */
1686
- export interface RuleOption {
1778
+ export interface ListenerProperty {
1779
+ /**
1780
+ * <p>Port for processing traffic.</p>
1781
+ * @public
1782
+ */
1783
+ Port?: number | undefined;
1784
+ /**
1785
+ * <p>Selection of HTTP or HTTPS traffic.</p>
1786
+ * @public
1787
+ */
1788
+ Type?: ListenerPropertyType | undefined;
1789
+ }
1790
+ /**
1791
+ * <p>TLS decryption on traffic to filter on attributes in the HTTP header. </p>
1792
+ * @public
1793
+ */
1794
+ export interface TlsInterceptProperties {
1795
+ /**
1796
+ * <p>Private Certificate Authority (PCA) used to issue private TLS certificates so that the proxy can present PCA-signed certificates which applications trust through the same root, establishing a secure and consistent trust model for encrypted communication.</p>
1797
+ * @public
1798
+ */
1799
+ PcaArn?: string | undefined;
1800
+ /**
1801
+ * <p>Specifies whether to enable or disable TLS Intercept Mode. </p>
1802
+ * @public
1803
+ */
1804
+ TlsInterceptMode?: TlsInterceptMode | undefined;
1805
+ }
1806
+ /**
1807
+ * <p>Proxy attached to a NAT gateway. </p>
1808
+ * @public
1809
+ */
1810
+ export interface Proxy {
1811
+ /**
1812
+ * <p>Time the Proxy was created. </p>
1813
+ * @public
1814
+ */
1815
+ CreateTime?: Date | undefined;
1816
+ /**
1817
+ * <p>Time the Proxy was deleted. </p>
1818
+ * @public
1819
+ */
1820
+ DeleteTime?: Date | undefined;
1821
+ /**
1822
+ * <p>Time the Proxy was updated. </p>
1823
+ * @public
1824
+ */
1825
+ UpdateTime?: Date | undefined;
1826
+ /**
1827
+ * <p>Failure code for cases when the Proxy fails to attach or update. </p>
1828
+ * @public
1829
+ */
1830
+ FailureCode?: string | undefined;
1831
+ /**
1832
+ * <p>Failure message for cases when the Proxy fails to attach or update. </p>
1833
+ * @public
1834
+ */
1835
+ FailureMessage?: string | undefined;
1836
+ /**
1837
+ * <p>Current attachment/detachment status of the Proxy. </p>
1838
+ * @public
1839
+ */
1840
+ ProxyState?: ProxyState | undefined;
1841
+ /**
1842
+ * <p>Current modification status of the Proxy. </p>
1843
+ * @public
1844
+ */
1845
+ ProxyModifyState?: ProxyModifyState | undefined;
1846
+ /**
1847
+ * <p>The NAT Gateway for the proxy. </p>
1848
+ * @public
1849
+ */
1850
+ NatGatewayId?: string | undefined;
1851
+ /**
1852
+ * <p>The descriptive name of the proxy configuration. You can't change the name of a proxy configuration after you create it.</p>
1853
+ * @public
1854
+ */
1855
+ ProxyConfigurationName?: string | undefined;
1856
+ /**
1857
+ * <p>The Amazon Resource Name (ARN) of a proxy configuration.</p>
1858
+ * @public
1859
+ */
1860
+ ProxyConfigurationArn?: string | undefined;
1861
+ /**
1862
+ * <p>The descriptive name of the proxy. You can't change the name of a proxy after you create it.</p>
1863
+ * @public
1864
+ */
1865
+ ProxyName?: string | undefined;
1866
+ /**
1867
+ * <p>The Amazon Resource Name (ARN) of a proxy.</p>
1868
+ * @public
1869
+ */
1870
+ ProxyArn?: string | undefined;
1871
+ /**
1872
+ * <p>Listener properties for HTTP and HTTPS traffic. </p>
1873
+ * @public
1874
+ */
1875
+ ListenerProperties?: ListenerProperty[] | undefined;
1876
+ /**
1877
+ * <p>TLS decryption on traffic to filter on attributes in the HTTP header. </p>
1878
+ * @public
1879
+ */
1880
+ TlsInterceptProperties?: TlsInterceptProperties | undefined;
1881
+ /**
1882
+ * <p>The key:value pairs to associate with the resource.</p>
1883
+ * @public
1884
+ */
1885
+ Tags?: Tag[] | undefined;
1886
+ }
1887
+ /**
1888
+ * @public
1889
+ */
1890
+ export interface CreateProxyResponse {
1891
+ /**
1892
+ * <p>Proxy attached to a NAT gateway. </p>
1893
+ * @public
1894
+ */
1895
+ Proxy?: Proxy | undefined;
1896
+ /**
1897
+ * <p>A token used for optimistic locking. Network Firewall returns a token to your requests that access the proxy. The token marks the state of the proxy resource at the time of the request. </p>
1898
+ * <p>To make changes to the proxy, you provide the token in your request. Network Firewall uses the token to ensure that the proxy 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 proxy again to get a current copy of it with a current token. Reapply your changes as needed, then try the operation again using the new token. </p>
1899
+ * @public
1900
+ */
1901
+ UpdateToken?: string | undefined;
1902
+ }
1903
+ /**
1904
+ * @public
1905
+ */
1906
+ export interface CreateProxyConfigurationRequest {
1907
+ /**
1908
+ * <p>The descriptive name of the proxy configuration. You can't change the name of a proxy configuration after you create it.</p>
1909
+ * @public
1910
+ */
1911
+ ProxyConfigurationName: string | undefined;
1912
+ /**
1913
+ * <p>A description of the proxy configuration. </p>
1914
+ * @public
1915
+ */
1916
+ Description?: string | undefined;
1917
+ /**
1918
+ * <p>The proxy rule group name(s) to attach to the proxy configuration.</p>
1919
+ * <p>You must specify the ARNs or the names, and you can specify both. </p>
1920
+ * @public
1921
+ */
1922
+ RuleGroupNames?: string[] | undefined;
1923
+ /**
1924
+ * <p>The proxy rule group arn(s) to attach to the proxy configuration.</p>
1925
+ * <p>You must specify the ARNs or the names, and you can specify both. </p>
1926
+ * @public
1927
+ */
1928
+ RuleGroupArns?: string[] | undefined;
1929
+ /**
1930
+ * <p>Evaluation points in the traffic flow where rules are applied. There are three phases in a traffic where the rule match is applied. </p>
1931
+ * @public
1932
+ */
1933
+ DefaultRulePhaseActions: ProxyConfigDefaultRulePhaseActionsRequest | undefined;
1934
+ /**
1935
+ * <p>The key:value pairs to associate with the resource.</p>
1936
+ * @public
1937
+ */
1938
+ Tags?: Tag[] | undefined;
1939
+ }
1940
+ /**
1941
+ * @public
1942
+ */
1943
+ export interface CreateProxyConfigurationResponse {
1944
+ /**
1945
+ * <p>The properties that define the proxy configuration. </p>
1946
+ * @public
1947
+ */
1948
+ ProxyConfiguration?: ProxyConfiguration | undefined;
1949
+ /**
1950
+ * <p>A token used for optimistic locking. Network Firewall returns a token to your requests that access the proxy configuration. The token marks the state of the proxy configuration resource at the time of the request. </p>
1951
+ * <p>To make changes to the proxy configuration, you provide the token in your request. Network Firewall uses the token to ensure that the proxy configuration 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 proxy configuration again to get a current copy of it with a current token. Reapply your changes as needed, then try the operation again using the new token. </p>
1952
+ * @public
1953
+ */
1954
+ UpdateToken?: string | undefined;
1955
+ }
1956
+ /**
1957
+ * <p>Match criteria that specify what traffic attributes to examine.</p>
1958
+ * @public
1959
+ */
1960
+ export interface ProxyRuleCondition {
1961
+ /**
1962
+ * <p>Defines how to perform a match.</p>
1963
+ * @public
1964
+ */
1965
+ ConditionOperator?: string | undefined;
1966
+ /**
1967
+ * <p>Defines what is to be matched.</p>
1968
+ * @public
1969
+ */
1970
+ ConditionKey?: string | undefined;
1971
+ /**
1972
+ * <p>Specifes the exact value that needs to be matched against.</p>
1973
+ * @public
1974
+ */
1975
+ ConditionValues?: string[] | undefined;
1976
+ }
1977
+ /**
1978
+ * <p>Individual rules that define match conditions and actions for application-layer traffic. Rules specify what to inspect (domains, headers, methods) and what action to take (allow, deny, alert). </p>
1979
+ * @public
1980
+ */
1981
+ export interface CreateProxyRule {
1982
+ /**
1983
+ * <p>The descriptive name of the proxy rule. You can't change the name of a proxy rule after you create it.</p>
1984
+ * @public
1985
+ */
1986
+ ProxyRuleName?: string | undefined;
1987
+ /**
1988
+ * <p>A description of the proxy rule. </p>
1989
+ * @public
1990
+ */
1991
+ Description?: string | undefined;
1992
+ /**
1993
+ * <p>Action to take. </p>
1994
+ * @public
1995
+ */
1996
+ Action?: ProxyRulePhaseAction | undefined;
1997
+ /**
1998
+ * <p>Match criteria that specify what traffic attributes to examine. Conditions include operators (StringEquals, StringLike) and values to match against. </p>
1999
+ * @public
2000
+ */
2001
+ Conditions?: ProxyRuleCondition[] | undefined;
2002
+ /**
2003
+ * <p>Where to insert a proxy rule in a proxy rule group. </p>
2004
+ * @public
2005
+ */
2006
+ InsertPosition?: number | undefined;
2007
+ }
2008
+ /**
2009
+ * <p>Individual rules that define match conditions and actions for application-layer traffic. Rules specify what to inspect (domains, headers, methods) and what action to take (allow, deny, alert). </p>
2010
+ * @public
2011
+ */
2012
+ export interface ProxyRule {
2013
+ /**
2014
+ * <p>The descriptive name of the proxy rule. You can't change the name of a proxy rule after you create it.</p>
2015
+ * @public
2016
+ */
2017
+ ProxyRuleName?: string | undefined;
2018
+ /**
2019
+ * <p>A description of the proxy rule. </p>
2020
+ * @public
2021
+ */
2022
+ Description?: string | undefined;
2023
+ /**
2024
+ * <p>Action to take. </p>
2025
+ * @public
2026
+ */
2027
+ Action?: ProxyRulePhaseAction | undefined;
2028
+ /**
2029
+ * <p>Match criteria that specify what traffic attributes to examine. Conditions include operators (StringEquals, StringLike) and values to match against. </p>
2030
+ * @public
2031
+ */
2032
+ Conditions?: ProxyRuleCondition[] | undefined;
2033
+ }
2034
+ /**
2035
+ * <p>Evaluation points in the traffic flow where rules are applied. There are three phases in a traffic where the rule match is applied. </p>
2036
+ * @public
2037
+ */
2038
+ export interface ProxyRulesByRequestPhase {
2039
+ /**
2040
+ * <p>Before domain resolution. </p>
2041
+ * @public
2042
+ */
2043
+ PreDNS?: ProxyRule[] | undefined;
2044
+ /**
2045
+ * <p>After DNS, before request.</p>
2046
+ * @public
2047
+ */
2048
+ PreREQUEST?: ProxyRule[] | undefined;
2049
+ /**
2050
+ * <p>After receiving response.</p>
2051
+ * @public
2052
+ */
2053
+ PostRESPONSE?: ProxyRule[] | undefined;
2054
+ }
2055
+ /**
2056
+ * @public
2057
+ */
2058
+ export interface CreateProxyRuleGroupRequest {
2059
+ /**
2060
+ * <p>The descriptive name of the proxy rule group. You can't change the name of a proxy rule group after you create it.</p>
2061
+ * @public
2062
+ */
2063
+ ProxyRuleGroupName: string | undefined;
2064
+ /**
2065
+ * <p>A description of the proxy rule group. </p>
2066
+ * @public
2067
+ */
2068
+ Description?: string | undefined;
2069
+ /**
2070
+ * <p>Individual rules that define match conditions and actions for application-layer traffic. Rules specify what to inspect (domains, headers, methods) and what action to take (allow, deny, alert). </p>
2071
+ * @public
2072
+ */
2073
+ Rules?: ProxyRulesByRequestPhase | undefined;
2074
+ /**
2075
+ * <p>The key:value pairs to associate with the resource.</p>
2076
+ * @public
2077
+ */
2078
+ Tags?: Tag[] | undefined;
2079
+ }
2080
+ /**
2081
+ * <p>Collections of related proxy filtering rules. Rule groups help you manage and reuse sets of rules across multiple proxy configurations. </p>
2082
+ * @public
2083
+ */
2084
+ export interface ProxyRuleGroup {
2085
+ /**
2086
+ * <p>The descriptive name of the proxy rule group. You can't change the name of a proxy rule group after you create it.</p>
2087
+ * @public
2088
+ */
2089
+ ProxyRuleGroupName?: string | undefined;
2090
+ /**
2091
+ * <p>The Amazon Resource Name (ARN) of a proxy rule group.</p>
2092
+ * @public
2093
+ */
2094
+ ProxyRuleGroupArn?: string | undefined;
2095
+ /**
2096
+ * <p>Time the Proxy Rule Group was created. </p>
2097
+ * @public
2098
+ */
2099
+ CreateTime?: Date | undefined;
2100
+ /**
2101
+ * <p>Time the Proxy Rule Group was deleted. </p>
2102
+ * @public
2103
+ */
2104
+ DeleteTime?: Date | undefined;
2105
+ /**
2106
+ * <p>Individual rules that define match conditions and actions for application-layer traffic. Rules specify what to inspect (domains, headers, methods) and what action to take (allow, deny, alert). </p>
2107
+ * @public
2108
+ */
2109
+ Rules?: ProxyRulesByRequestPhase | undefined;
2110
+ /**
2111
+ * <p>A description of the proxy rule group. </p>
2112
+ * @public
2113
+ */
2114
+ Description?: string | undefined;
2115
+ /**
2116
+ * <p>The key:value pairs to associate with the resource.</p>
2117
+ * @public
2118
+ */
2119
+ Tags?: Tag[] | undefined;
2120
+ }
2121
+ /**
2122
+ * @public
2123
+ */
2124
+ export interface CreateProxyRuleGroupResponse {
2125
+ /**
2126
+ * <p>The properties that define the proxy rule group. </p>
2127
+ * @public
2128
+ */
2129
+ ProxyRuleGroup?: ProxyRuleGroup | undefined;
2130
+ /**
2131
+ * <p>A token used for optimistic locking. Network Firewall returns a token to your requests that access the proxy rule group. The token marks the state of the proxy rule group resource at the time of the request. </p>
2132
+ * <p>To make changes to the proxy rule group, you provide the token in your request. Network Firewall uses the token to ensure that the proxy rule group 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 proxy rule group again to get a current copy of it with a current token. Reapply your changes as needed, then try the operation again using the new token. </p>
2133
+ * @public
2134
+ */
2135
+ UpdateToken?: string | undefined;
2136
+ }
2137
+ /**
2138
+ * <p>Evaluation points in the traffic flow where rules are applied. There are three phases in a traffic where the rule match is applied. </p>
2139
+ * <p>This data type is used specifically for the <a>CreateProxyRules</a> API.</p>
2140
+ * <p>Pre-DNS - before domain resolution.</p>
2141
+ * <p>Pre-Request - after DNS, before request.</p>
2142
+ * <p>Post-Response - after receiving response.</p>
2143
+ * @public
2144
+ */
2145
+ export interface CreateProxyRulesByRequestPhase {
2146
+ /**
2147
+ * <p>Before domain resolution. </p>
2148
+ * @public
2149
+ */
2150
+ PreDNS?: CreateProxyRule[] | undefined;
2151
+ /**
2152
+ * <p>After DNS, before request.</p>
2153
+ * @public
2154
+ */
2155
+ PreREQUEST?: CreateProxyRule[] | undefined;
2156
+ /**
2157
+ * <p>After receiving response.</p>
2158
+ * @public
2159
+ */
2160
+ PostRESPONSE?: CreateProxyRule[] | undefined;
2161
+ }
2162
+ /**
2163
+ * @public
2164
+ */
2165
+ export interface CreateProxyRulesRequest {
2166
+ /**
2167
+ * <p>The Amazon Resource Name (ARN) of a proxy rule group.</p>
2168
+ * <p>You must specify the ARN or the name, and you can specify both. </p>
2169
+ * @public
2170
+ */
2171
+ ProxyRuleGroupArn?: string | undefined;
2172
+ /**
2173
+ * <p>The descriptive name of the proxy rule group. You can't change the name of a proxy rule group after you create it.</p>
2174
+ * <p>You must specify the ARN or the name, and you can specify both. </p>
2175
+ * @public
2176
+ */
2177
+ ProxyRuleGroupName?: string | undefined;
2178
+ /**
2179
+ * <p>Individual rules that define match conditions and actions for application-layer traffic. Rules specify what to inspect (domains, headers, methods) and what action to take (allow, deny, alert). </p>
2180
+ * @public
2181
+ */
2182
+ Rules: CreateProxyRulesByRequestPhase | undefined;
2183
+ }
2184
+ /**
2185
+ * @public
2186
+ */
2187
+ export interface CreateProxyRulesResponse {
2188
+ /**
2189
+ * <p>The properties that define the proxy rule group with the newly created proxy rule(s). </p>
2190
+ * @public
2191
+ */
2192
+ ProxyRuleGroup?: ProxyRuleGroup | undefined;
2193
+ /**
2194
+ * <p>A token used for optimistic locking. Network Firewall returns a token to your requests that access the proxy rule. The token marks the state of the proxy rule resource at the time of the request. </p>
2195
+ * <p>To make changes to the proxy rule, you provide the token in your request. Network Firewall uses the token to ensure that the proxy rule 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 proxy rule again to get a current copy of it with a current token. Reapply your changes as needed, then try the operation again using the new token. </p>
2196
+ * @public
2197
+ */
2198
+ UpdateToken?: string | undefined;
2199
+ }
2200
+ /**
2201
+ * <p>Configures one or more IP set references for a Suricata-compatible rule group. This is used in <a>CreateRuleGroup</a> or <a>UpdateRuleGroup</a>. An IP set reference is a rule variable that references resources that you create and manage in another Amazon Web Services service, such as an Amazon VPC prefix list. Network Firewall IP set references enable you to dynamically update the contents of your rules. When you create, update, or delete the resource you are referencing in your rule, Network Firewall automatically updates the rule's content with the changes. For more information about IP set references in Network Firewall, see <a href="https://docs.aws.amazon.com/network-firewall/latest/developerguide/rule-groups-ip-set-references">Using IP set references</a> in the <i>Network Firewall Developer Guide</i>.</p>
2202
+ * <p>
2203
+ * Network Firewall currently supports <a href="https://docs.aws.amazon.com/vpc/latest/userguide/managed-prefix-lists.html">Amazon VPC prefix lists</a> and <a href="https://docs.aws.amazon.com/network-firewall/latest/developerguide/rule-groups-ip-set-references.html#rule-groups-referencing-resource-groups">resource groups</a> in IP set references.
2204
+ * </p>
2205
+ * @public
2206
+ */
2207
+ export interface IPSetReference {
2208
+ /**
2209
+ * <p>The Amazon Resource Name (ARN) of the resource that you are referencing in your rule group.</p>
2210
+ * @public
2211
+ */
2212
+ ReferenceArn?: string | undefined;
2213
+ }
2214
+ /**
2215
+ * <p>Contains a set of IP set references.</p>
2216
+ * @public
2217
+ */
2218
+ export interface ReferenceSets {
2219
+ /**
2220
+ * <p>The list of IP set references.</p>
2221
+ * @public
2222
+ */
2223
+ IPSetReferences?: Record<string, IPSetReference> | undefined;
2224
+ }
2225
+ /**
2226
+ * <p>Stateful inspection criteria for a domain list rule group. </p>
2227
+ * <p>For HTTPS traffic, domain filtering is SNI-based. It uses the server name indicator extension of the TLS handshake.</p>
2228
+ * <p>By default, Network Firewall domain list inspection only includes traffic coming from the VPC where you deploy the firewall. To inspect traffic from IP addresses outside of the deployment VPC, you set the <code>HOME_NET</code> rule variable to include the CIDR range of the deployment VPC plus the other CIDR ranges. For more information, see <a>RuleVariables</a> in this guide and
2229
+ * <a href="https://docs.aws.amazon.com/network-firewall/latest/developerguide/stateful-rule-groups-domain-names.html">Stateful domain list rule groups in Network Firewall</a> in the <i>Network Firewall Developer Guide</i>.</p>
2230
+ * @public
2231
+ */
2232
+ export interface RulesSourceList {
2233
+ /**
2234
+ * <p>The domains that you want to inspect for in your traffic flows. Valid domain specifications are the following:</p>
2235
+ * <ul>
2236
+ * <li>
2237
+ * <p>Explicit names. For example, <code>abc.example.com</code> matches only the domain <code>abc.example.com</code>.</p>
2238
+ * </li>
2239
+ * <li>
2240
+ * <p>Names that use a domain wildcard, which you indicate with an initial '<code>.</code>'. For example,<code>.example.com</code> matches <code>example.com</code> and matches all subdomains of <code>example.com</code>, such as <code>abc.example.com</code> and <code>www.example.com</code>. </p>
2241
+ * </li>
2242
+ * </ul>
2243
+ * @public
2244
+ */
2245
+ Targets: string[] | undefined;
2246
+ /**
2247
+ * <p>The protocols you want to inspect. Specify <code>TLS_SNI</code> for <code>HTTPS</code>. Specify <code>HTTP_HOST</code> for <code>HTTP</code>. You can specify either or both. </p>
2248
+ * @public
2249
+ */
2250
+ TargetTypes: TargetType[] | undefined;
2251
+ /**
2252
+ * <p>Whether you want to apply allow, reject, alert, or drop behavior to the domains in your target list.</p>
2253
+ * <note>
2254
+ * <p>When logging is enabled and you choose Alert, traffic that matches the domain specifications
2255
+ * generates an alert in the firewall's logs. Then, traffic either passes, is rejected, or drops based on other rules in the firewall policy.</p>
2256
+ * </note>
2257
+ * @public
2258
+ */
2259
+ GeneratedRulesType: GeneratedRulesType | undefined;
2260
+ }
2261
+ /**
2262
+ * <p>The basic rule criteria for Network Firewall to use to inspect packet headers in stateful
2263
+ * traffic flow inspection. Traffic flows that match the criteria are a match for the
2264
+ * corresponding <a>StatefulRule</a>. </p>
2265
+ * @public
2266
+ */
2267
+ export interface Header {
2268
+ /**
2269
+ * <p>The protocol to inspect for. To specify all, you can use <code>IP</code>, because all traffic on Amazon Web Services and on the internet is IP.</p>
2270
+ * @public
2271
+ */
2272
+ Protocol: StatefulRuleProtocol | undefined;
2273
+ /**
2274
+ * <p>The source IP address or address range to inspect for, in CIDR notation.
2275
+ * To match with any address, specify <code>ANY</code>. </p>
2276
+ * <p>Specify an IP address or a block of IP addresses in Classless Inter-Domain Routing (CIDR) notation. Network Firewall supports all address ranges for IPv4 and IPv6. </p>
2277
+ * <p>Examples: </p>
2278
+ * <ul>
2279
+ * <li>
2280
+ * <p>To configure Network Firewall to inspect for the IP address 192.0.2.44, specify <code>192.0.2.44/32</code>.</p>
2281
+ * </li>
2282
+ * <li>
2283
+ * <p>To configure Network Firewall to inspect for IP addresses from 192.0.2.0 to 192.0.2.255, specify <code>192.0.2.0/24</code>.</p>
2284
+ * </li>
2285
+ * <li>
2286
+ * <p>To configure Network Firewall to inspect for the IP address 1111:0000:0000:0000:0000:0000:0000:0111, specify <code>1111:0000:0000:0000:0000:0000:0000:0111/128</code>.</p>
2287
+ * </li>
2288
+ * <li>
2289
+ * <p>To configure Network Firewall to inspect for IP addresses from 1111:0000:0000:0000:0000:0000:0000:0000 to 1111:0000:0000:0000:ffff:ffff:ffff:ffff, specify <code>1111:0000:0000:0000:0000:0000:0000:0000/64</code>.</p>
2290
+ * </li>
2291
+ * </ul>
2292
+ * <p>For more information about CIDR notation, see the Wikipedia entry <a href="https://en.wikipedia.org/wiki/Classless_Inter-Domain_Routing">Classless
2293
+ * Inter-Domain Routing</a>.</p>
2294
+ * @public
2295
+ */
2296
+ Source: string | undefined;
2297
+ /**
2298
+ * <p>The source port to inspect for. You can specify an individual port,
2299
+ * for example <code>1994</code> and you can specify a port range, for example <code>1990:1994</code>.
2300
+ * To match with any port, specify <code>ANY</code>.</p>
2301
+ * @public
2302
+ */
2303
+ SourcePort: string | undefined;
2304
+ /**
2305
+ * <p>The direction of traffic flow to inspect. If set to <code>ANY</code>, the inspection
2306
+ * matches bidirectional traffic, both from the source to the destination and from the
2307
+ * destination to the source. If set to <code>FORWARD</code>, the inspection only matches
2308
+ * traffic going from the source to the destination. </p>
2309
+ * @public
2310
+ */
2311
+ Direction: StatefulRuleDirection | undefined;
2312
+ /**
2313
+ * <p>The destination IP address or address range to inspect for, in CIDR notation.
2314
+ * To match with any address, specify <code>ANY</code>. </p>
2315
+ * <p>Specify an IP address or a block of IP addresses in Classless Inter-Domain Routing (CIDR) notation. Network Firewall supports all address ranges for IPv4 and IPv6. </p>
2316
+ * <p>Examples: </p>
2317
+ * <ul>
2318
+ * <li>
2319
+ * <p>To configure Network Firewall to inspect for the IP address 192.0.2.44, specify <code>192.0.2.44/32</code>.</p>
2320
+ * </li>
2321
+ * <li>
2322
+ * <p>To configure Network Firewall to inspect for IP addresses from 192.0.2.0 to 192.0.2.255, specify <code>192.0.2.0/24</code>.</p>
2323
+ * </li>
2324
+ * <li>
2325
+ * <p>To configure Network Firewall to inspect for the IP address 1111:0000:0000:0000:0000:0000:0000:0111, specify <code>1111:0000:0000:0000:0000:0000:0000:0111/128</code>.</p>
2326
+ * </li>
2327
+ * <li>
2328
+ * <p>To configure Network Firewall to inspect for IP addresses from 1111:0000:0000:0000:0000:0000:0000:0000 to 1111:0000:0000:0000:ffff:ffff:ffff:ffff, specify <code>1111:0000:0000:0000:0000:0000:0000:0000/64</code>.</p>
2329
+ * </li>
2330
+ * </ul>
2331
+ * <p>For more information about CIDR notation, see the Wikipedia entry <a href="https://en.wikipedia.org/wiki/Classless_Inter-Domain_Routing">Classless
2332
+ * Inter-Domain Routing</a>.</p>
2333
+ * @public
2334
+ */
2335
+ Destination: string | undefined;
2336
+ /**
2337
+ * <p>The destination port to inspect for. You can specify an individual port,
2338
+ * for example <code>1994</code> and you can specify a port range, for example <code>1990:1994</code>.
2339
+ * To match with any port, specify <code>ANY</code>.</p>
2340
+ * @public
2341
+ */
2342
+ DestinationPort: string | undefined;
2343
+ }
2344
+ /**
2345
+ * <p>Additional settings for a stateful rule. This is part of the <a>StatefulRule</a> configuration.</p>
2346
+ * @public
2347
+ */
2348
+ export interface RuleOption {
1687
2349
  /**
1688
2350
  * <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>
1689
2351
  * @public
@@ -2787,49 +3449,187 @@ export interface DeleteNetworkFirewallTransitGatewayAttachmentResponse {
2787
3449
  */
2788
3450
  TransitGatewayAttachmentId: string | undefined;
2789
3451
  /**
2790
- * <p>The current status of the transit gateway attachment deletion process.</p>
2791
- * <p>Valid values are:</p>
2792
- * <ul>
2793
- * <li>
2794
- * <p>
2795
- * <code>CREATING</code> - The attachment is being created</p>
2796
- * </li>
2797
- * <li>
2798
- * <p>
2799
- * <code>DELETING</code> - The attachment is being deleted</p>
2800
- * </li>
2801
- * <li>
2802
- * <p>
2803
- * <code>DELETED</code> - The attachment has been deleted</p>
2804
- * </li>
2805
- * <li>
2806
- * <p>
2807
- * <code>FAILED</code> - The attachment creation has failed and cannot be recovered</p>
2808
- * </li>
2809
- * <li>
2810
- * <p>
2811
- * <code>ERROR</code> - The attachment is in an error state that might be recoverable</p>
2812
- * </li>
2813
- * <li>
2814
- * <p>
2815
- * <code>READY</code> - The attachment is active and processing traffic</p>
2816
- * </li>
2817
- * <li>
2818
- * <p>
2819
- * <code>PENDING_ACCEPTANCE</code> - The attachment is waiting to be accepted</p>
2820
- * </li>
2821
- * <li>
2822
- * <p>
2823
- * <code>REJECTING</code> - The attachment is in the process of being rejected</p>
2824
- * </li>
2825
- * <li>
2826
- * <p>
2827
- * <code>REJECTED</code> - The attachment has been rejected</p>
2828
- * </li>
2829
- * </ul>
3452
+ * <p>The current status of the transit gateway attachment deletion process.</p>
3453
+ * <p>Valid values are:</p>
3454
+ * <ul>
3455
+ * <li>
3456
+ * <p>
3457
+ * <code>CREATING</code> - The attachment is being created</p>
3458
+ * </li>
3459
+ * <li>
3460
+ * <p>
3461
+ * <code>DELETING</code> - The attachment is being deleted</p>
3462
+ * </li>
3463
+ * <li>
3464
+ * <p>
3465
+ * <code>DELETED</code> - The attachment has been deleted</p>
3466
+ * </li>
3467
+ * <li>
3468
+ * <p>
3469
+ * <code>FAILED</code> - The attachment creation has failed and cannot be recovered</p>
3470
+ * </li>
3471
+ * <li>
3472
+ * <p>
3473
+ * <code>ERROR</code> - The attachment is in an error state that might be recoverable</p>
3474
+ * </li>
3475
+ * <li>
3476
+ * <p>
3477
+ * <code>READY</code> - The attachment is active and processing traffic</p>
3478
+ * </li>
3479
+ * <li>
3480
+ * <p>
3481
+ * <code>PENDING_ACCEPTANCE</code> - The attachment is waiting to be accepted</p>
3482
+ * </li>
3483
+ * <li>
3484
+ * <p>
3485
+ * <code>REJECTING</code> - The attachment is in the process of being rejected</p>
3486
+ * </li>
3487
+ * <li>
3488
+ * <p>
3489
+ * <code>REJECTED</code> - The attachment has been rejected</p>
3490
+ * </li>
3491
+ * </ul>
3492
+ * @public
3493
+ */
3494
+ TransitGatewayAttachmentStatus: TransitGatewayAttachmentStatus | undefined;
3495
+ }
3496
+ /**
3497
+ * @public
3498
+ */
3499
+ export interface DeleteProxyRequest {
3500
+ /**
3501
+ * <p>The NAT Gateway the proxy is attached to. </p>
3502
+ * @public
3503
+ */
3504
+ NatGatewayId: string | undefined;
3505
+ /**
3506
+ * <p>The descriptive name of the proxy. You can't change the name of a proxy after you create it.</p>
3507
+ * <p>You must specify the ARN or the name, and you can specify both. </p>
3508
+ * @public
3509
+ */
3510
+ ProxyName?: string | undefined;
3511
+ /**
3512
+ * <p>The Amazon Resource Name (ARN) of a proxy.</p>
3513
+ * <p>You must specify the ARN or the name, and you can specify both. </p>
3514
+ * @public
3515
+ */
3516
+ ProxyArn?: string | undefined;
3517
+ }
3518
+ /**
3519
+ * @public
3520
+ */
3521
+ export interface DeleteProxyResponse {
3522
+ /**
3523
+ * <p>The NAT Gateway the Proxy was attached to. </p>
3524
+ * @public
3525
+ */
3526
+ NatGatewayId?: string | undefined;
3527
+ /**
3528
+ * <p>The descriptive name of the proxy. You can't change the name of a proxy after you create it.</p>
3529
+ * @public
3530
+ */
3531
+ ProxyName?: string | undefined;
3532
+ /**
3533
+ * <p>The Amazon Resource Name (ARN) of a proxy.</p>
3534
+ * @public
3535
+ */
3536
+ ProxyArn?: string | undefined;
3537
+ }
3538
+ /**
3539
+ * @public
3540
+ */
3541
+ export interface DeleteProxyConfigurationRequest {
3542
+ /**
3543
+ * <p>The descriptive name of the proxy configuration. You can't change the name of a proxy configuration after you create it.</p>
3544
+ * <p>You must specify the ARN or the name, and you can specify both. </p>
3545
+ * @public
3546
+ */
3547
+ ProxyConfigurationName?: string | undefined;
3548
+ /**
3549
+ * <p>The Amazon Resource Name (ARN) of a proxy configuration.</p>
3550
+ * <p>You must specify the ARN or the name, and you can specify both. </p>
3551
+ * @public
3552
+ */
3553
+ ProxyConfigurationArn?: string | undefined;
3554
+ }
3555
+ /**
3556
+ * @public
3557
+ */
3558
+ export interface DeleteProxyConfigurationResponse {
3559
+ /**
3560
+ * <p>The descriptive name of the proxy configuration. You can't change the name of a proxy configuration after you create it.</p>
3561
+ * @public
3562
+ */
3563
+ ProxyConfigurationName?: string | undefined;
3564
+ /**
3565
+ * <p>The Amazon Resource Name (ARN) of a proxy configuration.</p>
3566
+ * @public
3567
+ */
3568
+ ProxyConfigurationArn?: string | undefined;
3569
+ }
3570
+ /**
3571
+ * @public
3572
+ */
3573
+ export interface DeleteProxyRuleGroupRequest {
3574
+ /**
3575
+ * <p>The descriptive name of the proxy rule group. You can't change the name of a proxy rule group after you create it.</p>
3576
+ * <p>You must specify the ARN or the name, and you can specify both. </p>
3577
+ * @public
3578
+ */
3579
+ ProxyRuleGroupName?: string | undefined;
3580
+ /**
3581
+ * <p>The Amazon Resource Name (ARN) of a proxy rule group.</p>
3582
+ * <p>You must specify the ARN or the name, and you can specify both. </p>
3583
+ * @public
3584
+ */
3585
+ ProxyRuleGroupArn?: string | undefined;
3586
+ }
3587
+ /**
3588
+ * @public
3589
+ */
3590
+ export interface DeleteProxyRuleGroupResponse {
3591
+ /**
3592
+ * <p>The descriptive name of the proxy rule group. You can't change the name of a proxy rule group after you create it.</p>
3593
+ * @public
3594
+ */
3595
+ ProxyRuleGroupName?: string | undefined;
3596
+ /**
3597
+ * <p>The Amazon Resource Name (ARN) of a proxy rule group.</p>
3598
+ * @public
3599
+ */
3600
+ ProxyRuleGroupArn?: string | undefined;
3601
+ }
3602
+ /**
3603
+ * @public
3604
+ */
3605
+ export interface DeleteProxyRulesRequest {
3606
+ /**
3607
+ * <p>The Amazon Resource Name (ARN) of a proxy rule group.</p>
3608
+ * <p>You must specify the ARN or the name, and you can specify both. </p>
3609
+ * @public
3610
+ */
3611
+ ProxyRuleGroupArn?: string | undefined;
3612
+ /**
3613
+ * <p>The descriptive name of the proxy rule group. You can't change the name of a proxy rule group after you create it.</p>
3614
+ * <p>You must specify the ARN or the name, and you can specify both. </p>
3615
+ * @public
3616
+ */
3617
+ ProxyRuleGroupName?: string | undefined;
3618
+ /**
3619
+ * <p>The proxy rule(s) to remove from the existing proxy rule group. </p>
3620
+ * @public
3621
+ */
3622
+ Rules: string[] | undefined;
3623
+ }
3624
+ /**
3625
+ * @public
3626
+ */
3627
+ export interface DeleteProxyRulesResponse {
3628
+ /**
3629
+ * <p>The properties that define the proxy rule group with the newly created proxy rule(s). </p>
2830
3630
  * @public
2831
3631
  */
2832
- TransitGatewayAttachmentStatus: TransitGatewayAttachmentStatus | undefined;
3632
+ ProxyRuleGroup?: ProxyRuleGroup | undefined;
2833
3633
  }
2834
3634
  /**
2835
3635
  * @public
@@ -3199,138 +3999,366 @@ export interface DescribeFlowOperationResponse {
3199
3999
  */
3200
4000
  StatusMessage?: string | undefined;
3201
4001
  /**
3202
- * <p>A timestamp indicating when the Suricata engine identified flows impacted by an operation. </p>
4002
+ * <p>A timestamp indicating when the Suricata engine identified flows impacted by an operation. </p>
4003
+ * @public
4004
+ */
4005
+ FlowRequestTimestamp?: Date | undefined;
4006
+ /**
4007
+ * <p>Returns key information about a flow operation, such as related statuses, unique identifiers, and all filters defined in the operation.</p>
4008
+ * @public
4009
+ */
4010
+ FlowOperation?: FlowOperation | undefined;
4011
+ }
4012
+ /**
4013
+ * @public
4014
+ */
4015
+ export interface DescribeLoggingConfigurationRequest {
4016
+ /**
4017
+ * <p>The Amazon Resource Name (ARN) of the firewall.</p>
4018
+ * <p>You must specify the ARN or the name, and you can specify both. </p>
4019
+ * @public
4020
+ */
4021
+ FirewallArn?: string | undefined;
4022
+ /**
4023
+ * <p>The descriptive name of the firewall. You can't change the name of a firewall after you create it.</p>
4024
+ * <p>You must specify the ARN or the name, and you can specify both. </p>
4025
+ * @public
4026
+ */
4027
+ FirewallName?: string | undefined;
4028
+ }
4029
+ /**
4030
+ * <p>Defines where Network Firewall sends logs for the firewall for one log type. This is used
4031
+ * in <a>LoggingConfiguration</a>. You can send each type of log to an Amazon S3 bucket, a CloudWatch log group, or a Firehose delivery stream.</p>
4032
+ * <p>Network Firewall generates logs for stateful rule groups. You can save alert, flow, and TLS log
4033
+ * types. </p>
4034
+ * @public
4035
+ */
4036
+ export interface LogDestinationConfig {
4037
+ /**
4038
+ * <p>The type of log to record. You can record the following types of logs from your Network Firewall stateful engine.</p>
4039
+ * <ul>
4040
+ * <li>
4041
+ * <p>
4042
+ * <code>ALERT</code> - Logs for traffic that matches your stateful rules and that have an action that sends an alert. A stateful rule sends alerts for the rule actions DROP, ALERT, and REJECT. For more information, see <a>StatefulRule</a>.</p>
4043
+ * </li>
4044
+ * <li>
4045
+ * <p>
4046
+ * <code>FLOW</code> - Standard network traffic flow logs. The stateful rules engine records flow logs for all network traffic that it receives. Each flow log record captures the network flow for a specific standard stateless rule group.</p>
4047
+ * </li>
4048
+ * <li>
4049
+ * <p>
4050
+ * <code>TLS</code> - Logs for events that are related to TLS inspection. For more information, see
4051
+ * <a href="https://docs.aws.amazon.com/network-firewall/latest/developerguide/tls-inspection-configurations.html">Inspecting SSL/TLS traffic with TLS inspection configurations</a>
4052
+ * in the <i>Network Firewall Developer Guide</i>.</p>
4053
+ * </li>
4054
+ * </ul>
4055
+ * @public
4056
+ */
4057
+ LogType: LogType | undefined;
4058
+ /**
4059
+ * <p>The type of storage destination to send these logs to. You can send logs to an Amazon S3 bucket,
4060
+ * a CloudWatch log group, or a Firehose delivery stream.</p>
4061
+ * @public
4062
+ */
4063
+ LogDestinationType: LogDestinationType | undefined;
4064
+ /**
4065
+ * <p>The named location for the logs, provided in a key:value mapping that is specific to the
4066
+ * chosen destination type. </p>
4067
+ * <ul>
4068
+ * <li>
4069
+ * <p>For an Amazon S3 bucket, provide the name of the bucket, with key <code>bucketName</code>,
4070
+ * and optionally provide a prefix, with key <code>prefix</code>. </p>
4071
+ * <p>The following example specifies an Amazon S3 bucket named <code>DOC-EXAMPLE-BUCKET</code> and the prefix <code>alerts</code>: </p>
4072
+ * <p>
4073
+ * <code>"LogDestination": \{ "bucketName": "DOC-EXAMPLE-BUCKET", "prefix": "alerts"
4074
+ * \}</code>
4075
+ * </p>
4076
+ * </li>
4077
+ * <li>
4078
+ * <p>For a CloudWatch log group, provide the name of the CloudWatch log group, with key
4079
+ * <code>logGroup</code>. The following example specifies a log group named
4080
+ * <code>alert-log-group</code>: </p>
4081
+ * <p>
4082
+ * <code>"LogDestination": \{ "logGroup": "alert-log-group" \}</code>
4083
+ * </p>
4084
+ * </li>
4085
+ * <li>
4086
+ * <p>For a Firehose delivery stream, provide the name of the delivery stream, with key
4087
+ * <code>deliveryStream</code>. The following example specifies a delivery stream
4088
+ * named <code>alert-delivery-stream</code>: </p>
4089
+ * <p>
4090
+ * <code>"LogDestination": \{ "deliveryStream": "alert-delivery-stream"
4091
+ * \}</code>
4092
+ * </p>
4093
+ * </li>
4094
+ * </ul>
4095
+ * @public
4096
+ */
4097
+ LogDestination: Record<string, string> | undefined;
4098
+ }
4099
+ /**
4100
+ * <p>Defines how Network Firewall performs logging for a <a>Firewall</a>. </p>
4101
+ * @public
4102
+ */
4103
+ export interface LoggingConfiguration {
4104
+ /**
4105
+ * <p>Defines the logging destinations for the logs for a firewall. Network Firewall generates
4106
+ * logs for stateful rule groups. </p>
4107
+ * @public
4108
+ */
4109
+ LogDestinationConfigs: LogDestinationConfig[] | undefined;
4110
+ }
4111
+ /**
4112
+ * @public
4113
+ */
4114
+ export interface DescribeLoggingConfigurationResponse {
4115
+ /**
4116
+ * <p>The Amazon Resource Name (ARN) of the firewall.</p>
4117
+ * @public
4118
+ */
4119
+ FirewallArn?: string | undefined;
4120
+ /**
4121
+ * <p>Defines how Network Firewall performs logging for a <a>Firewall</a>. </p>
4122
+ * @public
4123
+ */
4124
+ LoggingConfiguration?: LoggingConfiguration | undefined;
4125
+ /**
4126
+ * <p>A boolean that reflects whether or not the firewall monitoring dashboard is enabled on a firewall.</p>
4127
+ * <p>
4128
+ * Returns <code>TRUE</code> when the firewall monitoring dashboard is enabled on the firewall.
4129
+ * Returns <code>FALSE</code> when the firewall monitoring dashboard is not enabled on the firewall.
4130
+ * </p>
4131
+ * @public
4132
+ */
4133
+ EnableMonitoringDashboard?: boolean | undefined;
4134
+ }
4135
+ /**
4136
+ * @public
4137
+ */
4138
+ export interface DescribeProxyRequest {
4139
+ /**
4140
+ * <p>The descriptive name of the proxy. You can't change the name of a proxy after you create it.</p>
4141
+ * <p>You must specify the ARN or the name, and you can specify both. </p>
4142
+ * @public
4143
+ */
4144
+ ProxyName?: string | undefined;
4145
+ /**
4146
+ * <p>The Amazon Resource Name (ARN) of a proxy.</p>
4147
+ * <p>You must specify the ARN or the name, and you can specify both. </p>
4148
+ * @public
4149
+ */
4150
+ ProxyArn?: string | undefined;
4151
+ }
4152
+ /**
4153
+ * <p>Proxy attached to a NAT gateway. </p>
4154
+ * @public
4155
+ */
4156
+ export interface DescribeProxyResource {
4157
+ /**
4158
+ * <p>The descriptive name of the proxy. You can't change the name of a proxy after you create it.</p>
4159
+ * @public
4160
+ */
4161
+ ProxyName?: string | undefined;
4162
+ /**
4163
+ * <p>The Amazon Resource Name (ARN) of a proxy.</p>
4164
+ * @public
4165
+ */
4166
+ ProxyArn?: string | undefined;
4167
+ /**
4168
+ * <p>The descriptive name of the proxy configuration. You can't change the name of a proxy configuration after you create it.</p>
4169
+ * @public
4170
+ */
4171
+ ProxyConfigurationName?: string | undefined;
4172
+ /**
4173
+ * <p>The Amazon Resource Name (ARN) of a proxy configuration.</p>
4174
+ * @public
4175
+ */
4176
+ ProxyConfigurationArn?: string | undefined;
4177
+ /**
4178
+ * <p>The NAT Gateway for the proxy. </p>
4179
+ * @public
4180
+ */
4181
+ NatGatewayId?: string | undefined;
4182
+ /**
4183
+ * <p>Current attachment/detachment status of the Proxy. </p>
4184
+ * @public
4185
+ */
4186
+ ProxyState?: ProxyState | undefined;
4187
+ /**
4188
+ * <p>Current modification status of the Proxy. </p>
4189
+ * @public
4190
+ */
4191
+ ProxyModifyState?: ProxyModifyState | undefined;
4192
+ /**
4193
+ * <p>Listener properties for HTTP and HTTPS traffic. </p>
4194
+ * @public
4195
+ */
4196
+ ListenerProperties?: ListenerProperty[] | undefined;
4197
+ /**
4198
+ * <p>TLS decryption on traffic to filter on attributes in the HTTP header. </p>
4199
+ * @public
4200
+ */
4201
+ TlsInterceptProperties?: TlsInterceptProperties | undefined;
4202
+ /**
4203
+ * <p>The service endpoint created in the VPC. </p>
4204
+ * @public
4205
+ */
4206
+ VpcEndpointServiceName?: string | undefined;
4207
+ /**
4208
+ * <p>The private DNS name of the Proxy. </p>
4209
+ * @public
4210
+ */
4211
+ PrivateDNSName?: string | undefined;
4212
+ /**
4213
+ * <p>Time the Proxy was created. </p>
4214
+ * @public
4215
+ */
4216
+ CreateTime?: Date | undefined;
4217
+ /**
4218
+ * <p>Time the Proxy was deleted. </p>
4219
+ * @public
4220
+ */
4221
+ DeleteTime?: Date | undefined;
4222
+ /**
4223
+ * <p>Time the Proxy was updated. </p>
4224
+ * @public
4225
+ */
4226
+ UpdateTime?: Date | undefined;
4227
+ /**
4228
+ * <p>Failure code for cases when the Proxy fails to attach or update. </p>
4229
+ * @public
4230
+ */
4231
+ FailureCode?: string | undefined;
4232
+ /**
4233
+ * <p>Failure message for cases when the Proxy fails to attach or update. </p>
4234
+ * @public
4235
+ */
4236
+ FailureMessage?: string | undefined;
4237
+ /**
4238
+ * <p>The key:value pairs to associate with the resource.</p>
4239
+ * @public
4240
+ */
4241
+ Tags?: Tag[] | undefined;
4242
+ }
4243
+ /**
4244
+ * @public
4245
+ */
4246
+ export interface DescribeProxyResponse {
4247
+ /**
4248
+ * <p>Proxy attached to a NAT gateway. </p>
4249
+ * @public
4250
+ */
4251
+ Proxy?: DescribeProxyResource | undefined;
4252
+ /**
4253
+ * <p>A token used for optimistic locking. Network Firewall returns a token to your requests that access the proxy. The token marks the state of the proxy resource at the time of the request. </p>
4254
+ * <p>To make changes to the proxy, you provide the token in your request. Network Firewall uses the token to ensure that the proxy 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 proxy again to get a current copy of it with a current token. Reapply your changes as needed, then try the operation again using the new token. </p>
4255
+ * @public
4256
+ */
4257
+ UpdateToken?: string | undefined;
4258
+ }
4259
+ /**
4260
+ * @public
4261
+ */
4262
+ export interface DescribeProxyConfigurationRequest {
4263
+ /**
4264
+ * <p>The descriptive name of the proxy configuration. You can't change the name of a proxy configuration after you create it.</p>
4265
+ * <p>You must specify the ARN or the name, and you can specify both. </p>
3203
4266
  * @public
3204
4267
  */
3205
- FlowRequestTimestamp?: Date | undefined;
4268
+ ProxyConfigurationName?: string | undefined;
3206
4269
  /**
3207
- * <p>Returns key information about a flow operation, such as related statuses, unique identifiers, and all filters defined in the operation.</p>
4270
+ * <p>The Amazon Resource Name (ARN) of a proxy configuration.</p>
4271
+ * <p>You must specify the ARN or the name, and you can specify both. </p>
3208
4272
  * @public
3209
4273
  */
3210
- FlowOperation?: FlowOperation | undefined;
4274
+ ProxyConfigurationArn?: string | undefined;
3211
4275
  }
3212
4276
  /**
3213
4277
  * @public
3214
4278
  */
3215
- export interface DescribeLoggingConfigurationRequest {
4279
+ export interface DescribeProxyConfigurationResponse {
3216
4280
  /**
3217
- * <p>The Amazon Resource Name (ARN) of the firewall.</p>
3218
- * <p>You must specify the ARN or the name, and you can specify both. </p>
4281
+ * <p>The configuration for the specified proxy configuration. </p>
3219
4282
  * @public
3220
4283
  */
3221
- FirewallArn?: string | undefined;
4284
+ ProxyConfiguration?: ProxyConfiguration | undefined;
3222
4285
  /**
3223
- * <p>The descriptive name of the firewall. You can't change the name of a firewall after you create it.</p>
3224
- * <p>You must specify the ARN or the name, and you can specify both. </p>
4286
+ * <p>A token used for optimistic locking. Network Firewall returns a token to your requests that access the proxy configuration. The token marks the state of the proxy configuration resource at the time of the request. </p>
4287
+ * <p>To make changes to the proxy configuration, you provide the token in your request. Network Firewall uses the token to ensure that the proxy configuration 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 proxy configuration again to get a current copy of it with a current token. Reapply your changes as needed, then try the operation again using the new token. </p>
3225
4288
  * @public
3226
4289
  */
3227
- FirewallName?: string | undefined;
4290
+ UpdateToken?: string | undefined;
3228
4291
  }
3229
4292
  /**
3230
- * <p>Defines where Network Firewall sends logs for the firewall for one log type. This is used
3231
- * in <a>LoggingConfiguration</a>. You can send each type of log to an Amazon S3 bucket, a CloudWatch log group, or a Firehose delivery stream.</p>
3232
- * <p>Network Firewall generates logs for stateful rule groups. You can save alert, flow, and TLS log
3233
- * types. </p>
3234
4293
  * @public
3235
4294
  */
3236
- export interface LogDestinationConfig {
4295
+ export interface DescribeProxyRuleRequest {
3237
4296
  /**
3238
- * <p>The type of log to record. You can record the following types of logs from your Network Firewall stateful engine.</p>
3239
- * <ul>
3240
- * <li>
3241
- * <p>
3242
- * <code>ALERT</code> - Logs for traffic that matches your stateful rules and that have an action that sends an alert. A stateful rule sends alerts for the rule actions DROP, ALERT, and REJECT. For more information, see <a>StatefulRule</a>.</p>
3243
- * </li>
3244
- * <li>
3245
- * <p>
3246
- * <code>FLOW</code> - Standard network traffic flow logs. The stateful rules engine records flow logs for all network traffic that it receives. Each flow log record captures the network flow for a specific standard stateless rule group.</p>
3247
- * </li>
3248
- * <li>
3249
- * <p>
3250
- * <code>TLS</code> - Logs for events that are related to TLS inspection. For more information, see
3251
- * <a href="https://docs.aws.amazon.com/network-firewall/latest/developerguide/tls-inspection-configurations.html">Inspecting SSL/TLS traffic with TLS inspection configurations</a>
3252
- * in the <i>Network Firewall Developer Guide</i>.</p>
3253
- * </li>
3254
- * </ul>
4297
+ * <p>The descriptive name of the proxy rule. You can't change the name of a proxy rule after you create it.</p>
3255
4298
  * @public
3256
4299
  */
3257
- LogType: LogType | undefined;
4300
+ ProxyRuleName: string | undefined;
3258
4301
  /**
3259
- * <p>The type of storage destination to send these logs to. You can send logs to an Amazon S3 bucket,
3260
- * a CloudWatch log group, or a Firehose delivery stream.</p>
4302
+ * <p>The descriptive name of the proxy rule group. You can't change the name of a proxy rule group after you create it.</p>
4303
+ * <p>You must specify the ARN or the name, and you can specify both. </p>
3261
4304
  * @public
3262
4305
  */
3263
- LogDestinationType: LogDestinationType | undefined;
4306
+ ProxyRuleGroupName?: string | undefined;
3264
4307
  /**
3265
- * <p>The named location for the logs, provided in a key:value mapping that is specific to the
3266
- * chosen destination type. </p>
3267
- * <ul>
3268
- * <li>
3269
- * <p>For an Amazon S3 bucket, provide the name of the bucket, with key <code>bucketName</code>,
3270
- * and optionally provide a prefix, with key <code>prefix</code>. </p>
3271
- * <p>The following example specifies an Amazon S3 bucket named <code>DOC-EXAMPLE-BUCKET</code> and the prefix <code>alerts</code>: </p>
3272
- * <p>
3273
- * <code>"LogDestination": \{ "bucketName": "DOC-EXAMPLE-BUCKET", "prefix": "alerts"
3274
- * \}</code>
3275
- * </p>
3276
- * </li>
3277
- * <li>
3278
- * <p>For a CloudWatch log group, provide the name of the CloudWatch log group, with key
3279
- * <code>logGroup</code>. The following example specifies a log group named
3280
- * <code>alert-log-group</code>: </p>
3281
- * <p>
3282
- * <code>"LogDestination": \{ "logGroup": "alert-log-group" \}</code>
3283
- * </p>
3284
- * </li>
3285
- * <li>
3286
- * <p>For a Firehose delivery stream, provide the name of the delivery stream, with key
3287
- * <code>deliveryStream</code>. The following example specifies a delivery stream
3288
- * named <code>alert-delivery-stream</code>: </p>
3289
- * <p>
3290
- * <code>"LogDestination": \{ "deliveryStream": "alert-delivery-stream"
3291
- * \}</code>
3292
- * </p>
3293
- * </li>
3294
- * </ul>
4308
+ * <p>The Amazon Resource Name (ARN) of a proxy rule group.</p>
4309
+ * <p>You must specify the ARN or the name, and you can specify both. </p>
3295
4310
  * @public
3296
4311
  */
3297
- LogDestination: Record<string, string> | undefined;
4312
+ ProxyRuleGroupArn?: string | undefined;
3298
4313
  }
3299
4314
  /**
3300
- * <p>Defines how Network Firewall performs logging for a <a>Firewall</a>. </p>
3301
4315
  * @public
3302
4316
  */
3303
- export interface LoggingConfiguration {
4317
+ export interface DescribeProxyRuleResponse {
3304
4318
  /**
3305
- * <p>Defines the logging destinations for the logs for a firewall. Network Firewall generates
3306
- * logs for stateful rule groups. </p>
4319
+ * <p>The configuration for the specified proxy rule. </p>
3307
4320
  * @public
3308
4321
  */
3309
- LogDestinationConfigs: LogDestinationConfig[] | undefined;
4322
+ ProxyRule?: ProxyRule | undefined;
4323
+ /**
4324
+ * <p>A token used for optimistic locking. Network Firewall returns a token to your requests that access the proxy rule. The token marks the state of the proxy rule resource at the time of the request. </p>
4325
+ * <p>To make changes to the proxy rule, you provide the token in your request. Network Firewall uses the token to ensure that the proxy rule 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 proxy rule again to get a current copy of it with a current token. Reapply your changes as needed, then try the operation again using the new token. </p>
4326
+ * @public
4327
+ */
4328
+ UpdateToken?: string | undefined;
3310
4329
  }
3311
4330
  /**
3312
4331
  * @public
3313
4332
  */
3314
- export interface DescribeLoggingConfigurationResponse {
4333
+ export interface DescribeProxyRuleGroupRequest {
3315
4334
  /**
3316
- * <p>The Amazon Resource Name (ARN) of the firewall.</p>
4335
+ * <p>The descriptive name of the proxy rule group. You can't change the name of a proxy rule group after you create it.</p>
4336
+ * <p>You must specify the ARN or the name, and you can specify both. </p>
3317
4337
  * @public
3318
4338
  */
3319
- FirewallArn?: string | undefined;
4339
+ ProxyRuleGroupName?: string | undefined;
3320
4340
  /**
3321
- * <p>Defines how Network Firewall performs logging for a <a>Firewall</a>. </p>
4341
+ * <p>The Amazon Resource Name (ARN) of a proxy rule group.</p>
4342
+ * <p>You must specify the ARN or the name, and you can specify both. </p>
3322
4343
  * @public
3323
4344
  */
3324
- LoggingConfiguration?: LoggingConfiguration | undefined;
4345
+ ProxyRuleGroupArn?: string | undefined;
4346
+ }
4347
+ /**
4348
+ * @public
4349
+ */
4350
+ export interface DescribeProxyRuleGroupResponse {
3325
4351
  /**
3326
- * <p>A boolean that reflects whether or not the firewall monitoring dashboard is enabled on a firewall.</p>
3327
- * <p>
3328
- * Returns <code>TRUE</code> when the firewall monitoring dashboard is enabled on the firewall.
3329
- * Returns <code>FALSE</code> when the firewall monitoring dashboard is not enabled on the firewall.
3330
- * </p>
4352
+ * <p>The configuration for the specified proxy rule group. </p>
3331
4353
  * @public
3332
4354
  */
3333
- EnableMonitoringDashboard?: boolean | undefined;
4355
+ ProxyRuleGroup?: ProxyRuleGroup | undefined;
4356
+ /**
4357
+ * <p>A token used for optimistic locking. Network Firewall returns a token to your requests that access the proxy rule group. The token marks the state of the proxy rule group resource at the time of the request. </p>
4358
+ * <p>To make changes to the proxy rule group, you provide the token in your request. Network Firewall uses the token to ensure that the proxy rule group 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 proxy rule group again to get a current copy of it with a current token. Reapply your changes as needed, then try the operation again using the new token. </p>
4359
+ * @public
4360
+ */
4361
+ UpdateToken?: string | undefined;
3334
4362
  }
3335
4363
  /**
3336
4364
  * @public
@@ -3676,6 +4704,55 @@ export interface DescribeVpcEndpointAssociationResponse {
3676
4704
  */
3677
4705
  VpcEndpointAssociationStatus?: VpcEndpointAssociationStatus | undefined;
3678
4706
  }
4707
+ /**
4708
+ * @public
4709
+ */
4710
+ export interface DetachRuleGroupsFromProxyConfigurationRequest {
4711
+ /**
4712
+ * <p>The descriptive name of the proxy configuration. You can't change the name of a proxy configuration after you create it.</p>
4713
+ * <p>You must specify the ARN or the name, and you can specify both. </p>
4714
+ * @public
4715
+ */
4716
+ ProxyConfigurationName?: string | undefined;
4717
+ /**
4718
+ * <p>The Amazon Resource Name (ARN) of a proxy configuration.</p>
4719
+ * <p>You must specify the ARN or the name, and you can specify both. </p>
4720
+ * @public
4721
+ */
4722
+ ProxyConfigurationArn?: string | undefined;
4723
+ /**
4724
+ * <p>The proxy rule group names to detach from the proxy configuration</p>
4725
+ * @public
4726
+ */
4727
+ RuleGroupNames?: string[] | undefined;
4728
+ /**
4729
+ * <p>The proxy rule group arns to detach from the proxy configuration</p>
4730
+ * @public
4731
+ */
4732
+ RuleGroupArns?: string[] | undefined;
4733
+ /**
4734
+ * <p>A token used for optimistic locking. Network Firewall returns a token to your requests that access the proxy configuration. The token marks the state of the proxy configuration resource at the time of the request. </p>
4735
+ * <p>To make changes to the proxy configuration, you provide the token in your request. Network Firewall uses the token to ensure that the proxy configuration 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 proxy configuration again to get a current copy of it with a current token. Reapply your changes as needed, then try the operation again using the new token. </p>
4736
+ * @public
4737
+ */
4738
+ UpdateToken: string | undefined;
4739
+ }
4740
+ /**
4741
+ * @public
4742
+ */
4743
+ export interface DetachRuleGroupsFromProxyConfigurationResponse {
4744
+ /**
4745
+ * <p>The updated proxy configuration resource that reflects the updates from the request.</p>
4746
+ * @public
4747
+ */
4748
+ ProxyConfiguration?: ProxyConfiguration | undefined;
4749
+ /**
4750
+ * <p>A token used for optimistic locking. Network Firewall returns a token to your requests that access the proxy configuration. The token marks the state of the proxy configuration resource at the time of the request. </p>
4751
+ * <p>To make changes to the proxy configuration, you provide the token in your request. Network Firewall uses the token to ensure that the proxy configuration 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 proxy configuration again to get a current copy of it with a current token. Reapply your changes as needed, then try the operation again using the new token. </p>
4752
+ * @public
4753
+ */
4754
+ UpdateToken?: string | undefined;
4755
+ }
3679
4756
  /**
3680
4757
  * @public
3681
4758
  */
@@ -4239,22 +5316,170 @@ export interface ListFlowOperationsRequest {
4239
5316
  * <p>Defines the scope a flow operation. You can use up to 20 filters to configure a single flow operation.</p>
4240
5317
  * @public
4241
5318
  */
4242
- AvailabilityZone?: string | undefined;
5319
+ AvailabilityZone?: string | undefined;
5320
+ /**
5321
+ * <p>The Amazon Resource Name (ARN) of a VPC endpoint association.</p>
5322
+ * @public
5323
+ */
5324
+ VpcEndpointAssociationArn?: string | undefined;
5325
+ /**
5326
+ * <p>A unique identifier for the primary endpoint associated with a firewall.</p>
5327
+ * @public
5328
+ */
5329
+ VpcEndpointId?: string | undefined;
5330
+ /**
5331
+ * <p>An optional string that defines whether any or all operation types are returned.</p>
5332
+ * @public
5333
+ */
5334
+ FlowOperationType?: FlowOperationType | undefined;
5335
+ /**
5336
+ * <p>When you request a list of objects with a <code>MaxResults</code> setting, if the number of objects that are still available
5337
+ * for retrieval exceeds the maximum you requested, Network Firewall returns a <code>NextToken</code>
5338
+ * value in the response. To retrieve the next batch of objects, use the token returned from the prior request in your next request.</p>
5339
+ * @public
5340
+ */
5341
+ NextToken?: string | undefined;
5342
+ /**
5343
+ * <p>The maximum number of objects that you want Network Firewall to return for this request. If more
5344
+ * objects are available, in the response, Network Firewall provides a
5345
+ * <code>NextToken</code> value that you can use in a subsequent call to get the next batch of objects.</p>
5346
+ * @public
5347
+ */
5348
+ MaxResults?: number | undefined;
5349
+ }
5350
+ /**
5351
+ * @public
5352
+ */
5353
+ export interface ListFlowOperationsResponse {
5354
+ /**
5355
+ * <p>Flow operations let you manage the flows tracked in the flow table, also known as the firewall table.</p>
5356
+ * <p>A flow is network traffic that is monitored by a firewall, either by stateful or stateless rules.
5357
+ * For traffic to be considered part of a flow, it must share Destination, DestinationPort, Direction, Protocol, Source, and SourcePort. </p>
5358
+ * @public
5359
+ */
5360
+ FlowOperations?: FlowOperationMetadata[] | undefined;
5361
+ /**
5362
+ * <p>When you request a list of objects with a <code>MaxResults</code> setting, if the number of objects that are still available
5363
+ * for retrieval exceeds the maximum you requested, Network Firewall returns a <code>NextToken</code>
5364
+ * value in the response. To retrieve the next batch of objects, use the token returned from the prior request in your next request.</p>
5365
+ * @public
5366
+ */
5367
+ NextToken?: string | undefined;
5368
+ }
5369
+ /**
5370
+ * @public
5371
+ */
5372
+ export interface ListProxiesRequest {
5373
+ /**
5374
+ * <p>When you request a list of objects with a <code>MaxResults</code> setting, if the number of objects that are still available
5375
+ * for retrieval exceeds the maximum you requested, Network Firewall returns a <code>NextToken</code>
5376
+ * value in the response. To retrieve the next batch of objects, use the token returned from the prior request in your next request.</p>
5377
+ * @public
5378
+ */
5379
+ NextToken?: string | undefined;
5380
+ /**
5381
+ * <p>The maximum number of objects that you want Network Firewall to return for this request. If more
5382
+ * objects are available, in the response, Network Firewall provides a
5383
+ * <code>NextToken</code> value that you can use in a subsequent call to get the next batch of objects.</p>
5384
+ * @public
5385
+ */
5386
+ MaxResults?: number | undefined;
5387
+ }
5388
+ /**
5389
+ * <p>High-level information about a proxy, returned by operations like create and
5390
+ * describe. You can use the information provided in the metadata to retrieve and manage a
5391
+ * proxy. You can retrieve all objects for a proxy by calling <a>DescribeProxy</a>. </p>
5392
+ * @public
5393
+ */
5394
+ export interface ProxyMetadata {
5395
+ /**
5396
+ * <p>The descriptive name of the proxy. You can't change the name of a proxy after you create it.</p>
5397
+ * @public
5398
+ */
5399
+ Name?: string | undefined;
5400
+ /**
5401
+ * <p>The Amazon Resource Name (ARN) of a proxy.</p>
5402
+ * @public
5403
+ */
5404
+ Arn?: string | undefined;
5405
+ }
5406
+ /**
5407
+ * @public
5408
+ */
5409
+ export interface ListProxiesResponse {
5410
+ /**
5411
+ * <p>The metadata for the proxies. Depending on your setting for max results and
5412
+ * the number of proxies that you have, this might not be the full list. </p>
5413
+ * @public
5414
+ */
5415
+ Proxies?: ProxyMetadata[] | undefined;
5416
+ /**
5417
+ * <p>When you request a list of objects with a <code>MaxResults</code> setting, if the number of objects that are still available
5418
+ * for retrieval exceeds the maximum you requested, Network Firewall returns a <code>NextToken</code>
5419
+ * value in the response. To retrieve the next batch of objects, use the token returned from the prior request in your next request.</p>
5420
+ * @public
5421
+ */
5422
+ NextToken?: string | undefined;
5423
+ }
5424
+ /**
5425
+ * @public
5426
+ */
5427
+ export interface ListProxyConfigurationsRequest {
5428
+ /**
5429
+ * <p>When you request a list of objects with a <code>MaxResults</code> setting, if the number of objects that are still available
5430
+ * for retrieval exceeds the maximum you requested, Network Firewall returns a <code>NextToken</code>
5431
+ * value in the response. To retrieve the next batch of objects, use the token returned from the prior request in your next request.</p>
5432
+ * @public
5433
+ */
5434
+ NextToken?: string | undefined;
5435
+ /**
5436
+ * <p>The maximum number of objects that you want Network Firewall to return for this request. If more
5437
+ * objects are available, in the response, Network Firewall provides a
5438
+ * <code>NextToken</code> value that you can use in a subsequent call to get the next batch of objects.</p>
5439
+ * @public
5440
+ */
5441
+ MaxResults?: number | undefined;
5442
+ }
5443
+ /**
5444
+ * <p>High-level information about a proxy configuration, returned by operations like create and
5445
+ * describe. You can use the information provided in the metadata to retrieve and manage a
5446
+ * proxy configuration. You can retrieve all objects for a proxy configuration by calling <a>DescribeProxyConfiguration</a>. </p>
5447
+ * @public
5448
+ */
5449
+ export interface ProxyConfigurationMetadata {
5450
+ /**
5451
+ * <p>The descriptive name of the proxy configuration. You can't change the name of a proxy configuration after you create it.</p>
5452
+ * @public
5453
+ */
5454
+ Name?: string | undefined;
4243
5455
  /**
4244
- * <p>The Amazon Resource Name (ARN) of a VPC endpoint association.</p>
5456
+ * <p>The Amazon Resource Name (ARN) of a proxy configuration.</p>
4245
5457
  * @public
4246
5458
  */
4247
- VpcEndpointAssociationArn?: string | undefined;
5459
+ Arn?: string | undefined;
5460
+ }
5461
+ /**
5462
+ * @public
5463
+ */
5464
+ export interface ListProxyConfigurationsResponse {
4248
5465
  /**
4249
- * <p>A unique identifier for the primary endpoint associated with a firewall.</p>
5466
+ * <p>The metadata for the proxy configurations. Depending on your setting for max results and
5467
+ * the number of proxy configurations that you have, this might not be the full list. </p>
4250
5468
  * @public
4251
5469
  */
4252
- VpcEndpointId?: string | undefined;
5470
+ ProxyConfigurations?: ProxyConfigurationMetadata[] | undefined;
4253
5471
  /**
4254
- * <p>An optional string that defines whether any or all operation types are returned.</p>
5472
+ * <p>When you request a list of objects with a <code>MaxResults</code> setting, if the number of objects that are still available
5473
+ * for retrieval exceeds the maximum you requested, Network Firewall returns a <code>NextToken</code>
5474
+ * value in the response. To retrieve the next batch of objects, use the token returned from the prior request in your next request.</p>
4255
5475
  * @public
4256
5476
  */
4257
- FlowOperationType?: FlowOperationType | undefined;
5477
+ NextToken?: string | undefined;
5478
+ }
5479
+ /**
5480
+ * @public
5481
+ */
5482
+ export interface ListProxyRuleGroupsRequest {
4258
5483
  /**
4259
5484
  * <p>When you request a list of objects with a <code>MaxResults</code> setting, if the number of objects that are still available
4260
5485
  * for retrieval exceeds the maximum you requested, Network Firewall returns a <code>NextToken</code>
@@ -4271,16 +5496,33 @@ export interface ListFlowOperationsRequest {
4271
5496
  MaxResults?: number | undefined;
4272
5497
  }
4273
5498
  /**
5499
+ * <p>High-level information about a proxy rule group, returned by operations like create and
5500
+ * describe. You can use the information provided in the metadata to retrieve and manage a
5501
+ * proxy rule group. You can retrieve all objects for a proxy rule group by calling <a>DescribeProxyRuleGroup</a>. </p>
4274
5502
  * @public
4275
5503
  */
4276
- export interface ListFlowOperationsResponse {
5504
+ export interface ProxyRuleGroupMetadata {
4277
5505
  /**
4278
- * <p>Flow operations let you manage the flows tracked in the flow table, also known as the firewall table.</p>
4279
- * <p>A flow is network traffic that is monitored by a firewall, either by stateful or stateless rules.
4280
- * For traffic to be considered part of a flow, it must share Destination, DestinationPort, Direction, Protocol, Source, and SourcePort. </p>
5506
+ * <p>The descriptive name of the proxy rule group. You can't change the name of a proxy rule group after you create it.</p>
4281
5507
  * @public
4282
5508
  */
4283
- FlowOperations?: FlowOperationMetadata[] | undefined;
5509
+ Name?: string | undefined;
5510
+ /**
5511
+ * <p>The Amazon Resource Name (ARN) of a proxy rule group.</p>
5512
+ * @public
5513
+ */
5514
+ Arn?: string | undefined;
5515
+ }
5516
+ /**
5517
+ * @public
5518
+ */
5519
+ export interface ListProxyRuleGroupsResponse {
5520
+ /**
5521
+ * <p>The metadata for the proxy rule groups. Depending on your setting for max results and
5522
+ * the number of proxy rule groups that you have, this might not be the full list. </p>
5523
+ * @public
5524
+ */
5525
+ ProxyRuleGroups?: ProxyRuleGroupMetadata[] | undefined;
4284
5526
  /**
4285
5527
  * <p>When you request a list of objects with a <code>MaxResults</code> setting, if the number of objects that are still available
4286
5528
  * for retrieval exceeds the maximum you requested, Network Firewall returns a <code>NextToken</code>
@@ -5309,6 +6551,334 @@ export interface UpdateLoggingConfigurationResponse {
5309
6551
  */
5310
6552
  EnableMonitoringDashboard?: boolean | undefined;
5311
6553
  }
6554
+ /**
6555
+ * @public
6556
+ */
6557
+ export interface UpdateProxyRequest {
6558
+ /**
6559
+ * <p>The NAT Gateway the proxy is attached to. </p>
6560
+ * @public
6561
+ */
6562
+ NatGatewayId: string | undefined;
6563
+ /**
6564
+ * <p>The descriptive name of the proxy. You can't change the name of a proxy after you create it.</p>
6565
+ * <p>You must specify the ARN or the name, and you can specify both. </p>
6566
+ * @public
6567
+ */
6568
+ ProxyName?: string | undefined;
6569
+ /**
6570
+ * <p>The Amazon Resource Name (ARN) of a proxy.</p>
6571
+ * <p>You must specify the ARN or the name, and you can specify both. </p>
6572
+ * @public
6573
+ */
6574
+ ProxyArn?: string | undefined;
6575
+ /**
6576
+ * <p>Listener properties for HTTP and HTTPS traffic to add. </p>
6577
+ * @public
6578
+ */
6579
+ ListenerPropertiesToAdd?: ListenerPropertyRequest[] | undefined;
6580
+ /**
6581
+ * <p>Listener properties for HTTP and HTTPS traffic to remove. </p>
6582
+ * @public
6583
+ */
6584
+ ListenerPropertiesToRemove?: ListenerPropertyRequest[] | undefined;
6585
+ /**
6586
+ * <p>TLS decryption on traffic to filter on attributes in the HTTP header. </p>
6587
+ * @public
6588
+ */
6589
+ TlsInterceptProperties?: TlsInterceptPropertiesRequest | undefined;
6590
+ /**
6591
+ * <p>A token used for optimistic locking. Network Firewall returns a token to your requests that access the proxy. The token marks the state of the proxy resource at the time of the request. </p>
6592
+ * <p>To make changes to the proxy, you provide the token in your request. Network Firewall uses the token to ensure that the proxy 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 proxy again to get a current copy of it with a current token. Reapply your changes as needed, then try the operation again using the new token. </p>
6593
+ * @public
6594
+ */
6595
+ UpdateToken: string | undefined;
6596
+ }
6597
+ /**
6598
+ * @public
6599
+ */
6600
+ export interface UpdateProxyResponse {
6601
+ /**
6602
+ * <p>The updated proxy resource that reflects the updates from the request.</p>
6603
+ * @public
6604
+ */
6605
+ Proxy?: Proxy | undefined;
6606
+ /**
6607
+ * <p>A token used for optimistic locking. Network Firewall returns a token to your requests that access the proxy. The token marks the state of the proxy resource at the time of the request. </p>
6608
+ * <p>To make changes to the proxy, you provide the token in your request. Network Firewall uses the token to ensure that the proxy 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 proxy again to get a current copy of it with a current token. Reapply your changes as needed, then try the operation again using the new token. </p>
6609
+ * @public
6610
+ */
6611
+ UpdateToken?: string | undefined;
6612
+ }
6613
+ /**
6614
+ * @public
6615
+ */
6616
+ export interface UpdateProxyConfigurationRequest {
6617
+ /**
6618
+ * <p>The descriptive name of the proxy configuration. You can't change the name of a proxy configuration after you create it.</p>
6619
+ * <p>You must specify the ARN or the name, and you can specify both. </p>
6620
+ * @public
6621
+ */
6622
+ ProxyConfigurationName?: string | undefined;
6623
+ /**
6624
+ * <p>The Amazon Resource Name (ARN) of a proxy configuration.</p>
6625
+ * <p>You must specify the ARN or the name, and you can specify both. </p>
6626
+ * @public
6627
+ */
6628
+ ProxyConfigurationArn?: string | undefined;
6629
+ /**
6630
+ * <p>Evaluation points in the traffic flow where rules are applied. There are three phases in a traffic where the rule match is applied. </p>
6631
+ * @public
6632
+ */
6633
+ DefaultRulePhaseActions: ProxyConfigDefaultRulePhaseActionsRequest | undefined;
6634
+ /**
6635
+ * <p>A token used for optimistic locking. Network Firewall returns a token to your requests that access the proxy configuration. The token marks the state of the proxy configuration resource at the time of the request. </p>
6636
+ * <p>To make changes to the proxy configuration, you provide the token in your request. Network Firewall uses the token to ensure that the proxy configuration 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 proxy configuration again to get a current copy of it with a current token. Reapply your changes as needed, then try the operation again using the new token. </p>
6637
+ * @public
6638
+ */
6639
+ UpdateToken: string | undefined;
6640
+ }
6641
+ /**
6642
+ * @public
6643
+ */
6644
+ export interface UpdateProxyConfigurationResponse {
6645
+ /**
6646
+ * <p>The updated proxy configuration resource that reflects the updates from the request.</p>
6647
+ * @public
6648
+ */
6649
+ ProxyConfiguration?: ProxyConfiguration | undefined;
6650
+ /**
6651
+ * <p>A token used for optimistic locking. Network Firewall returns a token to your requests that access the proxy configuration. The token marks the state of the proxy configuration resource at the time of the request. </p>
6652
+ * <p>To make changes to the proxy configuration, you provide the token in your request. Network Firewall uses the token to ensure that the proxy configuration 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 proxy configuration again to get a current copy of it with a current token. Reapply your changes as needed, then try the operation again using the new token. </p>
6653
+ * @public
6654
+ */
6655
+ UpdateToken?: string | undefined;
6656
+ }
6657
+ /**
6658
+ * @public
6659
+ */
6660
+ export interface UpdateProxyRuleRequest {
6661
+ /**
6662
+ * <p>The descriptive name of the proxy rule group. You can't change the name of a proxy rule group after you create it.</p>
6663
+ * <p>You must specify the ARN or the name, and you can specify both. </p>
6664
+ * @public
6665
+ */
6666
+ ProxyRuleGroupName?: string | undefined;
6667
+ /**
6668
+ * <p>The Amazon Resource Name (ARN) of a proxy rule group.</p>
6669
+ * <p>You must specify the ARN or the name, and you can specify both. </p>
6670
+ * @public
6671
+ */
6672
+ ProxyRuleGroupArn?: string | undefined;
6673
+ /**
6674
+ * <p>The descriptive name of the proxy rule. You can't change the name of a proxy rule after you create it.</p>
6675
+ * @public
6676
+ */
6677
+ ProxyRuleName: string | undefined;
6678
+ /**
6679
+ * <p>A description of the proxy rule. </p>
6680
+ * @public
6681
+ */
6682
+ Description?: string | undefined;
6683
+ /**
6684
+ * <p>Depending on the match action, the proxy either stops the evaluation (if the action is terminal - allow or deny), or continues it (if the action is alert) until it matches a rule with a terminal action. </p>
6685
+ * @public
6686
+ */
6687
+ Action?: ProxyRulePhaseAction | undefined;
6688
+ /**
6689
+ * <p>Proxy rule conditions to add. Match criteria that specify what traffic attributes to examine. Conditions include operators (StringEquals, StringLike) and values to match against. </p>
6690
+ * @public
6691
+ */
6692
+ AddConditions?: ProxyRuleCondition[] | undefined;
6693
+ /**
6694
+ * <p>Proxy rule conditions to remove. Match criteria that specify what traffic attributes to examine. Conditions include operators (StringEquals, StringLike) and values to match against. </p>
6695
+ * @public
6696
+ */
6697
+ RemoveConditions?: ProxyRuleCondition[] | undefined;
6698
+ /**
6699
+ * <p>A token used for optimistic locking. Network Firewall returns a token to your requests that access the proxy rule. The token marks the state of the proxy rule resource at the time of the request. </p>
6700
+ * <p>To make changes to the proxy rule, you provide the token in your request. Network Firewall uses the token to ensure that the proxy rule 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 proxy rule again to get a current copy of it with a current token. Reapply your changes as needed, then try the operation again using the new token. </p>
6701
+ * @public
6702
+ */
6703
+ UpdateToken: string | undefined;
6704
+ }
6705
+ /**
6706
+ * @public
6707
+ */
6708
+ export interface UpdateProxyRuleResponse {
6709
+ /**
6710
+ * <p>The updated proxy rule resource that reflects the updates from the request.</p>
6711
+ * @public
6712
+ */
6713
+ ProxyRule?: ProxyRule | undefined;
6714
+ /**
6715
+ * <p>Proxy rule conditions removed from the rule. </p>
6716
+ * @public
6717
+ */
6718
+ RemovedConditions?: ProxyRuleCondition[] | undefined;
6719
+ /**
6720
+ * <p>A token used for optimistic locking. Network Firewall returns a token to your requests that access the proxy rule. The token marks the state of the proxy rule resource at the time of the request. </p>
6721
+ * <p>To make changes to the proxy rule, you provide the token in your request. Network Firewall uses the token to ensure that the proxy rule 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 proxy rule again to get a current copy of it with a current token. Reapply your changes as needed, then try the operation again using the new token. </p>
6722
+ * @public
6723
+ */
6724
+ UpdateToken?: string | undefined;
6725
+ }
6726
+ /**
6727
+ * <p>Proxy rule group name and new desired position. </p>
6728
+ * @public
6729
+ */
6730
+ export interface ProxyRuleGroupPriority {
6731
+ /**
6732
+ * <p>The descriptive name of the proxy rule group. You can't change the name of a proxy rule group after you create it.</p>
6733
+ * @public
6734
+ */
6735
+ ProxyRuleGroupName?: string | undefined;
6736
+ /**
6737
+ * <p>Where to move a proxy rule group in a proxy configuration. </p>
6738
+ * @public
6739
+ */
6740
+ NewPosition?: number | undefined;
6741
+ }
6742
+ /**
6743
+ * @public
6744
+ */
6745
+ export interface UpdateProxyRuleGroupPrioritiesRequest {
6746
+ /**
6747
+ * <p>The descriptive name of the proxy configuration. You can't change the name of a proxy configuration after you create it.</p>
6748
+ * <p>You must specify the ARN or the name, and you can specify both. </p>
6749
+ * @public
6750
+ */
6751
+ ProxyConfigurationName?: string | undefined;
6752
+ /**
6753
+ * <p>The Amazon Resource Name (ARN) of a proxy configuration.</p>
6754
+ * <p>You must specify the ARN or the name, and you can specify both. </p>
6755
+ * @public
6756
+ */
6757
+ ProxyConfigurationArn?: string | undefined;
6758
+ /**
6759
+ * <p>proxy rule group resources to update to new positions. </p>
6760
+ * @public
6761
+ */
6762
+ RuleGroups: ProxyRuleGroupPriority[] | undefined;
6763
+ /**
6764
+ * <p>A token used for optimistic locking. Network Firewall returns a token to your requests that access the proxy configuration. The token marks the state of the proxy configuration resource at the time of the request. </p>
6765
+ * <p>To make changes to the proxy configuration, you provide the token in your request. Network Firewall uses the token to ensure that the proxy configuration 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 proxy configuration again to get a current copy of it with a current token. Reapply your changes as needed, then try the operation again using the new token. </p>
6766
+ * @public
6767
+ */
6768
+ UpdateToken: string | undefined;
6769
+ }
6770
+ /**
6771
+ * <p>Proxy rule group along with its priority. </p>
6772
+ * @public
6773
+ */
6774
+ export interface ProxyRuleGroupPriorityResult {
6775
+ /**
6776
+ * <p>The descriptive name of the proxy rule group. You can't change the name of a proxy rule group after you create it.</p>
6777
+ * @public
6778
+ */
6779
+ ProxyRuleGroupName?: string | undefined;
6780
+ /**
6781
+ * <p>Priority of the proxy rule group in the proxy configuration. </p>
6782
+ * @public
6783
+ */
6784
+ Priority?: number | undefined;
6785
+ }
6786
+ /**
6787
+ * @public
6788
+ */
6789
+ export interface UpdateProxyRuleGroupPrioritiesResponse {
6790
+ /**
6791
+ * <p>The updated proxy rule group hierarchy that reflects the updates from the request.</p>
6792
+ * @public
6793
+ */
6794
+ ProxyRuleGroups?: ProxyRuleGroupPriorityResult[] | undefined;
6795
+ /**
6796
+ * <p>A token used for optimistic locking. Network Firewall returns a token to your requests that access the proxy configuration. The token marks the state of the proxy configuration resource at the time of the request. </p>
6797
+ * <p>To make changes to the proxy configuration, you provide the token in your request. Network Firewall uses the token to ensure that the proxy configuration 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 proxy configuration again to get a current copy of it with a current token. Reapply your changes as needed, then try the operation again using the new token. </p>
6798
+ * @public
6799
+ */
6800
+ UpdateToken?: string | undefined;
6801
+ }
6802
+ /**
6803
+ * <p>Proxy rule name and new desired position. </p>
6804
+ * @public
6805
+ */
6806
+ export interface ProxyRulePriority {
6807
+ /**
6808
+ * <p>The descriptive name of the proxy rule. You can't change the name of a proxy rule after you create it.</p>
6809
+ * @public
6810
+ */
6811
+ ProxyRuleName?: string | undefined;
6812
+ /**
6813
+ * <p>Where to move a proxy rule in a proxy rule group. </p>
6814
+ * @public
6815
+ */
6816
+ NewPosition?: number | undefined;
6817
+ }
6818
+ /**
6819
+ * @public
6820
+ */
6821
+ export interface UpdateProxyRulePrioritiesRequest {
6822
+ /**
6823
+ * <p>The descriptive name of the proxy rule group. You can't change the name of a proxy rule group after you create it.</p>
6824
+ * <p>You must specify the ARN or the name, and you can specify both. </p>
6825
+ * @public
6826
+ */
6827
+ ProxyRuleGroupName?: string | undefined;
6828
+ /**
6829
+ * <p>The Amazon Resource Name (ARN) of a proxy rule group.</p>
6830
+ * <p>You must specify the ARN or the name, and you can specify both. </p>
6831
+ * @public
6832
+ */
6833
+ ProxyRuleGroupArn?: string | undefined;
6834
+ /**
6835
+ * <p>Evaluation points in the traffic flow where rules are applied. There are three phases in a traffic where the rule match is applied. </p>
6836
+ * @public
6837
+ */
6838
+ RuleGroupRequestPhase: RuleGroupRequestPhase | undefined;
6839
+ /**
6840
+ * <p>proxy rule resources to update to new positions. </p>
6841
+ * @public
6842
+ */
6843
+ Rules: ProxyRulePriority[] | undefined;
6844
+ /**
6845
+ * <p>A token used for optimistic locking. Network Firewall returns a token to your requests that access the proxy rule group. The token marks the state of the proxy rule group resource at the time of the request. </p>
6846
+ * <p>To make changes to the proxy rule group, you provide the token in your request. Network Firewall uses the token to ensure that the proxy rule group 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 proxy rule group again to get a current copy of it with a current token. Reapply your changes as needed, then try the operation again using the new token. </p>
6847
+ * @public
6848
+ */
6849
+ UpdateToken: string | undefined;
6850
+ }
6851
+ /**
6852
+ * @public
6853
+ */
6854
+ export interface UpdateProxyRulePrioritiesResponse {
6855
+ /**
6856
+ * <p>The descriptive name of the proxy rule group. You can't change the name of a proxy rule group after you create it.</p>
6857
+ * @public
6858
+ */
6859
+ ProxyRuleGroupName?: string | undefined;
6860
+ /**
6861
+ * <p>The Amazon Resource Name (ARN) of a proxy rule group.</p>
6862
+ * @public
6863
+ */
6864
+ ProxyRuleGroupArn?: string | undefined;
6865
+ /**
6866
+ * <p>Evaluation points in the traffic flow where rules are applied. There are three phases in a traffic where the rule match is applied. </p>
6867
+ * @public
6868
+ */
6869
+ RuleGroupRequestPhase?: RuleGroupRequestPhase | undefined;
6870
+ /**
6871
+ * <p>The updated proxy rule hierarchy that reflects the updates from the request.</p>
6872
+ * @public
6873
+ */
6874
+ Rules?: ProxyRulePriority[] | undefined;
6875
+ /**
6876
+ * <p>A token used for optimistic locking. Network Firewall returns a token to your requests that access the proxy rule group. The token marks the state of the proxy rule group resource at the time of the request. </p>
6877
+ * <p>To make changes to the proxy rule group, you provide the token in your request. Network Firewall uses the token to ensure that the proxy rule group 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 proxy rule group again to get a current copy of it with a current token. Reapply your changes as needed, then try the operation again using the new token. </p>
6878
+ * @public
6879
+ */
6880
+ UpdateToken?: string | undefined;
6881
+ }
5312
6882
  /**
5313
6883
  * @public
5314
6884
  */