aws-sdk-networkfirewall 1.61.0 → 1.62.0

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 0dbb64c9c51c656062cb733447514ed31ceef4da14d238368f0c524be4285656
4
- data.tar.gz: 8701c7b039fde0ca15252b5d439dd184654230b6f471c4b3a64215034c273d58
3
+ metadata.gz: d0de4dcb81a4b6f0718ad17384579d62ad6c5b2fc562fe40ee75106bee1f33c2
4
+ data.tar.gz: f48328613490532504d50b60d4a5a399a4b97dc8e2ac25ad2c3e27bf1792cfd0
5
5
  SHA512:
6
- metadata.gz: 19842d4694a17156e624b79a5ed7aeea78359b70fb7af654da9bce09aa024d8bee33be485011152dbe55c5323ac82f46f21e60852b36eb55387fe1c86446ed96
7
- data.tar.gz: 948695e45324c261a375845314624a70b04d1388600f9ec277877f688aa6e588d9d0a407e14db7a28c152b06547c41d6c0c5446896326be05cd1c2ab8416e035
6
+ metadata.gz: 386e8f2a4a20cd7ee6a1ec1b34b91796c6c21f8d318d56e8dd9ac41f0746b4deb8d043332adb0efbcc0dd7b115b3b530fd24934adbfadf1f1b7470005d1db5a4
7
+ data.tar.gz: 27912302ed96e8eb3b5fae3d1107fb703425fb60966ee36bb61dd09ab96a060ec32f5f9d3e92b379762fdb3e01c7a69997264b445ea08f9b50a90e590e730366
data/CHANGELOG.md CHANGED
@@ -1,6 +1,11 @@
1
1
  Unreleased Changes
2
2
  ------------------
3
3
 
4
+ 1.62.0 (2025-02-19)
5
+ ------------------
6
+
7
+ * Feature - This release introduces Network Firewall's Automated Domain List feature. New APIs include UpdateFirewallAnalysisSettings, StartAnalysisReport, GetAnalysisReportResults, and ListAnalysisReports. These allow customers to enable analysis on firewalls to identify and report frequently accessed domain.
8
+
4
9
  1.61.0 (2025-02-18)
5
10
  ------------------
6
11
 
data/VERSION CHANGED
@@ -1 +1 @@
1
- 1.61.0
1
+ 1.62.0
@@ -655,6 +655,9 @@ module Aws::NetworkFirewall
655
655
  # To retrieve information about firewalls, use ListFirewalls and
656
656
  # DescribeFirewall.
657
657
  #
658
+ # To generate a report on the last 30 days of traffic monitored by a
659
+ # firewall, use StartAnalysisReport.
660
+ #
658
661
  # @option params [required, String] :firewall_name
659
662
  # The descriptive name of the firewall. You can't change the name of a
660
663
  # firewall after you create it.
@@ -663,13 +666,13 @@ module Aws::NetworkFirewall
663
666
  # The Amazon Resource Name (ARN) of the FirewallPolicy that you want to
664
667
  # use for the firewall.
665
668
  #
666
- # @option params [required, String] :vpc_id
669
+ # @option params [String] :vpc_id
667
670
  # The unique identifier of the VPC where Network Firewall should create
668
671
  # the firewall.
669
672
  #
670
673
  # You can't change this setting after you create the firewall.
671
674
  #
672
- # @option params [required, Array<Types::SubnetMapping>] :subnet_mappings
675
+ # @option params [Array<Types::SubnetMapping>] :subnet_mappings
673
676
  # The public subnets to use for your Network Firewall firewalls. Each
674
677
  # subnet must belong to a different Availability Zone in the VPC.
675
678
  # Network Firewall creates a firewall endpoint in each subnet.
@@ -705,6 +708,10 @@ module Aws::NetworkFirewall
705
708
  # A complex type that contains settings for encryption of your firewall
706
709
  # resources.
707
710
  #
711
+ # @option params [Array<String>] :enabled_analysis_types
712
+ # An optional setting indicating the specific traffic analysis types to
713
+ # enable on the firewall.
714
+ #
708
715
  # @return [Types::CreateFirewallResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
709
716
  #
710
717
  # * {Types::CreateFirewallResponse#firewall #firewall} => Types::Firewall
@@ -715,8 +722,8 @@ module Aws::NetworkFirewall
715
722
  # resp = client.create_firewall({
716
723
  # firewall_name: "ResourceName", # required
717
724
  # firewall_policy_arn: "ResourceArn", # required
718
- # vpc_id: "VpcId", # required
719
- # subnet_mappings: [ # required
725
+ # vpc_id: "VpcId",
726
+ # subnet_mappings: [
720
727
  # {
721
728
  # subnet_id: "CollectionMember_String", # required
722
729
  # ip_address_type: "DUALSTACK", # accepts DUALSTACK, IPV4, IPV6
@@ -736,6 +743,7 @@ module Aws::NetworkFirewall
736
743
  # key_id: "KeyId",
737
744
  # type: "CUSTOMER_KMS", # required, accepts CUSTOMER_KMS, AWS_OWNED_KMS_KEY
738
745
  # },
746
+ # enabled_analysis_types: ["TLS_SNI"], # accepts TLS_SNI, HTTP_HOST
739
747
  # })
740
748
  #
741
749
  # @example Response structure
@@ -757,6 +765,8 @@ module Aws::NetworkFirewall
757
765
  # resp.firewall.tags[0].value #=> String
758
766
  # resp.firewall.encryption_configuration.key_id #=> String
759
767
  # resp.firewall.encryption_configuration.type #=> String, one of "CUSTOMER_KMS", "AWS_OWNED_KMS_KEY"
768
+ # resp.firewall.enabled_analysis_types #=> Array
769
+ # resp.firewall.enabled_analysis_types[0] #=> String, one of "TLS_SNI", "HTTP_HOST"
760
770
  # resp.firewall_status.status #=> String, one of "PROVISIONING", "DELETING", "READY"
761
771
  # resp.firewall_status.configuration_sync_state_summary #=> String, one of "PENDING", "IN_SYNC", "CAPACITY_CONSTRAINED"
762
772
  # resp.firewall_status.sync_states #=> Hash
@@ -1453,6 +1463,8 @@ module Aws::NetworkFirewall
1453
1463
  # resp.firewall.tags[0].value #=> String
1454
1464
  # resp.firewall.encryption_configuration.key_id #=> String
1455
1465
  # resp.firewall.encryption_configuration.type #=> String, one of "CUSTOMER_KMS", "AWS_OWNED_KMS_KEY"
1466
+ # resp.firewall.enabled_analysis_types #=> Array
1467
+ # resp.firewall.enabled_analysis_types[0] #=> String, one of "TLS_SNI", "HTTP_HOST"
1456
1468
  # resp.firewall_status.status #=> String, one of "PROVISIONING", "DELETING", "READY"
1457
1469
  # resp.firewall_status.configuration_sync_state_summary #=> String, one of "PENDING", "IN_SYNC", "CAPACITY_CONSTRAINED"
1458
1470
  # resp.firewall_status.sync_states #=> Hash
@@ -1724,6 +1736,8 @@ module Aws::NetworkFirewall
1724
1736
  # resp.firewall.tags[0].value #=> String
1725
1737
  # resp.firewall.encryption_configuration.key_id #=> String
1726
1738
  # resp.firewall.encryption_configuration.type #=> String, one of "CUSTOMER_KMS", "AWS_OWNED_KMS_KEY"
1739
+ # resp.firewall.enabled_analysis_types #=> Array
1740
+ # resp.firewall.enabled_analysis_types[0] #=> String, one of "TLS_SNI", "HTTP_HOST"
1727
1741
  # resp.firewall_status.status #=> String, one of "PROVISIONING", "DELETING", "READY"
1728
1742
  # resp.firewall_status.configuration_sync_state_summary #=> String, one of "PENDING", "IN_SYNC", "CAPACITY_CONSTRAINED"
1729
1743
  # resp.firewall_status.sync_states #=> Hash
@@ -2244,6 +2258,147 @@ module Aws::NetworkFirewall
2244
2258
  req.send_request(options)
2245
2259
  end
2246
2260
 
2261
+ # The results of a `COMPLETED` analysis report generated with
2262
+ # StartAnalysisReport.
2263
+ #
2264
+ # For more information, see AnalysisTypeReportResult.
2265
+ #
2266
+ # @option params [String] :firewall_name
2267
+ # The descriptive name of the firewall. You can't change the name of a
2268
+ # firewall after you create it.
2269
+ #
2270
+ # You must specify the ARN or the name, and you can specify both.
2271
+ #
2272
+ # @option params [required, String] :analysis_report_id
2273
+ # The unique ID of the query that ran when you requested an analysis
2274
+ # report.
2275
+ #
2276
+ # @option params [String] :firewall_arn
2277
+ # The Amazon Resource Name (ARN) of the firewall.
2278
+ #
2279
+ # You must specify the ARN or the name, and you can specify both.
2280
+ #
2281
+ # @option params [String] :next_token
2282
+ # When you request a list of objects with a `MaxResults` setting, if the
2283
+ # number of objects that are still available for retrieval exceeds the
2284
+ # maximum you requested, Network Firewall returns a `NextToken` value in
2285
+ # the response. To retrieve the next batch of objects, use the token
2286
+ # returned from the prior request in your next request.
2287
+ #
2288
+ # @option params [Integer] :max_results
2289
+ # The maximum number of objects that you want Network Firewall to return
2290
+ # for this request. If more objects are available, in the response,
2291
+ # Network Firewall provides a `NextToken` value that you can use in a
2292
+ # subsequent call to get the next batch of objects.
2293
+ #
2294
+ # @return [Types::GetAnalysisReportResultsResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
2295
+ #
2296
+ # * {Types::GetAnalysisReportResultsResponse#status #status} => String
2297
+ # * {Types::GetAnalysisReportResultsResponse#start_time #start_time} => Time
2298
+ # * {Types::GetAnalysisReportResultsResponse#end_time #end_time} => Time
2299
+ # * {Types::GetAnalysisReportResultsResponse#report_time #report_time} => Time
2300
+ # * {Types::GetAnalysisReportResultsResponse#analysis_type #analysis_type} => String
2301
+ # * {Types::GetAnalysisReportResultsResponse#next_token #next_token} => String
2302
+ # * {Types::GetAnalysisReportResultsResponse#analysis_report_results #analysis_report_results} => Array&lt;Types::AnalysisTypeReportResult&gt;
2303
+ #
2304
+ # The returned {Seahorse::Client::Response response} is a pageable response and is Enumerable. For details on usage see {Aws::PageableResponse PageableResponse}.
2305
+ #
2306
+ # @example Request syntax with placeholder values
2307
+ #
2308
+ # resp = client.get_analysis_report_results({
2309
+ # firewall_name: "ResourceName",
2310
+ # analysis_report_id: "AnalysisReportId", # required
2311
+ # firewall_arn: "ResourceArn",
2312
+ # next_token: "AnalysisReportNextToken",
2313
+ # max_results: 1,
2314
+ # })
2315
+ #
2316
+ # @example Response structure
2317
+ #
2318
+ # resp.status #=> String
2319
+ # resp.start_time #=> Time
2320
+ # resp.end_time #=> Time
2321
+ # resp.report_time #=> Time
2322
+ # resp.analysis_type #=> String, one of "TLS_SNI", "HTTP_HOST"
2323
+ # resp.next_token #=> String
2324
+ # resp.analysis_report_results #=> Array
2325
+ # resp.analysis_report_results[0].protocol #=> String
2326
+ # resp.analysis_report_results[0].first_accessed #=> Time
2327
+ # resp.analysis_report_results[0].last_accessed #=> Time
2328
+ # resp.analysis_report_results[0].domain #=> String
2329
+ # resp.analysis_report_results[0].hits.count #=> Integer
2330
+ # resp.analysis_report_results[0].unique_sources.count #=> Integer
2331
+ #
2332
+ # @see http://docs.aws.amazon.com/goto/WebAPI/network-firewall-2020-11-12/GetAnalysisReportResults AWS API Documentation
2333
+ #
2334
+ # @overload get_analysis_report_results(params = {})
2335
+ # @param [Hash] params ({})
2336
+ def get_analysis_report_results(params = {}, options = {})
2337
+ req = build_request(:get_analysis_report_results, params)
2338
+ req.send_request(options)
2339
+ end
2340
+
2341
+ # Returns a list of all traffic analysis reports generated within the
2342
+ # last 30 days.
2343
+ #
2344
+ # @option params [String] :firewall_name
2345
+ # The descriptive name of the firewall. You can't change the name of a
2346
+ # firewall after you create it.
2347
+ #
2348
+ # You must specify the ARN or the name, and you can specify both.
2349
+ #
2350
+ # @option params [String] :firewall_arn
2351
+ # The Amazon Resource Name (ARN) of the firewall.
2352
+ #
2353
+ # You must specify the ARN or the name, and you can specify both.
2354
+ #
2355
+ # @option params [String] :next_token
2356
+ # When you request a list of objects with a `MaxResults` setting, if the
2357
+ # number of objects that are still available for retrieval exceeds the
2358
+ # maximum you requested, Network Firewall returns a `NextToken` value in
2359
+ # the response. To retrieve the next batch of objects, use the token
2360
+ # returned from the prior request in your next request.
2361
+ #
2362
+ # @option params [Integer] :max_results
2363
+ # The maximum number of objects that you want Network Firewall to return
2364
+ # for this request. If more objects are available, in the response,
2365
+ # Network Firewall provides a `NextToken` value that you can use in a
2366
+ # subsequent call to get the next batch of objects.
2367
+ #
2368
+ # @return [Types::ListAnalysisReportsResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
2369
+ #
2370
+ # * {Types::ListAnalysisReportsResponse#analysis_reports #analysis_reports} => Array&lt;Types::AnalysisReport&gt;
2371
+ # * {Types::ListAnalysisReportsResponse#next_token #next_token} => String
2372
+ #
2373
+ # The returned {Seahorse::Client::Response response} is a pageable response and is Enumerable. For details on usage see {Aws::PageableResponse PageableResponse}.
2374
+ #
2375
+ # @example Request syntax with placeholder values
2376
+ #
2377
+ # resp = client.list_analysis_reports({
2378
+ # firewall_name: "ResourceName",
2379
+ # firewall_arn: "ResourceArn",
2380
+ # next_token: "PaginationToken",
2381
+ # max_results: 1,
2382
+ # })
2383
+ #
2384
+ # @example Response structure
2385
+ #
2386
+ # resp.analysis_reports #=> Array
2387
+ # resp.analysis_reports[0].analysis_report_id #=> String
2388
+ # resp.analysis_reports[0].analysis_type #=> String, one of "TLS_SNI", "HTTP_HOST"
2389
+ # resp.analysis_reports[0].report_time #=> Time
2390
+ # resp.analysis_reports[0].status #=> String
2391
+ # resp.next_token #=> String
2392
+ #
2393
+ # @see http://docs.aws.amazon.com/goto/WebAPI/network-firewall-2020-11-12/ListAnalysisReports AWS API Documentation
2394
+ #
2395
+ # @overload list_analysis_reports(params = {})
2396
+ # @param [Hash] params ({})
2397
+ def list_analysis_reports(params = {}, options = {})
2398
+ req = build_request(:list_analysis_reports, params)
2399
+ req.send_request(options)
2400
+ end
2401
+
2247
2402
  # Retrieves the metadata for the firewall policies that you have
2248
2403
  # defined. Depending on your setting for max results and the number of
2249
2404
  # firewall policies, a single call might not return the full list.
@@ -2593,6 +2748,51 @@ module Aws::NetworkFirewall
2593
2748
  req.send_request(options)
2594
2749
  end
2595
2750
 
2751
+ # Generates a traffic analysis report for the timeframe and traffic type
2752
+ # you specify.
2753
+ #
2754
+ # For information on the contents of a traffic analysis report, see
2755
+ # AnalysisReport.
2756
+ #
2757
+ # @option params [String] :firewall_name
2758
+ # The descriptive name of the firewall. You can't change the name of a
2759
+ # firewall after you create it.
2760
+ #
2761
+ # You must specify the ARN or the name, and you can specify both.
2762
+ #
2763
+ # @option params [String] :firewall_arn
2764
+ # The Amazon Resource Name (ARN) of the firewall.
2765
+ #
2766
+ # You must specify the ARN or the name, and you can specify both.
2767
+ #
2768
+ # @option params [required, String] :analysis_type
2769
+ # The type of traffic that will be used to generate a report.
2770
+ #
2771
+ # @return [Types::StartAnalysisReportResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
2772
+ #
2773
+ # * {Types::StartAnalysisReportResponse#analysis_report_id #analysis_report_id} => String
2774
+ #
2775
+ # @example Request syntax with placeholder values
2776
+ #
2777
+ # resp = client.start_analysis_report({
2778
+ # firewall_name: "ResourceName",
2779
+ # firewall_arn: "ResourceArn",
2780
+ # analysis_type: "TLS_SNI", # required, accepts TLS_SNI, HTTP_HOST
2781
+ # })
2782
+ #
2783
+ # @example Response structure
2784
+ #
2785
+ # resp.analysis_report_id #=> String
2786
+ #
2787
+ # @see http://docs.aws.amazon.com/goto/WebAPI/network-firewall-2020-11-12/StartAnalysisReport AWS API Documentation
2788
+ #
2789
+ # @overload start_analysis_report(params = {})
2790
+ # @param [Hash] params ({})
2791
+ def start_analysis_report(params = {}, options = {})
2792
+ req = build_request(:start_analysis_report, params)
2793
+ req.send_request(options)
2794
+ end
2795
+
2596
2796
  # Adds the specified tags to the specified resource. Tags are key:value
2597
2797
  # pairs that you can use to categorize and manage your resources, for
2598
2798
  # purposes like billing. For example, you might set the tag key to
@@ -2665,6 +2865,76 @@ module Aws::NetworkFirewall
2665
2865
  req.send_request(options)
2666
2866
  end
2667
2867
 
2868
+ # Enables specific types of firewall analysis on a specific firewall you
2869
+ # define.
2870
+ #
2871
+ # @option params [Array<String>] :enabled_analysis_types
2872
+ # An optional setting indicating the specific traffic analysis types to
2873
+ # enable on the firewall.
2874
+ #
2875
+ # @option params [String] :firewall_arn
2876
+ # The Amazon Resource Name (ARN) of the firewall.
2877
+ #
2878
+ # You must specify the ARN or the name, and you can specify both.
2879
+ #
2880
+ # @option params [String] :firewall_name
2881
+ # The descriptive name of the firewall. You can't change the name of a
2882
+ # firewall after you create it.
2883
+ #
2884
+ # You must specify the ARN or the name, and you can specify both.
2885
+ #
2886
+ # @option params [String] :update_token
2887
+ # An optional token that you can use for optimistic locking. Network
2888
+ # Firewall returns a token to your requests that access the firewall.
2889
+ # The token marks the state of the firewall resource at the time of the
2890
+ # request.
2891
+ #
2892
+ # To make an unconditional change to the firewall, omit the token in
2893
+ # your update request. Without the token, Network Firewall performs your
2894
+ # updates regardless of whether the firewall has changed since you last
2895
+ # retrieved it.
2896
+ #
2897
+ # To make a conditional change to the firewall, provide the token in
2898
+ # your update request. Network Firewall uses the token to ensure that
2899
+ # the firewall hasn't changed since you last retrieved it. If it has
2900
+ # changed, the operation fails with an `InvalidTokenException`. If this
2901
+ # happens, retrieve the firewall again to get a current copy of it with
2902
+ # a new token. Reapply your changes as needed, then try the operation
2903
+ # again using the new token.
2904
+ #
2905
+ # @return [Types::UpdateFirewallAnalysisSettingsResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
2906
+ #
2907
+ # * {Types::UpdateFirewallAnalysisSettingsResponse#enabled_analysis_types #enabled_analysis_types} => Array&lt;String&gt;
2908
+ # * {Types::UpdateFirewallAnalysisSettingsResponse#firewall_arn #firewall_arn} => String
2909
+ # * {Types::UpdateFirewallAnalysisSettingsResponse#firewall_name #firewall_name} => String
2910
+ # * {Types::UpdateFirewallAnalysisSettingsResponse#update_token #update_token} => String
2911
+ #
2912
+ # @example Request syntax with placeholder values
2913
+ #
2914
+ # resp = client.update_firewall_analysis_settings({
2915
+ # enabled_analysis_types: ["TLS_SNI"], # accepts TLS_SNI, HTTP_HOST
2916
+ # firewall_arn: "ResourceArn",
2917
+ # firewall_name: "ResourceName",
2918
+ # update_token: "UpdateToken",
2919
+ # })
2920
+ #
2921
+ # @example Response structure
2922
+ #
2923
+ # resp.enabled_analysis_types #=> Array
2924
+ # resp.enabled_analysis_types[0] #=> String, one of "TLS_SNI", "HTTP_HOST"
2925
+ # resp.firewall_arn #=> String
2926
+ # resp.firewall_name #=> String
2927
+ # resp.update_token #=> String
2928
+ #
2929
+ # @see http://docs.aws.amazon.com/goto/WebAPI/network-firewall-2020-11-12/UpdateFirewallAnalysisSettings AWS API Documentation
2930
+ #
2931
+ # @overload update_firewall_analysis_settings(params = {})
2932
+ # @param [Hash] params ({})
2933
+ def update_firewall_analysis_settings(params = {}, options = {})
2934
+ req = build_request(:update_firewall_analysis_settings, params)
2935
+ req.send_request(options)
2936
+ end
2937
+
2668
2938
  # Modifies the flag, `DeleteProtection`, which indicates whether it is
2669
2939
  # possible to delete the firewall. If the flag is set to `TRUE`, the
2670
2940
  # firewall is protected against deletion. This setting helps protect
@@ -3708,7 +3978,7 @@ module Aws::NetworkFirewall
3708
3978
  tracer: tracer
3709
3979
  )
3710
3980
  context[:gem_name] = 'aws-sdk-networkfirewall'
3711
- context[:gem_version] = '1.61.0'
3981
+ context[:gem_version] = '1.62.0'
3712
3982
  Seahorse::Client::Request.new(handlers, context)
3713
3983
  end
3714
3984