aws-sdk-fms 1.29.0 → 1.34.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
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