aws-sdk-fms 1.29.0 → 1.34.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: 4db61e92793f6308507c93e7eccabd64991db41664014bab7cea910aa8d982ee
4
- data.tar.gz: f99d0363d6c44d7ed95352795b3543941f2e9a43270831820061492a0c94c241
3
+ metadata.gz: 9b530ef3232ecc05feb925dd6d727a02d47f2c858be6d37274a6e13f30cc1fe6
4
+ data.tar.gz: 8bb0a8da7b283b62300d210d865f5f70e8bbbf5b9a12310b0f1036cba9408811
5
5
  SHA512:
6
- metadata.gz: 1b5d08d9bc3be03c3cf54095eeab8eba9dbb2edbaab8c20be6f9907b466b23ca4528e0834051b79701e9373aed2ad6fa6bca43fe29d8a02b78c736b0454840e8
7
- data.tar.gz: 4ace52aa3edc0db7128be5664e466f9a480e242e0bb1f0621db747fcb52cf047144b3680edb8531642e724dbb99d8742e54681c2c376af05c8a3c9e83be43c3a
6
+ metadata.gz: f9356cc6b50234826ffcdd066059bfbf19b19ad513e7ca998c5dfd5a089819a1693181023e7176a3b6d742c1204c5f09d10bb1fb17274974d26bc89ed5bc4a0d
7
+ data.tar.gz: 45d06186045a02e24b7045220c27e5f4d07dc14e5caf59f506c61fe494141dd82acee795ef814adbd9338366d39579f9c23ed0bf34bf9592eb85fb5c6bc78a93
data/lib/aws-sdk-fms.rb CHANGED
@@ -7,6 +7,7 @@
7
7
  #
8
8
  # WARNING ABOUT GENERATED CODE
9
9
 
10
+
10
11
  require 'aws-sdk-core'
11
12
  require 'aws-sigv4'
12
13
 
@@ -44,9 +45,9 @@ require_relative 'aws-sdk-fms/customizations'
44
45
  #
45
46
  # See {Errors} for more information.
46
47
  #
47
- # @service
48
+ # @!group service
48
49
  module Aws::FMS
49
50
 
50
- GEM_VERSION = '1.29.0'
51
+ GEM_VERSION = '1.34.0'
51
52
 
52
53
  end
@@ -85,13 +85,28 @@ module Aws::FMS
85
85
  # * `Aws::Credentials` - Used for configuring static, non-refreshing
86
86
  # credentials.
87
87
  #
88
+ # * `Aws::SharedCredentials` - Used for loading static credentials from a
89
+ # shared file, such as `~/.aws/config`.
90
+ #
91
+ # * `Aws::AssumeRoleCredentials` - Used when you need to assume a role.
92
+ #
93
+ # * `Aws::AssumeRoleWebIdentityCredentials` - Used when you need to
94
+ # assume a role after providing credentials via the web.
95
+ #
96
+ # * `Aws::SSOCredentials` - Used for loading credentials from AWS SSO using an
97
+ # access token generated from `aws login`.
98
+ #
99
+ # * `Aws::ProcessCredentials` - Used for loading credentials from a
100
+ # process that outputs to stdout.
101
+ #
88
102
  # * `Aws::InstanceProfileCredentials` - Used for loading credentials
89
103
  # from an EC2 IMDS on an EC2 instance.
90
104
  #
91
- # * `Aws::SharedCredentials` - Used for loading credentials from a
92
- # shared file, such as `~/.aws/config`.
105
+ # * `Aws::ECSCredentials` - Used for loading credentials from
106
+ # instances running in ECS.
93
107
  #
94
- # * `Aws::AssumeRoleCredentials` - Used when you need to assume a role.
108
+ # * `Aws::CognitoIdentityCredentials` - Used for loading credentials
109
+ # from the Cognito Identity service.
95
110
  #
96
111
  # When `:credentials` are not configured directly, the following
97
112
  # locations will be searched for credentials:
@@ -101,10 +116,10 @@ module Aws::FMS
101
116
  # * ENV['AWS_ACCESS_KEY_ID'], ENV['AWS_SECRET_ACCESS_KEY']
102
117
  # * `~/.aws/credentials`
103
118
  # * `~/.aws/config`
104
- # * EC2 IMDS instance profile - When used by default, the timeouts are
105
- # very aggressive. Construct and pass an instance of
106
- # `Aws::InstanceProfileCredentails` to enable retries and extended
107
- # timeouts.
119
+ # * EC2/ECS IMDS instance profile - When used by default, the timeouts
120
+ # are very aggressive. Construct and pass an instance of
121
+ # `Aws::InstanceProfileCredentails` or `Aws::ECSCredentials` to
122
+ # enable retries and extended timeouts.
108
123
  #
109
124
  # @option options [required, String] :region
110
125
  # The AWS region to connect to. The configured `:region` is
@@ -572,7 +587,12 @@ module Aws::FMS
572
587
  # been applied to them. Resources are considered noncompliant for
573
588
  # security group policies if they are in scope of the policy, they
574
589
  # violate one or more of the policy rules, and remediation is disabled
575
- # 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.
576
596
  #
577
597
  # @option params [required, String] :policy_id
578
598
  # The ID of the policy that you want to get the details for. `PolicyId`
@@ -600,7 +620,7 @@ module Aws::FMS
600
620
  # resp.policy_compliance_detail.member_account #=> String
601
621
  # resp.policy_compliance_detail.violators #=> Array
602
622
  # resp.policy_compliance_detail.violators[0].resource_id #=> String
603
- # 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"
604
624
  # resp.policy_compliance_detail.violators[0].resource_type #=> String
605
625
  # resp.policy_compliance_detail.evaluation_limit_exceeded #=> Boolean
606
626
  # resp.policy_compliance_detail.expired_at #=> Time
@@ -660,7 +680,7 @@ module Aws::FMS
660
680
  # resp.policy.policy_id #=> String
661
681
  # resp.policy.policy_name #=> String
662
682
  # resp.policy.policy_update_token #=> String
663
- # 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"
664
684
  # resp.policy.security_service_policy_data.managed_service_data #=> String
665
685
  # resp.policy.resource_type #=> String
666
686
  # resp.policy.resource_type_list #=> Array
@@ -746,7 +766,7 @@ module Aws::FMS
746
766
  # @example Response structure
747
767
  #
748
768
  # resp.admin_account_id #=> String
749
- # 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"
750
770
  # resp.data #=> String
751
771
  # resp.next_token #=> String
752
772
  #
@@ -822,8 +842,9 @@ module Aws::FMS
822
842
  # @option params [required, String] :resource_type
823
843
  # The resource type. This is in the format shown in the [AWS Resource
824
844
  # Types Reference][1]. Supported resource types are:
825
- # `AWS::EC2::Instance`, `AWS::EC2::NetworkInterface`, or
826
- # `AWS::EC2::SecurityGroup`.
845
+ # `AWS::EC2::Instance`, `AWS::EC2::NetworkInterface`,
846
+ # `AWS::EC2::SecurityGroup`, `AWS::NetworkFirewall::FirewallPolicy`, and
847
+ # `AWS::EC2::Subnet`.
827
848
  #
828
849
  #
829
850
  #
@@ -873,6 +894,46 @@ module Aws::FMS
873
894
  # resp.violation_detail.resource_violations[0].aws_ec2_instance_violation.aws_ec2_network_interface_violations[0].violation_target #=> String
874
895
  # resp.violation_detail.resource_violations[0].aws_ec2_instance_violation.aws_ec2_network_interface_violations[0].violating_security_groups #=> Array
875
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
876
937
  # resp.violation_detail.resource_tags #=> Array
877
938
  # resp.violation_detail.resource_tags[0].key #=> String
878
939
  # resp.violation_detail.resource_tags[0].value #=> String
@@ -1098,7 +1159,7 @@ module Aws::FMS
1098
1159
  # resp.policy_list[0].policy_id #=> String
1099
1160
  # resp.policy_list[0].policy_name #=> String
1100
1161
  # resp.policy_list[0].resource_type #=> String
1101
- # 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"
1102
1163
  # resp.policy_list[0].remediation_enabled #=> Boolean
1103
1164
  # resp.next_token #=> String
1104
1165
  #
@@ -1275,6 +1336,16 @@ module Aws::FMS
1275
1336
  # Designates the IAM role and Amazon Simple Notification Service (SNS)
1276
1337
  # topic that AWS Firewall Manager uses to record SNS logs.
1277
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
+ #
1278
1349
  # @option params [required, String] :sns_topic_arn
1279
1350
  # The Amazon Resource Name (ARN) of the SNS topic that collects
1280
1351
  # notifications from AWS Firewall Manager.
@@ -1305,18 +1376,21 @@ module Aws::FMS
1305
1376
  #
1306
1377
  # Firewall Manager provides the following types of policies:
1307
1378
  #
1308
- # * A Shield Advanced policy, which applies Shield Advanced protection
1309
- # to specified accounts and resources
1310
- #
1311
1379
  # * An AWS WAF policy (type WAFV2), which defines rule groups to run
1312
1380
  # first in the corresponding AWS WAF web ACL and rule groups to run
1313
1381
  # last in the web ACL.
1314
1382
  #
1315
1383
  # * An AWS WAF Classic policy (type WAF), which defines a rule group.
1316
1384
  #
1385
+ # * A Shield Advanced policy, which applies Shield Advanced protection
1386
+ # to specified accounts and resources.
1387
+ #
1317
1388
  # * A security group policy, which manages VPC security groups across
1318
1389
  # your AWS organization.
1319
1390
  #
1391
+ # * An AWS Network Firewall policy, which provides firewall rules to
1392
+ # filter network traffic in specified Amazon VPCs.
1393
+ #
1320
1394
  # Each policy is specific to one of the types. If you want to enforce
1321
1395
  # more than one policy type across accounts, create multiple policies.
1322
1396
  # You can create multiple policies for each type.
@@ -1348,7 +1422,7 @@ module Aws::FMS
1348
1422
  # policy_name: "ResourceName", # required
1349
1423
  # policy_update_token: "PolicyUpdateToken",
1350
1424
  # security_service_policy_data: { # required
1351
- # 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
1352
1426
  # managed_service_data: "ManagedServiceData",
1353
1427
  # },
1354
1428
  # resource_type: "ResourceType", # required
@@ -1381,7 +1455,7 @@ module Aws::FMS
1381
1455
  # resp.policy.policy_id #=> String
1382
1456
  # resp.policy.policy_name #=> String
1383
1457
  # resp.policy.policy_update_token #=> String
1384
- # 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"
1385
1459
  # resp.policy.security_service_policy_data.managed_service_data #=> String
1386
1460
  # resp.policy.resource_type #=> String
1387
1461
  # resp.policy.resource_type_list #=> Array
@@ -1540,7 +1614,7 @@ module Aws::FMS
1540
1614
  params: params,
1541
1615
  config: config)
1542
1616
  context[:gem_name] = 'aws-sdk-fms'
1543
- context[:gem_version] = '1.29.0'
1617
+ context[:gem_version] = '1.34.0'
1544
1618
  Seahorse::Client::Request.new(handlers, context)
1545
1619
  end
1546
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.29.0
4
+ version: 1.34.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-07-20 00:00:00.000000000 Z
11
+ date: 2021-02-02 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: aws-sdk-core
@@ -19,7 +19,7 @@ dependencies:
19
19
  version: '3'
20
20
  - - ">="
21
21
  - !ruby/object:Gem::Version
22
- version: 3.99.0
22
+ version: 3.112.0
23
23
  type: :runtime
24
24
  prerelease: false
25
25
  version_requirements: !ruby/object:Gem::Requirement
@@ -29,7 +29,7 @@ dependencies:
29
29
  version: '3'
30
30
  - - ">="
31
31
  - !ruby/object:Gem::Version
32
- version: 3.99.0
32
+ version: 3.112.0
33
33
  - !ruby/object:Gem::Dependency
34
34
  name: aws-sigv4
35
35
  requirement: !ruby/object:Gem::Requirement