aws-sdk-fms 1.32.0 → 1.33.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: 9457496898387c68d4bae01a7ea97f7c0c1fe73ff4cefacb2e5d7977845b3a01
4
- data.tar.gz: 3b40ad228d2cdf95aa7e1287fa5c6197dd912222e9e7ed1c5aac84a9967fc491
3
+ metadata.gz: db4d701077981c960c71223fdd45be041e1f894c48223bb2cbe7e81c050a1a87
4
+ data.tar.gz: 58c0a54e63917e0abb207951b7cf72d9854b4aa3704da1cc65d82a7ca79e33d9
5
5
  SHA512:
6
- metadata.gz: c17dbad12b9cde7435992286ab65416c228f3bd020c41f3273c6a1c55d897e875a364186d641f8d9c6e8119e2a7948ab961af37438fcc68b93c613ed7e670de9
7
- data.tar.gz: 81cfd8d5e23c34356ffacf08fde13a831c827e46bca8eaad8f2cba47b5ee7a193b1e88ad99f6ca1a6d880b35e4ff1262f060504e55566b96e9ef6c41e3c19a7d
6
+ metadata.gz: 55c07a19e2009d812925576000d529d088c67d66e0a541b9558c8ca7686886d7d9200b6328495c74943211feddc60361f478525d4cfc9c28b48175bca3c1063d
7
+ data.tar.gz: 2183267a9b5331b8c378bcf7d680900e62461ae47628e3a0e86c62383bb9b22bdbf789cd6506709e07f42dac8463d9f6fb36d745ee3cd9ae9b50e1426a3d3875
@@ -48,6 +48,6 @@ require_relative 'aws-sdk-fms/customizations'
48
48
  # @!group service
49
49
  module Aws::FMS
50
50
 
51
- GEM_VERSION = '1.32.0'
51
+ GEM_VERSION = '1.33.0'
52
52
 
53
53
  end
@@ -587,7 +587,12 @@ module Aws::FMS
587
587
  # been applied to them. Resources are considered noncompliant for
588
588
  # security group policies if they are in scope of the policy, they
589
589
  # violate one or more of the policy rules, and remediation is disabled
590
- # or not possible.
590
+ # or not possible. Resources are considered noncompliant for Network
591
+ # Firewall policies if a firewall is missing in the VPC, if the firewall
592
+ # endpoint isn't set up in an expected Availability Zone and subnet, if
593
+ # a subnet created by the Firewall Manager doesn't have the expected
594
+ # route table, and for modifications to a firewall policy that violate
595
+ # the Firewall Manager policy's rules.
591
596
  #
592
597
  # @option params [required, String] :policy_id
593
598
  # The ID of the policy that you want to get the details for. `PolicyId`
@@ -615,7 +620,7 @@ module Aws::FMS
615
620
  # resp.policy_compliance_detail.member_account #=> String
616
621
  # resp.policy_compliance_detail.violators #=> Array
617
622
  # resp.policy_compliance_detail.violators[0].resource_id #=> String
618
- # resp.policy_compliance_detail.violators[0].violation_reason #=> String, one of "WEB_ACL_MISSING_RULE_GROUP", "RESOURCE_MISSING_WEB_ACL", "RESOURCE_INCORRECT_WEB_ACL", "RESOURCE_MISSING_SHIELD_PROTECTION", "RESOURCE_MISSING_WEB_ACL_OR_SHIELD_PROTECTION", "RESOURCE_MISSING_SECURITY_GROUP", "RESOURCE_VIOLATES_AUDIT_SECURITY_GROUP", "SECURITY_GROUP_UNUSED", "SECURITY_GROUP_REDUNDANT"
623
+ # resp.policy_compliance_detail.violators[0].violation_reason #=> String, one of "WEB_ACL_MISSING_RULE_GROUP", "RESOURCE_MISSING_WEB_ACL", "RESOURCE_INCORRECT_WEB_ACL", "RESOURCE_MISSING_SHIELD_PROTECTION", "RESOURCE_MISSING_WEB_ACL_OR_SHIELD_PROTECTION", "RESOURCE_MISSING_SECURITY_GROUP", "RESOURCE_VIOLATES_AUDIT_SECURITY_GROUP", "SECURITY_GROUP_UNUSED", "SECURITY_GROUP_REDUNDANT", "MISSING_FIREWALL", "MISSING_FIREWALL_SUBNET_IN_AZ", "MISSING_EXPECTED_ROUTE_TABLE", "NETWORK_FIREWALL_POLICY_MODIFIED"
619
624
  # resp.policy_compliance_detail.violators[0].resource_type #=> String
620
625
  # resp.policy_compliance_detail.evaluation_limit_exceeded #=> Boolean
621
626
  # resp.policy_compliance_detail.expired_at #=> Time
@@ -675,7 +680,7 @@ module Aws::FMS
675
680
  # resp.policy.policy_id #=> String
676
681
  # resp.policy.policy_name #=> String
677
682
  # resp.policy.policy_update_token #=> String
678
- # resp.policy.security_service_policy_data.type #=> String, one of "WAF", "WAFV2", "SHIELD_ADVANCED", "SECURITY_GROUPS_COMMON", "SECURITY_GROUPS_CONTENT_AUDIT", "SECURITY_GROUPS_USAGE_AUDIT"
683
+ # resp.policy.security_service_policy_data.type #=> String, one of "WAF", "WAFV2", "SHIELD_ADVANCED", "SECURITY_GROUPS_COMMON", "SECURITY_GROUPS_CONTENT_AUDIT", "SECURITY_GROUPS_USAGE_AUDIT", "NETWORK_FIREWALL"
679
684
  # resp.policy.security_service_policy_data.managed_service_data #=> String
680
685
  # resp.policy.resource_type #=> String
681
686
  # resp.policy.resource_type_list #=> Array
@@ -761,7 +766,7 @@ module Aws::FMS
761
766
  # @example Response structure
762
767
  #
763
768
  # resp.admin_account_id #=> String
764
- # resp.service_type #=> String, one of "WAF", "WAFV2", "SHIELD_ADVANCED", "SECURITY_GROUPS_COMMON", "SECURITY_GROUPS_CONTENT_AUDIT", "SECURITY_GROUPS_USAGE_AUDIT"
769
+ # resp.service_type #=> String, one of "WAF", "WAFV2", "SHIELD_ADVANCED", "SECURITY_GROUPS_COMMON", "SECURITY_GROUPS_CONTENT_AUDIT", "SECURITY_GROUPS_USAGE_AUDIT", "NETWORK_FIREWALL"
765
770
  # resp.data #=> String
766
771
  # resp.next_token #=> String
767
772
  #
@@ -837,8 +842,9 @@ module Aws::FMS
837
842
  # @option params [required, String] :resource_type
838
843
  # The resource type. This is in the format shown in the [AWS Resource
839
844
  # Types Reference][1]. Supported resource types are:
840
- # `AWS::EC2::Instance`, `AWS::EC2::NetworkInterface`, or
841
- # `AWS::EC2::SecurityGroup`.
845
+ # `AWS::EC2::Instance`, `AWS::EC2::NetworkInterface`,
846
+ # `AWS::EC2::SecurityGroup`, `AWS::NetworkFirewall::FirewallPolicy`, and
847
+ # `AWS::EC2::Subnet`.
842
848
  #
843
849
  #
844
850
  #
@@ -888,6 +894,46 @@ module Aws::FMS
888
894
  # resp.violation_detail.resource_violations[0].aws_ec2_instance_violation.aws_ec2_network_interface_violations[0].violation_target #=> String
889
895
  # resp.violation_detail.resource_violations[0].aws_ec2_instance_violation.aws_ec2_network_interface_violations[0].violating_security_groups #=> Array
890
896
  # resp.violation_detail.resource_violations[0].aws_ec2_instance_violation.aws_ec2_network_interface_violations[0].violating_security_groups[0] #=> String
897
+ # resp.violation_detail.resource_violations[0].network_firewall_missing_firewall_violation.violation_target #=> String
898
+ # resp.violation_detail.resource_violations[0].network_firewall_missing_firewall_violation.vpc #=> String
899
+ # resp.violation_detail.resource_violations[0].network_firewall_missing_firewall_violation.availability_zone #=> String
900
+ # resp.violation_detail.resource_violations[0].network_firewall_missing_firewall_violation.target_violation_reason #=> String
901
+ # resp.violation_detail.resource_violations[0].network_firewall_missing_subnet_violation.violation_target #=> String
902
+ # resp.violation_detail.resource_violations[0].network_firewall_missing_subnet_violation.vpc #=> String
903
+ # resp.violation_detail.resource_violations[0].network_firewall_missing_subnet_violation.availability_zone #=> String
904
+ # resp.violation_detail.resource_violations[0].network_firewall_missing_subnet_violation.target_violation_reason #=> String
905
+ # resp.violation_detail.resource_violations[0].network_firewall_missing_expected_rt_violation.violation_target #=> String
906
+ # resp.violation_detail.resource_violations[0].network_firewall_missing_expected_rt_violation.vpc #=> String
907
+ # resp.violation_detail.resource_violations[0].network_firewall_missing_expected_rt_violation.availability_zone #=> String
908
+ # resp.violation_detail.resource_violations[0].network_firewall_missing_expected_rt_violation.current_route_table #=> String
909
+ # resp.violation_detail.resource_violations[0].network_firewall_missing_expected_rt_violation.expected_route_table #=> String
910
+ # resp.violation_detail.resource_violations[0].network_firewall_policy_modified_violation.violation_target #=> String
911
+ # resp.violation_detail.resource_violations[0].network_firewall_policy_modified_violation.current_policy_description.stateless_rule_groups #=> Array
912
+ # resp.violation_detail.resource_violations[0].network_firewall_policy_modified_violation.current_policy_description.stateless_rule_groups[0].rule_group_name #=> String
913
+ # resp.violation_detail.resource_violations[0].network_firewall_policy_modified_violation.current_policy_description.stateless_rule_groups[0].resource_id #=> String
914
+ # resp.violation_detail.resource_violations[0].network_firewall_policy_modified_violation.current_policy_description.stateless_rule_groups[0].priority #=> Integer
915
+ # resp.violation_detail.resource_violations[0].network_firewall_policy_modified_violation.current_policy_description.stateless_default_actions #=> Array
916
+ # resp.violation_detail.resource_violations[0].network_firewall_policy_modified_violation.current_policy_description.stateless_default_actions[0] #=> String
917
+ # resp.violation_detail.resource_violations[0].network_firewall_policy_modified_violation.current_policy_description.stateless_fragment_default_actions #=> Array
918
+ # resp.violation_detail.resource_violations[0].network_firewall_policy_modified_violation.current_policy_description.stateless_fragment_default_actions[0] #=> String
919
+ # resp.violation_detail.resource_violations[0].network_firewall_policy_modified_violation.current_policy_description.stateless_custom_actions #=> Array
920
+ # resp.violation_detail.resource_violations[0].network_firewall_policy_modified_violation.current_policy_description.stateless_custom_actions[0] #=> String
921
+ # resp.violation_detail.resource_violations[0].network_firewall_policy_modified_violation.current_policy_description.stateful_rule_groups #=> Array
922
+ # resp.violation_detail.resource_violations[0].network_firewall_policy_modified_violation.current_policy_description.stateful_rule_groups[0].rule_group_name #=> String
923
+ # resp.violation_detail.resource_violations[0].network_firewall_policy_modified_violation.current_policy_description.stateful_rule_groups[0].resource_id #=> String
924
+ # resp.violation_detail.resource_violations[0].network_firewall_policy_modified_violation.expected_policy_description.stateless_rule_groups #=> Array
925
+ # resp.violation_detail.resource_violations[0].network_firewall_policy_modified_violation.expected_policy_description.stateless_rule_groups[0].rule_group_name #=> String
926
+ # resp.violation_detail.resource_violations[0].network_firewall_policy_modified_violation.expected_policy_description.stateless_rule_groups[0].resource_id #=> String
927
+ # resp.violation_detail.resource_violations[0].network_firewall_policy_modified_violation.expected_policy_description.stateless_rule_groups[0].priority #=> Integer
928
+ # resp.violation_detail.resource_violations[0].network_firewall_policy_modified_violation.expected_policy_description.stateless_default_actions #=> Array
929
+ # resp.violation_detail.resource_violations[0].network_firewall_policy_modified_violation.expected_policy_description.stateless_default_actions[0] #=> String
930
+ # resp.violation_detail.resource_violations[0].network_firewall_policy_modified_violation.expected_policy_description.stateless_fragment_default_actions #=> Array
931
+ # resp.violation_detail.resource_violations[0].network_firewall_policy_modified_violation.expected_policy_description.stateless_fragment_default_actions[0] #=> String
932
+ # resp.violation_detail.resource_violations[0].network_firewall_policy_modified_violation.expected_policy_description.stateless_custom_actions #=> Array
933
+ # resp.violation_detail.resource_violations[0].network_firewall_policy_modified_violation.expected_policy_description.stateless_custom_actions[0] #=> String
934
+ # resp.violation_detail.resource_violations[0].network_firewall_policy_modified_violation.expected_policy_description.stateful_rule_groups #=> Array
935
+ # resp.violation_detail.resource_violations[0].network_firewall_policy_modified_violation.expected_policy_description.stateful_rule_groups[0].rule_group_name #=> String
936
+ # resp.violation_detail.resource_violations[0].network_firewall_policy_modified_violation.expected_policy_description.stateful_rule_groups[0].resource_id #=> String
891
937
  # resp.violation_detail.resource_tags #=> Array
892
938
  # resp.violation_detail.resource_tags[0].key #=> String
893
939
  # resp.violation_detail.resource_tags[0].value #=> String
@@ -1113,7 +1159,7 @@ module Aws::FMS
1113
1159
  # resp.policy_list[0].policy_id #=> String
1114
1160
  # resp.policy_list[0].policy_name #=> String
1115
1161
  # resp.policy_list[0].resource_type #=> String
1116
- # resp.policy_list[0].security_service_type #=> String, one of "WAF", "WAFV2", "SHIELD_ADVANCED", "SECURITY_GROUPS_COMMON", "SECURITY_GROUPS_CONTENT_AUDIT", "SECURITY_GROUPS_USAGE_AUDIT"
1162
+ # resp.policy_list[0].security_service_type #=> String, one of "WAF", "WAFV2", "SHIELD_ADVANCED", "SECURITY_GROUPS_COMMON", "SECURITY_GROUPS_CONTENT_AUDIT", "SECURITY_GROUPS_USAGE_AUDIT", "NETWORK_FIREWALL"
1117
1163
  # resp.policy_list[0].remediation_enabled #=> Boolean
1118
1164
  # resp.next_token #=> String
1119
1165
  #
@@ -1290,6 +1336,16 @@ module Aws::FMS
1290
1336
  # Designates the IAM role and Amazon Simple Notification Service (SNS)
1291
1337
  # topic that AWS Firewall Manager uses to record SNS logs.
1292
1338
  #
1339
+ # To perform this action outside of the console, you must configure the
1340
+ # SNS topic to allow the Firewall Manager role `AWSServiceRoleForFMS` to
1341
+ # publish SNS logs. For more information, see [Firewall Manager required
1342
+ # permissions for API actions][1] in the *AWS Firewall Manager Developer
1343
+ # Guide*.
1344
+ #
1345
+ #
1346
+ #
1347
+ # [1]: https://docs.aws.amazon.com/waf/latest/developerguide/fms-api-permissions-ref.html
1348
+ #
1293
1349
  # @option params [required, String] :sns_topic_arn
1294
1350
  # The Amazon Resource Name (ARN) of the SNS topic that collects
1295
1351
  # notifications from AWS Firewall Manager.
@@ -1320,18 +1376,21 @@ module Aws::FMS
1320
1376
  #
1321
1377
  # Firewall Manager provides the following types of policies:
1322
1378
  #
1323
- # * A Shield Advanced policy, which applies Shield Advanced protection
1324
- # to specified accounts and resources
1325
- #
1326
1379
  # * An AWS WAF policy (type WAFV2), which defines rule groups to run
1327
1380
  # first in the corresponding AWS WAF web ACL and rule groups to run
1328
1381
  # last in the web ACL.
1329
1382
  #
1330
1383
  # * An AWS WAF Classic policy (type WAF), which defines a rule group.
1331
1384
  #
1385
+ # * A Shield Advanced policy, which applies Shield Advanced protection
1386
+ # to specified accounts and resources.
1387
+ #
1332
1388
  # * A security group policy, which manages VPC security groups across
1333
1389
  # your AWS organization.
1334
1390
  #
1391
+ # * An AWS Network Firewall policy, which provides firewall rules to
1392
+ # filter network traffic in specified Amazon VPCs.
1393
+ #
1335
1394
  # Each policy is specific to one of the types. If you want to enforce
1336
1395
  # more than one policy type across accounts, create multiple policies.
1337
1396
  # You can create multiple policies for each type.
@@ -1363,7 +1422,7 @@ module Aws::FMS
1363
1422
  # policy_name: "ResourceName", # required
1364
1423
  # policy_update_token: "PolicyUpdateToken",
1365
1424
  # security_service_policy_data: { # required
1366
- # type: "WAF", # required, accepts WAF, WAFV2, SHIELD_ADVANCED, SECURITY_GROUPS_COMMON, SECURITY_GROUPS_CONTENT_AUDIT, SECURITY_GROUPS_USAGE_AUDIT
1425
+ # type: "WAF", # required, accepts WAF, WAFV2, SHIELD_ADVANCED, SECURITY_GROUPS_COMMON, SECURITY_GROUPS_CONTENT_AUDIT, SECURITY_GROUPS_USAGE_AUDIT, NETWORK_FIREWALL
1367
1426
  # managed_service_data: "ManagedServiceData",
1368
1427
  # },
1369
1428
  # resource_type: "ResourceType", # required
@@ -1396,7 +1455,7 @@ module Aws::FMS
1396
1455
  # resp.policy.policy_id #=> String
1397
1456
  # resp.policy.policy_name #=> String
1398
1457
  # resp.policy.policy_update_token #=> String
1399
- # resp.policy.security_service_policy_data.type #=> String, one of "WAF", "WAFV2", "SHIELD_ADVANCED", "SECURITY_GROUPS_COMMON", "SECURITY_GROUPS_CONTENT_AUDIT", "SECURITY_GROUPS_USAGE_AUDIT"
1458
+ # resp.policy.security_service_policy_data.type #=> String, one of "WAF", "WAFV2", "SHIELD_ADVANCED", "SECURITY_GROUPS_COMMON", "SECURITY_GROUPS_CONTENT_AUDIT", "SECURITY_GROUPS_USAGE_AUDIT", "NETWORK_FIREWALL"
1400
1459
  # resp.policy.security_service_policy_data.managed_service_data #=> String
1401
1460
  # resp.policy.resource_type #=> String
1402
1461
  # resp.policy.resource_type_list #=> Array
@@ -1555,7 +1614,7 @@ module Aws::FMS
1555
1614
  params: params,
1556
1615
  config: config)
1557
1616
  context[:gem_name] = 'aws-sdk-fms'
1558
- context[:gem_version] = '1.32.0'
1617
+ context[:gem_version] = '1.33.0'
1559
1618
  Seahorse::Client::Request.new(handlers, context)
1560
1619
  end
1561
1620
 
@@ -82,6 +82,14 @@ module Aws::FMS
82
82
  ListTagsForResourceResponse = Shapes::StructureShape.new(name: 'ListTagsForResourceResponse')
83
83
  ManagedServiceData = Shapes::StringShape.new(name: 'ManagedServiceData')
84
84
  MemberAccounts = Shapes::ListShape.new(name: 'MemberAccounts')
85
+ NetworkFirewallAction = Shapes::StringShape.new(name: 'NetworkFirewallAction')
86
+ NetworkFirewallActionList = Shapes::ListShape.new(name: 'NetworkFirewallActionList')
87
+ NetworkFirewallMissingExpectedRTViolation = Shapes::StructureShape.new(name: 'NetworkFirewallMissingExpectedRTViolation')
88
+ NetworkFirewallMissingFirewallViolation = Shapes::StructureShape.new(name: 'NetworkFirewallMissingFirewallViolation')
89
+ NetworkFirewallMissingSubnetViolation = Shapes::StructureShape.new(name: 'NetworkFirewallMissingSubnetViolation')
90
+ NetworkFirewallPolicyDescription = Shapes::StructureShape.new(name: 'NetworkFirewallPolicyDescription')
91
+ NetworkFirewallPolicyModifiedViolation = Shapes::StructureShape.new(name: 'NetworkFirewallPolicyModifiedViolation')
92
+ NetworkFirewallResourceName = Shapes::StringShape.new(name: 'NetworkFirewallResourceName')
85
93
  PaginationMaxResults = Shapes::IntegerShape.new(name: 'PaginationMaxResults')
86
94
  PaginationToken = Shapes::StringShape.new(name: 'PaginationToken')
87
95
  PartialMatch = Shapes::StructureShape.new(name: 'PartialMatch')
@@ -133,6 +141,11 @@ module Aws::FMS
133
141
  SecurityGroupRuleDescription = Shapes::StructureShape.new(name: 'SecurityGroupRuleDescription')
134
142
  SecurityServicePolicyData = Shapes::StructureShape.new(name: 'SecurityServicePolicyData')
135
143
  SecurityServiceType = Shapes::StringShape.new(name: 'SecurityServiceType')
144
+ StatefulRuleGroup = Shapes::StructureShape.new(name: 'StatefulRuleGroup')
145
+ StatefulRuleGroupList = Shapes::ListShape.new(name: 'StatefulRuleGroupList')
146
+ StatelessRuleGroup = Shapes::StructureShape.new(name: 'StatelessRuleGroup')
147
+ StatelessRuleGroupList = Shapes::ListShape.new(name: 'StatelessRuleGroupList')
148
+ StatelessRuleGroupPriority = Shapes::IntegerShape.new(name: 'StatelessRuleGroupPriority')
136
149
  Tag = Shapes::StructureShape.new(name: 'Tag')
137
150
  TagKey = Shapes::StringShape.new(name: 'TagKey')
138
151
  TagKeyList = Shapes::ListShape.new(name: 'TagKeyList')
@@ -360,6 +373,39 @@ module Aws::FMS
360
373
 
361
374
  MemberAccounts.member = Shapes::ShapeRef.new(shape: AWSAccountId)
362
375
 
376
+ NetworkFirewallActionList.member = Shapes::ShapeRef.new(shape: NetworkFirewallAction)
377
+
378
+ NetworkFirewallMissingExpectedRTViolation.add_member(:violation_target, Shapes::ShapeRef.new(shape: ViolationTarget, location_name: "ViolationTarget"))
379
+ NetworkFirewallMissingExpectedRTViolation.add_member(:vpc, Shapes::ShapeRef.new(shape: ResourceId, location_name: "VPC"))
380
+ NetworkFirewallMissingExpectedRTViolation.add_member(:availability_zone, Shapes::ShapeRef.new(shape: LengthBoundedString, location_name: "AvailabilityZone"))
381
+ NetworkFirewallMissingExpectedRTViolation.add_member(:current_route_table, Shapes::ShapeRef.new(shape: ResourceId, location_name: "CurrentRouteTable"))
382
+ NetworkFirewallMissingExpectedRTViolation.add_member(:expected_route_table, Shapes::ShapeRef.new(shape: ResourceId, location_name: "ExpectedRouteTable"))
383
+ NetworkFirewallMissingExpectedRTViolation.struct_class = Types::NetworkFirewallMissingExpectedRTViolation
384
+
385
+ NetworkFirewallMissingFirewallViolation.add_member(:violation_target, Shapes::ShapeRef.new(shape: ViolationTarget, location_name: "ViolationTarget"))
386
+ NetworkFirewallMissingFirewallViolation.add_member(:vpc, Shapes::ShapeRef.new(shape: ResourceId, location_name: "VPC"))
387
+ NetworkFirewallMissingFirewallViolation.add_member(:availability_zone, Shapes::ShapeRef.new(shape: LengthBoundedString, location_name: "AvailabilityZone"))
388
+ NetworkFirewallMissingFirewallViolation.add_member(:target_violation_reason, Shapes::ShapeRef.new(shape: TargetViolationReason, location_name: "TargetViolationReason"))
389
+ NetworkFirewallMissingFirewallViolation.struct_class = Types::NetworkFirewallMissingFirewallViolation
390
+
391
+ NetworkFirewallMissingSubnetViolation.add_member(:violation_target, Shapes::ShapeRef.new(shape: ViolationTarget, location_name: "ViolationTarget"))
392
+ NetworkFirewallMissingSubnetViolation.add_member(:vpc, Shapes::ShapeRef.new(shape: ResourceId, location_name: "VPC"))
393
+ NetworkFirewallMissingSubnetViolation.add_member(:availability_zone, Shapes::ShapeRef.new(shape: LengthBoundedString, location_name: "AvailabilityZone"))
394
+ NetworkFirewallMissingSubnetViolation.add_member(:target_violation_reason, Shapes::ShapeRef.new(shape: TargetViolationReason, location_name: "TargetViolationReason"))
395
+ NetworkFirewallMissingSubnetViolation.struct_class = Types::NetworkFirewallMissingSubnetViolation
396
+
397
+ NetworkFirewallPolicyDescription.add_member(:stateless_rule_groups, Shapes::ShapeRef.new(shape: StatelessRuleGroupList, location_name: "StatelessRuleGroups"))
398
+ NetworkFirewallPolicyDescription.add_member(:stateless_default_actions, Shapes::ShapeRef.new(shape: NetworkFirewallActionList, location_name: "StatelessDefaultActions"))
399
+ NetworkFirewallPolicyDescription.add_member(:stateless_fragment_default_actions, Shapes::ShapeRef.new(shape: NetworkFirewallActionList, location_name: "StatelessFragmentDefaultActions"))
400
+ NetworkFirewallPolicyDescription.add_member(:stateless_custom_actions, Shapes::ShapeRef.new(shape: NetworkFirewallActionList, location_name: "StatelessCustomActions"))
401
+ NetworkFirewallPolicyDescription.add_member(:stateful_rule_groups, Shapes::ShapeRef.new(shape: StatefulRuleGroupList, location_name: "StatefulRuleGroups"))
402
+ NetworkFirewallPolicyDescription.struct_class = Types::NetworkFirewallPolicyDescription
403
+
404
+ NetworkFirewallPolicyModifiedViolation.add_member(:violation_target, Shapes::ShapeRef.new(shape: ViolationTarget, location_name: "ViolationTarget"))
405
+ NetworkFirewallPolicyModifiedViolation.add_member(:current_policy_description, Shapes::ShapeRef.new(shape: NetworkFirewallPolicyDescription, location_name: "CurrentPolicyDescription"))
406
+ NetworkFirewallPolicyModifiedViolation.add_member(:expected_policy_description, Shapes::ShapeRef.new(shape: NetworkFirewallPolicyDescription, location_name: "ExpectedPolicyDescription"))
407
+ NetworkFirewallPolicyModifiedViolation.struct_class = Types::NetworkFirewallPolicyModifiedViolation
408
+
363
409
  PartialMatch.add_member(:reference, Shapes::ShapeRef.new(shape: ReferenceRule, location_name: "Reference"))
364
410
  PartialMatch.add_member(:target_violation_reasons, Shapes::ShapeRef.new(shape: TargetViolationReasons, location_name: "TargetViolationReasons"))
365
411
  PartialMatch.struct_class = Types::PartialMatch
@@ -478,6 +524,10 @@ module Aws::FMS
478
524
  ResourceViolation.add_member(:aws_vpc_security_group_violation, Shapes::ShapeRef.new(shape: AwsVPCSecurityGroupViolation, location_name: "AwsVPCSecurityGroupViolation"))
479
525
  ResourceViolation.add_member(:aws_ec2_network_interface_violation, Shapes::ShapeRef.new(shape: AwsEc2NetworkInterfaceViolation, location_name: "AwsEc2NetworkInterfaceViolation"))
480
526
  ResourceViolation.add_member(:aws_ec2_instance_violation, Shapes::ShapeRef.new(shape: AwsEc2InstanceViolation, location_name: "AwsEc2InstanceViolation"))
527
+ ResourceViolation.add_member(:network_firewall_missing_firewall_violation, Shapes::ShapeRef.new(shape: NetworkFirewallMissingFirewallViolation, location_name: "NetworkFirewallMissingFirewallViolation"))
528
+ ResourceViolation.add_member(:network_firewall_missing_subnet_violation, Shapes::ShapeRef.new(shape: NetworkFirewallMissingSubnetViolation, location_name: "NetworkFirewallMissingSubnetViolation"))
529
+ ResourceViolation.add_member(:network_firewall_missing_expected_rt_violation, Shapes::ShapeRef.new(shape: NetworkFirewallMissingExpectedRTViolation, location_name: "NetworkFirewallMissingExpectedRTViolation"))
530
+ ResourceViolation.add_member(:network_firewall_policy_modified_violation, Shapes::ShapeRef.new(shape: NetworkFirewallPolicyModifiedViolation, location_name: "NetworkFirewallPolicyModifiedViolation"))
481
531
  ResourceViolation.struct_class = Types::ResourceViolation
482
532
 
483
533
  ResourceViolations.member = Shapes::ShapeRef.new(shape: ResourceViolation)
@@ -502,6 +552,19 @@ module Aws::FMS
502
552
  SecurityServicePolicyData.add_member(:managed_service_data, Shapes::ShapeRef.new(shape: ManagedServiceData, location_name: "ManagedServiceData"))
503
553
  SecurityServicePolicyData.struct_class = Types::SecurityServicePolicyData
504
554
 
555
+ StatefulRuleGroup.add_member(:rule_group_name, Shapes::ShapeRef.new(shape: NetworkFirewallResourceName, location_name: "RuleGroupName"))
556
+ StatefulRuleGroup.add_member(:resource_id, Shapes::ShapeRef.new(shape: ResourceId, location_name: "ResourceId"))
557
+ StatefulRuleGroup.struct_class = Types::StatefulRuleGroup
558
+
559
+ StatefulRuleGroupList.member = Shapes::ShapeRef.new(shape: StatefulRuleGroup)
560
+
561
+ StatelessRuleGroup.add_member(:rule_group_name, Shapes::ShapeRef.new(shape: NetworkFirewallResourceName, location_name: "RuleGroupName"))
562
+ StatelessRuleGroup.add_member(:resource_id, Shapes::ShapeRef.new(shape: ResourceId, location_name: "ResourceId"))
563
+ StatelessRuleGroup.add_member(:priority, Shapes::ShapeRef.new(shape: StatelessRuleGroupPriority, location_name: "Priority"))
564
+ StatelessRuleGroup.struct_class = Types::StatelessRuleGroup
565
+
566
+ StatelessRuleGroupList.member = Shapes::ShapeRef.new(shape: StatelessRuleGroup)
567
+
505
568
  Tag.add_member(:key, Shapes::ShapeRef.new(shape: TagKey, required: true, location_name: "Key"))
506
569
  Tag.add_member(:value, Shapes::ShapeRef.new(shape: TagValue, required: true, location_name: "Value"))
507
570
  Tag.struct_class = Types::Tag
@@ -595,6 +658,8 @@ module Aws::FMS
595
658
  o.errors << Shapes::ShapeRef.new(shape: ResourceNotFoundException)
596
659
  o.errors << Shapes::ShapeRef.new(shape: InvalidOperationException)
597
660
  o.errors << Shapes::ShapeRef.new(shape: InternalErrorException)
661
+ o.errors << Shapes::ShapeRef.new(shape: InvalidInputException)
662
+ o.errors << Shapes::ShapeRef.new(shape: LimitExceededException)
598
663
  end)
599
664
 
600
665
  api.add_operation(:delete_protocols_list, Seahorse::Model::Operation.new.tap do |o|
@@ -267,8 +267,9 @@ module Aws::FMS
267
267
  # @!attribute [rw] resource_type
268
268
  # The resource type. This is in the format shown in the [AWS Resource
269
269
  # Types Reference][1]. For example:
270
- # `AWS::ElasticLoadBalancingV2::LoadBalancer` or
271
- # `AWS::CloudFront::Distribution`.
270
+ # `AWS::ElasticLoadBalancingV2::LoadBalancer`,
271
+ # `AWS::CloudFront::Distribution`, or
272
+ # `AWS::NetworkFirewall::FirewallPolicy`.
272
273
  #
273
274
  #
274
275
  #
@@ -785,8 +786,9 @@ module Aws::FMS
785
786
  # @!attribute [rw] resource_type
786
787
  # The resource type. This is in the format shown in the [AWS Resource
787
788
  # Types Reference][1]. Supported resource types are:
788
- # `AWS::EC2::Instance`, `AWS::EC2::NetworkInterface`, or
789
- # `AWS::EC2::SecurityGroup`.
789
+ # `AWS::EC2::Instance`, `AWS::EC2::NetworkInterface`,
790
+ # `AWS::EC2::SecurityGroup`, `AWS::NetworkFirewall::FirewallPolicy`,
791
+ # and `AWS::EC2::Subnet`.
790
792
  #
791
793
  #
792
794
  #
@@ -1231,6 +1233,173 @@ module Aws::FMS
1231
1233
  include Aws::Structure
1232
1234
  end
1233
1235
 
1236
+ # Violation details for AWS Network Firewall for a subnet that's not
1237
+ # associated to the expected Firewall Manager managed route table.
1238
+ #
1239
+ # @!attribute [rw] violation_target
1240
+ # The ID of the AWS Network Firewall or VPC resource that's in
1241
+ # violation.
1242
+ # @return [String]
1243
+ #
1244
+ # @!attribute [rw] vpc
1245
+ # The resource ID of the VPC associated with a violating subnet.
1246
+ # @return [String]
1247
+ #
1248
+ # @!attribute [rw] availability_zone
1249
+ # The Availability Zone of a violating subnet.
1250
+ # @return [String]
1251
+ #
1252
+ # @!attribute [rw] current_route_table
1253
+ # The resource ID of the current route table that's associated with
1254
+ # the subnet, if one is available.
1255
+ # @return [String]
1256
+ #
1257
+ # @!attribute [rw] expected_route_table
1258
+ # The resource ID of the route table that should be associated with
1259
+ # the subnet.
1260
+ # @return [String]
1261
+ #
1262
+ # @see http://docs.aws.amazon.com/goto/WebAPI/fms-2018-01-01/NetworkFirewallMissingExpectedRTViolation AWS API Documentation
1263
+ #
1264
+ class NetworkFirewallMissingExpectedRTViolation < Struct.new(
1265
+ :violation_target,
1266
+ :vpc,
1267
+ :availability_zone,
1268
+ :current_route_table,
1269
+ :expected_route_table)
1270
+ SENSITIVE = []
1271
+ include Aws::Structure
1272
+ end
1273
+
1274
+ # Violation details for AWS Network Firewall for a subnet that doesn't
1275
+ # have a Firewall Manager managed firewall in its VPC.
1276
+ #
1277
+ # @!attribute [rw] violation_target
1278
+ # The ID of the AWS Network Firewall or VPC resource that's in
1279
+ # violation.
1280
+ # @return [String]
1281
+ #
1282
+ # @!attribute [rw] vpc
1283
+ # The resource ID of the VPC associated with a violating subnet.
1284
+ # @return [String]
1285
+ #
1286
+ # @!attribute [rw] availability_zone
1287
+ # The Availability Zone of a violating subnet.
1288
+ # @return [String]
1289
+ #
1290
+ # @!attribute [rw] target_violation_reason
1291
+ # The reason the resource has this violation, if one is available.
1292
+ # @return [String]
1293
+ #
1294
+ # @see http://docs.aws.amazon.com/goto/WebAPI/fms-2018-01-01/NetworkFirewallMissingFirewallViolation AWS API Documentation
1295
+ #
1296
+ class NetworkFirewallMissingFirewallViolation < Struct.new(
1297
+ :violation_target,
1298
+ :vpc,
1299
+ :availability_zone,
1300
+ :target_violation_reason)
1301
+ SENSITIVE = []
1302
+ include Aws::Structure
1303
+ end
1304
+
1305
+ # Violation details for AWS Network Firewall for an Availability Zone
1306
+ # that's missing the expected Firewall Manager managed subnet.
1307
+ #
1308
+ # @!attribute [rw] violation_target
1309
+ # The ID of the AWS Network Firewall or VPC resource that's in
1310
+ # violation.
1311
+ # @return [String]
1312
+ #
1313
+ # @!attribute [rw] vpc
1314
+ # The resource ID of the VPC associated with a violating subnet.
1315
+ # @return [String]
1316
+ #
1317
+ # @!attribute [rw] availability_zone
1318
+ # The Availability Zone of a violating subnet.
1319
+ # @return [String]
1320
+ #
1321
+ # @!attribute [rw] target_violation_reason
1322
+ # The reason the resource has this violation, if one is available.
1323
+ # @return [String]
1324
+ #
1325
+ # @see http://docs.aws.amazon.com/goto/WebAPI/fms-2018-01-01/NetworkFirewallMissingSubnetViolation AWS API Documentation
1326
+ #
1327
+ class NetworkFirewallMissingSubnetViolation < Struct.new(
1328
+ :violation_target,
1329
+ :vpc,
1330
+ :availability_zone,
1331
+ :target_violation_reason)
1332
+ SENSITIVE = []
1333
+ include Aws::Structure
1334
+ end
1335
+
1336
+ # The definition of the AWS Network Firewall firewall policy.
1337
+ #
1338
+ # @!attribute [rw] stateless_rule_groups
1339
+ # The stateless rule groups that are used in the Network Firewall
1340
+ # firewall policy.
1341
+ # @return [Array<Types::StatelessRuleGroup>]
1342
+ #
1343
+ # @!attribute [rw] stateless_default_actions
1344
+ # The actions to take on packets that don't match any of the
1345
+ # stateless rule groups.
1346
+ # @return [Array<String>]
1347
+ #
1348
+ # @!attribute [rw] stateless_fragment_default_actions
1349
+ # The actions to take on packet fragments that don't match any of the
1350
+ # stateless rule groups.
1351
+ # @return [Array<String>]
1352
+ #
1353
+ # @!attribute [rw] stateless_custom_actions
1354
+ # Names of custom actions that are available for use in the stateless
1355
+ # default actions settings.
1356
+ # @return [Array<String>]
1357
+ #
1358
+ # @!attribute [rw] stateful_rule_groups
1359
+ # The stateful rule groups that are used in the Network Firewall
1360
+ # firewall policy.
1361
+ # @return [Array<Types::StatefulRuleGroup>]
1362
+ #
1363
+ # @see http://docs.aws.amazon.com/goto/WebAPI/fms-2018-01-01/NetworkFirewallPolicyDescription AWS API Documentation
1364
+ #
1365
+ class NetworkFirewallPolicyDescription < Struct.new(
1366
+ :stateless_rule_groups,
1367
+ :stateless_default_actions,
1368
+ :stateless_fragment_default_actions,
1369
+ :stateless_custom_actions,
1370
+ :stateful_rule_groups)
1371
+ SENSITIVE = []
1372
+ include Aws::Structure
1373
+ end
1374
+
1375
+ # Violation details for AWS Network Firewall for a firewall policy that
1376
+ # has a different NetworkFirewallPolicyDescription than is required by
1377
+ # the Firewall Manager policy.
1378
+ #
1379
+ # @!attribute [rw] violation_target
1380
+ # The ID of the AWS Network Firewall or VPC resource that's in
1381
+ # violation.
1382
+ # @return [String]
1383
+ #
1384
+ # @!attribute [rw] current_policy_description
1385
+ # The policy that's currently in use in the individual account.
1386
+ # @return [Types::NetworkFirewallPolicyDescription]
1387
+ #
1388
+ # @!attribute [rw] expected_policy_description
1389
+ # The policy that should be in use in the individual account in order
1390
+ # to be compliant.
1391
+ # @return [Types::NetworkFirewallPolicyDescription]
1392
+ #
1393
+ # @see http://docs.aws.amazon.com/goto/WebAPI/fms-2018-01-01/NetworkFirewallPolicyModifiedViolation AWS API Documentation
1394
+ #
1395
+ class NetworkFirewallPolicyModifiedViolation < Struct.new(
1396
+ :violation_target,
1397
+ :current_policy_description,
1398
+ :expected_policy_description)
1399
+ SENSITIVE = []
1400
+ include Aws::Structure
1401
+ end
1402
+
1234
1403
  # The reference rule that partially matches the `ViolationTarget` rule
1235
1404
  # and violation reason.
1236
1405
  #
@@ -1262,7 +1431,7 @@ module Aws::FMS
1262
1431
  # policy_name: "ResourceName", # required
1263
1432
  # policy_update_token: "PolicyUpdateToken",
1264
1433
  # security_service_policy_data: { # required
1265
- # type: "WAF", # required, accepts WAF, WAFV2, SHIELD_ADVANCED, SECURITY_GROUPS_COMMON, SECURITY_GROUPS_CONTENT_AUDIT, SECURITY_GROUPS_USAGE_AUDIT
1434
+ # type: "WAF", # required, accepts WAF, WAFV2, SHIELD_ADVANCED, SECURITY_GROUPS_COMMON, SECURITY_GROUPS_CONTENT_AUDIT, SECURITY_GROUPS_USAGE_AUDIT, NETWORK_FIREWALL
1266
1435
  # managed_service_data: "ManagedServiceData",
1267
1436
  # },
1268
1437
  # resource_type: "ResourceType", # required
@@ -1315,7 +1484,8 @@ module Aws::FMS
1315
1484
  # valid values are `AWS::EC2::SecurityGroup`,
1316
1485
  # `AWS::EC2::NetworkInterface`, and `AWS::EC2::Instance`. For a
1317
1486
  # security group usage audit policy, the value is
1318
- # `AWS::EC2::SecurityGroup`.
1487
+ # `AWS::EC2::SecurityGroup`. For an AWS Network Firewall policy, the
1488
+ # value is `AWS::EC2::VPC`.
1319
1489
  #
1320
1490
  #
1321
1491
  #
@@ -1550,7 +1720,8 @@ module Aws::FMS
1550
1720
  # valid values are `AWS::EC2::SecurityGroup`,
1551
1721
  # `AWS::EC2::NetworkInterface`, and `AWS::EC2::Instance`. For a
1552
1722
  # security group usage audit policy, the value is
1553
- # `AWS::EC2::SecurityGroup`.
1723
+ # `AWS::EC2::SecurityGroup`. For an AWS Network Firewall policy, the
1724
+ # value is `AWS::EC2::VPC`.
1554
1725
  #
1555
1726
  #
1556
1727
  #
@@ -1780,7 +1951,7 @@ module Aws::FMS
1780
1951
  # policy_name: "ResourceName", # required
1781
1952
  # policy_update_token: "PolicyUpdateToken",
1782
1953
  # security_service_policy_data: { # required
1783
- # type: "WAF", # required, accepts WAF, WAFV2, SHIELD_ADVANCED, SECURITY_GROUPS_COMMON, SECURITY_GROUPS_CONTENT_AUDIT, SECURITY_GROUPS_USAGE_AUDIT
1954
+ # type: "WAF", # required, accepts WAF, WAFV2, SHIELD_ADVANCED, SECURITY_GROUPS_COMMON, SECURITY_GROUPS_CONTENT_AUDIT, SECURITY_GROUPS_USAGE_AUDIT, NETWORK_FIREWALL
1784
1955
  # managed_service_data: "ManagedServiceData",
1785
1956
  # },
1786
1957
  # resource_type: "ResourceType", # required
@@ -1966,12 +2137,41 @@ module Aws::FMS
1966
2137
  # Violation details for an EC2 instance.
1967
2138
  # @return [Types::AwsEc2InstanceViolation]
1968
2139
  #
2140
+ # @!attribute [rw] network_firewall_missing_firewall_violation
2141
+ # Violation detail for an Network Firewall policy that indicates that
2142
+ # a subnet has no Firewall Manager managed firewall in its VPC.
2143
+ # @return [Types::NetworkFirewallMissingFirewallViolation]
2144
+ #
2145
+ # @!attribute [rw] network_firewall_missing_subnet_violation
2146
+ # Violation detail for an Network Firewall policy that indicates that
2147
+ # an Availability Zone is missing the expected Firewall Manager
2148
+ # managed subnet.
2149
+ # @return [Types::NetworkFirewallMissingSubnetViolation]
2150
+ #
2151
+ # @!attribute [rw] network_firewall_missing_expected_rt_violation
2152
+ # Violation detail for an Network Firewall policy that indicates that
2153
+ # a subnet is not associated with the expected Firewall Manager
2154
+ # managed route table.
2155
+ # @return [Types::NetworkFirewallMissingExpectedRTViolation]
2156
+ #
2157
+ # @!attribute [rw] network_firewall_policy_modified_violation
2158
+ # Violation detail for an Network Firewall policy that indicates that
2159
+ # a firewall policy in an individual account has been modified in a
2160
+ # way that makes it noncompliant. For example, the individual account
2161
+ # owner might have deleted a rule group, changed the priority of a
2162
+ # stateless rule group, or changed a policy default action.
2163
+ # @return [Types::NetworkFirewallPolicyModifiedViolation]
2164
+ #
1969
2165
  # @see http://docs.aws.amazon.com/goto/WebAPI/fms-2018-01-01/ResourceViolation AWS API Documentation
1970
2166
  #
1971
2167
  class ResourceViolation < Struct.new(
1972
2168
  :aws_vpc_security_group_violation,
1973
2169
  :aws_ec2_network_interface_violation,
1974
- :aws_ec2_instance_violation)
2170
+ :aws_ec2_instance_violation,
2171
+ :network_firewall_missing_firewall_violation,
2172
+ :network_firewall_missing_subnet_violation,
2173
+ :network_firewall_missing_expected_rt_violation,
2174
+ :network_firewall_policy_modified_violation)
1975
2175
  SENSITIVE = []
1976
2176
  include Aws::Structure
1977
2177
  end
@@ -2055,7 +2255,7 @@ module Aws::FMS
2055
2255
  # data as a hash:
2056
2256
  #
2057
2257
  # {
2058
- # type: "WAF", # required, accepts WAF, WAFV2, SHIELD_ADVANCED, SECURITY_GROUPS_COMMON, SECURITY_GROUPS_CONTENT_AUDIT, SECURITY_GROUPS_USAGE_AUDIT
2258
+ # type: "WAF", # required, accepts WAF, WAFV2, SHIELD_ADVANCED, SECURITY_GROUPS_COMMON, SECURITY_GROUPS_CONTENT_AUDIT, SECURITY_GROUPS_USAGE_AUDIT, NETWORK_FIREWALL
2059
2259
  # managed_service_data: "ManagedServiceData",
2060
2260
  # }
2061
2261
  #
@@ -2074,29 +2274,36 @@ module Aws::FMS
2074
2274
  # JSON format. For service type `SHIELD_ADVANCED`, this is an empty
2075
2275
  # string.
2076
2276
  #
2277
+ # * Example: `NETWORK_FIREWALL`
2278
+ #
2279
+ # `"\{"type":"NETWORK_FIREWALL","networkFirewallStatelessRuleGroupReferences":[\{"resourceARN":"arn:aws:network-firewall:us-west-1:1234567891011:stateless-rulegroup/rulegroup2","priority":10\}],"networkFirewallStatelessDefaultActions":["aws:pass","custom1"],"networkFirewallStatelessFragmentDefaultActions":["custom2","aws:pass"],"networkFirewallStatelessCustomActions":[\{"actionName":"custom1","actionDefinition":\{"publishMetricAction":\{"dimensions":[\{"value":"dimension1"\}]\}\}\},\{"actionName":"custom2","actionDefinition":\{"publishMetricAction":\{"dimensions":[\{"value":"dimension2"\}]\}\}\}],"networkFirewallStatefulRuleGroupReferences":[\{"resourceARN":"arn:aws:network-firewall:us-west-1:1234567891011:stateful-rulegroup/rulegroup1"\}],"networkFirewallOrchestrationConfig":\{"singleFirewallEndpointPerVPC":true,"allowedIPV4CidrList":["10.24.34.0/28"]\}
2280
+ # \}"`
2281
+ #
2077
2282
  # * Example: `WAFV2`
2078
2283
  #
2079
- # `"ManagedServiceData":
2080
- # "\{"type":"WAFV2","defaultAction":\{"type":"ALLOW"\},"preProcessRuleGroups":[\{"managedRuleGroupIdentifier":null,"ruleGroupArn":"rulegrouparn","overrideAction":\{"type":"COUNT"\},"excludeRules":[\{"name":"EntityName"\}],"ruleGroupType":"RuleGroup"\}],"postProcessRuleGroups":[\{"managedRuleGroupIdentifier":\{"managedRuleGroupName":"AWSManagedRulesAdminProtectionRuleSet","vendorName":"AWS"\},"ruleGroupArn":"rulegrouparn","overrideAction":\{"type":"NONE"\},"excludeRules":[],"ruleGroupType":"ManagedRuleGroup"\}],"overrideCustomerWebACLAssociation":false\}"`
2284
+ # `"\{"type":"WAFV2","preProcessRuleGroups":[\{"ruleGroupArn":null,"overrideAction":\{"type":"NONE"\},"managedRuleGroupIdentifier":\{"version":null,"vendorName":"AWS","managedRuleGroupName":"AWSManagedRulesAmazonIpReputationList"\},"ruleGroupType":"ManagedRuleGroup","excludeRules":[]\}],"postProcessRuleGroups":[],"defaultAction":\{"type":"ALLOW"\},"overrideCustomerWebACLAssociation":false,"loggingConfiguration":\{"logDestinationConfigs":["arn:aws:firehose:us-west-2:12345678912:deliverystream/aws-waf-logs-fms-admin-destination"],"redactedFields":[\{"redactedFieldType":"SingleHeader","redactedFieldValue":"Cookies"\},\{"redactedFieldType":"Method"\}]\}\}"`
2285
+ #
2286
+ # In the `loggingConfiguration`, you can specify one
2287
+ # `logDestinationConfigs`, you can optionally provide up to 20
2288
+ # `redactedFields`, and the `RedactedFieldType` must be one of
2289
+ # `URI`, `QUERY_STRING`, `HEADER`, or `METHOD`.
2081
2290
  #
2082
2291
  # * Example: `WAF Classic`
2083
2292
  #
2084
- # `"ManagedServiceData": "\{"type": "WAF", "ruleGroups":
2085
- # [\{"id": "12345678-1bcd-9012-efga-0987654321ab",
2293
+ # `"\{"type": "WAF", "ruleGroups":
2294
+ # [\{"id":"12345678-1bcd-9012-efga-0987654321ab",
2086
2295
  # "overrideAction" : \{"type": "COUNT"\}\}],
2087
- # "defaultAction": \{"type": "BLOCK"\}\}`
2296
+ # "defaultAction": \{"type": "BLOCK"\}\}"`
2088
2297
  #
2089
2298
  # * Example: `SECURITY_GROUPS_COMMON`
2090
2299
  #
2091
- # `"SecurityServicePolicyData":\{"Type":"SECURITY_GROUPS_COMMON","ManagedServiceData":"\{"type":"SECURITY_GROUPS_COMMON","revertManualSecurityGroupChanges":false,"exclusiveResourceSecurityGroupManagement":false,
2300
+ # `"\{"type":"SECURITY_GROUPS_COMMON","revertManualSecurityGroupChanges":false,"exclusiveResourceSecurityGroupManagement":false,
2092
2301
  # "applyToAllEC2InstanceENIs":false,"securityGroups":[\{"id":"
2093
- # sg-000e55995d61a06bd"\}]\}"\},"RemediationEnabled":false,"ResourceType":"AWS::EC2::NetworkInterface"\}`
2302
+ # sg-000e55995d61a06bd"\}]\}"`
2094
2303
  #
2095
2304
  # * Example: `SECURITY_GROUPS_CONTENT_AUDIT`
2096
2305
  #
2097
- # `"SecurityServicePolicyData":\{"Type":"SECURITY_GROUPS_CONTENT_AUDIT","ManagedServiceData":"\{"type":"SECURITY_GROUPS_CONTENT_AUDIT","securityGroups":[\{"id":"
2098
- # sg-000e55995d61a06bd
2099
- # "\}],"securityGroupAction":\{"type":"ALLOW"\}\}"\},"RemediationEnabled":false,"ResourceType":"AWS::EC2::NetworkInterface"\}`
2306
+ # `"\{"type":"SECURITY_GROUPS_CONTENT_AUDIT","securityGroups":[\{"id":"sg-000e55995d61a06bd"\}],"securityGroupAction":\{"type":"ALLOW"\}\}"`
2100
2307
  #
2101
2308
  # The security group action for content audit can be `ALLOW` or
2102
2309
  # `DENY`. For `ALLOW`, all in-scope security group rules must be
@@ -2107,8 +2314,7 @@ module Aws::FMS
2107
2314
  #
2108
2315
  # * Example: `SECURITY_GROUPS_USAGE_AUDIT`
2109
2316
  #
2110
- # `"SecurityServicePolicyData":\{"Type":"SECURITY_GROUPS_USAGE_AUDIT","ManagedServiceData":"\{"type":"SECURITY_GROUPS_USAGE_AUDIT","deleteUnusedSecurityGroups":true,"coalesceRedundantSecurityGroups":true\}"\},"RemediationEnabled":false,"Resou
2111
- # rceType":"AWS::EC2::SecurityGroup"\}`
2317
+ # `"\{"type":"SECURITY_GROUPS_USAGE_AUDIT","deleteUnusedSecurityGroups":true,"coalesceRedundantSecurityGroups":true\}"`
2112
2318
  # @return [String]
2113
2319
  #
2114
2320
  # @see http://docs.aws.amazon.com/goto/WebAPI/fms-2018-01-01/SecurityServicePolicyData AWS API Documentation
@@ -2120,6 +2326,53 @@ module Aws::FMS
2120
2326
  include Aws::Structure
2121
2327
  end
2122
2328
 
2329
+ # AWS Network Firewall stateful rule group, used in a
2330
+ # NetworkFirewallPolicyDescription.
2331
+ #
2332
+ # @!attribute [rw] rule_group_name
2333
+ # The name of the rule group.
2334
+ # @return [String]
2335
+ #
2336
+ # @!attribute [rw] resource_id
2337
+ # The resource ID of the rule group.
2338
+ # @return [String]
2339
+ #
2340
+ # @see http://docs.aws.amazon.com/goto/WebAPI/fms-2018-01-01/StatefulRuleGroup AWS API Documentation
2341
+ #
2342
+ class StatefulRuleGroup < Struct.new(
2343
+ :rule_group_name,
2344
+ :resource_id)
2345
+ SENSITIVE = []
2346
+ include Aws::Structure
2347
+ end
2348
+
2349
+ # AWS Network Firewall stateless rule group, used in a
2350
+ # NetworkFirewallPolicyDescription.
2351
+ #
2352
+ # @!attribute [rw] rule_group_name
2353
+ # The name of the rule group.
2354
+ # @return [String]
2355
+ #
2356
+ # @!attribute [rw] resource_id
2357
+ # The resource ID of the rule group.
2358
+ # @return [String]
2359
+ #
2360
+ # @!attribute [rw] priority
2361
+ # The priority of the rule group. AWS Network Firewall evaluates the
2362
+ # stateless rule groups in a firewall policy starting from the lowest
2363
+ # priority setting.
2364
+ # @return [Integer]
2365
+ #
2366
+ # @see http://docs.aws.amazon.com/goto/WebAPI/fms-2018-01-01/StatelessRuleGroup AWS API Documentation
2367
+ #
2368
+ class StatelessRuleGroup < Struct.new(
2369
+ :rule_group_name,
2370
+ :resource_id,
2371
+ :priority)
2372
+ SENSITIVE = []
2373
+ include Aws::Structure
2374
+ end
2375
+
2123
2376
  # A collection of key:value pairs associated with an AWS resource. The
2124
2377
  # key:value pair can be anything you define. Typically, the tag key
2125
2378
  # represents a category (such as "environment") and the tag value
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: aws-sdk-fms
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.32.0
4
+ version: 1.33.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Amazon Web Services
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2020-09-30 00:00:00.000000000 Z
11
+ date: 2020-11-17 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: aws-sdk-core