aws-sdk-fms 1.32.0 → 1.37.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -3,7 +3,7 @@
3
3
  # WARNING ABOUT GENERATED CODE
4
4
  #
5
5
  # This file is generated. See the contributing guide for more information:
6
- # https://github.com/aws/aws-sdk-ruby/blob/master/CONTRIBUTING.md
6
+ # https://github.com/aws/aws-sdk-ruby/blob/version-3/CONTRIBUTING.md
7
7
  #
8
8
  # WARNING ABOUT GENERATED CODE
9
9
 
@@ -3,7 +3,7 @@
3
3
  # WARNING ABOUT GENERATED CODE
4
4
  #
5
5
  # This file is generated. See the contributing guide for more information:
6
- # https://github.com/aws/aws-sdk-ruby/blob/master/CONTRIBUTING.md
6
+ # https://github.com/aws/aws-sdk-ruby/blob/version-3/CONTRIBUTING.md
7
7
  #
8
8
  # WARNING ABOUT GENERATED CODE
9
9
 
@@ -3,14 +3,33 @@
3
3
  # WARNING ABOUT GENERATED CODE
4
4
  #
5
5
  # This file is generated. See the contributing guide for more information:
6
- # https://github.com/aws/aws-sdk-ruby/blob/master/CONTRIBUTING.md
6
+ # https://github.com/aws/aws-sdk-ruby/blob/version-3/CONTRIBUTING.md
7
7
  #
8
8
  # WARNING ABOUT GENERATED CODE
9
9
 
10
10
  module Aws::FMS
11
11
  module Types
12
12
 
13
- # An individual AWS Firewall Manager application.
13
+ # Describes a remediation action target.
14
+ #
15
+ # @!attribute [rw] resource_id
16
+ # The ID of the remediation target.
17
+ # @return [String]
18
+ #
19
+ # @!attribute [rw] description
20
+ # A description of the remediation action target.
21
+ # @return [String]
22
+ #
23
+ # @see http://docs.aws.amazon.com/goto/WebAPI/fms-2018-01-01/ActionTarget AWS API Documentation
24
+ #
25
+ class ActionTarget < Struct.new(
26
+ :resource_id,
27
+ :description)
28
+ SENSITIVE = []
29
+ include Aws::Structure
30
+ end
31
+
32
+ # An individual Firewall Manager application.
14
33
  #
15
34
  # @note When making an API call, you may pass App
16
35
  # data as a hash:
@@ -49,7 +68,7 @@ module Aws::FMS
49
68
  include Aws::Structure
50
69
  end
51
70
 
52
- # An AWS Firewall Manager applications list.
71
+ # An Firewall Manager applications list.
53
72
  #
54
73
  # @note When making an API call, you may pass AppsListData
55
74
  # data as a hash:
@@ -79,11 +98,11 @@ module Aws::FMS
79
98
  # }
80
99
  #
81
100
  # @!attribute [rw] list_id
82
- # The ID of the AWS Firewall Manager applications list.
101
+ # The ID of the Firewall Manager applications list.
83
102
  # @return [String]
84
103
  #
85
104
  # @!attribute [rw] list_name
86
- # The name of the AWS Firewall Manager applications list.
105
+ # The name of the Firewall Manager applications list.
87
106
  # @return [String]
88
107
  #
89
108
  # @!attribute [rw] list_update_token
@@ -94,18 +113,16 @@ module Aws::FMS
94
113
  # @return [String]
95
114
  #
96
115
  # @!attribute [rw] create_time
97
- # The time that the AWS Firewall Manager applications list was
98
- # created.
116
+ # The time that the Firewall Manager applications list was created.
99
117
  # @return [Time]
100
118
  #
101
119
  # @!attribute [rw] last_update_time
102
- # The time that the AWS Firewall Manager applications list was last
120
+ # The time that the Firewall Manager applications list was last
103
121
  # updated.
104
122
  # @return [Time]
105
123
  #
106
124
  # @!attribute [rw] apps_list
107
- # An array of applications in the AWS Firewall Manager applications
108
- # list.
125
+ # An array of applications in the Firewall Manager applications list.
109
126
  # @return [Array<Types::App>]
110
127
  #
111
128
  # @!attribute [rw] previous_apps_list
@@ -127,7 +144,7 @@ module Aws::FMS
127
144
  include Aws::Structure
128
145
  end
129
146
 
130
- # Details of the AWS Firewall Manager applications list.
147
+ # Details of the Firewall Manager applications list.
131
148
  #
132
149
  # @!attribute [rw] list_arn
133
150
  # The Amazon Resource Name (ARN) of the applications list.
@@ -142,8 +159,7 @@ module Aws::FMS
142
159
  # @return [String]
143
160
  #
144
161
  # @!attribute [rw] apps_list
145
- # An array of `App` objects in the AWS Firewall Manager applications
146
- # list.
162
+ # An array of `App` objects in the Firewall Manager applications list.
147
163
  # @return [Array<Types::App>]
148
164
  #
149
165
  # @see http://docs.aws.amazon.com/goto/WebAPI/fms-2018-01-01/AppsListDataSummary AWS API Documentation
@@ -165,11 +181,11 @@ module Aws::FMS
165
181
  # }
166
182
  #
167
183
  # @!attribute [rw] admin_account
168
- # The AWS account ID to associate with AWS Firewall Manager as the AWS
169
- # Firewall Manager administrator account. This can be an AWS
170
- # Organizations master account or a member account. For more
171
- # information about AWS Organizations and master accounts, see
172
- # [Managing the AWS Accounts in Your Organization][1].
184
+ # The Amazon Web Services account ID to associate with Firewall
185
+ # Manager as the Firewall Manager administrator account. This must be
186
+ # an Organizations member account. For more information about
187
+ # Organizations, see [Managing the Amazon Web Services Accounts in
188
+ # Your Organization][1].
173
189
  #
174
190
  #
175
191
  #
@@ -184,14 +200,15 @@ module Aws::FMS
184
200
  include Aws::Structure
185
201
  end
186
202
 
187
- # Violations for an EC2 instance resource.
203
+ # Violation detail for an EC2 instance resource.
188
204
  #
189
205
  # @!attribute [rw] violation_target
190
206
  # The resource ID of the EC2 instance.
191
207
  # @return [String]
192
208
  #
193
209
  # @!attribute [rw] aws_ec2_network_interface_violations
194
- # Violations for network interfaces associated with the EC2 instance.
210
+ # Violation detail for network interfaces associated with the EC2
211
+ # instance.
195
212
  # @return [Array<Types::AwsEc2NetworkInterfaceViolation>]
196
213
  #
197
214
  # @see http://docs.aws.amazon.com/goto/WebAPI/fms-2018-01-01/AwsEc2InstanceViolation AWS API Documentation
@@ -203,7 +220,8 @@ module Aws::FMS
203
220
  include Aws::Structure
204
221
  end
205
222
 
206
- # Violations for network interfaces associated with an EC2 instance.
223
+ # Violation detail for network interfaces associated with an EC2
224
+ # instance.
207
225
  #
208
226
  # @!attribute [rw] violation_target
209
227
  # The resource ID of the network interface.
@@ -211,7 +229,7 @@ module Aws::FMS
211
229
  #
212
230
  # @!attribute [rw] violating_security_groups
213
231
  # List of security groups that violate the rules specified in the
214
- # master security group of the AWS Firewall Manager policy.
232
+ # primary security group of the Firewall Manager policy.
215
233
  # @return [Array<String>]
216
234
  #
217
235
  # @see http://docs.aws.amazon.com/goto/WebAPI/fms-2018-01-01/AwsEc2NetworkInterfaceViolation AWS API Documentation
@@ -223,8 +241,8 @@ module Aws::FMS
223
241
  include Aws::Structure
224
242
  end
225
243
 
226
- # Details of the rule violation in a security group when compared to the
227
- # master security group of the AWS Firewall Manager policy.
244
+ # Violation detail for the rule violation in a security group when
245
+ # compared to the primary security group of the Firewall Manager policy.
228
246
  #
229
247
  # @!attribute [rw] violation_target
230
248
  # The security group rule that is being evaluated.
@@ -235,7 +253,7 @@ module Aws::FMS
235
253
  # @return [String]
236
254
  #
237
255
  # @!attribute [rw] partial_matches
238
- # List of rules specified in the security group of the AWS Firewall
256
+ # List of rules specified in the security group of the Firewall
239
257
  # Manager policy that partially match the `ViolationTarget` rule.
240
258
  # @return [Array<Types::PartialMatch>]
241
259
  #
@@ -265,10 +283,11 @@ module Aws::FMS
265
283
  # @return [String]
266
284
  #
267
285
  # @!attribute [rw] resource_type
268
- # The resource type. This is in the format shown in the [AWS Resource
269
- # Types Reference][1]. For example:
270
- # `AWS::ElasticLoadBalancingV2::LoadBalancer` or
271
- # `AWS::CloudFront::Distribution`.
286
+ # The resource type. This is in the format shown in the [Amazon Web
287
+ # Services Resource Types Reference][1]. For example:
288
+ # `AWS::ElasticLoadBalancingV2::LoadBalancer`,
289
+ # `AWS::CloudFront::Distribution`, or
290
+ # `AWS::NetworkFirewall::FirewallPolicy`.
272
291
  #
273
292
  #
274
293
  #
@@ -329,10 +348,10 @@ module Aws::FMS
329
348
  # If `True`, the request performs cleanup according to the policy
330
349
  # type.
331
350
  #
332
- # For AWS WAF and Shield Advanced policies, the cleanup does the
351
+ # For WAF and Shield Advanced policies, the cleanup does the
333
352
  # following:
334
353
  #
335
- # * Deletes rule groups created by AWS Firewall Manager
354
+ # * Deletes rule groups created by Firewall Manager
336
355
  #
337
356
  # * Removes web ACLs from in-scope resources
338
357
  #
@@ -393,19 +412,344 @@ module Aws::FMS
393
412
  #
394
413
  class DisassociateAdminAccountRequest < Aws::EmptyStructure; end
395
414
 
415
+ # A DNS Firewall rule group that Firewall Manager tried to associate
416
+ # with a VPC is already associated with the VPC and can't be associated
417
+ # again.
418
+ #
419
+ # @!attribute [rw] violation_target
420
+ # Information about the VPC ID.
421
+ # @return [String]
422
+ #
423
+ # @!attribute [rw] violation_target_description
424
+ # A description of the violation that specifies the rule group and
425
+ # VPC.
426
+ # @return [String]
427
+ #
428
+ # @see http://docs.aws.amazon.com/goto/WebAPI/fms-2018-01-01/DnsDuplicateRuleGroupViolation AWS API Documentation
429
+ #
430
+ class DnsDuplicateRuleGroupViolation < Struct.new(
431
+ :violation_target,
432
+ :violation_target_description)
433
+ SENSITIVE = []
434
+ include Aws::Structure
435
+ end
436
+
437
+ # The VPC that Firewall Manager was applying a DNS Fireall policy to
438
+ # reached the limit for associated DNS Firewall rule groups. Firewall
439
+ # Manager tried to associate another rule group with the VPC and failed
440
+ # due to the limit.
441
+ #
442
+ # @!attribute [rw] violation_target
443
+ # Information about the VPC ID.
444
+ # @return [String]
445
+ #
446
+ # @!attribute [rw] violation_target_description
447
+ # A description of the violation that specifies the rule group and
448
+ # VPC.
449
+ # @return [String]
450
+ #
451
+ # @!attribute [rw] number_of_rule_groups_already_associated
452
+ # The number of rule groups currently associated with the VPC.
453
+ # @return [Integer]
454
+ #
455
+ # @see http://docs.aws.amazon.com/goto/WebAPI/fms-2018-01-01/DnsRuleGroupLimitExceededViolation AWS API Documentation
456
+ #
457
+ class DnsRuleGroupLimitExceededViolation < Struct.new(
458
+ :violation_target,
459
+ :violation_target_description,
460
+ :number_of_rule_groups_already_associated)
461
+ SENSITIVE = []
462
+ include Aws::Structure
463
+ end
464
+
465
+ # A rule group that Firewall Manager tried to associate with a VPC has
466
+ # the same priority as a rule group that's already associated.
467
+ #
468
+ # @!attribute [rw] violation_target
469
+ # Information about the VPC ID.
470
+ # @return [String]
471
+ #
472
+ # @!attribute [rw] violation_target_description
473
+ # A description of the violation that specifies the VPC and the rule
474
+ # group that's already associated with it.
475
+ # @return [String]
476
+ #
477
+ # @!attribute [rw] conflicting_priority
478
+ # The priority setting of the two conflicting rule groups.
479
+ # @return [Integer]
480
+ #
481
+ # @!attribute [rw] conflicting_policy_id
482
+ # The ID of the Firewall Manager DNS Firewall policy that was already
483
+ # applied to the VPC. This policy contains the rule group that's
484
+ # already associated with the VPC.
485
+ # @return [String]
486
+ #
487
+ # @!attribute [rw] unavailable_priorities
488
+ # The priorities of rule groups that are already associated with the
489
+ # VPC. To retry your operation, choose priority settings that aren't
490
+ # in this list for the rule groups in your new DNS Firewall policy.
491
+ # @return [Array<Integer>]
492
+ #
493
+ # @see http://docs.aws.amazon.com/goto/WebAPI/fms-2018-01-01/DnsRuleGroupPriorityConflictViolation AWS API Documentation
494
+ #
495
+ class DnsRuleGroupPriorityConflictViolation < Struct.new(
496
+ :violation_target,
497
+ :violation_target_description,
498
+ :conflicting_priority,
499
+ :conflicting_policy_id,
500
+ :unavailable_priorities)
501
+ SENSITIVE = []
502
+ include Aws::Structure
503
+ end
504
+
505
+ # The action of associating an EC2 resource, such as a subnet or
506
+ # internet gateway, with a route table.
507
+ #
508
+ # @!attribute [rw] description
509
+ # A description of the EC2 route table that is associated with the
510
+ # remediation action.
511
+ # @return [String]
512
+ #
513
+ # @!attribute [rw] route_table_id
514
+ # The ID of the EC2 route table that is associated with the
515
+ # remediation action.
516
+ # @return [Types::ActionTarget]
517
+ #
518
+ # @!attribute [rw] subnet_id
519
+ # The ID of the subnet for the EC2 route table that is associated with
520
+ # the remediation action.
521
+ # @return [Types::ActionTarget]
522
+ #
523
+ # @!attribute [rw] gateway_id
524
+ # The ID of the gateway to be used with the EC2 route table that is
525
+ # associated with the remediation action.
526
+ # @return [Types::ActionTarget]
527
+ #
528
+ # @see http://docs.aws.amazon.com/goto/WebAPI/fms-2018-01-01/EC2AssociateRouteTableAction AWS API Documentation
529
+ #
530
+ class EC2AssociateRouteTableAction < Struct.new(
531
+ :description,
532
+ :route_table_id,
533
+ :subnet_id,
534
+ :gateway_id)
535
+ SENSITIVE = []
536
+ include Aws::Structure
537
+ end
538
+
539
+ # An action that copies the EC2 route table for use in remediation.
540
+ #
541
+ # @!attribute [rw] description
542
+ # A description of the copied EC2 route table that is associated with
543
+ # the remediation action.
544
+ # @return [String]
545
+ #
546
+ # @!attribute [rw] vpc_id
547
+ # The VPC ID of the copied EC2 route table that is associated with the
548
+ # remediation action.
549
+ # @return [Types::ActionTarget]
550
+ #
551
+ # @!attribute [rw] route_table_id
552
+ # The ID of the copied EC2 route table that is associated with the
553
+ # remediation action.
554
+ # @return [Types::ActionTarget]
555
+ #
556
+ # @see http://docs.aws.amazon.com/goto/WebAPI/fms-2018-01-01/EC2CopyRouteTableAction AWS API Documentation
557
+ #
558
+ class EC2CopyRouteTableAction < Struct.new(
559
+ :description,
560
+ :vpc_id,
561
+ :route_table_id)
562
+ SENSITIVE = []
563
+ include Aws::Structure
564
+ end
565
+
566
+ # Information about the CreateRoute action in Amazon EC2.
567
+ #
568
+ # @!attribute [rw] description
569
+ # A description of CreateRoute action in Amazon EC2.
570
+ # @return [String]
571
+ #
572
+ # @!attribute [rw] destination_cidr_block
573
+ # Information about the IPv4 CIDR address block used for the
574
+ # destination match.
575
+ # @return [String]
576
+ #
577
+ # @!attribute [rw] destination_prefix_list_id
578
+ # Information about the ID of a prefix list used for the destination
579
+ # match.
580
+ # @return [String]
581
+ #
582
+ # @!attribute [rw] destination_ipv_6_cidr_block
583
+ # Information about the IPv6 CIDR block destination.
584
+ # @return [String]
585
+ #
586
+ # @!attribute [rw] vpc_endpoint_id
587
+ # Information about the ID of a VPC endpoint. Supported for Gateway
588
+ # Load Balancer endpoints only.
589
+ # @return [Types::ActionTarget]
590
+ #
591
+ # @!attribute [rw] gateway_id
592
+ # Information about the ID of an internet gateway or virtual private
593
+ # gateway attached to your VPC.
594
+ # @return [Types::ActionTarget]
595
+ #
596
+ # @!attribute [rw] route_table_id
597
+ # Information about the ID of the route table for the route.
598
+ # @return [Types::ActionTarget]
599
+ #
600
+ # @see http://docs.aws.amazon.com/goto/WebAPI/fms-2018-01-01/EC2CreateRouteAction AWS API Documentation
601
+ #
602
+ class EC2CreateRouteAction < Struct.new(
603
+ :description,
604
+ :destination_cidr_block,
605
+ :destination_prefix_list_id,
606
+ :destination_ipv_6_cidr_block,
607
+ :vpc_endpoint_id,
608
+ :gateway_id,
609
+ :route_table_id)
610
+ SENSITIVE = []
611
+ include Aws::Structure
612
+ end
613
+
614
+ # Information about the CreateRouteTable action in Amazon EC2.
615
+ #
616
+ # @!attribute [rw] description
617
+ # A description of the CreateRouteTable action.
618
+ # @return [String]
619
+ #
620
+ # @!attribute [rw] vpc_id
621
+ # Information about the ID of a VPC.
622
+ # @return [Types::ActionTarget]
623
+ #
624
+ # @see http://docs.aws.amazon.com/goto/WebAPI/fms-2018-01-01/EC2CreateRouteTableAction AWS API Documentation
625
+ #
626
+ class EC2CreateRouteTableAction < Struct.new(
627
+ :description,
628
+ :vpc_id)
629
+ SENSITIVE = []
630
+ include Aws::Structure
631
+ end
632
+
633
+ # Information about the DeleteRoute action in Amazon EC2.
634
+ #
635
+ # @!attribute [rw] description
636
+ # A description of the DeleteRoute action.
637
+ # @return [String]
638
+ #
639
+ # @!attribute [rw] destination_cidr_block
640
+ # Information about the IPv4 CIDR range for the route. The value you
641
+ # specify must match the CIDR for the route exactly.
642
+ # @return [String]
643
+ #
644
+ # @!attribute [rw] destination_prefix_list_id
645
+ # Information about the ID of the prefix list for the route.
646
+ # @return [String]
647
+ #
648
+ # @!attribute [rw] destination_ipv_6_cidr_block
649
+ # Information about the IPv6 CIDR range for the route. The value you
650
+ # specify must match the CIDR for the route exactly.
651
+ # @return [String]
652
+ #
653
+ # @!attribute [rw] route_table_id
654
+ # Information about the ID of the route table.
655
+ # @return [Types::ActionTarget]
656
+ #
657
+ # @see http://docs.aws.amazon.com/goto/WebAPI/fms-2018-01-01/EC2DeleteRouteAction AWS API Documentation
658
+ #
659
+ class EC2DeleteRouteAction < Struct.new(
660
+ :description,
661
+ :destination_cidr_block,
662
+ :destination_prefix_list_id,
663
+ :destination_ipv_6_cidr_block,
664
+ :route_table_id)
665
+ SENSITIVE = []
666
+ include Aws::Structure
667
+ end
668
+
669
+ # Information about the ReplaceRoute action in Amazon EC2.
670
+ #
671
+ # @!attribute [rw] description
672
+ # A description of the ReplaceRoute action in Amazon EC2.
673
+ # @return [String]
674
+ #
675
+ # @!attribute [rw] destination_cidr_block
676
+ # Information about the IPv4 CIDR address block used for the
677
+ # destination match. The value that you provide must match the CIDR of
678
+ # an existing route in the table.
679
+ # @return [String]
680
+ #
681
+ # @!attribute [rw] destination_prefix_list_id
682
+ # Information about the ID of the prefix list for the route.
683
+ # @return [String]
684
+ #
685
+ # @!attribute [rw] destination_ipv_6_cidr_block
686
+ # Information about the IPv6 CIDR address block used for the
687
+ # destination match. The value that you provide must match the CIDR of
688
+ # an existing route in the table.
689
+ # @return [String]
690
+ #
691
+ # @!attribute [rw] gateway_id
692
+ # Information about the ID of an internet gateway or virtual private
693
+ # gateway.
694
+ # @return [Types::ActionTarget]
695
+ #
696
+ # @!attribute [rw] route_table_id
697
+ # Information about the ID of the route table.
698
+ # @return [Types::ActionTarget]
699
+ #
700
+ # @see http://docs.aws.amazon.com/goto/WebAPI/fms-2018-01-01/EC2ReplaceRouteAction AWS API Documentation
701
+ #
702
+ class EC2ReplaceRouteAction < Struct.new(
703
+ :description,
704
+ :destination_cidr_block,
705
+ :destination_prefix_list_id,
706
+ :destination_ipv_6_cidr_block,
707
+ :gateway_id,
708
+ :route_table_id)
709
+ SENSITIVE = []
710
+ include Aws::Structure
711
+ end
712
+
713
+ # Information about the ReplaceRouteTableAssociation action in Amazon
714
+ # EC2.
715
+ #
716
+ # @!attribute [rw] description
717
+ # A description of the ReplaceRouteTableAssociation action in Amazon
718
+ # EC2.
719
+ # @return [String]
720
+ #
721
+ # @!attribute [rw] association_id
722
+ # Information about the association ID.
723
+ # @return [Types::ActionTarget]
724
+ #
725
+ # @!attribute [rw] route_table_id
726
+ # Information about the ID of the new route table to associate with
727
+ # the subnet.
728
+ # @return [Types::ActionTarget]
729
+ #
730
+ # @see http://docs.aws.amazon.com/goto/WebAPI/fms-2018-01-01/EC2ReplaceRouteTableAssociationAction AWS API Documentation
731
+ #
732
+ class EC2ReplaceRouteTableAssociationAction < Struct.new(
733
+ :description,
734
+ :association_id,
735
+ :route_table_id)
736
+ SENSITIVE = []
737
+ include Aws::Structure
738
+ end
739
+
396
740
  # Describes the compliance status for the account. An account is
397
741
  # considered noncompliant if it includes resources that are not
398
742
  # protected by the specified policy or that don't comply with the
399
743
  # policy.
400
744
  #
401
745
  # @!attribute [rw] compliance_status
402
- # Describes an AWS account's compliance with the AWS Firewall Manager
403
- # policy.
746
+ # Describes an Amazon Web Services account's compliance with the
747
+ # Firewall Manager policy.
404
748
  # @return [String]
405
749
  #
406
750
  # @!attribute [rw] violator_count
407
751
  # The number of resources that are noncompliant with the specified
408
- # policy. For AWS WAF and Shield Advanced policies, a resource is
752
+ # policy. For WAF and Shield Advanced policies, a resource is
409
753
  # considered noncompliant if it is not associated with the policy. For
410
754
  # security group policies, a resource is considered noncompliant if it
411
755
  # doesn't comply with the rules of the policy and remediation is
@@ -413,8 +757,8 @@ module Aws::FMS
413
757
  # @return [Integer]
414
758
  #
415
759
  # @!attribute [rw] evaluation_limit_exceeded
416
- # Indicates that over 100 resources are noncompliant with the AWS
417
- # Firewall Manager policy.
760
+ # Indicates that over 100 resources are noncompliant with the Firewall
761
+ # Manager policy.
418
762
  # @return [Boolean]
419
763
  #
420
764
  # @see http://docs.aws.amazon.com/goto/WebAPI/fms-2018-01-01/EvaluationResult AWS API Documentation
@@ -427,6 +771,45 @@ module Aws::FMS
427
771
  include Aws::Structure
428
772
  end
429
773
 
774
+ # Information about the expected route in the route table.
775
+ #
776
+ # @!attribute [rw] ip_v4_cidr
777
+ # Information about the IPv4 CIDR block.
778
+ # @return [String]
779
+ #
780
+ # @!attribute [rw] prefix_list_id
781
+ # Information about the ID of the prefix list for the route.
782
+ # @return [String]
783
+ #
784
+ # @!attribute [rw] ip_v6_cidr
785
+ # Information about the IPv6 CIDR block.
786
+ # @return [String]
787
+ #
788
+ # @!attribute [rw] contributing_subnets
789
+ # Information about the contributing subnets.
790
+ # @return [Array<String>]
791
+ #
792
+ # @!attribute [rw] allowed_targets
793
+ # Information about the allowed targets.
794
+ # @return [Array<String>]
795
+ #
796
+ # @!attribute [rw] route_table_id
797
+ # Information about the route table ID.
798
+ # @return [String]
799
+ #
800
+ # @see http://docs.aws.amazon.com/goto/WebAPI/fms-2018-01-01/ExpectedRoute AWS API Documentation
801
+ #
802
+ class ExpectedRoute < Struct.new(
803
+ :ip_v4_cidr,
804
+ :prefix_list_id,
805
+ :ip_v6_cidr,
806
+ :contributing_subnets,
807
+ :allowed_targets,
808
+ :route_table_id)
809
+ SENSITIVE = []
810
+ include Aws::Structure
811
+ end
812
+
430
813
  # @api private
431
814
  #
432
815
  # @see http://docs.aws.amazon.com/goto/WebAPI/fms-2018-01-01/GetAdminAccountRequest AWS API Documentation
@@ -434,13 +817,13 @@ module Aws::FMS
434
817
  class GetAdminAccountRequest < Aws::EmptyStructure; end
435
818
 
436
819
  # @!attribute [rw] admin_account
437
- # The AWS account that is set as the AWS Firewall Manager
820
+ # The Amazon Web Services account that is set as the Firewall Manager
438
821
  # administrator.
439
822
  # @return [String]
440
823
  #
441
824
  # @!attribute [rw] role_status
442
- # The status of the AWS account that you set as the AWS Firewall
443
- # Manager administrator.
825
+ # The status of the Amazon Web Services account that you set as the
826
+ # Firewall Manager administrator.
444
827
  # @return [String]
445
828
  #
446
829
  # @see http://docs.aws.amazon.com/goto/WebAPI/fms-2018-01-01/GetAdminAccountResponse AWS API Documentation
@@ -461,13 +844,13 @@ module Aws::FMS
461
844
  # }
462
845
  #
463
846
  # @!attribute [rw] list_id
464
- # The ID of the AWS Firewall Manager applications list that you want
465
- # the details for.
847
+ # The ID of the Firewall Manager applications list that you want the
848
+ # details for.
466
849
  # @return [String]
467
850
  #
468
851
  # @!attribute [rw] default_list
469
852
  # Specifies whether the list to retrieve is a default list owned by
470
- # AWS Firewall Manager.
853
+ # Firewall Manager.
471
854
  # @return [Boolean]
472
855
  #
473
856
  # @see http://docs.aws.amazon.com/goto/WebAPI/fms-2018-01-01/GetAppsListRequest AWS API Documentation
@@ -480,8 +863,7 @@ module Aws::FMS
480
863
  end
481
864
 
482
865
  # @!attribute [rw] apps_list
483
- # Information about the specified AWS Firewall Manager applications
484
- # list.
866
+ # Information about the specified Firewall Manager applications list.
485
867
  # @return [Types::AppsListData]
486
868
  #
487
869
  # @!attribute [rw] apps_list_arn
@@ -511,8 +893,8 @@ module Aws::FMS
511
893
  # @return [String]
512
894
  #
513
895
  # @!attribute [rw] member_account
514
- # The AWS account that owns the resources that you want to get the
515
- # details for.
896
+ # The Amazon Web Services account that owns the resources that you
897
+ # want to get the details for.
516
898
  # @return [String]
517
899
  #
518
900
  # @see http://docs.aws.amazon.com/goto/WebAPI/fms-2018-01-01/GetComplianceDetailRequest AWS API Documentation
@@ -544,12 +926,12 @@ module Aws::FMS
544
926
  class GetNotificationChannelRequest < Aws::EmptyStructure; end
545
927
 
546
928
  # @!attribute [rw] sns_topic_arn
547
- # The SNS topic that records AWS Firewall Manager activity.
929
+ # The SNS topic that records Firewall Manager activity.
548
930
  # @return [String]
549
931
  #
550
932
  # @!attribute [rw] sns_role_name
551
- # The IAM role that is used by AWS Firewall Manager to record activity
552
- # to SNS.
933
+ # The IAM role that is used by Firewall Manager to record activity to
934
+ # SNS.
553
935
  # @return [String]
554
936
  #
555
937
  # @see http://docs.aws.amazon.com/goto/WebAPI/fms-2018-01-01/GetNotificationChannelResponse AWS API Documentation
@@ -569,8 +951,7 @@ module Aws::FMS
569
951
  # }
570
952
  #
571
953
  # @!attribute [rw] policy_id
572
- # The ID of the AWS Firewall Manager policy that you want the details
573
- # for.
954
+ # The ID of the Firewall Manager policy that you want the details for.
574
955
  # @return [String]
575
956
  #
576
957
  # @see http://docs.aws.amazon.com/goto/WebAPI/fms-2018-01-01/GetPolicyRequest AWS API Documentation
@@ -582,7 +963,7 @@ module Aws::FMS
582
963
  end
583
964
 
584
965
  # @!attribute [rw] policy
585
- # Information about the specified AWS Firewall Manager policy.
966
+ # Information about the specified Firewall Manager policy.
586
967
  # @return [Types::Policy]
587
968
  #
588
969
  # @!attribute [rw] policy_arn
@@ -616,37 +997,37 @@ module Aws::FMS
616
997
  # @return [String]
617
998
  #
618
999
  # @!attribute [rw] member_account_id
619
- # The AWS account that is in scope of the policy that you want to get
620
- # the details for.
1000
+ # The Amazon Web Services account that is in scope of the policy that
1001
+ # you want to get the details for.
621
1002
  # @return [String]
622
1003
  #
623
1004
  # @!attribute [rw] start_time
624
1005
  # The start of the time period to query for the attacks. This is a
625
1006
  # `timestamp` type. The request syntax listing indicates a `number`
626
- # type because the default used by AWS Firewall Manager is Unix time
627
- # in seconds. However, any valid `timestamp` format is allowed.
1007
+ # type because the default used by Firewall Manager is Unix time in
1008
+ # seconds. However, any valid `timestamp` format is allowed.
628
1009
  # @return [Time]
629
1010
  #
630
1011
  # @!attribute [rw] end_time
631
1012
  # The end of the time period to query for the attacks. This is a
632
1013
  # `timestamp` type. The request syntax listing indicates a `number`
633
- # type because the default used by AWS Firewall Manager is Unix time
634
- # in seconds. However, any valid `timestamp` format is allowed.
1014
+ # type because the default used by Firewall Manager is Unix time in
1015
+ # seconds. However, any valid `timestamp` format is allowed.
635
1016
  # @return [Time]
636
1017
  #
637
1018
  # @!attribute [rw] next_token
638
1019
  # If you specify a value for `MaxResults` and you have more objects
639
- # than the number that you specify for `MaxResults`, AWS Firewall
640
- # Manager returns a `NextToken` value in the response, which you can
641
- # use to retrieve another group of objects. For the second and
642
- # subsequent `GetProtectionStatus` requests, specify the value of
643
- # `NextToken` from the previous response to get information about
644
- # another batch of objects.
1020
+ # than the number that you specify for `MaxResults`, Firewall Manager
1021
+ # returns a `NextToken` value in the response, which you can use to
1022
+ # retrieve another group of objects. For the second and subsequent
1023
+ # `GetProtectionStatus` requests, specify the value of `NextToken`
1024
+ # from the previous response to get information about another batch of
1025
+ # objects.
645
1026
  # @return [String]
646
1027
  #
647
1028
  # @!attribute [rw] max_results
648
- # Specifies the number of objects that you want AWS Firewall Manager
649
- # to return for this request. If you have more objects than the number
1029
+ # Specifies the number of objects that you want Firewall Manager to
1030
+ # return for this request. If you have more objects than the number
650
1031
  # that you specify for `MaxResults`, the response includes a
651
1032
  # `NextToken` value that you can use to get another batch of objects.
652
1033
  # @return [Integer]
@@ -665,7 +1046,8 @@ module Aws::FMS
665
1046
  end
666
1047
 
667
1048
  # @!attribute [rw] admin_account_id
668
- # The ID of the AWS Firewall administrator account for this policy.
1049
+ # The ID of the Firewall Manager administrator account for this
1050
+ # policy.
669
1051
  # @return [String]
670
1052
  #
671
1053
  # @!attribute [rw] service_type
@@ -696,10 +1078,10 @@ module Aws::FMS
696
1078
  # request, and specify the `NextToken` value from the response in the
697
1079
  # `NextToken` value in the next request.
698
1080
  #
699
- # AWS SDKs provide auto-pagination that identify `NextToken` in a
700
- # response and make subsequent request calls automatically on your
701
- # behalf. However, this feature is not supported by
702
- # `GetProtectionStatus`. You must submit subsequent requests with
1081
+ # Amazon Web Services SDKs provide auto-pagination that identify
1082
+ # `NextToken` in a response and make subsequent request calls
1083
+ # automatically on your behalf. However, this feature is not supported
1084
+ # by `GetProtectionStatus`. You must submit subsequent requests with
703
1085
  # `NextToken` using your own processes.
704
1086
  # @return [String]
705
1087
  #
@@ -723,13 +1105,13 @@ module Aws::FMS
723
1105
  # }
724
1106
  #
725
1107
  # @!attribute [rw] list_id
726
- # The ID of the AWS Firewall Manager protocols list that you want the
1108
+ # The ID of the Firewall Manager protocols list that you want the
727
1109
  # details for.
728
1110
  # @return [String]
729
1111
  #
730
1112
  # @!attribute [rw] default_list
731
1113
  # Specifies whether the list to retrieve is a default list owned by
732
- # AWS Firewall Manager.
1114
+ # Firewall Manager.
733
1115
  # @return [Boolean]
734
1116
  #
735
1117
  # @see http://docs.aws.amazon.com/goto/WebAPI/fms-2018-01-01/GetProtocolsListRequest AWS API Documentation
@@ -742,7 +1124,7 @@ module Aws::FMS
742
1124
  end
743
1125
 
744
1126
  # @!attribute [rw] protocols_list
745
- # Information about the specified AWS Firewall Manager protocols list.
1127
+ # Information about the specified Firewall Manager protocols list.
746
1128
  # @return [Types::ProtocolsListData]
747
1129
  #
748
1130
  # @!attribute [rw] protocols_list_arn
@@ -769,13 +1151,12 @@ module Aws::FMS
769
1151
  # }
770
1152
  #
771
1153
  # @!attribute [rw] policy_id
772
- # The ID of the AWS Firewall Manager policy that you want the details
773
- # for. This currently only supports security group content audit
774
- # policies.
1154
+ # The ID of the Firewall Manager policy that you want the details for.
1155
+ # This currently only supports security group content audit policies.
775
1156
  # @return [String]
776
1157
  #
777
1158
  # @!attribute [rw] member_account
778
- # The AWS account ID that you want the details for.
1159
+ # The Amazon Web Services account ID that you want the details for.
779
1160
  # @return [String]
780
1161
  #
781
1162
  # @!attribute [rw] resource_id
@@ -783,10 +1164,11 @@ module Aws::FMS
783
1164
  # @return [String]
784
1165
  #
785
1166
  # @!attribute [rw] resource_type
786
- # The resource type. This is in the format shown in the [AWS Resource
787
- # Types Reference][1]. Supported resource types are:
788
- # `AWS::EC2::Instance`, `AWS::EC2::NetworkInterface`, or
789
- # `AWS::EC2::SecurityGroup`.
1167
+ # The resource type. This is in the format shown in the [Amazon Web
1168
+ # Services Resource Types Reference][1]. Supported resource types are:
1169
+ # `AWS::EC2::Instance`, `AWS::EC2::NetworkInterface`,
1170
+ # `AWS::EC2::SecurityGroup`, `AWS::NetworkFirewall::FirewallPolicy`,
1171
+ # and `AWS::EC2::Subnet`.
790
1172
  #
791
1173
  #
792
1174
  #
@@ -846,9 +1228,9 @@ module Aws::FMS
846
1228
  # The operation failed because there was nothing to do or the operation
847
1229
  # wasn't possible. For example, you might have submitted an
848
1230
  # `AssociateAdminAccount` request for an account ID that was already set
849
- # as the AWS Firewall Manager administrator. Or you might have tried to
1231
+ # as the Firewall Manager administrator. Or you might have tried to
850
1232
  # access a Region that's disabled by default, and that you need to
851
- # enable for the Firewall Manager administrator account and for AWS
1233
+ # enable for the Firewall Manager administrator account and for
852
1234
  # Organizations before you can access it.
853
1235
  #
854
1236
  # @!attribute [rw] message
@@ -876,9 +1258,9 @@ module Aws::FMS
876
1258
  end
877
1259
 
878
1260
  # The operation exceeds a resource limit, for example, the maximum
879
- # number of `policy` objects that you can create for an AWS account. For
880
- # more information, see [Firewall Manager Limits][1] in the *AWS WAF
881
- # Developer Guide*.
1261
+ # number of `policy` objects that you can create for an Amazon Web
1262
+ # Services account. For more information, see [Firewall Manager
1263
+ # Limits][1] in the *WAF Developer Guide*.
882
1264
  #
883
1265
  #
884
1266
  #
@@ -906,25 +1288,25 @@ module Aws::FMS
906
1288
  #
907
1289
  # @!attribute [rw] default_lists
908
1290
  # Specifies whether the lists to retrieve are default lists owned by
909
- # AWS Firewall Manager.
1291
+ # Firewall Manager.
910
1292
  # @return [Boolean]
911
1293
  #
912
1294
  # @!attribute [rw] next_token
913
1295
  # If you specify a value for `MaxResults` in your list request, and
914
- # you have more objects than the maximum, AWS Firewall Manager returns
1296
+ # you have more objects than the maximum, Firewall Manager returns
915
1297
  # this token in the response. For all but the first request, you
916
1298
  # provide the token returned by the prior request in the request
917
1299
  # parameters, to retrieve the next batch of objects.
918
1300
  # @return [String]
919
1301
  #
920
1302
  # @!attribute [rw] max_results
921
- # The maximum number of objects that you want AWS Firewall Manager to
1303
+ # The maximum number of objects that you want Firewall Manager to
922
1304
  # return for this request. If more objects are available, in the
923
- # response, AWS Firewall Manager provides a `NextToken` value that you
924
- # can use in a subsequent call to get the next batch of objects.
1305
+ # response, Firewall Manager provides a `NextToken` value that you can
1306
+ # use in a subsequent call to get the next batch of objects.
925
1307
  #
926
- # If you don't specify this, AWS Firewall Manager returns all
927
- # available objects.
1308
+ # If you don't specify this, Firewall Manager returns all available
1309
+ # objects.
928
1310
  # @return [Integer]
929
1311
  #
930
1312
  # @see http://docs.aws.amazon.com/goto/WebAPI/fms-2018-01-01/ListAppsListsRequest AWS API Documentation
@@ -943,7 +1325,7 @@ module Aws::FMS
943
1325
  #
944
1326
  # @!attribute [rw] next_token
945
1327
  # If you specify a value for `MaxResults` in your list request, and
946
- # you have more objects than the maximum, AWS Firewall Manager returns
1328
+ # you have more objects than the maximum, Firewall Manager returns
947
1329
  # this token in the response. You can use this token in subsequent
948
1330
  # requests to retrieve the next batch of objects.
949
1331
  # @return [String]
@@ -967,15 +1349,14 @@ module Aws::FMS
967
1349
  # }
968
1350
  #
969
1351
  # @!attribute [rw] policy_id
970
- # The ID of the AWS Firewall Manager policy that you want the details
971
- # for.
1352
+ # The ID of the Firewall Manager policy that you want the details for.
972
1353
  # @return [String]
973
1354
  #
974
1355
  # @!attribute [rw] next_token
975
1356
  # If you specify a value for `MaxResults` and you have more
976
1357
  # `PolicyComplianceStatus` objects than the number that you specify
977
- # for `MaxResults`, AWS Firewall Manager returns a `NextToken` value
978
- # in the response that allows you to list another group of
1358
+ # for `MaxResults`, Firewall Manager returns a `NextToken` value in
1359
+ # the response that allows you to list another group of
979
1360
  # `PolicyComplianceStatus` objects. For the second and subsequent
980
1361
  # `ListComplianceStatus` requests, specify the value of `NextToken`
981
1362
  # from the previous response to get information about another batch of
@@ -984,11 +1365,10 @@ module Aws::FMS
984
1365
  #
985
1366
  # @!attribute [rw] max_results
986
1367
  # Specifies the number of `PolicyComplianceStatus` objects that you
987
- # want AWS Firewall Manager to return for this request. If you have
988
- # more `PolicyComplianceStatus` objects than the number that you
989
- # specify for `MaxResults`, the response includes a `NextToken` value
990
- # that you can use to get another batch of `PolicyComplianceStatus`
991
- # objects.
1368
+ # want Firewall Manager to return for this request. If you have more
1369
+ # `PolicyComplianceStatus` objects than the number that you specify
1370
+ # for `MaxResults`, the response includes a `NextToken` value that you
1371
+ # can use to get another batch of `PolicyComplianceStatus` objects.
992
1372
  # @return [Integer]
993
1373
  #
994
1374
  # @see http://docs.aws.amazon.com/goto/WebAPI/fms-2018-01-01/ListComplianceStatusRequest AWS API Documentation
@@ -1033,7 +1413,7 @@ module Aws::FMS
1033
1413
  #
1034
1414
  # @!attribute [rw] next_token
1035
1415
  # If you specify a value for `MaxResults` and you have more account
1036
- # IDs than the number that you specify for `MaxResults`, AWS Firewall
1416
+ # IDs than the number that you specify for `MaxResults`, Firewall
1037
1417
  # Manager returns a `NextToken` value in the response that allows you
1038
1418
  # to list another group of IDs. For the second and subsequent
1039
1419
  # `ListMemberAccountsRequest` requests, specify the value of
@@ -1042,11 +1422,11 @@ module Aws::FMS
1042
1422
  # @return [String]
1043
1423
  #
1044
1424
  # @!attribute [rw] max_results
1045
- # Specifies the number of member account IDs that you want AWS
1046
- # Firewall Manager to return for this request. If you have more IDs
1047
- # than the number that you specify for `MaxResults`, the response
1048
- # includes a `NextToken` value that you can use to get another batch
1049
- # of member account IDs.
1425
+ # Specifies the number of member account IDs that you want Firewall
1426
+ # Manager to return for this request. If you have more IDs than the
1427
+ # number that you specify for `MaxResults`, the response includes a
1428
+ # `NextToken` value that you can use to get another batch of member
1429
+ # account IDs.
1050
1430
  # @return [Integer]
1051
1431
  #
1052
1432
  # @see http://docs.aws.amazon.com/goto/WebAPI/fms-2018-01-01/ListMemberAccountsRequest AWS API Documentation
@@ -1090,16 +1470,15 @@ module Aws::FMS
1090
1470
  # @!attribute [rw] next_token
1091
1471
  # If you specify a value for `MaxResults` and you have more
1092
1472
  # `PolicySummary` objects than the number that you specify for
1093
- # `MaxResults`, AWS Firewall Manager returns a `NextToken` value in
1094
- # the response that allows you to list another group of
1095
- # `PolicySummary` objects. For the second and subsequent
1096
- # `ListPolicies` requests, specify the value of `NextToken` from the
1097
- # previous response to get information about another batch of
1098
- # `PolicySummary` objects.
1473
+ # `MaxResults`, Firewall Manager returns a `NextToken` value in the
1474
+ # response that allows you to list another group of `PolicySummary`
1475
+ # objects. For the second and subsequent `ListPolicies` requests,
1476
+ # specify the value of `NextToken` from the previous response to get
1477
+ # information about another batch of `PolicySummary` objects.
1099
1478
  # @return [String]
1100
1479
  #
1101
1480
  # @!attribute [rw] max_results
1102
- # Specifies the number of `PolicySummary` objects that you want AWS
1481
+ # Specifies the number of `PolicySummary` objects that you want
1103
1482
  # Firewall Manager to return for this request. If you have more
1104
1483
  # `PolicySummary` objects than the number that you specify for
1105
1484
  # `MaxResults`, the response includes a `NextToken` value that you can
@@ -1147,25 +1526,25 @@ module Aws::FMS
1147
1526
  #
1148
1527
  # @!attribute [rw] default_lists
1149
1528
  # Specifies whether the lists to retrieve are default lists owned by
1150
- # AWS Firewall Manager.
1529
+ # Firewall Manager.
1151
1530
  # @return [Boolean]
1152
1531
  #
1153
1532
  # @!attribute [rw] next_token
1154
1533
  # If you specify a value for `MaxResults` in your list request, and
1155
- # you have more objects than the maximum, AWS Firewall Manager returns
1534
+ # you have more objects than the maximum, Firewall Manager returns
1156
1535
  # this token in the response. For all but the first request, you
1157
1536
  # provide the token returned by the prior request in the request
1158
1537
  # parameters, to retrieve the next batch of objects.
1159
1538
  # @return [String]
1160
1539
  #
1161
1540
  # @!attribute [rw] max_results
1162
- # The maximum number of objects that you want AWS Firewall Manager to
1541
+ # The maximum number of objects that you want Firewall Manager to
1163
1542
  # return for this request. If more objects are available, in the
1164
- # response, AWS Firewall Manager provides a `NextToken` value that you
1165
- # can use in a subsequent call to get the next batch of objects.
1543
+ # response, Firewall Manager provides a `NextToken` value that you can
1544
+ # use in a subsequent call to get the next batch of objects.
1166
1545
  #
1167
- # If you don't specify this, AWS Firewall Manager returns all
1168
- # available objects.
1546
+ # If you don't specify this, Firewall Manager returns all available
1547
+ # objects.
1169
1548
  # @return [Integer]
1170
1549
  #
1171
1550
  # @see http://docs.aws.amazon.com/goto/WebAPI/fms-2018-01-01/ListProtocolsListsRequest AWS API Documentation
@@ -1184,7 +1563,7 @@ module Aws::FMS
1184
1563
  #
1185
1564
  # @!attribute [rw] next_token
1186
1565
  # If you specify a value for `MaxResults` in your list request, and
1187
- # you have more objects than the maximum, AWS Firewall Manager returns
1566
+ # you have more objects than the maximum, Firewall Manager returns
1188
1567
  # this token in the response. You can use this token in subsequent
1189
1568
  # requests to retrieve the next batch of objects.
1190
1569
  # @return [String]
@@ -1207,8 +1586,8 @@ module Aws::FMS
1207
1586
  #
1208
1587
  # @!attribute [rw] resource_arn
1209
1588
  # The Amazon Resource Name (ARN) of the resource to return tags for.
1210
- # The AWS Firewall Manager resources that support tagging are
1211
- # policies, applications lists, and protocols lists.
1589
+ # The Firewall Manager resources that support tagging are policies,
1590
+ # applications lists, and protocols lists.
1212
1591
  # @return [String]
1213
1592
  #
1214
1593
  # @see http://docs.aws.amazon.com/goto/WebAPI/fms-2018-01-01/ListTagsForResourceRequest AWS API Documentation
@@ -1231,12 +1610,473 @@ module Aws::FMS
1231
1610
  include Aws::Structure
1232
1611
  end
1233
1612
 
1613
+ # Violation detail for an internet gateway route with an inactive state
1614
+ # in the customer subnet route table or Network Firewall subnet route
1615
+ # table.
1616
+ #
1617
+ # @!attribute [rw] violation_target
1618
+ # The subnet that has an inactive state.
1619
+ # @return [String]
1620
+ #
1621
+ # @!attribute [rw] route_table_id
1622
+ # Information about the route table ID.
1623
+ # @return [String]
1624
+ #
1625
+ # @!attribute [rw] vpc_id
1626
+ # Information about the VPC ID.
1627
+ # @return [String]
1628
+ #
1629
+ # @!attribute [rw] violating_routes
1630
+ # Information about the route or routes that are in violation.
1631
+ # @return [Array<Types::Route>]
1632
+ #
1633
+ # @see http://docs.aws.amazon.com/goto/WebAPI/fms-2018-01-01/NetworkFirewallBlackHoleRouteDetectedViolation AWS API Documentation
1634
+ #
1635
+ class NetworkFirewallBlackHoleRouteDetectedViolation < Struct.new(
1636
+ :violation_target,
1637
+ :route_table_id,
1638
+ :vpc_id,
1639
+ :violating_routes)
1640
+ SENSITIVE = []
1641
+ include Aws::Structure
1642
+ end
1643
+
1644
+ # Violation detail for the subnet for which internet traffic that
1645
+ # hasn't been inspected.
1646
+ #
1647
+ # @!attribute [rw] subnet_id
1648
+ # The subnet ID.
1649
+ # @return [String]
1650
+ #
1651
+ # @!attribute [rw] subnet_availability_zone
1652
+ # The subnet Availability Zone.
1653
+ # @return [String]
1654
+ #
1655
+ # @!attribute [rw] route_table_id
1656
+ # Information about the route table ID.
1657
+ # @return [String]
1658
+ #
1659
+ # @!attribute [rw] violating_routes
1660
+ # The route or routes that are in violation.
1661
+ # @return [Array<Types::Route>]
1662
+ #
1663
+ # @!attribute [rw] is_route_table_used_in_different_az
1664
+ # Information about whether the route table is used in another
1665
+ # Availability Zone.
1666
+ # @return [Boolean]
1667
+ #
1668
+ # @!attribute [rw] current_firewall_subnet_route_table
1669
+ # Information about the subnet route table for the current firewall.
1670
+ # @return [String]
1671
+ #
1672
+ # @!attribute [rw] expected_firewall_endpoint
1673
+ # The expected endpoint for the current firewall.
1674
+ # @return [String]
1675
+ #
1676
+ # @!attribute [rw] firewall_subnet_id
1677
+ # The firewall subnet ID.
1678
+ # @return [String]
1679
+ #
1680
+ # @!attribute [rw] expected_firewall_subnet_routes
1681
+ # The firewall subnet routes that are expected.
1682
+ # @return [Array<Types::ExpectedRoute>]
1683
+ #
1684
+ # @!attribute [rw] actual_firewall_subnet_routes
1685
+ # The actual firewall subnet routes.
1686
+ # @return [Array<Types::Route>]
1687
+ #
1688
+ # @!attribute [rw] internet_gateway_id
1689
+ # The internet gateway ID.
1690
+ # @return [String]
1691
+ #
1692
+ # @!attribute [rw] current_internet_gateway_route_table
1693
+ # The current route table for the internet gateway.
1694
+ # @return [String]
1695
+ #
1696
+ # @!attribute [rw] expected_internet_gateway_routes
1697
+ # The internet gateway routes that are expected.
1698
+ # @return [Array<Types::ExpectedRoute>]
1699
+ #
1700
+ # @!attribute [rw] actual_internet_gateway_routes
1701
+ # The actual internet gateway routes.
1702
+ # @return [Array<Types::Route>]
1703
+ #
1704
+ # @!attribute [rw] vpc_id
1705
+ # Information about the VPC ID.
1706
+ # @return [String]
1707
+ #
1708
+ # @see http://docs.aws.amazon.com/goto/WebAPI/fms-2018-01-01/NetworkFirewallInternetTrafficNotInspectedViolation AWS API Documentation
1709
+ #
1710
+ class NetworkFirewallInternetTrafficNotInspectedViolation < Struct.new(
1711
+ :subnet_id,
1712
+ :subnet_availability_zone,
1713
+ :route_table_id,
1714
+ :violating_routes,
1715
+ :is_route_table_used_in_different_az,
1716
+ :current_firewall_subnet_route_table,
1717
+ :expected_firewall_endpoint,
1718
+ :firewall_subnet_id,
1719
+ :expected_firewall_subnet_routes,
1720
+ :actual_firewall_subnet_routes,
1721
+ :internet_gateway_id,
1722
+ :current_internet_gateway_route_table,
1723
+ :expected_internet_gateway_routes,
1724
+ :actual_internet_gateway_routes,
1725
+ :vpc_id)
1726
+ SENSITIVE = []
1727
+ include Aws::Structure
1728
+ end
1729
+
1730
+ # Violation detail for the improperly configured subnet route. It's
1731
+ # possible there is a missing route table route, or a configuration that
1732
+ # causes traffic to cross an Availability Zone boundary.
1733
+ #
1734
+ # @!attribute [rw] affected_subnets
1735
+ # The subnets that are affected.
1736
+ # @return [Array<String>]
1737
+ #
1738
+ # @!attribute [rw] route_table_id
1739
+ # The route table ID.
1740
+ # @return [String]
1741
+ #
1742
+ # @!attribute [rw] is_route_table_used_in_different_az
1743
+ # Information about whether the route table is used in another
1744
+ # Availability Zone.
1745
+ # @return [Boolean]
1746
+ #
1747
+ # @!attribute [rw] violating_route
1748
+ # The route that's in violation.
1749
+ # @return [Types::Route]
1750
+ #
1751
+ # @!attribute [rw] current_firewall_subnet_route_table
1752
+ # The subnet route table for the current firewall.
1753
+ # @return [String]
1754
+ #
1755
+ # @!attribute [rw] expected_firewall_endpoint
1756
+ # The firewall endpoint that's expected.
1757
+ # @return [String]
1758
+ #
1759
+ # @!attribute [rw] actual_firewall_endpoint
1760
+ # The actual firewall endpoint.
1761
+ # @return [String]
1762
+ #
1763
+ # @!attribute [rw] expected_firewall_subnet_id
1764
+ # The expected subnet ID for the firewall.
1765
+ # @return [String]
1766
+ #
1767
+ # @!attribute [rw] actual_firewall_subnet_id
1768
+ # The actual subnet ID for the firewall.
1769
+ # @return [String]
1770
+ #
1771
+ # @!attribute [rw] expected_firewall_subnet_routes
1772
+ # The firewall subnet routes that are expected.
1773
+ # @return [Array<Types::ExpectedRoute>]
1774
+ #
1775
+ # @!attribute [rw] actual_firewall_subnet_routes
1776
+ # The actual firewall subnet routes that are expected.
1777
+ # @return [Array<Types::Route>]
1778
+ #
1779
+ # @!attribute [rw] internet_gateway_id
1780
+ # The internet gateway ID.
1781
+ # @return [String]
1782
+ #
1783
+ # @!attribute [rw] current_internet_gateway_route_table
1784
+ # The route table for the current internet gateway.
1785
+ # @return [String]
1786
+ #
1787
+ # @!attribute [rw] expected_internet_gateway_routes
1788
+ # The expected routes for the internet gateway.
1789
+ # @return [Array<Types::ExpectedRoute>]
1790
+ #
1791
+ # @!attribute [rw] actual_internet_gateway_routes
1792
+ # The actual internet gateway routes.
1793
+ # @return [Array<Types::Route>]
1794
+ #
1795
+ # @!attribute [rw] vpc_id
1796
+ # Information about the VPC ID.
1797
+ # @return [String]
1798
+ #
1799
+ # @see http://docs.aws.amazon.com/goto/WebAPI/fms-2018-01-01/NetworkFirewallInvalidRouteConfigurationViolation AWS API Documentation
1800
+ #
1801
+ class NetworkFirewallInvalidRouteConfigurationViolation < Struct.new(
1802
+ :affected_subnets,
1803
+ :route_table_id,
1804
+ :is_route_table_used_in_different_az,
1805
+ :violating_route,
1806
+ :current_firewall_subnet_route_table,
1807
+ :expected_firewall_endpoint,
1808
+ :actual_firewall_endpoint,
1809
+ :expected_firewall_subnet_id,
1810
+ :actual_firewall_subnet_id,
1811
+ :expected_firewall_subnet_routes,
1812
+ :actual_firewall_subnet_routes,
1813
+ :internet_gateway_id,
1814
+ :current_internet_gateway_route_table,
1815
+ :expected_internet_gateway_routes,
1816
+ :actual_internet_gateway_routes,
1817
+ :vpc_id)
1818
+ SENSITIVE = []
1819
+ include Aws::Structure
1820
+ end
1821
+
1822
+ # Violation detail for Network Firewall for a subnet that's not
1823
+ # associated to the expected Firewall Manager managed route table.
1824
+ #
1825
+ # @!attribute [rw] violation_target
1826
+ # The ID of the Network Firewall or VPC resource that's in violation.
1827
+ # @return [String]
1828
+ #
1829
+ # @!attribute [rw] vpc
1830
+ # The resource ID of the VPC associated with a violating subnet.
1831
+ # @return [String]
1832
+ #
1833
+ # @!attribute [rw] availability_zone
1834
+ # The Availability Zone of a violating subnet.
1835
+ # @return [String]
1836
+ #
1837
+ # @!attribute [rw] current_route_table
1838
+ # The resource ID of the current route table that's associated with
1839
+ # the subnet, if one is available.
1840
+ # @return [String]
1841
+ #
1842
+ # @!attribute [rw] expected_route_table
1843
+ # The resource ID of the route table that should be associated with
1844
+ # the subnet.
1845
+ # @return [String]
1846
+ #
1847
+ # @see http://docs.aws.amazon.com/goto/WebAPI/fms-2018-01-01/NetworkFirewallMissingExpectedRTViolation AWS API Documentation
1848
+ #
1849
+ class NetworkFirewallMissingExpectedRTViolation < Struct.new(
1850
+ :violation_target,
1851
+ :vpc,
1852
+ :availability_zone,
1853
+ :current_route_table,
1854
+ :expected_route_table)
1855
+ SENSITIVE = []
1856
+ include Aws::Structure
1857
+ end
1858
+
1859
+ # Violation detail for an expected route missing in Network Firewall.
1860
+ #
1861
+ # @!attribute [rw] violation_target
1862
+ # The target of the violation.
1863
+ # @return [String]
1864
+ #
1865
+ # @!attribute [rw] expected_routes
1866
+ # The expected routes.
1867
+ # @return [Array<Types::ExpectedRoute>]
1868
+ #
1869
+ # @!attribute [rw] vpc_id
1870
+ # Information about the VPC ID.
1871
+ # @return [String]
1872
+ #
1873
+ # @see http://docs.aws.amazon.com/goto/WebAPI/fms-2018-01-01/NetworkFirewallMissingExpectedRoutesViolation AWS API Documentation
1874
+ #
1875
+ class NetworkFirewallMissingExpectedRoutesViolation < Struct.new(
1876
+ :violation_target,
1877
+ :expected_routes,
1878
+ :vpc_id)
1879
+ SENSITIVE = []
1880
+ include Aws::Structure
1881
+ end
1882
+
1883
+ # Violation detail for Network Firewall for a subnet that doesn't have
1884
+ # a Firewall Manager managed firewall in its VPC.
1885
+ #
1886
+ # @!attribute [rw] violation_target
1887
+ # The ID of the Network Firewall or VPC resource that's in violation.
1888
+ # @return [String]
1889
+ #
1890
+ # @!attribute [rw] vpc
1891
+ # The resource ID of the VPC associated with a violating subnet.
1892
+ # @return [String]
1893
+ #
1894
+ # @!attribute [rw] availability_zone
1895
+ # The Availability Zone of a violating subnet.
1896
+ # @return [String]
1897
+ #
1898
+ # @!attribute [rw] target_violation_reason
1899
+ # The reason the resource has this violation, if one is available.
1900
+ # @return [String]
1901
+ #
1902
+ # @see http://docs.aws.amazon.com/goto/WebAPI/fms-2018-01-01/NetworkFirewallMissingFirewallViolation AWS API Documentation
1903
+ #
1904
+ class NetworkFirewallMissingFirewallViolation < Struct.new(
1905
+ :violation_target,
1906
+ :vpc,
1907
+ :availability_zone,
1908
+ :target_violation_reason)
1909
+ SENSITIVE = []
1910
+ include Aws::Structure
1911
+ end
1912
+
1913
+ # Violation detail for Network Firewall for an Availability Zone that's
1914
+ # missing the expected Firewall Manager managed subnet.
1915
+ #
1916
+ # @!attribute [rw] violation_target
1917
+ # The ID of the Network Firewall or VPC resource that's in violation.
1918
+ # @return [String]
1919
+ #
1920
+ # @!attribute [rw] vpc
1921
+ # The resource ID of the VPC associated with a violating subnet.
1922
+ # @return [String]
1923
+ #
1924
+ # @!attribute [rw] availability_zone
1925
+ # The Availability Zone of a violating subnet.
1926
+ # @return [String]
1927
+ #
1928
+ # @!attribute [rw] target_violation_reason
1929
+ # The reason the resource has this violation, if one is available.
1930
+ # @return [String]
1931
+ #
1932
+ # @see http://docs.aws.amazon.com/goto/WebAPI/fms-2018-01-01/NetworkFirewallMissingSubnetViolation AWS API Documentation
1933
+ #
1934
+ class NetworkFirewallMissingSubnetViolation < Struct.new(
1935
+ :violation_target,
1936
+ :vpc,
1937
+ :availability_zone,
1938
+ :target_violation_reason)
1939
+ SENSITIVE = []
1940
+ include Aws::Structure
1941
+ end
1942
+
1943
+ # The definition of the Network Firewall firewall policy.
1944
+ #
1945
+ # @!attribute [rw] stateless_rule_groups
1946
+ # The stateless rule groups that are used in the Network Firewall
1947
+ # firewall policy.
1948
+ # @return [Array<Types::StatelessRuleGroup>]
1949
+ #
1950
+ # @!attribute [rw] stateless_default_actions
1951
+ # The actions to take on packets that don't match any of the
1952
+ # stateless rule groups.
1953
+ # @return [Array<String>]
1954
+ #
1955
+ # @!attribute [rw] stateless_fragment_default_actions
1956
+ # The actions to take on packet fragments that don't match any of the
1957
+ # stateless rule groups.
1958
+ # @return [Array<String>]
1959
+ #
1960
+ # @!attribute [rw] stateless_custom_actions
1961
+ # Names of custom actions that are available for use in the stateless
1962
+ # default actions settings.
1963
+ # @return [Array<String>]
1964
+ #
1965
+ # @!attribute [rw] stateful_rule_groups
1966
+ # The stateful rule groups that are used in the Network Firewall
1967
+ # firewall policy.
1968
+ # @return [Array<Types::StatefulRuleGroup>]
1969
+ #
1970
+ # @see http://docs.aws.amazon.com/goto/WebAPI/fms-2018-01-01/NetworkFirewallPolicyDescription AWS API Documentation
1971
+ #
1972
+ class NetworkFirewallPolicyDescription < Struct.new(
1973
+ :stateless_rule_groups,
1974
+ :stateless_default_actions,
1975
+ :stateless_fragment_default_actions,
1976
+ :stateless_custom_actions,
1977
+ :stateful_rule_groups)
1978
+ SENSITIVE = []
1979
+ include Aws::Structure
1980
+ end
1981
+
1982
+ # Violation detail for Network Firewall for a firewall policy that has a
1983
+ # different NetworkFirewallPolicyDescription than is required by the
1984
+ # Firewall Manager policy.
1985
+ #
1986
+ # @!attribute [rw] violation_target
1987
+ # The ID of the Network Firewall or VPC resource that's in violation.
1988
+ # @return [String]
1989
+ #
1990
+ # @!attribute [rw] current_policy_description
1991
+ # The policy that's currently in use in the individual account.
1992
+ # @return [Types::NetworkFirewallPolicyDescription]
1993
+ #
1994
+ # @!attribute [rw] expected_policy_description
1995
+ # The policy that should be in use in the individual account in order
1996
+ # to be compliant.
1997
+ # @return [Types::NetworkFirewallPolicyDescription]
1998
+ #
1999
+ # @see http://docs.aws.amazon.com/goto/WebAPI/fms-2018-01-01/NetworkFirewallPolicyModifiedViolation AWS API Documentation
2000
+ #
2001
+ class NetworkFirewallPolicyModifiedViolation < Struct.new(
2002
+ :violation_target,
2003
+ :current_policy_description,
2004
+ :expected_policy_description)
2005
+ SENSITIVE = []
2006
+ include Aws::Structure
2007
+ end
2008
+
2009
+ # Violation detail for an unexpected route that's present in a route
2010
+ # table.
2011
+ #
2012
+ # @!attribute [rw] firewall_subnet_id
2013
+ # The subnet ID for the firewall.
2014
+ # @return [String]
2015
+ #
2016
+ # @!attribute [rw] violating_routes
2017
+ # The routes that are in violation.
2018
+ # @return [Array<Types::Route>]
2019
+ #
2020
+ # @!attribute [rw] route_table_id
2021
+ # The ID of the route table.
2022
+ # @return [String]
2023
+ #
2024
+ # @!attribute [rw] firewall_endpoint
2025
+ # The endpoint of the firewall.
2026
+ # @return [String]
2027
+ #
2028
+ # @!attribute [rw] vpc_id
2029
+ # Information about the VPC ID.
2030
+ # @return [String]
2031
+ #
2032
+ # @see http://docs.aws.amazon.com/goto/WebAPI/fms-2018-01-01/NetworkFirewallUnexpectedFirewallRoutesViolation AWS API Documentation
2033
+ #
2034
+ class NetworkFirewallUnexpectedFirewallRoutesViolation < Struct.new(
2035
+ :firewall_subnet_id,
2036
+ :violating_routes,
2037
+ :route_table_id,
2038
+ :firewall_endpoint,
2039
+ :vpc_id)
2040
+ SENSITIVE = []
2041
+ include Aws::Structure
2042
+ end
2043
+
2044
+ # Violation detail for an unexpected gateway route that’s present in a
2045
+ # route table.
2046
+ #
2047
+ # @!attribute [rw] gateway_id
2048
+ # Information about the gateway ID.
2049
+ # @return [String]
2050
+ #
2051
+ # @!attribute [rw] violating_routes
2052
+ # The routes that are in violation.
2053
+ # @return [Array<Types::Route>]
2054
+ #
2055
+ # @!attribute [rw] route_table_id
2056
+ # Information about the route table.
2057
+ # @return [String]
2058
+ #
2059
+ # @!attribute [rw] vpc_id
2060
+ # Information about the VPC ID.
2061
+ # @return [String]
2062
+ #
2063
+ # @see http://docs.aws.amazon.com/goto/WebAPI/fms-2018-01-01/NetworkFirewallUnexpectedGatewayRoutesViolation AWS API Documentation
2064
+ #
2065
+ class NetworkFirewallUnexpectedGatewayRoutesViolation < Struct.new(
2066
+ :gateway_id,
2067
+ :violating_routes,
2068
+ :route_table_id,
2069
+ :vpc_id)
2070
+ SENSITIVE = []
2071
+ include Aws::Structure
2072
+ end
2073
+
1234
2074
  # The reference rule that partially matches the `ViolationTarget` rule
1235
2075
  # and violation reason.
1236
2076
  #
1237
2077
  # @!attribute [rw] reference
1238
- # The reference rule from the master security group of the AWS
1239
- # Firewall Manager policy.
2078
+ # The reference rule from the primary security group of the Firewall
2079
+ # Manager policy.
1240
2080
  # @return [String]
1241
2081
  #
1242
2082
  # @!attribute [rw] target_violation_reasons
@@ -1252,7 +2092,7 @@ module Aws::FMS
1252
2092
  include Aws::Structure
1253
2093
  end
1254
2094
 
1255
- # An AWS Firewall Manager policy.
2095
+ # An Firewall Manager policy.
1256
2096
  #
1257
2097
  # @note When making an API call, you may pass Policy
1258
2098
  # data as a hash:
@@ -1262,7 +2102,7 @@ module Aws::FMS
1262
2102
  # policy_name: "ResourceName", # required
1263
2103
  # policy_update_token: "PolicyUpdateToken",
1264
2104
  # 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
2105
+ # type: "WAF", # required, accepts WAF, WAFV2, SHIELD_ADVANCED, SECURITY_GROUPS_COMMON, SECURITY_GROUPS_CONTENT_AUDIT, SECURITY_GROUPS_USAGE_AUDIT, NETWORK_FIREWALL, DNS_FIREWALL
1266
2106
  # managed_service_data: "ManagedServiceData",
1267
2107
  # },
1268
2108
  # resource_type: "ResourceType", # required
@@ -1284,11 +2124,11 @@ module Aws::FMS
1284
2124
  # }
1285
2125
  #
1286
2126
  # @!attribute [rw] policy_id
1287
- # The ID of the AWS Firewall Manager policy.
2127
+ # The ID of the Firewall Manager policy.
1288
2128
  # @return [String]
1289
2129
  #
1290
2130
  # @!attribute [rw] policy_name
1291
- # The name of the AWS Firewall Manager policy.
2131
+ # The name of the Firewall Manager policy.
1292
2132
  # @return [String]
1293
2133
  #
1294
2134
  # @!attribute [rw] policy_update_token
@@ -1306,8 +2146,12 @@ module Aws::FMS
1306
2146
  #
1307
2147
  # @!attribute [rw] resource_type
1308
2148
  # The type of resource protected by or in scope of the policy. This is
1309
- # in the format shown in the [AWS Resource Types Reference][1]. For
1310
- # AWS WAF and Shield Advanced, examples include
2149
+ # in the format shown in the [Amazon Web Services Resource Types
2150
+ # Reference][1]. To apply this policy to multiple resource types,
2151
+ # specify a resource type of `ResourceTypeList` and then specify the
2152
+ # resource types in a `ResourceTypeList`.
2153
+ #
2154
+ # For WAF and Shield Advanced, example resource types include
1311
2155
  # `AWS::ElasticLoadBalancingV2::LoadBalancer` and
1312
2156
  # `AWS::CloudFront::Distribution`. For a security group common policy,
1313
2157
  # valid values are `AWS::EC2::NetworkInterface` and
@@ -1315,7 +2159,8 @@ module Aws::FMS
1315
2159
  # valid values are `AWS::EC2::SecurityGroup`,
1316
2160
  # `AWS::EC2::NetworkInterface`, and `AWS::EC2::Instance`. For a
1317
2161
  # security group usage audit policy, the value is
1318
- # `AWS::EC2::SecurityGroup`.
2162
+ # `AWS::EC2::SecurityGroup`. For an Network Firewall policy or DNS
2163
+ # Firewall policy, the value is `AWS::EC2::VPC`.
1319
2164
  #
1320
2165
  #
1321
2166
  #
@@ -1323,7 +2168,9 @@ module Aws::FMS
1323
2168
  # @return [String]
1324
2169
  #
1325
2170
  # @!attribute [rw] resource_type_list
1326
- # An array of `ResourceType`.
2171
+ # An array of `ResourceType` objects. Use this only to specify
2172
+ # multiple resource types. To specify a single resource type, use
2173
+ # `ResourceType`.
1327
2174
  # @return [Array<String>]
1328
2175
  #
1329
2176
  # @!attribute [rw] resource_tags
@@ -1343,18 +2190,18 @@ module Aws::FMS
1343
2190
  # @return [Boolean]
1344
2191
  #
1345
2192
  # @!attribute [rw] include_map
1346
- # Specifies the AWS account IDs and AWS Organizations organizational
1347
- # units (OUs) to include in the policy. Specifying an OU is the
1348
- # equivalent of specifying all accounts in the OU and in any of its
1349
- # child OUs, including any child OUs and accounts that are added at a
1350
- # later time.
2193
+ # Specifies the Amazon Web Services account IDs and Organizations
2194
+ # organizational units (OUs) to include in the policy. Specifying an
2195
+ # OU is the equivalent of specifying all accounts in the OU and in any
2196
+ # of its child OUs, including any child OUs and accounts that are
2197
+ # added at a later time.
1351
2198
  #
1352
2199
  # You can specify inclusions or exclusions, but not both. If you
1353
- # specify an `IncludeMap`, AWS Firewall Manager applies the policy to
1354
- # all accounts specified by the `IncludeMap`, and does not evaluate
1355
- # any `ExcludeMap` specifications. If you do not specify an
1356
- # `IncludeMap`, then Firewall Manager applies the policy to all
1357
- # accounts except for those specified by the `ExcludeMap`.
2200
+ # specify an `IncludeMap`, Firewall Manager applies the policy to all
2201
+ # accounts specified by the `IncludeMap`, and does not evaluate any
2202
+ # `ExcludeMap` specifications. If you do not specify an `IncludeMap`,
2203
+ # then Firewall Manager applies the policy to all accounts except for
2204
+ # those specified by the `ExcludeMap`.
1358
2205
  #
1359
2206
  # You can specify account IDs, OUs, or a combination:
1360
2207
  #
@@ -1373,18 +2220,18 @@ module Aws::FMS
1373
2220
  # @return [Hash<String,Array<String>>]
1374
2221
  #
1375
2222
  # @!attribute [rw] exclude_map
1376
- # Specifies the AWS account IDs and AWS Organizations organizational
1377
- # units (OUs) to exclude from the policy. Specifying an OU is the
1378
- # equivalent of specifying all accounts in the OU and in any of its
1379
- # child OUs, including any child OUs and accounts that are added at a
1380
- # later time.
2223
+ # Specifies the Amazon Web Services account IDs and Organizations
2224
+ # organizational units (OUs) to exclude from the policy. Specifying an
2225
+ # OU is the equivalent of specifying all accounts in the OU and in any
2226
+ # of its child OUs, including any child OUs and accounts that are
2227
+ # added at a later time.
1381
2228
  #
1382
2229
  # You can specify inclusions or exclusions, but not both. If you
1383
- # specify an `IncludeMap`, AWS Firewall Manager applies the policy to
1384
- # all accounts specified by the `IncludeMap`, and does not evaluate
1385
- # any `ExcludeMap` specifications. If you do not specify an
1386
- # `IncludeMap`, then Firewall Manager applies the policy to all
1387
- # accounts except for those specified by the `ExcludeMap`.
2230
+ # specify an `IncludeMap`, Firewall Manager applies the policy to all
2231
+ # accounts specified by the `IncludeMap`, and does not evaluate any
2232
+ # `ExcludeMap` specifications. If you do not specify an `IncludeMap`,
2233
+ # then Firewall Manager applies the policy to all accounts except for
2234
+ # those specified by the `ExcludeMap`.
1388
2235
  #
1389
2236
  # You can specify account IDs, OUs, or a combination:
1390
2237
  #
@@ -1421,31 +2268,32 @@ module Aws::FMS
1421
2268
  end
1422
2269
 
1423
2270
  # Describes the noncompliant resources in a member account for a
1424
- # specific AWS Firewall Manager policy. A maximum of 100 entries are
2271
+ # specific Firewall Manager policy. A maximum of 100 entries are
1425
2272
  # displayed. If more than 100 resources are noncompliant,
1426
2273
  # `EvaluationLimitExceeded` is set to `True`.
1427
2274
  #
1428
2275
  # @!attribute [rw] policy_owner
1429
- # The AWS account that created the AWS Firewall Manager policy.
2276
+ # The Amazon Web Services account that created the Firewall Manager
2277
+ # policy.
1430
2278
  # @return [String]
1431
2279
  #
1432
2280
  # @!attribute [rw] policy_id
1433
- # The ID of the AWS Firewall Manager policy.
2281
+ # The ID of the Firewall Manager policy.
1434
2282
  # @return [String]
1435
2283
  #
1436
2284
  # @!attribute [rw] member_account
1437
- # The AWS account ID.
2285
+ # The Amazon Web Services account ID.
1438
2286
  # @return [String]
1439
2287
  #
1440
2288
  # @!attribute [rw] violators
1441
- # An array of resources that aren't protected by the AWS WAF or
1442
- # Shield Advanced policy or that aren't in compliance with the
1443
- # security group policy.
2289
+ # An array of resources that aren't protected by the WAF or Shield
2290
+ # Advanced policy or that aren't in compliance with the security
2291
+ # group policy.
1444
2292
  # @return [Array<Types::ComplianceViolator>]
1445
2293
  #
1446
2294
  # @!attribute [rw] evaluation_limit_exceeded
1447
- # Indicates if over 100 resources are noncompliant with the AWS
1448
- # Firewall Manager policy.
2295
+ # Indicates if over 100 resources are noncompliant with the Firewall
2296
+ # Manager policy.
1449
2297
  # @return [Boolean]
1450
2298
  #
1451
2299
  # @!attribute [rw] expired_at
@@ -1454,10 +2302,9 @@ module Aws::FMS
1454
2302
  # @return [Time]
1455
2303
  #
1456
2304
  # @!attribute [rw] issue_info_map
1457
- # Details about problems with dependent services, such as AWS WAF or
1458
- # AWS Config, that are causing a resource to be noncompliant. The
1459
- # details include the name of the dependent service and the error
1460
- # message received that indicates the problem with the service.
2305
+ # Details about problems with dependent services, such as WAF or
2306
+ # Config, and the error message received that indicates the problem
2307
+ # with the service.
1461
2308
  # @return [Hash<String,String>]
1462
2309
  #
1463
2310
  # @see http://docs.aws.amazon.com/goto/WebAPI/fms-2018-01-01/PolicyComplianceDetail AWS API Documentation
@@ -1476,20 +2323,20 @@ module Aws::FMS
1476
2323
 
1477
2324
  # Indicates whether the account is compliant with the specified policy.
1478
2325
  # An account is considered noncompliant if it includes resources that
1479
- # are not protected by the policy, for AWS WAF and Shield Advanced
1480
- # policies, or that are noncompliant with the policy, for security group
1481
- # policies.
2326
+ # are not protected by the policy, for WAF and Shield Advanced policies,
2327
+ # or that are noncompliant with the policy, for security group policies.
1482
2328
  #
1483
2329
  # @!attribute [rw] policy_owner
1484
- # The AWS account that created the AWS Firewall Manager policy.
2330
+ # The Amazon Web Services account that created the Firewall Manager
2331
+ # policy.
1485
2332
  # @return [String]
1486
2333
  #
1487
2334
  # @!attribute [rw] policy_id
1488
- # The ID of the AWS Firewall Manager policy.
2335
+ # The ID of the Firewall Manager policy.
1489
2336
  # @return [String]
1490
2337
  #
1491
2338
  # @!attribute [rw] policy_name
1492
- # The name of the AWS Firewall Manager policy.
2339
+ # The name of the Firewall Manager policy.
1493
2340
  # @return [String]
1494
2341
  #
1495
2342
  # @!attribute [rw] member_account
@@ -1505,10 +2352,9 @@ module Aws::FMS
1505
2352
  # @return [Time]
1506
2353
  #
1507
2354
  # @!attribute [rw] issue_info_map
1508
- # Details about problems with dependent services, such as AWS WAF or
1509
- # AWS Config, that are causing a resource to be noncompliant. The
1510
- # details include the name of the dependent service and the error
1511
- # message received that indicates the problem with the service.
2355
+ # Details about problems with dependent services, such as WAF or
2356
+ # Config, and the error message received that indicates the problem
2357
+ # with the service.
1512
2358
  # @return [Hash<String,String>]
1513
2359
  #
1514
2360
  # @see http://docs.aws.amazon.com/goto/WebAPI/fms-2018-01-01/PolicyComplianceStatus AWS API Documentation
@@ -1525,7 +2371,7 @@ module Aws::FMS
1525
2371
  include Aws::Structure
1526
2372
  end
1527
2373
 
1528
- # Details of the AWS Firewall Manager policy.
2374
+ # Details of the Firewall Manager policy.
1529
2375
  #
1530
2376
  # @!attribute [rw] policy_arn
1531
2377
  # The Amazon Resource Name (ARN) of the specified policy.
@@ -1541,8 +2387,8 @@ module Aws::FMS
1541
2387
  #
1542
2388
  # @!attribute [rw] resource_type
1543
2389
  # The type of resource protected by or in scope of the policy. This is
1544
- # in the format shown in the [AWS Resource Types Reference][1]. For
1545
- # AWS WAF and Shield Advanced, examples include
2390
+ # in the format shown in the [Amazon Web Services Resource Types
2391
+ # Reference][1]. For WAF and Shield Advanced, examples include
1546
2392
  # `AWS::ElasticLoadBalancingV2::LoadBalancer` and
1547
2393
  # `AWS::CloudFront::Distribution`. For a security group common policy,
1548
2394
  # valid values are `AWS::EC2::NetworkInterface` and
@@ -1550,7 +2396,8 @@ module Aws::FMS
1550
2396
  # valid values are `AWS::EC2::SecurityGroup`,
1551
2397
  # `AWS::EC2::NetworkInterface`, and `AWS::EC2::Instance`. For a
1552
2398
  # security group usage audit policy, the value is
1553
- # `AWS::EC2::SecurityGroup`.
2399
+ # `AWS::EC2::SecurityGroup`. For an Network Firewall policy or DNS
2400
+ # Firewall policy, the value is `AWS::EC2::VPC`.
1554
2401
  #
1555
2402
  #
1556
2403
  #
@@ -1559,8 +2406,8 @@ module Aws::FMS
1559
2406
  #
1560
2407
  # @!attribute [rw] security_service_type
1561
2408
  # The service that the policy is using to protect the resources. This
1562
- # specifies the type of policy that is created, either an AWS WAF
1563
- # policy, a Shield Advanced policy, or a security group policy.
2409
+ # specifies the type of policy that is created, either an WAF policy,
2410
+ # a Shield Advanced policy, or a security group policy.
1564
2411
  # @return [String]
1565
2412
  #
1566
2413
  # @!attribute [rw] remediation_enabled
@@ -1581,7 +2428,51 @@ module Aws::FMS
1581
2428
  include Aws::Structure
1582
2429
  end
1583
2430
 
1584
- # An AWS Firewall Manager protocols list.
2431
+ # A list of remediation actions.
2432
+ #
2433
+ # @!attribute [rw] description
2434
+ # A description of the list of remediation actions.
2435
+ # @return [String]
2436
+ #
2437
+ # @!attribute [rw] ordered_remediation_actions
2438
+ # The ordered list of remediation actions.
2439
+ # @return [Array<Types::RemediationActionWithOrder>]
2440
+ #
2441
+ # @!attribute [rw] is_default_action
2442
+ # Information about whether an action is taken by default.
2443
+ # @return [Boolean]
2444
+ #
2445
+ # @see http://docs.aws.amazon.com/goto/WebAPI/fms-2018-01-01/PossibleRemediationAction AWS API Documentation
2446
+ #
2447
+ class PossibleRemediationAction < Struct.new(
2448
+ :description,
2449
+ :ordered_remediation_actions,
2450
+ :is_default_action)
2451
+ SENSITIVE = []
2452
+ include Aws::Structure
2453
+ end
2454
+
2455
+ # A list of possible remediation action lists. Each individual possible
2456
+ # remediation action is a list of individual remediation actions.
2457
+ #
2458
+ # @!attribute [rw] description
2459
+ # A description of the possible remediation actions list.
2460
+ # @return [String]
2461
+ #
2462
+ # @!attribute [rw] actions
2463
+ # Information about the actions.
2464
+ # @return [Array<Types::PossibleRemediationAction>]
2465
+ #
2466
+ # @see http://docs.aws.amazon.com/goto/WebAPI/fms-2018-01-01/PossibleRemediationActions AWS API Documentation
2467
+ #
2468
+ class PossibleRemediationActions < Struct.new(
2469
+ :description,
2470
+ :actions)
2471
+ SENSITIVE = []
2472
+ include Aws::Structure
2473
+ end
2474
+
2475
+ # An Firewall Manager protocols list.
1585
2476
  #
1586
2477
  # @note When making an API call, you may pass ProtocolsListData
1587
2478
  # data as a hash:
@@ -1599,11 +2490,11 @@ module Aws::FMS
1599
2490
  # }
1600
2491
  #
1601
2492
  # @!attribute [rw] list_id
1602
- # The ID of the AWS Firewall Manager protocols list.
2493
+ # The ID of the Firewall Manager protocols list.
1603
2494
  # @return [String]
1604
2495
  #
1605
2496
  # @!attribute [rw] list_name
1606
- # The name of the AWS Firewall Manager protocols list.
2497
+ # The name of the Firewall Manager protocols list.
1607
2498
  # @return [String]
1608
2499
  #
1609
2500
  # @!attribute [rw] list_update_token
@@ -1614,16 +2505,15 @@ module Aws::FMS
1614
2505
  # @return [String]
1615
2506
  #
1616
2507
  # @!attribute [rw] create_time
1617
- # The time that the AWS Firewall Manager protocols list was created.
2508
+ # The time that the Firewall Manager protocols list was created.
1618
2509
  # @return [Time]
1619
2510
  #
1620
2511
  # @!attribute [rw] last_update_time
1621
- # The time that the AWS Firewall Manager protocols list was last
1622
- # updated.
2512
+ # The time that the Firewall Manager protocols list was last updated.
1623
2513
  # @return [Time]
1624
2514
  #
1625
2515
  # @!attribute [rw] protocols_list
1626
- # An array of protocols in the AWS Firewall Manager protocols list.
2516
+ # An array of protocols in the Firewall Manager protocols list.
1627
2517
  # @return [Array<String>]
1628
2518
  #
1629
2519
  # @!attribute [rw] previous_protocols_list
@@ -1645,7 +2535,7 @@ module Aws::FMS
1645
2535
  include Aws::Structure
1646
2536
  end
1647
2537
 
1648
- # Details of the AWS Firewall Manager protocols list.
2538
+ # Details of the Firewall Manager protocols list.
1649
2539
  #
1650
2540
  # @!attribute [rw] list_arn
1651
2541
  # The Amazon Resource Name (ARN) of the specified protocols list.
@@ -1660,7 +2550,7 @@ module Aws::FMS
1660
2550
  # @return [String]
1661
2551
  #
1662
2552
  # @!attribute [rw] protocols_list
1663
- # An array of protocols in the AWS Firewall Manager protocols list.
2553
+ # An array of protocols in the Firewall Manager protocols list.
1664
2554
  # @return [Array<String>]
1665
2555
  #
1666
2556
  # @see http://docs.aws.amazon.com/goto/WebAPI/fms-2018-01-01/ProtocolsListDataSummary AWS API Documentation
@@ -1710,8 +2600,7 @@ module Aws::FMS
1710
2600
  # }
1711
2601
  #
1712
2602
  # @!attribute [rw] apps_list
1713
- # The details of the AWS Firewall Manager applications list to be
1714
- # created.
2603
+ # The details of the Firewall Manager applications list to be created.
1715
2604
  # @return [Types::AppsListData]
1716
2605
  #
1717
2606
  # @!attribute [rw] tag_list
@@ -1728,7 +2617,7 @@ module Aws::FMS
1728
2617
  end
1729
2618
 
1730
2619
  # @!attribute [rw] apps_list
1731
- # The details of the AWS Firewall Manager applications list.
2620
+ # The details of the Firewall Manager applications list.
1732
2621
  # @return [Types::AppsListData]
1733
2622
  #
1734
2623
  # @!attribute [rw] apps_list_arn
@@ -1754,12 +2643,12 @@ module Aws::FMS
1754
2643
  #
1755
2644
  # @!attribute [rw] sns_topic_arn
1756
2645
  # The Amazon Resource Name (ARN) of the SNS topic that collects
1757
- # notifications from AWS Firewall Manager.
2646
+ # notifications from Firewall Manager.
1758
2647
  # @return [String]
1759
2648
  #
1760
2649
  # @!attribute [rw] sns_role_name
1761
2650
  # The Amazon Resource Name (ARN) of the IAM role that allows Amazon
1762
- # SNS to record AWS Firewall Manager activity.
2651
+ # SNS to record Firewall Manager activity.
1763
2652
  # @return [String]
1764
2653
  #
1765
2654
  # @see http://docs.aws.amazon.com/goto/WebAPI/fms-2018-01-01/PutNotificationChannelRequest AWS API Documentation
@@ -1780,7 +2669,7 @@ module Aws::FMS
1780
2669
  # policy_name: "ResourceName", # required
1781
2670
  # policy_update_token: "PolicyUpdateToken",
1782
2671
  # 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
2672
+ # type: "WAF", # required, accepts WAF, WAFV2, SHIELD_ADVANCED, SECURITY_GROUPS_COMMON, SECURITY_GROUPS_CONTENT_AUDIT, SECURITY_GROUPS_USAGE_AUDIT, NETWORK_FIREWALL, DNS_FIREWALL
1784
2673
  # managed_service_data: "ManagedServiceData",
1785
2674
  # },
1786
2675
  # resource_type: "ResourceType", # required
@@ -1809,11 +2698,11 @@ module Aws::FMS
1809
2698
  # }
1810
2699
  #
1811
2700
  # @!attribute [rw] policy
1812
- # The details of the AWS Firewall Manager policy to be created.
2701
+ # The details of the Firewall Manager policy to be created.
1813
2702
  # @return [Types::Policy]
1814
2703
  #
1815
2704
  # @!attribute [rw] tag_list
1816
- # The tags to add to the AWS resource.
2705
+ # The tags to add to the Amazon Web Services resource.
1817
2706
  # @return [Array<Types::Tag>]
1818
2707
  #
1819
2708
  # @see http://docs.aws.amazon.com/goto/WebAPI/fms-2018-01-01/PutPolicyRequest AWS API Documentation
@@ -1826,7 +2715,7 @@ module Aws::FMS
1826
2715
  end
1827
2716
 
1828
2717
  # @!attribute [rw] policy
1829
- # The details of the AWS Firewall Manager policy.
2718
+ # The details of the Firewall Manager policy.
1830
2719
  # @return [Types::Policy]
1831
2720
  #
1832
2721
  # @!attribute [rw] policy_arn
@@ -1866,8 +2755,7 @@ module Aws::FMS
1866
2755
  # }
1867
2756
  #
1868
2757
  # @!attribute [rw] protocols_list
1869
- # The details of the AWS Firewall Manager protocols list to be
1870
- # created.
2758
+ # The details of the Firewall Manager protocols list to be created.
1871
2759
  # @return [Types::ProtocolsListData]
1872
2760
  #
1873
2761
  # @!attribute [rw] tag_list
@@ -1884,7 +2772,7 @@ module Aws::FMS
1884
2772
  end
1885
2773
 
1886
2774
  # @!attribute [rw] protocols_list
1887
- # The details of the AWS Firewall Manager protocols list.
2775
+ # The details of the Firewall Manager protocols list.
1888
2776
  # @return [Types::ProtocolsListData]
1889
2777
  #
1890
2778
  # @!attribute [rw] protocols_list_arn
@@ -1900,6 +2788,77 @@ module Aws::FMS
1900
2788
  include Aws::Structure
1901
2789
  end
1902
2790
 
2791
+ # Information about an individual action you can take to remediate a
2792
+ # violation.
2793
+ #
2794
+ # @!attribute [rw] description
2795
+ # A description of a remediation action.
2796
+ # @return [String]
2797
+ #
2798
+ # @!attribute [rw] ec2_create_route_action
2799
+ # Information about the CreateRoute action in the Amazon EC2 API.
2800
+ # @return [Types::EC2CreateRouteAction]
2801
+ #
2802
+ # @!attribute [rw] ec2_replace_route_action
2803
+ # Information about the ReplaceRoute action in the Amazon EC2 API.
2804
+ # @return [Types::EC2ReplaceRouteAction]
2805
+ #
2806
+ # @!attribute [rw] ec2_delete_route_action
2807
+ # Information about the DeleteRoute action in the Amazon EC2 API.
2808
+ # @return [Types::EC2DeleteRouteAction]
2809
+ #
2810
+ # @!attribute [rw] ec2_copy_route_table_action
2811
+ # Information about the CopyRouteTable action in the Amazon EC2 API.
2812
+ # @return [Types::EC2CopyRouteTableAction]
2813
+ #
2814
+ # @!attribute [rw] ec2_replace_route_table_association_action
2815
+ # Information about the ReplaceRouteTableAssociation action in the
2816
+ # Amazon EC2 API.
2817
+ # @return [Types::EC2ReplaceRouteTableAssociationAction]
2818
+ #
2819
+ # @!attribute [rw] ec2_associate_route_table_action
2820
+ # Information about the AssociateRouteTable action in the Amazon EC2
2821
+ # API.
2822
+ # @return [Types::EC2AssociateRouteTableAction]
2823
+ #
2824
+ # @!attribute [rw] ec2_create_route_table_action
2825
+ # Information about the CreateRouteTable action in the Amazon EC2 API.
2826
+ # @return [Types::EC2CreateRouteTableAction]
2827
+ #
2828
+ # @see http://docs.aws.amazon.com/goto/WebAPI/fms-2018-01-01/RemediationAction AWS API Documentation
2829
+ #
2830
+ class RemediationAction < Struct.new(
2831
+ :description,
2832
+ :ec2_create_route_action,
2833
+ :ec2_replace_route_action,
2834
+ :ec2_delete_route_action,
2835
+ :ec2_copy_route_table_action,
2836
+ :ec2_replace_route_table_association_action,
2837
+ :ec2_associate_route_table_action,
2838
+ :ec2_create_route_table_action)
2839
+ SENSITIVE = []
2840
+ include Aws::Structure
2841
+ end
2842
+
2843
+ # An ordered list of actions you can take to remediate a violation.
2844
+ #
2845
+ # @!attribute [rw] remediation_action
2846
+ # Information about an action you can take to remediate a violation.
2847
+ # @return [Types::RemediationAction]
2848
+ #
2849
+ # @!attribute [rw] order
2850
+ # The order of the remediation actions in the list.
2851
+ # @return [Integer]
2852
+ #
2853
+ # @see http://docs.aws.amazon.com/goto/WebAPI/fms-2018-01-01/RemediationActionWithOrder AWS API Documentation
2854
+ #
2855
+ class RemediationActionWithOrder < Struct.new(
2856
+ :remediation_action,
2857
+ :order)
2858
+ SENSITIVE = []
2859
+ include Aws::Structure
2860
+ end
2861
+
1903
2862
  # The specified resource was not found.
1904
2863
  #
1905
2864
  # @!attribute [rw] message
@@ -1913,9 +2872,9 @@ module Aws::FMS
1913
2872
  include Aws::Structure
1914
2873
  end
1915
2874
 
1916
- # The resource tags that AWS Firewall Manager uses to determine if a
1917
- # particular resource should be included or excluded from the AWS
1918
- # Firewall Manager policy. Tags enable you to categorize your AWS
2875
+ # The resource tags that Firewall Manager uses to determine if a
2876
+ # particular resource should be included or excluded from the Firewall
2877
+ # Manager policy. Tags enable you to categorize your Amazon Web Services
1919
2878
  # resources in different ways, for example, by purpose, owner, or
1920
2879
  # environment. Each tag consists of a key and an optional value.
1921
2880
  # Firewall Manager combines the tags with "AND" so that, if you add
@@ -1955,23 +2914,143 @@ module Aws::FMS
1955
2914
  # Violation detail based on resource type.
1956
2915
  #
1957
2916
  # @!attribute [rw] aws_vpc_security_group_violation
1958
- # Violation details for security groups.
2917
+ # Violation detail for security groups.
1959
2918
  # @return [Types::AwsVPCSecurityGroupViolation]
1960
2919
  #
1961
2920
  # @!attribute [rw] aws_ec2_network_interface_violation
1962
- # Violation details for network interface.
2921
+ # Violation detail for a network interface.
1963
2922
  # @return [Types::AwsEc2NetworkInterfaceViolation]
1964
2923
  #
1965
2924
  # @!attribute [rw] aws_ec2_instance_violation
1966
- # Violation details for an EC2 instance.
2925
+ # Violation detail for an EC2 instance.
1967
2926
  # @return [Types::AwsEc2InstanceViolation]
1968
2927
  #
2928
+ # @!attribute [rw] network_firewall_missing_firewall_violation
2929
+ # Violation detail for an Network Firewall policy that indicates that
2930
+ # a subnet has no Firewall Manager managed firewall in its VPC.
2931
+ # @return [Types::NetworkFirewallMissingFirewallViolation]
2932
+ #
2933
+ # @!attribute [rw] network_firewall_missing_subnet_violation
2934
+ # Violation detail for an Network Firewall policy that indicates that
2935
+ # an Availability Zone is missing the expected Firewall Manager
2936
+ # managed subnet.
2937
+ # @return [Types::NetworkFirewallMissingSubnetViolation]
2938
+ #
2939
+ # @!attribute [rw] network_firewall_missing_expected_rt_violation
2940
+ # Violation detail for an Network Firewall policy that indicates that
2941
+ # a subnet is not associated with the expected Firewall Manager
2942
+ # managed route table.
2943
+ # @return [Types::NetworkFirewallMissingExpectedRTViolation]
2944
+ #
2945
+ # @!attribute [rw] network_firewall_policy_modified_violation
2946
+ # Violation detail for an Network Firewall policy that indicates that
2947
+ # a firewall policy in an individual account has been modified in a
2948
+ # way that makes it noncompliant. For example, the individual account
2949
+ # owner might have deleted a rule group, changed the priority of a
2950
+ # stateless rule group, or changed a policy default action.
2951
+ # @return [Types::NetworkFirewallPolicyModifiedViolation]
2952
+ #
2953
+ # @!attribute [rw] network_firewall_internet_traffic_not_inspected_violation
2954
+ # Violation detail for the subnet for which internet traffic hasn't
2955
+ # been inspected.
2956
+ # @return [Types::NetworkFirewallInternetTrafficNotInspectedViolation]
2957
+ #
2958
+ # @!attribute [rw] network_firewall_invalid_route_configuration_violation
2959
+ # The route configuration is invalid.
2960
+ # @return [Types::NetworkFirewallInvalidRouteConfigurationViolation]
2961
+ #
2962
+ # @!attribute [rw] network_firewall_black_hole_route_detected_violation
2963
+ # Violation detail for an internet gateway route with an inactive
2964
+ # state in the customer subnet route table or Network Firewall subnet
2965
+ # route table.
2966
+ # @return [Types::NetworkFirewallBlackHoleRouteDetectedViolation]
2967
+ #
2968
+ # @!attribute [rw] network_firewall_unexpected_firewall_routes_violation
2969
+ # There's an unexpected firewall route.
2970
+ # @return [Types::NetworkFirewallUnexpectedFirewallRoutesViolation]
2971
+ #
2972
+ # @!attribute [rw] network_firewall_unexpected_gateway_routes_violation
2973
+ # There's an unexpected gateway route.
2974
+ # @return [Types::NetworkFirewallUnexpectedGatewayRoutesViolation]
2975
+ #
2976
+ # @!attribute [rw] network_firewall_missing_expected_routes_violation
2977
+ # Expected routes are missing from Network Firewall.
2978
+ # @return [Types::NetworkFirewallMissingExpectedRoutesViolation]
2979
+ #
2980
+ # @!attribute [rw] dns_rule_group_priority_conflict_violation
2981
+ # Violation detail for a DNS Firewall policy that indicates that a
2982
+ # rule group that Firewall Manager tried to associate with a VPC has
2983
+ # the same priority as a rule group that's already associated.
2984
+ # @return [Types::DnsRuleGroupPriorityConflictViolation]
2985
+ #
2986
+ # @!attribute [rw] dns_duplicate_rule_group_violation
2987
+ # Violation detail for a DNS Firewall policy that indicates that a
2988
+ # rule group that Firewall Manager tried to associate with a VPC is
2989
+ # already associated with the VPC and can't be associated again.
2990
+ # @return [Types::DnsDuplicateRuleGroupViolation]
2991
+ #
2992
+ # @!attribute [rw] dns_rule_group_limit_exceeded_violation
2993
+ # Violation detail for a DNS Firewall policy that indicates that the
2994
+ # VPC reached the limit for associated DNS Firewall rule groups.
2995
+ # Firewall Manager tried to associate another rule group with the VPC
2996
+ # and failed.
2997
+ # @return [Types::DnsRuleGroupLimitExceededViolation]
2998
+ #
2999
+ # @!attribute [rw] possible_remediation_actions
3000
+ # A list of possible remediation action lists. Each individual
3001
+ # possible remediation action is a list of individual remediation
3002
+ # actions.
3003
+ # @return [Types::PossibleRemediationActions]
3004
+ #
1969
3005
  # @see http://docs.aws.amazon.com/goto/WebAPI/fms-2018-01-01/ResourceViolation AWS API Documentation
1970
3006
  #
1971
3007
  class ResourceViolation < Struct.new(
1972
3008
  :aws_vpc_security_group_violation,
1973
3009
  :aws_ec2_network_interface_violation,
1974
- :aws_ec2_instance_violation)
3010
+ :aws_ec2_instance_violation,
3011
+ :network_firewall_missing_firewall_violation,
3012
+ :network_firewall_missing_subnet_violation,
3013
+ :network_firewall_missing_expected_rt_violation,
3014
+ :network_firewall_policy_modified_violation,
3015
+ :network_firewall_internet_traffic_not_inspected_violation,
3016
+ :network_firewall_invalid_route_configuration_violation,
3017
+ :network_firewall_black_hole_route_detected_violation,
3018
+ :network_firewall_unexpected_firewall_routes_violation,
3019
+ :network_firewall_unexpected_gateway_routes_violation,
3020
+ :network_firewall_missing_expected_routes_violation,
3021
+ :dns_rule_group_priority_conflict_violation,
3022
+ :dns_duplicate_rule_group_violation,
3023
+ :dns_rule_group_limit_exceeded_violation,
3024
+ :possible_remediation_actions)
3025
+ SENSITIVE = []
3026
+ include Aws::Structure
3027
+ end
3028
+
3029
+ # Describes a route in a route table.
3030
+ #
3031
+ # @!attribute [rw] destination_type
3032
+ # The type of destination for the route.
3033
+ # @return [String]
3034
+ #
3035
+ # @!attribute [rw] target_type
3036
+ # The type of target for the route.
3037
+ # @return [String]
3038
+ #
3039
+ # @!attribute [rw] destination
3040
+ # The destination of the route.
3041
+ # @return [String]
3042
+ #
3043
+ # @!attribute [rw] target
3044
+ # The route's target.
3045
+ # @return [String]
3046
+ #
3047
+ # @see http://docs.aws.amazon.com/goto/WebAPI/fms-2018-01-01/Route AWS API Documentation
3048
+ #
3049
+ class Route < Struct.new(
3050
+ :destination_type,
3051
+ :target_type,
3052
+ :destination,
3053
+ :target)
1975
3054
  SENSITIVE = []
1976
3055
  include Aws::Structure
1977
3056
  end
@@ -2055,18 +3134,18 @@ module Aws::FMS
2055
3134
  # data as a hash:
2056
3135
  #
2057
3136
  # {
2058
- # type: "WAF", # required, accepts WAF, WAFV2, SHIELD_ADVANCED, SECURITY_GROUPS_COMMON, SECURITY_GROUPS_CONTENT_AUDIT, SECURITY_GROUPS_USAGE_AUDIT
3137
+ # type: "WAF", # required, accepts WAF, WAFV2, SHIELD_ADVANCED, SECURITY_GROUPS_COMMON, SECURITY_GROUPS_CONTENT_AUDIT, SECURITY_GROUPS_USAGE_AUDIT, NETWORK_FIREWALL, DNS_FIREWALL
2059
3138
  # managed_service_data: "ManagedServiceData",
2060
3139
  # }
2061
3140
  #
2062
3141
  # @!attribute [rw] type
2063
3142
  # The service that the policy is using to protect the resources. This
2064
- # specifies the type of policy that is created, either an AWS WAF
2065
- # policy, a Shield Advanced policy, or a security group policy. For
2066
- # security group policies, Firewall Manager supports one security
2067
- # group for each common policy and for each content audit policy. This
2068
- # is an adjustable limit that you can increase by contacting AWS
2069
- # Support.
3143
+ # specifies the type of policy that is created, either an WAF policy,
3144
+ # a Shield Advanced policy, or a security group policy. For security
3145
+ # group policies, Firewall Manager supports one security group for
3146
+ # each common policy and for each content audit policy. This is an
3147
+ # adjustable limit that you can increase by contacting Amazon Web
3148
+ # Services Support.
2070
3149
  # @return [String]
2071
3150
  #
2072
3151
  # @!attribute [rw] managed_service_data
@@ -2074,29 +3153,47 @@ module Aws::FMS
2074
3153
  # JSON format. For service type `SHIELD_ADVANCED`, this is an empty
2075
3154
  # string.
2076
3155
  #
3156
+ # * Example: `DNS_FIREWALL`
3157
+ #
3158
+ # `"\{"type":"DNS_FIREWALL","preProcessRuleGroups":[\{"ruleGroupId":"rslvr-frg-1","priority":10\}],"postProcessRuleGroups":[\{"ruleGroupId":"rslvr-frg-2","priority":9911\}]\}"`
3159
+ #
3160
+ # * Example: `NETWORK_FIREWALL`
3161
+ #
3162
+ # `"\{"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"]\}
3163
+ # \}"`
3164
+ #
2077
3165
  # * Example: `WAFV2`
2078
3166
  #
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\}"`
3167
+ # `"\{"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"\}]\}\}"`
3168
+ #
3169
+ # In the `loggingConfiguration`, you can specify one
3170
+ # `logDestinationConfigs`, you can optionally provide up to 20
3171
+ # `redactedFields`, and the `RedactedFieldType` must be one of
3172
+ # `URI`, `QUERY_STRING`, `HEADER`, or `METHOD`.
2081
3173
  #
2082
3174
  # * Example: `WAF Classic`
2083
3175
  #
2084
- # `"ManagedServiceData": "\{"type": "WAF", "ruleGroups":
2085
- # [\{"id": "12345678-1bcd-9012-efga-0987654321ab",
3176
+ # `"\{"type": "WAF", "ruleGroups":
3177
+ # [\{"id":"12345678-1bcd-9012-efga-0987654321ab",
2086
3178
  # "overrideAction" : \{"type": "COUNT"\}\}],
2087
- # "defaultAction": \{"type": "BLOCK"\}\}`
3179
+ # "defaultAction": \{"type": "BLOCK"\}\}"`
2088
3180
  #
2089
3181
  # * Example: `SECURITY_GROUPS_COMMON`
2090
3182
  #
2091
- # `"SecurityServicePolicyData":\{"Type":"SECURITY_GROUPS_COMMON","ManagedServiceData":"\{"type":"SECURITY_GROUPS_COMMON","revertManualSecurityGroupChanges":false,"exclusiveResourceSecurityGroupManagement":false,
3183
+ # `"\{"type":"SECURITY_GROUPS_COMMON","revertManualSecurityGroupChanges":false,"exclusiveResourceSecurityGroupManagement":false,
2092
3184
  # "applyToAllEC2InstanceENIs":false,"securityGroups":[\{"id":"
2093
- # sg-000e55995d61a06bd"\}]\}"\},"RemediationEnabled":false,"ResourceType":"AWS::EC2::NetworkInterface"\}`
3185
+ # sg-000e55995d61a06bd"\}]\}"`
3186
+ #
3187
+ # * Example: Shared VPCs. Apply the preceding policy to resources in
3188
+ # shared VPCs as well as to those in VPCs that the account owns
3189
+ #
3190
+ # `"\{"type":"SECURITY_GROUPS_COMMON","revertManualSecurityGroupChanges":false,"exclusiveResourceSecurityGroupManagement":false,
3191
+ # "applyToAllEC2InstanceENIs":false,"includeSharedVPC":true,"securityGroups":[\{"id":"
3192
+ # sg-000e55995d61a06bd"\}]\}"`
2094
3193
  #
2095
3194
  # * Example: `SECURITY_GROUPS_CONTENT_AUDIT`
2096
3195
  #
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"\}`
3196
+ # `"\{"type":"SECURITY_GROUPS_CONTENT_AUDIT","securityGroups":[\{"id":"sg-000e55995d61a06bd"\}],"securityGroupAction":\{"type":"ALLOW"\}\}"`
2100
3197
  #
2101
3198
  # The security group action for content audit can be `ALLOW` or
2102
3199
  # `DENY`. For `ALLOW`, all in-scope security group rules must be
@@ -2107,8 +3204,7 @@ module Aws::FMS
2107
3204
  #
2108
3205
  # * Example: `SECURITY_GROUPS_USAGE_AUDIT`
2109
3206
  #
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"\}`
3207
+ # `"\{"type":"SECURITY_GROUPS_USAGE_AUDIT","deleteUnusedSecurityGroups":true,"coalesceRedundantSecurityGroups":true\}"`
2112
3208
  # @return [String]
2113
3209
  #
2114
3210
  # @see http://docs.aws.amazon.com/goto/WebAPI/fms-2018-01-01/SecurityServicePolicyData AWS API Documentation
@@ -2120,12 +3216,59 @@ module Aws::FMS
2120
3216
  include Aws::Structure
2121
3217
  end
2122
3218
 
2123
- # A collection of key:value pairs associated with an AWS resource. The
2124
- # key:value pair can be anything you define. Typically, the tag key
2125
- # represents a category (such as "environment") and the tag value
2126
- # represents a specific value within that category (such as "test,"
2127
- # "development," or "production"). You can add up to 50 tags to each
2128
- # AWS resource.
3219
+ # Network Firewall stateful rule group, used in a
3220
+ # NetworkFirewallPolicyDescription.
3221
+ #
3222
+ # @!attribute [rw] rule_group_name
3223
+ # The name of the rule group.
3224
+ # @return [String]
3225
+ #
3226
+ # @!attribute [rw] resource_id
3227
+ # The resource ID of the rule group.
3228
+ # @return [String]
3229
+ #
3230
+ # @see http://docs.aws.amazon.com/goto/WebAPI/fms-2018-01-01/StatefulRuleGroup AWS API Documentation
3231
+ #
3232
+ class StatefulRuleGroup < Struct.new(
3233
+ :rule_group_name,
3234
+ :resource_id)
3235
+ SENSITIVE = []
3236
+ include Aws::Structure
3237
+ end
3238
+
3239
+ # Network Firewall stateless rule group, used in a
3240
+ # NetworkFirewallPolicyDescription.
3241
+ #
3242
+ # @!attribute [rw] rule_group_name
3243
+ # The name of the rule group.
3244
+ # @return [String]
3245
+ #
3246
+ # @!attribute [rw] resource_id
3247
+ # The resource ID of the rule group.
3248
+ # @return [String]
3249
+ #
3250
+ # @!attribute [rw] priority
3251
+ # The priority of the rule group. Network Firewall evaluates the
3252
+ # stateless rule groups in a firewall policy starting from the lowest
3253
+ # priority setting.
3254
+ # @return [Integer]
3255
+ #
3256
+ # @see http://docs.aws.amazon.com/goto/WebAPI/fms-2018-01-01/StatelessRuleGroup AWS API Documentation
3257
+ #
3258
+ class StatelessRuleGroup < Struct.new(
3259
+ :rule_group_name,
3260
+ :resource_id,
3261
+ :priority)
3262
+ SENSITIVE = []
3263
+ include Aws::Structure
3264
+ end
3265
+
3266
+ # A collection of key:value pairs associated with an Amazon Web Services
3267
+ # resource. The key:value pair can be anything you define. Typically,
3268
+ # the tag key represents a category (such as "environment") and the
3269
+ # tag value represents a specific value within that category (such as
3270
+ # "test," "development," or "production"). You can add up to 50
3271
+ # tags to each Amazon Web Services resource.
2129
3272
  #
2130
3273
  # @note When making an API call, you may pass Tag
2131
3274
  # data as a hash:
@@ -2171,8 +3314,8 @@ module Aws::FMS
2171
3314
  #
2172
3315
  # @!attribute [rw] resource_arn
2173
3316
  # The Amazon Resource Name (ARN) of the resource to return tags for.
2174
- # The AWS Firewall Manager resources that support tagging are
2175
- # policies, applications lists, and protocols lists.
3317
+ # The Firewall Manager resources that support tagging are policies,
3318
+ # applications lists, and protocols lists.
2176
3319
  # @return [String]
2177
3320
  #
2178
3321
  # @!attribute [rw] tag_list
@@ -2202,8 +3345,8 @@ module Aws::FMS
2202
3345
  #
2203
3346
  # @!attribute [rw] resource_arn
2204
3347
  # The Amazon Resource Name (ARN) of the resource to return tags for.
2205
- # The AWS Firewall Manager resources that support tagging are
2206
- # policies, applications lists, and protocols lists.
3348
+ # The Firewall Manager resources that support tagging are policies,
3349
+ # applications lists, and protocols lists.
2207
3350
  # @return [String]
2208
3351
  #
2209
3352
  # @!attribute [rw] tag_keys
@@ -2223,16 +3366,17 @@ module Aws::FMS
2223
3366
  #
2224
3367
  class UntagResourceResponse < Aws::EmptyStructure; end
2225
3368
 
2226
- # Violations for a resource based on the specified AWS Firewall Manager
2227
- # policy and AWS account.
3369
+ # Violations for a resource based on the specified Firewall Manager
3370
+ # policy and Amazon Web Services account.
2228
3371
  #
2229
3372
  # @!attribute [rw] policy_id
2230
- # The ID of the AWS Firewall Manager policy that the violation details
3373
+ # The ID of the Firewall Manager policy that the violation details
2231
3374
  # were requested for.
2232
3375
  # @return [String]
2233
3376
  #
2234
3377
  # @!attribute [rw] member_account
2235
- # The AWS account that the violation details were requested for.
3378
+ # The Amazon Web Services account that the violation details were
3379
+ # requested for.
2236
3380
  # @return [String]
2237
3381
  #
2238
3382
  # @!attribute [rw] resource_id