aws-sdk-networkfirewall 1.14.0 → 1.17.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.
@@ -294,8 +294,8 @@ module Aws::NetworkFirewall
294
294
  end
295
295
 
296
296
  # The configuration and status for a single subnet that you've
297
- # specified for use by the AWS Network Firewall firewall. This is part
298
- # of the FirewallStatus.
297
+ # specified for use by the Network Firewall firewall. This is part of
298
+ # the FirewallStatus.
299
299
  #
300
300
  # @!attribute [rw] subnet_id
301
301
  # The unique identifier of the subnet that you've specified to be
@@ -379,6 +379,10 @@ module Aws::NetworkFirewall
379
379
  # },
380
380
  # ],
381
381
  # dry_run: false,
382
+ # encryption_configuration: {
383
+ # key_id: "KeyId",
384
+ # type: "CUSTOMER_KMS", # required, accepts CUSTOMER_KMS, AWS_OWNED_KMS_KEY
385
+ # },
382
386
  # }
383
387
  #
384
388
  # @!attribute [rw] firewall_policy_name
@@ -414,6 +418,11 @@ module Aws::NetworkFirewall
414
418
  # your resources.
415
419
  # @return [Boolean]
416
420
  #
421
+ # @!attribute [rw] encryption_configuration
422
+ # A complex type that contains settings for encryption of your
423
+ # firewall policy resources.
424
+ # @return [Types::EncryptionConfiguration]
425
+ #
417
426
  # @see http://docs.aws.amazon.com/goto/WebAPI/network-firewall-2020-11-12/CreateFirewallPolicyRequest AWS API Documentation
418
427
  #
419
428
  class CreateFirewallPolicyRequest < Struct.new(
@@ -421,7 +430,8 @@ module Aws::NetworkFirewall
421
430
  :firewall_policy,
422
431
  :description,
423
432
  :tags,
424
- :dry_run)
433
+ :dry_run,
434
+ :encryption_configuration)
425
435
  SENSITIVE = []
426
436
  include Aws::Structure
427
437
  end
@@ -477,6 +487,10 @@ module Aws::NetworkFirewall
477
487
  # value: "TagValue", # required
478
488
  # },
479
489
  # ],
490
+ # encryption_configuration: {
491
+ # key_id: "KeyId",
492
+ # type: "CUSTOMER_KMS", # required, accepts CUSTOMER_KMS, AWS_OWNED_KMS_KEY
493
+ # },
480
494
  # }
481
495
  #
482
496
  # @!attribute [rw] firewall_name
@@ -534,6 +548,11 @@ module Aws::NetworkFirewall
534
548
  # The key:value pairs to associate with the resource.
535
549
  # @return [Array<Types::Tag>]
536
550
  #
551
+ # @!attribute [rw] encryption_configuration
552
+ # A complex type that contains settings for encryption of your
553
+ # firewall resources.
554
+ # @return [Types::EncryptionConfiguration]
555
+ #
537
556
  # @see http://docs.aws.amazon.com/goto/WebAPI/network-firewall-2020-11-12/CreateFirewallRequest AWS API Documentation
538
557
  #
539
558
  class CreateFirewallRequest < Struct.new(
@@ -545,7 +564,8 @@ module Aws::NetworkFirewall
545
564
  :subnet_change_protection,
546
565
  :firewall_policy_change_protection,
547
566
  :description,
548
- :tags)
567
+ :tags,
568
+ :encryption_configuration)
549
569
  SENSITIVE = []
550
570
  include Aws::Structure
551
571
  end
@@ -686,6 +706,14 @@ module Aws::NetworkFirewall
686
706
  # },
687
707
  # ],
688
708
  # dry_run: false,
709
+ # encryption_configuration: {
710
+ # key_id: "KeyId",
711
+ # type: "CUSTOMER_KMS", # required, accepts CUSTOMER_KMS, AWS_OWNED_KMS_KEY
712
+ # },
713
+ # source_metadata: {
714
+ # source_arn: "ResourceArn",
715
+ # source_update_token: "UpdateToken",
716
+ # },
689
717
  # }
690
718
  #
691
719
  # @!attribute [rw] rule_group_name
@@ -799,6 +827,17 @@ module Aws::NetworkFirewall
799
827
  # your resources.
800
828
  # @return [Boolean]
801
829
  #
830
+ # @!attribute [rw] encryption_configuration
831
+ # A complex type that contains settings for encryption of your rule
832
+ # group resources.
833
+ # @return [Types::EncryptionConfiguration]
834
+ #
835
+ # @!attribute [rw] source_metadata
836
+ # A complex type that contains metadata about the rule group that your
837
+ # own rule group is copied from. You can use the metadata to keep
838
+ # track of updates made to the originating rule group.
839
+ # @return [Types::SourceMetadata]
840
+ #
802
841
  # @see http://docs.aws.amazon.com/goto/WebAPI/network-firewall-2020-11-12/CreateRuleGroupRequest AWS API Documentation
803
842
  #
804
843
  class CreateRuleGroupRequest < Struct.new(
@@ -809,7 +848,9 @@ module Aws::NetworkFirewall
809
848
  :description,
810
849
  :capacity,
811
850
  :tags,
812
- :dry_run)
851
+ :dry_run,
852
+ :encryption_configuration,
853
+ :source_metadata)
813
854
  SENSITIVE = []
814
855
  include Aws::Structure
815
856
  end
@@ -972,10 +1013,10 @@ module Aws::NetworkFirewall
972
1013
  end
973
1014
 
974
1015
  # @!attribute [rw] firewall
975
- # The firewall defines the configuration settings for an AWS Network
1016
+ # The firewall defines the configuration settings for an Network
976
1017
  # Firewall firewall. These settings include the firewall policy, the
977
1018
  # subnets in your VPC to use for the firewall endpoints, and any tags
978
- # that are attached to the firewall AWS resource.
1019
+ # that are attached to the firewall Amazon Web Services resource.
979
1020
  #
980
1021
  # The status of the firewall, for example whether it's ready to
981
1022
  # filter network traffic, is provided in the corresponding
@@ -1250,7 +1291,7 @@ module Aws::NetworkFirewall
1250
1291
  # @return [String]
1251
1292
  #
1252
1293
  # @!attribute [rw] logging_configuration
1253
- # Defines how AWS Network Firewall performs logging for a Firewall.
1294
+ # Defines how Network Firewall performs logging for a Firewall.
1254
1295
  # @return [Types::LoggingConfiguration]
1255
1296
  #
1256
1297
  # @see http://docs.aws.amazon.com/goto/WebAPI/network-firewall-2020-11-12/DescribeLoggingConfigurationResponse AWS API Documentation
@@ -1283,7 +1324,7 @@ module Aws::NetworkFirewall
1283
1324
  end
1284
1325
 
1285
1326
  # @!attribute [rw] policy
1286
- # The AWS Identity and Access Management policy for the resource.
1327
+ # The IAM policy for the resource.
1287
1328
  # @return [String]
1288
1329
  #
1289
1330
  # @see http://docs.aws.amazon.com/goto/WebAPI/network-firewall-2020-11-12/DescribeResourcePolicyResponse AWS API Documentation
@@ -1384,6 +1425,10 @@ module Aws::NetworkFirewall
1384
1425
  # group. You can only use these for stateful rule groups.
1385
1426
  # @return [Types::StatefulRuleOptions]
1386
1427
  #
1428
+ # @!attribute [rw] last_modified_time
1429
+ # The last time that the rule group was changed.
1430
+ # @return [Time]
1431
+ #
1387
1432
  # @see http://docs.aws.amazon.com/goto/WebAPI/network-firewall-2020-11-12/DescribeRuleGroupMetadataResponse AWS API Documentation
1388
1433
  #
1389
1434
  class DescribeRuleGroupMetadataResponse < Struct.new(
@@ -1392,7 +1437,8 @@ module Aws::NetworkFirewall
1392
1437
  :description,
1393
1438
  :type,
1394
1439
  :capacity,
1395
- :stateful_rule_options)
1440
+ :stateful_rule_options,
1441
+ :last_modified_time)
1396
1442
  SENSITIVE = []
1397
1443
  include Aws::Structure
1398
1444
  end
@@ -1459,10 +1505,10 @@ module Aws::NetworkFirewall
1459
1505
  # RuleGroupResponse, define the rule group. You can retrieve all
1460
1506
  # objects for a rule group by calling DescribeRuleGroup.
1461
1507
  #
1462
- # AWS Network Firewall uses a rule group to inspect and control
1463
- # network traffic. You define stateless rule groups to inspect
1464
- # individual packets and you define stateful rule groups to inspect
1465
- # packets in the context of their traffic flow.
1508
+ # Network Firewall uses a rule group to inspect and control network
1509
+ # traffic. You define stateless rule groups to inspect individual
1510
+ # packets and you define stateful rule groups to inspect packets in
1511
+ # the context of their traffic flow.
1466
1512
  #
1467
1513
  # To use a rule group, you include it by reference in an Network
1468
1514
  # Firewall firewall policy, then you use the policy in a firewall. You
@@ -1491,7 +1537,7 @@ module Aws::NetworkFirewall
1491
1537
  # metric dimension is a name/value pair that's part of the identity of
1492
1538
  # a metric.
1493
1539
  #
1494
- # AWS Network Firewall sets the dimension name to `CustomAction` and you
1540
+ # Network Firewall sets the dimension name to `CustomAction` and you
1495
1541
  # provide the dimension value.
1496
1542
  #
1497
1543
  # For more information about CloudWatch custom metric dimensions, see
@@ -1625,10 +1671,59 @@ module Aws::NetworkFirewall
1625
1671
  include Aws::Structure
1626
1672
  end
1627
1673
 
1628
- # The firewall defines the configuration settings for an AWS Network
1674
+ # A complex type that contains optional Amazon Web Services Key
1675
+ # Management Service (KMS) encryption settings for your Network Firewall
1676
+ # resources. Your data is encrypted by default with an Amazon Web
1677
+ # Services owned key that Amazon Web Services owns and manages for you.
1678
+ # You can use either the Amazon Web Services owned key, or provide your
1679
+ # own customer managed key. To learn more about KMS encryption of your
1680
+ # Network Firewall resources, see [Encryption at rest with Amazon Web
1681
+ # Services Key Managment Service][1] in the *Network Firewall Developer
1682
+ # Guide*.
1683
+ #
1684
+ #
1685
+ #
1686
+ # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/kms-encryption-at-rest.html
1687
+ #
1688
+ # @note When making an API call, you may pass EncryptionConfiguration
1689
+ # data as a hash:
1690
+ #
1691
+ # {
1692
+ # key_id: "KeyId",
1693
+ # type: "CUSTOMER_KMS", # required, accepts CUSTOMER_KMS, AWS_OWNED_KMS_KEY
1694
+ # }
1695
+ #
1696
+ # @!attribute [rw] key_id
1697
+ # The ID of the Amazon Web Services Key Management Service (KMS)
1698
+ # customer managed key. You can use any of the key identifiers that
1699
+ # KMS supports, unless you're using a key that's managed by another
1700
+ # account. If you're using a key managed by another account, then
1701
+ # specify the key ARN. For more information, see [Key ID][1] in the
1702
+ # *Amazon Web Services KMS Developer Guide*.
1703
+ #
1704
+ #
1705
+ #
1706
+ # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#key-id
1707
+ # @return [String]
1708
+ #
1709
+ # @!attribute [rw] type
1710
+ # The type of Amazon Web Services KMS key to use for encryption of
1711
+ # your Network Firewall resources.
1712
+ # @return [String]
1713
+ #
1714
+ # @see http://docs.aws.amazon.com/goto/WebAPI/network-firewall-2020-11-12/EncryptionConfiguration AWS API Documentation
1715
+ #
1716
+ class EncryptionConfiguration < Struct.new(
1717
+ :key_id,
1718
+ :type)
1719
+ SENSITIVE = []
1720
+ include Aws::Structure
1721
+ end
1722
+
1723
+ # The firewall defines the configuration settings for an Network
1629
1724
  # Firewall firewall. These settings include the firewall policy, the
1630
1725
  # subnets in your VPC to use for the firewall endpoints, and any tags
1631
- # that are attached to the firewall AWS resource.
1726
+ # that are attached to the firewall Amazon Web Services resource.
1632
1727
  #
1633
1728
  # The status of the firewall, for example whether it's ready to filter
1634
1729
  # network traffic, is provided in the corresponding FirewallStatus. You
@@ -1695,6 +1790,11 @@ module Aws::NetworkFirewall
1695
1790
  # @!attribute [rw] tags
1696
1791
  # @return [Array<Types::Tag>]
1697
1792
  #
1793
+ # @!attribute [rw] encryption_configuration
1794
+ # A complex type that contains the Amazon Web Services KMS encryption
1795
+ # configuration settings for your firewall.
1796
+ # @return [Types::EncryptionConfiguration]
1797
+ #
1698
1798
  # @see http://docs.aws.amazon.com/goto/WebAPI/network-firewall-2020-11-12/Firewall AWS API Documentation
1699
1799
  #
1700
1800
  class Firewall < Struct.new(
@@ -1708,7 +1808,8 @@ module Aws::NetworkFirewall
1708
1808
  :firewall_policy_change_protection,
1709
1809
  :description,
1710
1810
  :firewall_id,
1711
- :tags)
1811
+ :tags,
1812
+ :encryption_configuration)
1712
1813
  SENSITIVE = []
1713
1814
  include Aws::Structure
1714
1815
  end
@@ -1850,12 +1951,12 @@ module Aws::NetworkFirewall
1850
1951
  #
1851
1952
  # * aws:alert\_established
1852
1953
  #
1853
- # For more information, see [Strict evaluation order][1] in the *AWS
1854
- # Network Firewall Developer Guide*.
1954
+ # For more information, see [Strict evaluation order][1] in the
1955
+ # *Network Firewall Developer Guide*.
1855
1956
  #
1856
1957
  #
1857
1958
  #
1858
- # [1]: https://docs.aws.amazon.com/network-firewall/latest/developerguide/suricata-strict-rule-evaluation-order.html
1959
+ # [1]: https://docs.aws.amazon.com/network-firewall/latest/developerguide/suricata-rule-evaluation-order.html#suricata-strict-rule-evaluation-order.html
1859
1960
  # @return [Array<String>]
1860
1961
  #
1861
1962
  # @!attribute [rw] stateful_engine_options
@@ -1954,6 +2055,15 @@ module Aws::NetworkFirewall
1954
2055
  # policy.
1955
2056
  # @return [Integer]
1956
2057
  #
2058
+ # @!attribute [rw] encryption_configuration
2059
+ # A complex type that contains the Amazon Web Services KMS encryption
2060
+ # configuration settings for your firewall policy.
2061
+ # @return [Types::EncryptionConfiguration]
2062
+ #
2063
+ # @!attribute [rw] last_modified_time
2064
+ # The last time that the firewall policy was changed.
2065
+ # @return [Time]
2066
+ #
1957
2067
  # @see http://docs.aws.amazon.com/goto/WebAPI/network-firewall-2020-11-12/FirewallPolicyResponse AWS API Documentation
1958
2068
  #
1959
2069
  class FirewallPolicyResponse < Struct.new(
@@ -1965,7 +2075,9 @@ module Aws::NetworkFirewall
1965
2075
  :tags,
1966
2076
  :consumed_stateless_rule_capacity,
1967
2077
  :consumed_stateful_rule_capacity,
1968
- :number_of_associations)
2078
+ :number_of_associations,
2079
+ :encryption_configuration,
2080
+ :last_modified_time)
1969
2081
  SENSITIVE = []
1970
2082
  include Aws::Structure
1971
2083
  end
@@ -2018,9 +2130,9 @@ module Aws::NetworkFirewall
2018
2130
  include Aws::Structure
2019
2131
  end
2020
2132
 
2021
- # The basic rule criteria for AWS Network Firewall to use to inspect
2022
- # packet headers in stateful traffic flow inspection. Traffic flows that
2023
- # match the criteria are a match for the corresponding StatefulRule.
2133
+ # The basic rule criteria for Network Firewall to use to inspect packet
2134
+ # headers in stateful traffic flow inspection. Traffic flows that match
2135
+ # the criteria are a match for the corresponding StatefulRule.
2024
2136
  #
2025
2137
  # @note When making an API call, you may pass Header
2026
2138
  # data as a hash:
@@ -2036,7 +2148,8 @@ module Aws::NetworkFirewall
2036
2148
  #
2037
2149
  # @!attribute [rw] protocol
2038
2150
  # The protocol to inspect for. To specify all, you can use `IP`,
2039
- # because all traffic on AWS and on the internet is IP.
2151
+ # because all traffic on Amazon Web Services and on the internet is
2152
+ # IP.
2040
2153
  # @return [String]
2041
2154
  #
2042
2155
  # @!attribute [rw] source
@@ -2142,8 +2255,8 @@ module Aws::NetworkFirewall
2142
2255
  include Aws::Structure
2143
2256
  end
2144
2257
 
2145
- # AWS doesn't currently have enough available capacity to fulfill your
2146
- # request. Try your request later.
2258
+ # Amazon Web Services doesn't currently have enough available capacity
2259
+ # to fulfill your request. Try your request later.
2147
2260
  #
2148
2261
  # @!attribute [rw] message
2149
2262
  # @return [String]
@@ -2371,6 +2484,8 @@ module Aws::NetworkFirewall
2371
2484
  # next_token: "PaginationToken",
2372
2485
  # max_results: 1,
2373
2486
  # scope: "MANAGED", # accepts MANAGED, ACCOUNT
2487
+ # managed_type: "AWS_MANAGED_THREAT_SIGNATURES", # accepts AWS_MANAGED_THREAT_SIGNATURES, AWS_MANAGED_DOMAIN_LISTS
2488
+ # type: "STATELESS", # accepts STATELESS, STATEFUL
2374
2489
  # }
2375
2490
  #
2376
2491
  # @!attribute [rw] next_token
@@ -2394,12 +2509,25 @@ module Aws::NetworkFirewall
2394
2509
  # setting of `MANAGED` returns all available managed rule groups.
2395
2510
  # @return [String]
2396
2511
  #
2512
+ # @!attribute [rw] managed_type
2513
+ # Indicates the general category of the Amazon Web Services managed
2514
+ # rule group.
2515
+ # @return [String]
2516
+ #
2517
+ # @!attribute [rw] type
2518
+ # Indicates whether the rule group is stateless or stateful. If the
2519
+ # rule group is stateless, it contains stateless rules. If it is
2520
+ # stateful, it contains stateful rules.
2521
+ # @return [String]
2522
+ #
2397
2523
  # @see http://docs.aws.amazon.com/goto/WebAPI/network-firewall-2020-11-12/ListRuleGroupsRequest AWS API Documentation
2398
2524
  #
2399
2525
  class ListRuleGroupsRequest < Struct.new(
2400
2526
  :next_token,
2401
2527
  :max_results,
2402
- :scope)
2528
+ :scope,
2529
+ :managed_type,
2530
+ :type)
2403
2531
  SENSITIVE = []
2404
2532
  include Aws::Structure
2405
2533
  end
@@ -2486,10 +2614,10 @@ module Aws::NetworkFirewall
2486
2614
  include Aws::Structure
2487
2615
  end
2488
2616
 
2489
- # Defines where AWS Network Firewall sends logs for the firewall for one
2490
- # log type. This is used in LoggingConfiguration. You can send each type
2491
- # of log to an Amazon S3 bucket, a CloudWatch log group, or a Kinesis
2492
- # Data Firehose delivery stream.
2617
+ # Defines where Network Firewall sends logs for the firewall for one log
2618
+ # type. This is used in LoggingConfiguration. You can send each type of
2619
+ # log to an Amazon S3 bucket, a CloudWatch log group, or a Kinesis Data
2620
+ # Firehose delivery stream.
2493
2621
  #
2494
2622
  # Network Firewall generates logs for stateful rule groups. You can save
2495
2623
  # alert and flow log types. The stateful rules engine records flow logs
@@ -2570,7 +2698,7 @@ module Aws::NetworkFirewall
2570
2698
  include Aws::Structure
2571
2699
  end
2572
2700
 
2573
- # Defines how AWS Network Firewall performs logging for a Firewall.
2701
+ # Defines how Network Firewall performs logging for a Firewall.
2574
2702
  #
2575
2703
  # @note When making an API call, you may pass LoggingConfiguration
2576
2704
  # data as a hash:
@@ -2813,10 +2941,9 @@ module Aws::NetworkFirewall
2813
2941
  # @return [String]
2814
2942
  #
2815
2943
  # @!attribute [rw] policy
2816
- # The AWS Identity and Access Management policy statement that lists
2817
- # the accounts that you want to share your rule group or firewall
2818
- # policy with and the operations that you want the accounts to be able
2819
- # to perform.
2944
+ # The IAM policy statement that lists the accounts that you want to
2945
+ # share your rule group or firewall policy with and the operations
2946
+ # that you want the accounts to be able to perform.
2820
2947
  #
2821
2948
  # For a rule group resource, you can specify the following operations
2822
2949
  # in the Actions section of the statement:
@@ -2882,7 +3009,7 @@ module Aws::NetworkFirewall
2882
3009
  include Aws::Structure
2883
3010
  end
2884
3011
 
2885
- # The inspection criteria and action for a single stateless rule. AWS
3012
+ # The inspection criteria and action for a single stateless rule.
2886
3013
  # Network Firewall inspects each packet for the specified matching
2887
3014
  # criteria. When a packet matches the criteria, Network Firewall
2888
3015
  # performs the rule's actions on the packet.
@@ -2983,7 +3110,7 @@ module Aws::NetworkFirewall
2983
3110
  # RuleGroupResponse, define the rule group. You can retrieve all objects
2984
3111
  # for a rule group by calling DescribeRuleGroup.
2985
3112
  #
2986
- # AWS Network Firewall uses a rule group to inspect and control network
3113
+ # Network Firewall uses a rule group to inspect and control network
2987
3114
  # traffic. You define stateless rule groups to inspect individual
2988
3115
  # packets and you define stateful rule groups to inspect packets in the
2989
3116
  # context of their traffic flow.
@@ -3206,6 +3333,34 @@ module Aws::NetworkFirewall
3206
3333
  # The number of firewall policies that use this rule group.
3207
3334
  # @return [Integer]
3208
3335
  #
3336
+ # @!attribute [rw] encryption_configuration
3337
+ # A complex type that contains the Amazon Web Services KMS encryption
3338
+ # configuration settings for your rule group.
3339
+ # @return [Types::EncryptionConfiguration]
3340
+ #
3341
+ # @!attribute [rw] source_metadata
3342
+ # A complex type that contains metadata about the rule group that your
3343
+ # own rule group is copied from. You can use the metadata to track the
3344
+ # version updates made to the originating rule group.
3345
+ # @return [Types::SourceMetadata]
3346
+ #
3347
+ # @!attribute [rw] sns_topic
3348
+ # The Amazon resource name (ARN) of the Amazon Simple Notification
3349
+ # Service SNS topic that's used to record changes to the managed rule
3350
+ # group. You can subscribe to the SNS topic to receive notifications
3351
+ # when the managed rule group is modified, such as for new versions
3352
+ # and for version expiration. For more information, see the [Amazon
3353
+ # Simple Notification Service Developer Guide.][1].
3354
+ #
3355
+ #
3356
+ #
3357
+ # [1]: https://docs.aws.amazon.com/sns/latest/dg/welcome.html
3358
+ # @return [String]
3359
+ #
3360
+ # @!attribute [rw] last_modified_time
3361
+ # The last time that the rule group was changed.
3362
+ # @return [Time]
3363
+ #
3209
3364
  # @see http://docs.aws.amazon.com/goto/WebAPI/network-firewall-2020-11-12/RuleGroupResponse AWS API Documentation
3210
3365
  #
3211
3366
  class RuleGroupResponse < Struct.new(
@@ -3218,7 +3373,11 @@ module Aws::NetworkFirewall
3218
3373
  :rule_group_status,
3219
3374
  :tags,
3220
3375
  :consumed_capacity,
3221
- :number_of_associations)
3376
+ :number_of_associations,
3377
+ :encryption_configuration,
3378
+ :source_metadata,
3379
+ :sns_topic,
3380
+ :last_modified_time)
3222
3381
  SENSITIVE = []
3223
3382
  include Aws::Structure
3224
3383
  end
@@ -3428,7 +3587,7 @@ module Aws::NetworkFirewall
3428
3587
  # `HOME_NET` rule variable to include the CIDR range of the deployment
3429
3588
  # VPC plus the other CIDR ranges. For more information, see
3430
3589
  # RuleVariables in this guide and [Stateful domain list rule groups in
3431
- # AWS Network Firewall][1] in the *Network Firewall Developer Guide*.
3590
+ # Network Firewall][1] in the *Network Firewall Developer Guide*.
3432
3591
  #
3433
3592
  #
3434
3593
  #
@@ -3476,6 +3635,47 @@ module Aws::NetworkFirewall
3476
3635
  include Aws::Structure
3477
3636
  end
3478
3637
 
3638
+ # High-level information about the managed rule group that your own rule
3639
+ # group is copied from. You can use the the metadata to track version
3640
+ # updates made to the originating rule group. You can retrieve all
3641
+ # objects for a rule group by calling [DescribeRuleGroup][1].
3642
+ #
3643
+ #
3644
+ #
3645
+ # [1]: https://docs.aws.amazon.com/network-firewall/latest/APIReference/API_DescribeRuleGroup.html
3646
+ #
3647
+ # @note When making an API call, you may pass SourceMetadata
3648
+ # data as a hash:
3649
+ #
3650
+ # {
3651
+ # source_arn: "ResourceArn",
3652
+ # source_update_token: "UpdateToken",
3653
+ # }
3654
+ #
3655
+ # @!attribute [rw] source_arn
3656
+ # The Amazon Resource Name (ARN) of the rule group that your own rule
3657
+ # group is copied from.
3658
+ # @return [String]
3659
+ #
3660
+ # @!attribute [rw] source_update_token
3661
+ # The update token of the Amazon Web Services managed rule group that
3662
+ # your own rule group is copied from. To determine the update token
3663
+ # for the managed rule group, call [DescribeRuleGroup][1].
3664
+ #
3665
+ #
3666
+ #
3667
+ # [1]: https://docs.aws.amazon.com/network-firewall/latest/APIReference/API_DescribeRuleGroup.html#networkfirewall-DescribeRuleGroup-response-UpdateToken
3668
+ # @return [String]
3669
+ #
3670
+ # @see http://docs.aws.amazon.com/goto/WebAPI/network-firewall-2020-11-12/SourceMetadata AWS API Documentation
3671
+ #
3672
+ class SourceMetadata < Struct.new(
3673
+ :source_arn,
3674
+ :source_update_token)
3675
+ SENSITIVE = []
3676
+ include Aws::Structure
3677
+ end
3678
+
3479
3679
  # Configuration settings for the handling of the stateful rule groups in
3480
3680
  # a firewall policy.
3481
3681
  #
@@ -3492,7 +3692,7 @@ module Aws::NetworkFirewall
3492
3692
  # rules are provided to the rule engine as Suricata compatible
3493
3693
  # strings, and Suricata evaluates them based on certain settings. For
3494
3694
  # more information, see [Evaluation order for stateful rules][1] in
3495
- # the *AWS Network Firewall Developer Guide*.
3695
+ # the *Network Firewall Developer Guide*.
3496
3696
  #
3497
3697
  #
3498
3698
  #
@@ -3671,7 +3871,7 @@ module Aws::NetworkFirewall
3671
3871
  # rules are provided to the rule engine as Suricata compatible
3672
3872
  # strings, and Suricata evaluates them based on certain settings. For
3673
3873
  # more information, see [Evaluation order for stateful rules][1] in
3674
- # the *AWS Network Firewall Developer Guide*.
3874
+ # the *Network Firewall Developer Guide*.
3675
3875
  #
3676
3876
  #
3677
3877
  #
@@ -3880,7 +4080,7 @@ module Aws::NetworkFirewall
3880
4080
  end
3881
4081
 
3882
4082
  # The ID for a subnet that you want to associate with the firewall. This
3883
- # is used with CreateFirewall and AssociateSubnets. AWS Network Firewall
4083
+ # is used with CreateFirewall and AssociateSubnets. Network Firewall
3884
4084
  # creates an instance of the associated firewall in each subnet that you
3885
4085
  # specify, to filter traffic in the subnet's Availability Zone.
3886
4086
  #
@@ -3906,7 +4106,7 @@ module Aws::NetworkFirewall
3906
4106
  # The status of the firewall endpoint and firewall policy configuration
3907
4107
  # for a single VPC subnet.
3908
4108
  #
3909
- # For each VPC subnet that you associate with a firewall, AWS Network
4109
+ # For each VPC subnet that you associate with a firewall, Network
3910
4110
  # Firewall does the following:
3911
4111
  #
3912
4112
  # * Instantiates a firewall endpoint in the subnet, ready to take
@@ -3987,12 +4187,12 @@ module Aws::NetworkFirewall
3987
4187
  include Aws::Structure
3988
4188
  end
3989
4189
 
3990
- # A key:value pair associated with an AWS resource. The key:value pair
3991
- # can be anything you define. Typically, the tag key represents a
3992
- # category (such as "environment") and the tag value represents a
3993
- # specific value within that category (such as "test,"
4190
+ # A key:value pair associated with an Amazon Web Services resource. The
4191
+ # key:value pair can be anything you define. Typically, the tag key
4192
+ # represents a category (such as "environment") and the tag value
4193
+ # represents a specific value within that category (such as "test,"
3994
4194
  # "development," or "production"). You can add up to 50 tags to each
3995
- # AWS resource.
4195
+ # Amazon Web Services resource.
3996
4196
  #
3997
4197
  # @note When making an API call, you may pass Tag
3998
4198
  # data as a hash:
@@ -4323,6 +4523,131 @@ module Aws::NetworkFirewall
4323
4523
  include Aws::Structure
4324
4524
  end
4325
4525
 
4526
+ # @note When making an API call, you may pass UpdateFirewallEncryptionConfigurationRequest
4527
+ # data as a hash:
4528
+ #
4529
+ # {
4530
+ # update_token: "UpdateToken",
4531
+ # firewall_arn: "ResourceArn",
4532
+ # firewall_name: "ResourceName",
4533
+ # encryption_configuration: {
4534
+ # key_id: "KeyId",
4535
+ # type: "CUSTOMER_KMS", # required, accepts CUSTOMER_KMS, AWS_OWNED_KMS_KEY
4536
+ # },
4537
+ # }
4538
+ #
4539
+ # @!attribute [rw] update_token
4540
+ # An optional token that you can use for optimistic locking. Network
4541
+ # Firewall returns a token to your requests that access the firewall.
4542
+ # The token marks the state of the firewall resource at the time of
4543
+ # the request.
4544
+ #
4545
+ # To make an unconditional change to the firewall, omit the token in
4546
+ # your update request. Without the token, Network Firewall performs
4547
+ # your updates regardless of whether the firewall has changed since
4548
+ # you last retrieved it.
4549
+ #
4550
+ # To make a conditional change to the firewall, provide the token in
4551
+ # your update request. Network Firewall uses the token to ensure that
4552
+ # the firewall hasn't changed since you last retrieved it. If it has
4553
+ # changed, the operation fails with an `InvalidTokenException`. If
4554
+ # this happens, retrieve the firewall again to get a current copy of
4555
+ # it with a new token. Reapply your changes as needed, then try the
4556
+ # operation again using the new token.
4557
+ # @return [String]
4558
+ #
4559
+ # @!attribute [rw] firewall_arn
4560
+ # The Amazon Resource Name (ARN) of the firewall.
4561
+ # @return [String]
4562
+ #
4563
+ # @!attribute [rw] firewall_name
4564
+ # The descriptive name of the firewall. You can't change the name of
4565
+ # a firewall after you create it.
4566
+ # @return [String]
4567
+ #
4568
+ # @!attribute [rw] encryption_configuration
4569
+ # A complex type that contains optional Amazon Web Services Key
4570
+ # Management Service (KMS) encryption settings for your Network
4571
+ # Firewall resources. Your data is encrypted by default with an Amazon
4572
+ # Web Services owned key that Amazon Web Services owns and manages for
4573
+ # you. You can use either the Amazon Web Services owned key, or
4574
+ # provide your own customer managed key. To learn more about KMS
4575
+ # encryption of your Network Firewall resources, see [Encryption at
4576
+ # rest with Amazon Web Services Key Managment Service][1] in the
4577
+ # *Network Firewall Developer Guide*.
4578
+ #
4579
+ #
4580
+ #
4581
+ # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/kms-encryption-at-rest.html
4582
+ # @return [Types::EncryptionConfiguration]
4583
+ #
4584
+ # @see http://docs.aws.amazon.com/goto/WebAPI/network-firewall-2020-11-12/UpdateFirewallEncryptionConfigurationRequest AWS API Documentation
4585
+ #
4586
+ class UpdateFirewallEncryptionConfigurationRequest < Struct.new(
4587
+ :update_token,
4588
+ :firewall_arn,
4589
+ :firewall_name,
4590
+ :encryption_configuration)
4591
+ SENSITIVE = []
4592
+ include Aws::Structure
4593
+ end
4594
+
4595
+ # @!attribute [rw] firewall_arn
4596
+ # The Amazon Resource Name (ARN) of the firewall.
4597
+ # @return [String]
4598
+ #
4599
+ # @!attribute [rw] firewall_name
4600
+ # The descriptive name of the firewall. You can't change the name of
4601
+ # a firewall after you create it.
4602
+ # @return [String]
4603
+ #
4604
+ # @!attribute [rw] update_token
4605
+ # An optional token that you can use for optimistic locking. Network
4606
+ # Firewall returns a token to your requests that access the firewall.
4607
+ # The token marks the state of the firewall resource at the time of
4608
+ # the request.
4609
+ #
4610
+ # To make an unconditional change to the firewall, omit the token in
4611
+ # your update request. Without the token, Network Firewall performs
4612
+ # your updates regardless of whether the firewall has changed since
4613
+ # you last retrieved it.
4614
+ #
4615
+ # To make a conditional change to the firewall, provide the token in
4616
+ # your update request. Network Firewall uses the token to ensure that
4617
+ # the firewall hasn't changed since you last retrieved it. If it has
4618
+ # changed, the operation fails with an `InvalidTokenException`. If
4619
+ # this happens, retrieve the firewall again to get a current copy of
4620
+ # it with a new token. Reapply your changes as needed, then try the
4621
+ # operation again using the new token.
4622
+ # @return [String]
4623
+ #
4624
+ # @!attribute [rw] encryption_configuration
4625
+ # A complex type that contains optional Amazon Web Services Key
4626
+ # Management Service (KMS) encryption settings for your Network
4627
+ # Firewall resources. Your data is encrypted by default with an Amazon
4628
+ # Web Services owned key that Amazon Web Services owns and manages for
4629
+ # you. You can use either the Amazon Web Services owned key, or
4630
+ # provide your own customer managed key. To learn more about KMS
4631
+ # encryption of your Network Firewall resources, see [Encryption at
4632
+ # rest with Amazon Web Services Key Managment Service][1] in the
4633
+ # *Network Firewall Developer Guide*.
4634
+ #
4635
+ #
4636
+ #
4637
+ # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/kms-encryption-at-rest.html
4638
+ # @return [Types::EncryptionConfiguration]
4639
+ #
4640
+ # @see http://docs.aws.amazon.com/goto/WebAPI/network-firewall-2020-11-12/UpdateFirewallEncryptionConfigurationResponse AWS API Documentation
4641
+ #
4642
+ class UpdateFirewallEncryptionConfigurationResponse < Struct.new(
4643
+ :firewall_arn,
4644
+ :firewall_name,
4645
+ :update_token,
4646
+ :encryption_configuration)
4647
+ SENSITIVE = []
4648
+ include Aws::Structure
4649
+ end
4650
+
4326
4651
  # @note When making an API call, you may pass UpdateFirewallPolicyChangeProtectionRequest
4327
4652
  # data as a hash:
4328
4653
  #
@@ -4479,6 +4804,10 @@ module Aws::NetworkFirewall
4479
4804
  # },
4480
4805
  # description: "Description",
4481
4806
  # dry_run: false,
4807
+ # encryption_configuration: {
4808
+ # key_id: "KeyId",
4809
+ # type: "CUSTOMER_KMS", # required, accepts CUSTOMER_KMS, AWS_OWNED_KMS_KEY
4810
+ # },
4482
4811
  # }
4483
4812
  #
4484
4813
  # @!attribute [rw] update_token
@@ -4532,6 +4861,11 @@ module Aws::NetworkFirewall
4532
4861
  # your resources.
4533
4862
  # @return [Boolean]
4534
4863
  #
4864
+ # @!attribute [rw] encryption_configuration
4865
+ # A complex type that contains settings for encryption of your
4866
+ # firewall policy resources.
4867
+ # @return [Types::EncryptionConfiguration]
4868
+ #
4535
4869
  # @see http://docs.aws.amazon.com/goto/WebAPI/network-firewall-2020-11-12/UpdateFirewallPolicyRequest AWS API Documentation
4536
4870
  #
4537
4871
  class UpdateFirewallPolicyRequest < Struct.new(
@@ -4540,7 +4874,8 @@ module Aws::NetworkFirewall
4540
4874
  :firewall_policy_name,
4541
4875
  :firewall_policy,
4542
4876
  :description,
4543
- :dry_run)
4877
+ :dry_run,
4878
+ :encryption_configuration)
4544
4879
  SENSITIVE = []
4545
4880
  include Aws::Structure
4546
4881
  end
@@ -4632,7 +4967,7 @@ module Aws::NetworkFirewall
4632
4967
  # @return [String]
4633
4968
  #
4634
4969
  # @!attribute [rw] logging_configuration
4635
- # Defines how AWS Network Firewall performs logging for a Firewall.
4970
+ # Defines how Network Firewall performs logging for a Firewall.
4636
4971
  # @return [Types::LoggingConfiguration]
4637
4972
  #
4638
4973
  # @see http://docs.aws.amazon.com/goto/WebAPI/network-firewall-2020-11-12/UpdateLoggingConfigurationResponse AWS API Documentation
@@ -4755,6 +5090,14 @@ module Aws::NetworkFirewall
4755
5090
  # type: "STATELESS", # accepts STATELESS, STATEFUL
4756
5091
  # description: "Description",
4757
5092
  # dry_run: false,
5093
+ # encryption_configuration: {
5094
+ # key_id: "KeyId",
5095
+ # type: "CUSTOMER_KMS", # required, accepts CUSTOMER_KMS, AWS_OWNED_KMS_KEY
5096
+ # },
5097
+ # source_metadata: {
5098
+ # source_arn: "ResourceArn",
5099
+ # source_update_token: "UpdateToken",
5100
+ # },
4758
5101
  # }
4759
5102
  #
4760
5103
  # @!attribute [rw] update_token
@@ -4840,6 +5183,17 @@ module Aws::NetworkFirewall
4840
5183
  # your resources.
4841
5184
  # @return [Boolean]
4842
5185
  #
5186
+ # @!attribute [rw] encryption_configuration
5187
+ # A complex type that contains settings for encryption of your rule
5188
+ # group resources.
5189
+ # @return [Types::EncryptionConfiguration]
5190
+ #
5191
+ # @!attribute [rw] source_metadata
5192
+ # A complex type that contains metadata about the rule group that your
5193
+ # own rule group is copied from. You can use the metadata to keep
5194
+ # track of updates made to the originating rule group.
5195
+ # @return [Types::SourceMetadata]
5196
+ #
4843
5197
  # @see http://docs.aws.amazon.com/goto/WebAPI/network-firewall-2020-11-12/UpdateRuleGroupRequest AWS API Documentation
4844
5198
  #
4845
5199
  class UpdateRuleGroupRequest < Struct.new(
@@ -4850,7 +5204,9 @@ module Aws::NetworkFirewall
4850
5204
  :rules,
4851
5205
  :type,
4852
5206
  :description,
4853
- :dry_run)
5207
+ :dry_run,
5208
+ :encryption_configuration,
5209
+ :source_metadata)
4854
5210
  SENSITIVE = []
4855
5211
  include Aws::Structure
4856
5212
  end