@aws-sdk/client-network-firewall 3.758.0 → 3.774.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 (41) hide show
  1. package/README.md +40 -0
  2. package/dist-cjs/index.js +284 -29
  3. package/dist-es/NetworkFirewall.js +10 -0
  4. package/dist-es/commands/DescribeFlowOperationCommand.js +22 -0
  5. package/dist-es/commands/ListFlowOperationResultsCommand.js +22 -0
  6. package/dist-es/commands/ListFlowOperationsCommand.js +22 -0
  7. package/dist-es/commands/StartFlowCaptureCommand.js +22 -0
  8. package/dist-es/commands/StartFlowFlushCommand.js +22 -0
  9. package/dist-es/commands/index.js +5 -0
  10. package/dist-es/models/models_0.js +10 -0
  11. package/dist-es/pagination/ListFlowOperationResultsPaginator.js +4 -0
  12. package/dist-es/pagination/ListFlowOperationsPaginator.js +4 -0
  13. package/dist-es/pagination/index.js +2 -0
  14. package/dist-es/protocols/Aws_json1_0.js +141 -0
  15. package/dist-types/NetworkFirewall.d.ts +35 -0
  16. package/dist-types/NetworkFirewallClient.d.ts +7 -2
  17. package/dist-types/commands/DescribeFlowOperationCommand.d.ts +123 -0
  18. package/dist-types/commands/ListFlowOperationResultsCommand.d.ts +126 -0
  19. package/dist-types/commands/ListFlowOperationsCommand.d.ts +113 -0
  20. package/dist-types/commands/StartFlowCaptureCommand.d.ts +124 -0
  21. package/dist-types/commands/StartFlowFlushCommand.d.ts +123 -0
  22. package/dist-types/commands/index.d.ts +5 -0
  23. package/dist-types/models/models_0.d.ts +497 -20
  24. package/dist-types/pagination/ListFlowOperationResultsPaginator.d.ts +7 -0
  25. package/dist-types/pagination/ListFlowOperationsPaginator.d.ts +7 -0
  26. package/dist-types/pagination/index.d.ts +2 -0
  27. package/dist-types/protocols/Aws_json1_0.d.ts +45 -0
  28. package/dist-types/ts3.4/NetworkFirewall.d.ts +85 -0
  29. package/dist-types/ts3.4/NetworkFirewallClient.d.ts +30 -0
  30. package/dist-types/ts3.4/commands/DescribeFlowOperationCommand.d.ts +51 -0
  31. package/dist-types/ts3.4/commands/ListFlowOperationResultsCommand.d.ts +51 -0
  32. package/dist-types/ts3.4/commands/ListFlowOperationsCommand.d.ts +51 -0
  33. package/dist-types/ts3.4/commands/StartFlowCaptureCommand.d.ts +50 -0
  34. package/dist-types/ts3.4/commands/StartFlowFlushCommand.d.ts +50 -0
  35. package/dist-types/ts3.4/commands/index.d.ts +5 -0
  36. package/dist-types/ts3.4/models/models_0.d.ts +106 -0
  37. package/dist-types/ts3.4/pagination/ListFlowOperationResultsPaginator.d.ts +11 -0
  38. package/dist-types/ts3.4/pagination/ListFlowOperationsPaginator.d.ts +11 -0
  39. package/dist-types/ts3.4/pagination/index.d.ts +2 -0
  40. package/dist-types/ts3.4/protocols/Aws_json1_0.d.ts +60 -0
  41. package/package.json +7 -7
@@ -1653,10 +1653,9 @@ export interface Header {
1653
1653
  */
1654
1654
  Source: string | undefined;
1655
1655
  /**
1656
- * <p>The source port to inspect for. You can specify an individual port, for
1657
- * example <code>1994</code> and you can specify a port
1658
- * range, for example <code>1990:1994</code>.
1659
- * To match with any port, specify <code>ANY</code>. </p>
1656
+ * <p>The source port to inspect for. You can specify an individual port,
1657
+ * for example <code>1994</code> and you can specify a port range, for example <code>1990:1994</code>.
1658
+ * To match with any port, specify <code>ANY</code>.</p>
1660
1659
  * @public
1661
1660
  */
1662
1661
  SourcePort: string | undefined;
@@ -1693,10 +1692,9 @@ export interface Header {
1693
1692
  */
1694
1693
  Destination: string | undefined;
1695
1694
  /**
1696
- * <p>The destination port to inspect for. You can specify an individual port, for
1697
- * example <code>1994</code> and you can specify
1698
- * a port range, for example <code>1990:1994</code>.
1699
- * To match with any port, specify <code>ANY</code>. </p>
1695
+ * <p>The destination port to inspect for. You can specify an individual port,
1696
+ * for example <code>1994</code> and you can specify a port range, for example <code>1990:1994</code>.
1697
+ * To match with any port, specify <code>ANY</code>.</p>
1700
1698
  * @public
1701
1699
  */
1702
1700
  DestinationPort: string | undefined;
@@ -1851,24 +1849,25 @@ export interface MatchAttributes {
1851
1849
  */
1852
1850
  Destinations?: Address[] | undefined;
1853
1851
  /**
1854
- * <p>The source ports to inspect for. If not specified, this matches with any source port.
1855
- * This setting is only used for protocols 6 (TCP) and 17 (UDP). </p>
1856
- * <p>You can specify individual ports, for example <code>1994</code> and you can specify port
1857
- * ranges, for example <code>1990:1994</code>. </p>
1852
+ * <p>The source port to inspect for. You can specify an individual port,
1853
+ * for example <code>1994</code> and you can specify a port range, for example <code>1990:1994</code>.
1854
+ * To match with any port, specify <code>ANY</code>.</p>
1855
+ * <p> If not specified, this matches with any source port.</p>
1856
+ * <p>This setting is only used for protocols 6 (TCP) and 17 (UDP).</p>
1858
1857
  * @public
1859
1858
  */
1860
1859
  SourcePorts?: PortRange[] | undefined;
1861
1860
  /**
1862
- * <p>The destination ports to inspect for. If not specified, this matches with any
1863
- * destination port. This setting is only used for protocols 6 (TCP) and 17 (UDP). </p>
1864
- * <p>You can specify individual ports, for example <code>1994</code> and you can specify port
1865
- * ranges, for example <code>1990:1994</code>. </p>
1861
+ * <p>The destination port to inspect for. You can specify an individual port,
1862
+ * for example <code>1994</code> and you can specify a port range, for example <code>1990:1994</code>.
1863
+ * To match with any port, specify <code>ANY</code>.</p>
1864
+ * <p>This setting is only used for protocols 6 (TCP) and 17 (UDP). </p>
1866
1865
  * @public
1867
1866
  */
1868
1867
  DestinationPorts?: PortRange[] | undefined;
1869
1868
  /**
1870
- * <p>The protocols to inspect for, specified using each protocol's assigned internet protocol
1871
- * number (IANA). If not specified, this matches with any protocol. </p>
1869
+ * <p>The protocols to inspect for, specified using the assigned internet protocol number (IANA)
1870
+ * for each protocol. If not specified, this matches with any protocol.</p>
1872
1871
  * @public
1873
1872
  */
1874
1873
  Protocols?: number[] | undefined;
@@ -2379,8 +2378,9 @@ export interface ServerCertificateScope {
2379
2378
  */
2380
2379
  DestinationPorts?: PortRange[] | undefined;
2381
2380
  /**
2382
- * <p>The protocols to decrypt for inspection, specified using each protocol's assigned internet protocol number
2383
- * (IANA). Network Firewall currently supports only TCP.</p>
2381
+ * <p>The protocols to inspect for, specified using the assigned internet protocol number (IANA)
2382
+ * for each protocol. If not specified, this matches with any protocol.</p>
2383
+ * <p>Network Firewall currently supports only TCP.</p>
2384
2384
  * @public
2385
2385
  */
2386
2386
  Protocols?: number[] | undefined;
@@ -2804,6 +2804,159 @@ export interface DescribeFirewallPolicyResponse {
2804
2804
  */
2805
2805
  FirewallPolicy?: FirewallPolicy | undefined;
2806
2806
  }
2807
+ /**
2808
+ * @public
2809
+ */
2810
+ export interface DescribeFlowOperationRequest {
2811
+ /**
2812
+ * <p>The Amazon Resource Name (ARN) of the firewall.</p>
2813
+ * @public
2814
+ */
2815
+ FirewallArn: string | undefined;
2816
+ /**
2817
+ * <p>The ID of the Availability Zone where the firewall is located. For example, <code>us-east-2a</code>.</p>
2818
+ * <p>Defines the scope a flow operation. You can use up to 20 filters to configure a single flow operation.</p>
2819
+ * @public
2820
+ */
2821
+ AvailabilityZone?: string | undefined;
2822
+ /**
2823
+ * <p>A unique identifier for the flow operation. This ID is returned in the responses to start and list commands. You provide to describe commands.</p>
2824
+ * @public
2825
+ */
2826
+ FlowOperationId: string | undefined;
2827
+ }
2828
+ /**
2829
+ * <p>Defines the scope a flow operation. You can use up to 20 filters to configure a single flow operation.</p>
2830
+ * @public
2831
+ */
2832
+ export interface FlowFilter {
2833
+ /**
2834
+ * <p>A single IP address specification. This is used in the <a>MatchAttributes</a>
2835
+ * source and destination specifications.</p>
2836
+ * @public
2837
+ */
2838
+ SourceAddress?: Address | undefined;
2839
+ /**
2840
+ * <p>A single IP address specification. This is used in the <a>MatchAttributes</a>
2841
+ * source and destination specifications.</p>
2842
+ * @public
2843
+ */
2844
+ DestinationAddress?: Address | undefined;
2845
+ /**
2846
+ * <p>The source port to inspect for. You can specify an individual port,
2847
+ * for example <code>1994</code> and you can specify a port range, for example <code>1990:1994</code>.
2848
+ * To match with any port, specify <code>ANY</code>.</p>
2849
+ * @public
2850
+ */
2851
+ SourcePort?: string | undefined;
2852
+ /**
2853
+ * <p>The destination port to inspect for. You can specify an individual port,
2854
+ * for example <code>1994</code> and you can specify a port range, for example <code>1990:1994</code>.
2855
+ * To match with any port, specify <code>ANY</code>.</p>
2856
+ * @public
2857
+ */
2858
+ DestinationPort?: string | undefined;
2859
+ /**
2860
+ * <p>The protocols to inspect for, specified using the assigned internet protocol number (IANA)
2861
+ * for each protocol. If not specified, this matches with any protocol.</p>
2862
+ * @public
2863
+ */
2864
+ Protocols?: string[] | undefined;
2865
+ }
2866
+ /**
2867
+ * <p>Contains information about a flow operation, such as related statuses, unique identifiers, and all filters defined in the operation.</p>
2868
+ * <p>Flow operations let you manage the flows tracked in the flow table, also known as the firewall table.</p>
2869
+ * <p>A flow is network traffic that is monitored by a firewall, either by stateful or stateless rules.
2870
+ * For traffic to be considered part of a flow, it must share Destination, DestinationPort, Direction, Protocol, Source, and SourcePort. </p>
2871
+ * @public
2872
+ */
2873
+ export interface FlowOperation {
2874
+ /**
2875
+ * <p>The reqested <code>FlowOperation</code> ignores flows with an age (in seconds) lower than <code>MinimumFlowAgeInSeconds</code>.
2876
+ * You provide this for start commands.</p>
2877
+ * @public
2878
+ */
2879
+ MinimumFlowAgeInSeconds?: number | undefined;
2880
+ /**
2881
+ * <p>Defines the scope a flow operation. You can use up to 20 filters to configure a single flow operation.</p>
2882
+ * @public
2883
+ */
2884
+ FlowFilters?: FlowFilter[] | undefined;
2885
+ }
2886
+ /**
2887
+ * @public
2888
+ * @enum
2889
+ */
2890
+ export declare const FlowOperationStatus: {
2891
+ readonly COMPLETED: "COMPLETED";
2892
+ readonly COMPLETED_WITH_ERRORS: "COMPLETED_WITH_ERRORS";
2893
+ readonly FAILED: "FAILED";
2894
+ readonly IN_PROGRESS: "IN_PROGRESS";
2895
+ };
2896
+ /**
2897
+ * @public
2898
+ */
2899
+ export type FlowOperationStatus = (typeof FlowOperationStatus)[keyof typeof FlowOperationStatus];
2900
+ /**
2901
+ * @public
2902
+ * @enum
2903
+ */
2904
+ export declare const FlowOperationType: {
2905
+ readonly FLOW_CAPTURE: "FLOW_CAPTURE";
2906
+ readonly FLOW_FLUSH: "FLOW_FLUSH";
2907
+ };
2908
+ /**
2909
+ * @public
2910
+ */
2911
+ export type FlowOperationType = (typeof FlowOperationType)[keyof typeof FlowOperationType];
2912
+ /**
2913
+ * @public
2914
+ */
2915
+ export interface DescribeFlowOperationResponse {
2916
+ /**
2917
+ * <p>The Amazon Resource Name (ARN) of the firewall.</p>
2918
+ * @public
2919
+ */
2920
+ FirewallArn?: string | undefined;
2921
+ /**
2922
+ * <p>The ID of the Availability Zone where the firewall is located. For example, <code>us-east-2a</code>.</p>
2923
+ * <p>Defines the scope a flow operation. You can use up to 20 filters to configure a single flow operation.</p>
2924
+ * @public
2925
+ */
2926
+ AvailabilityZone?: string | undefined;
2927
+ /**
2928
+ * <p>A unique identifier for the flow operation. This ID is returned in the responses to start and list commands. You provide to describe commands.</p>
2929
+ * @public
2930
+ */
2931
+ FlowOperationId?: string | undefined;
2932
+ /**
2933
+ * <p>Defines the type of <code>FlowOperation</code>.</p>
2934
+ * @public
2935
+ */
2936
+ FlowOperationType?: FlowOperationType | undefined;
2937
+ /**
2938
+ * <p>Returns the status of the flow operation. This string is returned in the responses to start, list, and describe commands.</p>
2939
+ * <p>If the status is <code>COMPLETED_WITH_ERRORS</code>, results may be returned with any number of <code>Flows</code> missing from the response.
2940
+ * If the status is <code>FAILED</code>, <code>Flows</code> returned will be empty.</p>
2941
+ * @public
2942
+ */
2943
+ FlowOperationStatus?: FlowOperationStatus | undefined;
2944
+ /**
2945
+ * <p>If the asynchronous operation fails, Network Firewall populates this with the reason for the error or failure. Options include <code>Flow operation error</code> and <code>Flow timeout</code>.</p>
2946
+ * @public
2947
+ */
2948
+ StatusMessage?: string | undefined;
2949
+ /**
2950
+ * <p>A timestamp indicating when the Suricata engine identified flows impacted by an operation. </p>
2951
+ * @public
2952
+ */
2953
+ FlowRequestTimestamp?: Date | undefined;
2954
+ /**
2955
+ * <p>Returns key information about a flow operation, such as related statuses, unique identifiers, and all filters defined in the operation.</p>
2956
+ * @public
2957
+ */
2958
+ FlowOperation?: FlowOperation | undefined;
2959
+ }
2807
2960
  /**
2808
2961
  * @public
2809
2962
  */
@@ -3231,6 +3384,88 @@ export interface FirewallPolicyMetadata {
3231
3384
  */
3232
3385
  Arn?: string | undefined;
3233
3386
  }
3387
+ /**
3388
+ * <p>Any number of arrays, where each array is a single flow identified in the scope of the operation.
3389
+ * If multiple flows were in the scope of the operation, multiple <code>Flows</code> arrays are returned.</p>
3390
+ * @public
3391
+ */
3392
+ export interface Flow {
3393
+ /**
3394
+ * <p>A single IP address specification. This is used in the <a>MatchAttributes</a>
3395
+ * source and destination specifications.</p>
3396
+ * @public
3397
+ */
3398
+ SourceAddress?: Address | undefined;
3399
+ /**
3400
+ * <p>A single IP address specification. This is used in the <a>MatchAttributes</a>
3401
+ * source and destination specifications.</p>
3402
+ * @public
3403
+ */
3404
+ DestinationAddress?: Address | undefined;
3405
+ /**
3406
+ * <p>The source port to inspect for. You can specify an individual port,
3407
+ * for example <code>1994</code> and you can specify a port range, for example <code>1990:1994</code>.
3408
+ * To match with any port, specify <code>ANY</code>.</p>
3409
+ * @public
3410
+ */
3411
+ SourcePort?: string | undefined;
3412
+ /**
3413
+ * <p>The destination port to inspect for. You can specify an individual port,
3414
+ * for example <code>1994</code> and you can specify a port range, for example <code>1990:1994</code>.
3415
+ * To match with any port, specify <code>ANY</code>.</p>
3416
+ * @public
3417
+ */
3418
+ DestinationPort?: string | undefined;
3419
+ /**
3420
+ * <p>The protocols to inspect for, specified using the assigned internet protocol number (IANA)
3421
+ * for each protocol. If not specified, this matches with any protocol.</p>
3422
+ * @public
3423
+ */
3424
+ Protocol?: string | undefined;
3425
+ /**
3426
+ * <p>Returned as info about age of the flows identified by the flow operation.</p>
3427
+ * @public
3428
+ */
3429
+ Age?: number | undefined;
3430
+ /**
3431
+ * <p>Returns the total number of data packets received or transmitted in a flow.</p>
3432
+ * @public
3433
+ */
3434
+ PacketCount?: number | undefined;
3435
+ /**
3436
+ * <p>Returns the number of bytes received or transmitted in a specific flow.</p>
3437
+ * @public
3438
+ */
3439
+ ByteCount?: number | undefined;
3440
+ }
3441
+ /**
3442
+ * <p>An array of objects with metadata about the requested <code>FlowOperation</code>.</p>
3443
+ * @public
3444
+ */
3445
+ export interface FlowOperationMetadata {
3446
+ /**
3447
+ * <p>A unique identifier for the flow operation. This ID is returned in the responses to start and list commands. You provide to describe commands.</p>
3448
+ * @public
3449
+ */
3450
+ FlowOperationId?: string | undefined;
3451
+ /**
3452
+ * <p>Defines the type of <code>FlowOperation</code>.</p>
3453
+ * @public
3454
+ */
3455
+ FlowOperationType?: FlowOperationType | undefined;
3456
+ /**
3457
+ * <p>A timestamp indicating when the Suricata engine identified flows impacted by an operation. </p>
3458
+ * @public
3459
+ */
3460
+ FlowRequestTimestamp?: Date | undefined;
3461
+ /**
3462
+ * <p>Returns the status of the flow operation. This string is returned in the responses to start, list, and describe commands.</p>
3463
+ * <p>If the status is <code>COMPLETED_WITH_ERRORS</code>, results may be returned with any number of <code>Flows</code> missing from the response.
3464
+ * If the status is <code>FAILED</code>, <code>Flows</code> returned will be empty.</p>
3465
+ * @public
3466
+ */
3467
+ FlowOperationStatus?: FlowOperationStatus | undefined;
3468
+ }
3234
3469
  /**
3235
3470
  * @public
3236
3471
  */
@@ -3440,6 +3675,147 @@ export interface ListFirewallsResponse {
3440
3675
  */
3441
3676
  Firewalls?: FirewallMetadata[] | undefined;
3442
3677
  }
3678
+ /**
3679
+ * @public
3680
+ */
3681
+ export interface ListFlowOperationResultsRequest {
3682
+ /**
3683
+ * <p>The Amazon Resource Name (ARN) of the firewall.</p>
3684
+ * @public
3685
+ */
3686
+ FirewallArn: string | undefined;
3687
+ /**
3688
+ * <p>A unique identifier for the flow operation. This ID is returned in the responses to start and list commands. You provide to describe commands.</p>
3689
+ * @public
3690
+ */
3691
+ FlowOperationId: string | undefined;
3692
+ /**
3693
+ * <p>When you request a list of objects with a <code>MaxResults</code> setting, if the number of objects that are still available
3694
+ * for retrieval exceeds the maximum you requested, Network Firewall returns a <code>NextToken</code>
3695
+ * value in the response. To retrieve the next batch of objects, use the token returned from the prior request in your next request.</p>
3696
+ * @public
3697
+ */
3698
+ NextToken?: string | undefined;
3699
+ /**
3700
+ * <p>The maximum number of objects that you want Network Firewall to return for this request. If more
3701
+ * objects are available, in the response, Network Firewall provides a
3702
+ * <code>NextToken</code> value that you can use in a subsequent call to get the next batch of objects.</p>
3703
+ * @public
3704
+ */
3705
+ MaxResults?: number | undefined;
3706
+ /**
3707
+ * <p>The ID of the Availability Zone where the firewall is located. For example, <code>us-east-2a</code>.</p>
3708
+ * <p>Defines the scope a flow operation. You can use up to 20 filters to configure a single flow operation.</p>
3709
+ * @public
3710
+ */
3711
+ AvailabilityZone?: string | undefined;
3712
+ }
3713
+ /**
3714
+ * @public
3715
+ */
3716
+ export interface ListFlowOperationResultsResponse {
3717
+ /**
3718
+ * <p>The Amazon Resource Name (ARN) of the firewall.</p>
3719
+ * @public
3720
+ */
3721
+ FirewallArn?: string | undefined;
3722
+ /**
3723
+ * <p>The ID of the Availability Zone where the firewall is located. For example, <code>us-east-2a</code>.</p>
3724
+ * <p>Defines the scope a flow operation. You can use up to 20 filters to configure a single flow operation.</p>
3725
+ * @public
3726
+ */
3727
+ AvailabilityZone?: string | undefined;
3728
+ /**
3729
+ * <p>A unique identifier for the flow operation. This ID is returned in the responses to start and list commands. You provide to describe commands.</p>
3730
+ * @public
3731
+ */
3732
+ FlowOperationId?: string | undefined;
3733
+ /**
3734
+ * <p>Returns the status of the flow operation. This string is returned in the responses to start, list, and describe commands.</p>
3735
+ * <p>If the status is <code>COMPLETED_WITH_ERRORS</code>, results may be returned with any number of <code>Flows</code> missing from the response.
3736
+ * If the status is <code>FAILED</code>, <code>Flows</code> returned will be empty.</p>
3737
+ * @public
3738
+ */
3739
+ FlowOperationStatus?: FlowOperationStatus | undefined;
3740
+ /**
3741
+ * <p>If the asynchronous operation fails, Network Firewall populates this with the reason for the error or failure.
3742
+ * Options include <code>Flow operation error</code> and <code>Flow timeout</code>.</p>
3743
+ * @public
3744
+ */
3745
+ StatusMessage?: string | undefined;
3746
+ /**
3747
+ * <p>A timestamp indicating when the Suricata engine identified flows impacted by an operation. </p>
3748
+ * @public
3749
+ */
3750
+ FlowRequestTimestamp?: Date | undefined;
3751
+ /**
3752
+ * <p>Any number of arrays, where each array is a single flow identified in the scope of the operation.
3753
+ * If multiple flows were in the scope of the operation, multiple <code>Flows</code> arrays are returned.</p>
3754
+ * @public
3755
+ */
3756
+ Flows?: Flow[] | undefined;
3757
+ /**
3758
+ * <p>When you request a list of objects with a <code>MaxResults</code> setting, if the number of objects that are still available
3759
+ * for retrieval exceeds the maximum you requested, Network Firewall returns a <code>NextToken</code>
3760
+ * value in the response. To retrieve the next batch of objects, use the token returned from the prior request in your next request.</p>
3761
+ * @public
3762
+ */
3763
+ NextToken?: string | undefined;
3764
+ }
3765
+ /**
3766
+ * @public
3767
+ */
3768
+ export interface ListFlowOperationsRequest {
3769
+ /**
3770
+ * <p>The Amazon Resource Name (ARN) of the firewall.</p>
3771
+ * @public
3772
+ */
3773
+ FirewallArn: string | undefined;
3774
+ /**
3775
+ * <p>The ID of the Availability Zone where the firewall is located. For example, <code>us-east-2a</code>.</p>
3776
+ * <p>Defines the scope a flow operation. You can use up to 20 filters to configure a single flow operation.</p>
3777
+ * @public
3778
+ */
3779
+ AvailabilityZone?: string | undefined;
3780
+ /**
3781
+ * <p>An optional string that defines whether any or all operation types are returned.</p>
3782
+ * @public
3783
+ */
3784
+ FlowOperationType?: FlowOperationType | undefined;
3785
+ /**
3786
+ * <p>When you request a list of objects with a <code>MaxResults</code> setting, if the number of objects that are still available
3787
+ * for retrieval exceeds the maximum you requested, Network Firewall returns a <code>NextToken</code>
3788
+ * value in the response. To retrieve the next batch of objects, use the token returned from the prior request in your next request.</p>
3789
+ * @public
3790
+ */
3791
+ NextToken?: string | undefined;
3792
+ /**
3793
+ * <p>The maximum number of objects that you want Network Firewall to return for this request. If more
3794
+ * objects are available, in the response, Network Firewall provides a
3795
+ * <code>NextToken</code> value that you can use in a subsequent call to get the next batch of objects.</p>
3796
+ * @public
3797
+ */
3798
+ MaxResults?: number | undefined;
3799
+ }
3800
+ /**
3801
+ * @public
3802
+ */
3803
+ export interface ListFlowOperationsResponse {
3804
+ /**
3805
+ * <p>Flow operations let you manage the flows tracked in the flow table, also known as the firewall table.</p>
3806
+ * <p>A flow is network traffic that is monitored by a firewall, either by stateful or stateless rules.
3807
+ * For traffic to be considered part of a flow, it must share Destination, DestinationPort, Direction, Protocol, Source, and SourcePort. </p>
3808
+ * @public
3809
+ */
3810
+ FlowOperations?: FlowOperationMetadata[] | undefined;
3811
+ /**
3812
+ * <p>When you request a list of objects with a <code>MaxResults</code> setting, if the number of objects that are still available
3813
+ * for retrieval exceeds the maximum you requested, Network Firewall returns a <code>NextToken</code>
3814
+ * value in the response. To retrieve the next batch of objects, use the token returned from the prior request in your next request.</p>
3815
+ * @public
3816
+ */
3817
+ NextToken?: string | undefined;
3818
+ }
3443
3819
  /**
3444
3820
  * @public
3445
3821
  * @enum
@@ -3717,6 +4093,107 @@ export interface StartAnalysisReportResponse {
3717
4093
  */
3718
4094
  AnalysisReportId: string | undefined;
3719
4095
  }
4096
+ /**
4097
+ * @public
4098
+ */
4099
+ export interface StartFlowCaptureRequest {
4100
+ /**
4101
+ * <p>The Amazon Resource Name (ARN) of the firewall.</p>
4102
+ * @public
4103
+ */
4104
+ FirewallArn: string | undefined;
4105
+ /**
4106
+ * <p>The ID of the Availability Zone where the firewall is located. For example, <code>us-east-2a</code>.</p>
4107
+ * <p>Defines the scope a flow operation. You can use up to 20 filters to configure a single flow operation.</p>
4108
+ * @public
4109
+ */
4110
+ AvailabilityZone?: string | undefined;
4111
+ /**
4112
+ * <p>The reqested <code>FlowOperation</code> ignores flows with an age (in seconds) lower than <code>MinimumFlowAgeInSeconds</code>.
4113
+ * You provide this for start commands.</p>
4114
+ * <note>
4115
+ * <p>We recommend setting this value to at least 1 minute (60 seconds) to reduce chance of capturing flows that are not yet established.</p>
4116
+ * </note>
4117
+ * @public
4118
+ */
4119
+ MinimumFlowAgeInSeconds?: number | undefined;
4120
+ /**
4121
+ * <p>Defines the scope a flow operation. You can use up to 20 filters to configure a single flow operation.</p>
4122
+ * @public
4123
+ */
4124
+ FlowFilters: FlowFilter[] | undefined;
4125
+ }
4126
+ /**
4127
+ * @public
4128
+ */
4129
+ export interface StartFlowCaptureResponse {
4130
+ /**
4131
+ * <p>The Amazon Resource Name (ARN) of the firewall.</p>
4132
+ * @public
4133
+ */
4134
+ FirewallArn?: string | undefined;
4135
+ /**
4136
+ * <p>A unique identifier for the flow operation. This ID is returned in the responses to start and list commands. You provide to describe commands.</p>
4137
+ * @public
4138
+ */
4139
+ FlowOperationId?: string | undefined;
4140
+ /**
4141
+ * <p>Returns the status of the flow operation. This string is returned in the responses to start, list, and describe commands.</p>
4142
+ * <p>If the status is <code>COMPLETED_WITH_ERRORS</code>, results may be returned with any number of <code>Flows</code> missing from the response.
4143
+ * If the status is <code>FAILED</code>, <code>Flows</code> returned will be empty.</p>
4144
+ * @public
4145
+ */
4146
+ FlowOperationStatus?: FlowOperationStatus | undefined;
4147
+ }
4148
+ /**
4149
+ * @public
4150
+ */
4151
+ export interface StartFlowFlushRequest {
4152
+ /**
4153
+ * <p>The Amazon Resource Name (ARN) of the firewall.</p>
4154
+ * @public
4155
+ */
4156
+ FirewallArn: string | undefined;
4157
+ /**
4158
+ * <p>The ID of the Availability Zone where the firewall is located. For example, <code>us-east-2a</code>.</p>
4159
+ * <p>Defines the scope a flow operation. You can use up to 20 filters to configure a single flow operation.</p>
4160
+ * @public
4161
+ */
4162
+ AvailabilityZone?: string | undefined;
4163
+ /**
4164
+ * <p>The reqested <code>FlowOperation</code> ignores flows with an age (in seconds) lower than <code>MinimumFlowAgeInSeconds</code>.
4165
+ * You provide this for start commands.</p>
4166
+ * @public
4167
+ */
4168
+ MinimumFlowAgeInSeconds?: number | undefined;
4169
+ /**
4170
+ * <p>Defines the scope a flow operation. You can use up to 20 filters to configure a single flow operation.</p>
4171
+ * @public
4172
+ */
4173
+ FlowFilters: FlowFilter[] | undefined;
4174
+ }
4175
+ /**
4176
+ * @public
4177
+ */
4178
+ export interface StartFlowFlushResponse {
4179
+ /**
4180
+ * <p>The Amazon Resource Name (ARN) of the firewall.</p>
4181
+ * @public
4182
+ */
4183
+ FirewallArn?: string | undefined;
4184
+ /**
4185
+ * <p>A unique identifier for the flow operation. This ID is returned in the responses to start and list commands. You provide to describe commands.</p>
4186
+ * @public
4187
+ */
4188
+ FlowOperationId?: string | undefined;
4189
+ /**
4190
+ * <p>Returns the status of the flow operation. This string is returned in the responses to start, list, and describe commands.</p>
4191
+ * <p>If the status is <code>COMPLETED_WITH_ERRORS</code>, results may be returned with any number of <code>Flows</code> missing from the response.
4192
+ * If the status is <code>FAILED</code>, <code>Flows</code> returned will be empty.</p>
4193
+ * @public
4194
+ */
4195
+ FlowOperationStatus?: FlowOperationStatus | undefined;
4196
+ }
3720
4197
  /**
3721
4198
  * @public
3722
4199
  */
@@ -0,0 +1,7 @@
1
+ import { Paginator } from "@smithy/types";
2
+ import { ListFlowOperationResultsCommandInput, ListFlowOperationResultsCommandOutput } from "../commands/ListFlowOperationResultsCommand";
3
+ import { NetworkFirewallPaginationConfiguration } from "./Interfaces";
4
+ /**
5
+ * @public
6
+ */
7
+ export declare const paginateListFlowOperationResults: (config: NetworkFirewallPaginationConfiguration, input: ListFlowOperationResultsCommandInput, ...rest: any[]) => Paginator<ListFlowOperationResultsCommandOutput>;
@@ -0,0 +1,7 @@
1
+ import { Paginator } from "@smithy/types";
2
+ import { ListFlowOperationsCommandInput, ListFlowOperationsCommandOutput } from "../commands/ListFlowOperationsCommand";
3
+ import { NetworkFirewallPaginationConfiguration } from "./Interfaces";
4
+ /**
5
+ * @public
6
+ */
7
+ export declare const paginateListFlowOperations: (config: NetworkFirewallPaginationConfiguration, input: ListFlowOperationsCommandInput, ...rest: any[]) => Paginator<ListFlowOperationsCommandOutput>;
@@ -3,6 +3,8 @@ export * from "./Interfaces";
3
3
  export * from "./ListAnalysisReportsPaginator";
4
4
  export * from "./ListFirewallPoliciesPaginator";
5
5
  export * from "./ListFirewallsPaginator";
6
+ export * from "./ListFlowOperationResultsPaginator";
7
+ export * from "./ListFlowOperationsPaginator";
6
8
  export * from "./ListRuleGroupsPaginator";
7
9
  export * from "./ListTLSInspectionConfigurationsPaginator";
8
10
  export * from "./ListTagsForResourcePaginator";