aws-sdk-fms 1.0.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -0,0 +1,728 @@
1
+ # WARNING ABOUT GENERATED CODE
2
+ #
3
+ # This file is generated. See the contributing guide for more information:
4
+ # https://github.com/aws/aws-sdk-ruby/blob/master/CONTRIBUTING.md
5
+ #
6
+ # WARNING ABOUT GENERATED CODE
7
+
8
+ module Aws::FMS
9
+ module Types
10
+
11
+ # @note When making an API call, you may pass AssociateAdminAccountRequest
12
+ # data as a hash:
13
+ #
14
+ # {
15
+ # admin_account: "AWSAccountId", # required
16
+ # }
17
+ #
18
+ # @!attribute [rw] admin_account
19
+ # The AWS account ID to associate with AWS Firewall Manager as the AWS
20
+ # Firewall Manager administrator account. This can be an AWS
21
+ # Organizations master account or a member account. For more
22
+ # information about AWS Organizations and master accounts, see
23
+ # [Managing the AWS Accounts in Your Organization][1].
24
+ #
25
+ #
26
+ #
27
+ # [1]: https://docs.aws.amazon.com/organizations/latest/userguide/orgs_manage_accounts.html
28
+ # @return [String]
29
+ #
30
+ # @see http://docs.aws.amazon.com/goto/WebAPI/fms-2018-01-01/AssociateAdminAccountRequest AWS API Documentation
31
+ #
32
+ class AssociateAdminAccountRequest < Struct.new(
33
+ :admin_account)
34
+ include Aws::Structure
35
+ end
36
+
37
+ # Details of the resource that is not protected by the policy.
38
+ #
39
+ # @!attribute [rw] resource_id
40
+ # The resource ID.
41
+ # @return [String]
42
+ #
43
+ # @!attribute [rw] violation_reason
44
+ # The reason that the resource is not protected by the policy.
45
+ # @return [String]
46
+ #
47
+ # @!attribute [rw] resource_type
48
+ # The resource type. This is in the format shown in [AWS Resource
49
+ # Types Reference][1]. Valid values are
50
+ # `AWS::ElasticLoadBalancingV2::LoadBalancer` or
51
+ # `AWS::CloudFront::Distribution`.
52
+ #
53
+ #
54
+ #
55
+ # [1]: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-template-resource-type-ref.html
56
+ # @return [String]
57
+ #
58
+ # @see http://docs.aws.amazon.com/goto/WebAPI/fms-2018-01-01/ComplianceViolator AWS API Documentation
59
+ #
60
+ class ComplianceViolator < Struct.new(
61
+ :resource_id,
62
+ :violation_reason,
63
+ :resource_type)
64
+ include Aws::Structure
65
+ end
66
+
67
+ # @api private
68
+ #
69
+ # @see http://docs.aws.amazon.com/goto/WebAPI/fms-2018-01-01/DeleteNotificationChannelRequest AWS API Documentation
70
+ #
71
+ class DeleteNotificationChannelRequest < Aws::EmptyStructure; end
72
+
73
+ # @note When making an API call, you may pass DeletePolicyRequest
74
+ # data as a hash:
75
+ #
76
+ # {
77
+ # policy_id: "PolicyId", # required
78
+ # }
79
+ #
80
+ # @!attribute [rw] policy_id
81
+ # The ID of the policy that you want to delete. `PolicyId` is returned
82
+ # by `PutPolicy` and by `ListPolicies`.
83
+ # @return [String]
84
+ #
85
+ # @see http://docs.aws.amazon.com/goto/WebAPI/fms-2018-01-01/DeletePolicyRequest AWS API Documentation
86
+ #
87
+ class DeletePolicyRequest < Struct.new(
88
+ :policy_id)
89
+ include Aws::Structure
90
+ end
91
+
92
+ # @api private
93
+ #
94
+ # @see http://docs.aws.amazon.com/goto/WebAPI/fms-2018-01-01/DisassociateAdminAccountRequest AWS API Documentation
95
+ #
96
+ class DisassociateAdminAccountRequest < Aws::EmptyStructure; end
97
+
98
+ # Describes the compliance status for the account. An account is
99
+ # considered non-compliant if it includes resources that are not
100
+ # protected by the specified policy.
101
+ #
102
+ # @!attribute [rw] compliance_status
103
+ # Describes an AWS account's compliance with the AWS Firewall Manager
104
+ # policy.
105
+ # @return [String]
106
+ #
107
+ # @!attribute [rw] violator_count
108
+ # Number of resources that are non-compliant with the specified
109
+ # policy. A resource is considered non-compliant if it is not
110
+ # associated with the specified policy.
111
+ # @return [Integer]
112
+ #
113
+ # @!attribute [rw] evaluation_limit_exceeded
114
+ # Indicates that over 100 resources are non-compliant with the AWS
115
+ # Firewall Manager policy.
116
+ # @return [Boolean]
117
+ #
118
+ # @see http://docs.aws.amazon.com/goto/WebAPI/fms-2018-01-01/EvaluationResult AWS API Documentation
119
+ #
120
+ class EvaluationResult < Struct.new(
121
+ :compliance_status,
122
+ :violator_count,
123
+ :evaluation_limit_exceeded)
124
+ include Aws::Structure
125
+ end
126
+
127
+ # @api private
128
+ #
129
+ # @see http://docs.aws.amazon.com/goto/WebAPI/fms-2018-01-01/GetAdminAccountRequest AWS API Documentation
130
+ #
131
+ class GetAdminAccountRequest < Aws::EmptyStructure; end
132
+
133
+ # @!attribute [rw] admin_account
134
+ # The AWS account that is set as the AWS Firewall Manager
135
+ # administrator.
136
+ # @return [String]
137
+ #
138
+ # @see http://docs.aws.amazon.com/goto/WebAPI/fms-2018-01-01/GetAdminAccountResponse AWS API Documentation
139
+ #
140
+ class GetAdminAccountResponse < Struct.new(
141
+ :admin_account)
142
+ include Aws::Structure
143
+ end
144
+
145
+ # @note When making an API call, you may pass GetComplianceDetailRequest
146
+ # data as a hash:
147
+ #
148
+ # {
149
+ # policy_id: "PolicyId", # required
150
+ # member_account: "AWSAccountId", # required
151
+ # }
152
+ #
153
+ # @!attribute [rw] policy_id
154
+ # The ID of the policy that you want to get the details for.
155
+ # `PolicyId` is returned by `PutPolicy` and by `ListPolicies`.
156
+ # @return [String]
157
+ #
158
+ # @!attribute [rw] member_account
159
+ # The AWS account that owns the resources that you want to get the
160
+ # details for.
161
+ # @return [String]
162
+ #
163
+ # @see http://docs.aws.amazon.com/goto/WebAPI/fms-2018-01-01/GetComplianceDetailRequest AWS API Documentation
164
+ #
165
+ class GetComplianceDetailRequest < Struct.new(
166
+ :policy_id,
167
+ :member_account)
168
+ include Aws::Structure
169
+ end
170
+
171
+ # @!attribute [rw] policy_compliance_detail
172
+ # Information about the resources and the policy that you specified in
173
+ # the `GetComplianceDetail` request.
174
+ # @return [Types::PolicyComplianceDetail]
175
+ #
176
+ # @see http://docs.aws.amazon.com/goto/WebAPI/fms-2018-01-01/GetComplianceDetailResponse AWS API Documentation
177
+ #
178
+ class GetComplianceDetailResponse < Struct.new(
179
+ :policy_compliance_detail)
180
+ include Aws::Structure
181
+ end
182
+
183
+ # @api private
184
+ #
185
+ # @see http://docs.aws.amazon.com/goto/WebAPI/fms-2018-01-01/GetNotificationChannelRequest AWS API Documentation
186
+ #
187
+ class GetNotificationChannelRequest < Aws::EmptyStructure; end
188
+
189
+ # @!attribute [rw] sns_topic_arn
190
+ # The SNS topic that records AWS Firewall Manager activity.
191
+ # @return [String]
192
+ #
193
+ # @!attribute [rw] sns_role_name
194
+ # The IAM role that is used by AWS Firewall Manager to record activity
195
+ # to SNS.
196
+ # @return [String]
197
+ #
198
+ # @see http://docs.aws.amazon.com/goto/WebAPI/fms-2018-01-01/GetNotificationChannelResponse AWS API Documentation
199
+ #
200
+ class GetNotificationChannelResponse < Struct.new(
201
+ :sns_topic_arn,
202
+ :sns_role_name)
203
+ include Aws::Structure
204
+ end
205
+
206
+ # @note When making an API call, you may pass GetPolicyRequest
207
+ # data as a hash:
208
+ #
209
+ # {
210
+ # policy_id: "PolicyId", # required
211
+ # }
212
+ #
213
+ # @!attribute [rw] policy_id
214
+ # The ID of the AWS Firewall Manager policy that you want the details
215
+ # for.
216
+ # @return [String]
217
+ #
218
+ # @see http://docs.aws.amazon.com/goto/WebAPI/fms-2018-01-01/GetPolicyRequest AWS API Documentation
219
+ #
220
+ class GetPolicyRequest < Struct.new(
221
+ :policy_id)
222
+ include Aws::Structure
223
+ end
224
+
225
+ # @!attribute [rw] policy
226
+ # Information about the specified AWS Firewall Manager policy.
227
+ # @return [Types::Policy]
228
+ #
229
+ # @!attribute [rw] policy_arn
230
+ # The Amazon Resource Name (ARN) of the specified policy.
231
+ # @return [String]
232
+ #
233
+ # @see http://docs.aws.amazon.com/goto/WebAPI/fms-2018-01-01/GetPolicyResponse AWS API Documentation
234
+ #
235
+ class GetPolicyResponse < Struct.new(
236
+ :policy,
237
+ :policy_arn)
238
+ include Aws::Structure
239
+ end
240
+
241
+ # @note When making an API call, you may pass ListComplianceStatusRequest
242
+ # data as a hash:
243
+ #
244
+ # {
245
+ # policy_id: "PolicyId", # required
246
+ # next_token: "PaginationToken",
247
+ # max_results: 1,
248
+ # }
249
+ #
250
+ # @!attribute [rw] policy_id
251
+ # The ID of the AWS Firewall Manager policy that you want the details
252
+ # for.
253
+ # @return [String]
254
+ #
255
+ # @!attribute [rw] next_token
256
+ # If you specify a value for `MaxResults` and you have more
257
+ # `PolicyComplianceStatus` objects than the number that you specify
258
+ # for `MaxResults`, AWS Firewall Manager returns a `NextToken` value
259
+ # in the response that allows you to list another group of
260
+ # `PolicyComplianceStatus` objects. For the second and subsequent
261
+ # `ListComplianceStatus` requests, specify the value of `NextToken`
262
+ # from the previous response to get information about another batch of
263
+ # `PolicyComplianceStatus` objects.
264
+ # @return [String]
265
+ #
266
+ # @!attribute [rw] max_results
267
+ # Specifies the number of `PolicyComplianceStatus` objects that you
268
+ # want AWS Firewall Manager to return for this request. If you have
269
+ # more `PolicyComplianceStatus` objects than the number that you
270
+ # specify for `MaxResults`, the response includes a `NextToken` value
271
+ # that you can use to get another batch of `PolicyComplianceStatus`
272
+ # objects.
273
+ # @return [Integer]
274
+ #
275
+ # @see http://docs.aws.amazon.com/goto/WebAPI/fms-2018-01-01/ListComplianceStatusRequest AWS API Documentation
276
+ #
277
+ class ListComplianceStatusRequest < Struct.new(
278
+ :policy_id,
279
+ :next_token,
280
+ :max_results)
281
+ include Aws::Structure
282
+ end
283
+
284
+ # @!attribute [rw] policy_compliance_status_list
285
+ # An array of `PolicyComplianceStatus` objects.
286
+ # @return [Array<Types::PolicyComplianceStatus>]
287
+ #
288
+ # @!attribute [rw] next_token
289
+ # If you have more `PolicyComplianceStatus` objects than the number
290
+ # that you specified for `MaxResults` in the request, the response
291
+ # includes a `NextToken` value. To list more `PolicyComplianceStatus`
292
+ # objects, submit another `ListComplianceStatus` request, and specify
293
+ # the `NextToken` value from the response in the `NextToken` value in
294
+ # the next request.
295
+ # @return [String]
296
+ #
297
+ # @see http://docs.aws.amazon.com/goto/WebAPI/fms-2018-01-01/ListComplianceStatusResponse AWS API Documentation
298
+ #
299
+ class ListComplianceStatusResponse < Struct.new(
300
+ :policy_compliance_status_list,
301
+ :next_token)
302
+ include Aws::Structure
303
+ end
304
+
305
+ # @note When making an API call, you may pass ListPoliciesRequest
306
+ # data as a hash:
307
+ #
308
+ # {
309
+ # next_token: "PaginationToken",
310
+ # max_results: 1,
311
+ # }
312
+ #
313
+ # @!attribute [rw] next_token
314
+ # If you specify a value for `MaxResults` and you have more
315
+ # `PolicySummary` objects than the number that you specify for
316
+ # `MaxResults`, AWS Firewall Manager returns a `NextToken` value in
317
+ # the response that allows you to list another group of
318
+ # `PolicySummary` objects. For the second and subsequent
319
+ # `ListPolicies` requests, specify the value of `NextToken` from the
320
+ # previous response to get information about another batch of
321
+ # `PolicySummary` objects.
322
+ # @return [String]
323
+ #
324
+ # @!attribute [rw] max_results
325
+ # Specifies the number of `PolicySummary` objects that you want AWS
326
+ # Firewall Manager to return for this request. If you have more
327
+ # `PolicySummary` objects than the number that you specify for
328
+ # `MaxResults`, the response includes a `NextToken` value that you can
329
+ # use to get another batch of `PolicySummary` objects.
330
+ # @return [Integer]
331
+ #
332
+ # @see http://docs.aws.amazon.com/goto/WebAPI/fms-2018-01-01/ListPoliciesRequest AWS API Documentation
333
+ #
334
+ class ListPoliciesRequest < Struct.new(
335
+ :next_token,
336
+ :max_results)
337
+ include Aws::Structure
338
+ end
339
+
340
+ # @!attribute [rw] policy_list
341
+ # An array of `PolicySummary` objects.
342
+ # @return [Array<Types::PolicySummary>]
343
+ #
344
+ # @!attribute [rw] next_token
345
+ # If you have more `PolicySummary` objects than the number that you
346
+ # specified for `MaxResults` in the request, the response includes a
347
+ # `NextToken` value. To list more `PolicySummary` objects, submit
348
+ # another `ListPolicies` request, and specify the `NextToken` value
349
+ # from the response in the `NextToken` value in the next request.
350
+ # @return [String]
351
+ #
352
+ # @see http://docs.aws.amazon.com/goto/WebAPI/fms-2018-01-01/ListPoliciesResponse AWS API Documentation
353
+ #
354
+ class ListPoliciesResponse < Struct.new(
355
+ :policy_list,
356
+ :next_token)
357
+ include Aws::Structure
358
+ end
359
+
360
+ # An AWS Firewall Manager policy.
361
+ #
362
+ # @note When making an API call, you may pass Policy
363
+ # data as a hash:
364
+ #
365
+ # {
366
+ # policy_id: "PolicyId",
367
+ # policy_name: "ResourceName", # required
368
+ # policy_update_token: "PolicyUpdateToken",
369
+ # security_service_policy_data: { # required
370
+ # type: "WAF", # required, accepts WAF
371
+ # managed_service_data: "ManagedServiceData",
372
+ # },
373
+ # resource_type: "ResourceType", # required
374
+ # resource_tags: [
375
+ # {
376
+ # key: "TagKey", # required
377
+ # value: "TagValue",
378
+ # },
379
+ # ],
380
+ # exclude_resource_tags: false, # required
381
+ # remediation_enabled: false, # required
382
+ # }
383
+ #
384
+ # @!attribute [rw] policy_id
385
+ # The ID of the AWS Firewall Manager policy.
386
+ # @return [String]
387
+ #
388
+ # @!attribute [rw] policy_name
389
+ # The friendly name of the AWS Firewall Manager policy.
390
+ # @return [String]
391
+ #
392
+ # @!attribute [rw] policy_update_token
393
+ # A unique identifier for each update to the policy. When issuing a
394
+ # `PutPolicy` request, the `PolicyUpdateToken` in the request must
395
+ # match the `PolicyUpdateToken` of the current policy version. To get
396
+ # the `PolicyUpdateToken` of the current policy version, use a
397
+ # `GetPolicy` request.
398
+ # @return [String]
399
+ #
400
+ # @!attribute [rw] security_service_policy_data
401
+ # Details about the security service that is being used to protect the
402
+ # resources.
403
+ # @return [Types::SecurityServicePolicyData]
404
+ #
405
+ # @!attribute [rw] resource_type
406
+ # The type of resource to protect with the policy, either an
407
+ # Application Load Balancer or a CloudFront distribution. This is in
408
+ # the format shown in [AWS Resource Types Reference][1]. Valid values
409
+ # are `AWS::ElasticLoadBalancingV2::LoadBalancer` or
410
+ # `AWS::CloudFront::Distribution`.
411
+ #
412
+ #
413
+ #
414
+ # [1]: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-template-resource-type-ref.html
415
+ # @return [String]
416
+ #
417
+ # @!attribute [rw] resource_tags
418
+ # An array of `ResourceTag` objects.
419
+ # @return [Array<Types::ResourceTag>]
420
+ #
421
+ # @!attribute [rw] exclude_resource_tags
422
+ # If set to `True`, resources with the tags that are specified in the
423
+ # `ResourceTag` array are not protected by the policy. If set to
424
+ # `False`, and the `ResourceTag` array is not null, only resources
425
+ # with the specified tags are associated with the policy.
426
+ # @return [Boolean]
427
+ #
428
+ # @!attribute [rw] remediation_enabled
429
+ # Indicates if the policy should be automatically applied to new
430
+ # resources.
431
+ # @return [Boolean]
432
+ #
433
+ # @see http://docs.aws.amazon.com/goto/WebAPI/fms-2018-01-01/Policy AWS API Documentation
434
+ #
435
+ class Policy < Struct.new(
436
+ :policy_id,
437
+ :policy_name,
438
+ :policy_update_token,
439
+ :security_service_policy_data,
440
+ :resource_type,
441
+ :resource_tags,
442
+ :exclude_resource_tags,
443
+ :remediation_enabled)
444
+ include Aws::Structure
445
+ end
446
+
447
+ # Describes the non-compliant resources in a member account for a
448
+ # specific AWS Firewall Manager policy. A maximum of 100 entries are
449
+ # displayed. If more than 100 resources are non-compliant,
450
+ # `EvaluationLimitExceeded` is set to `True`.
451
+ #
452
+ # @!attribute [rw] policy_owner
453
+ # The AWS account that created the AWS Firewall Manager policy.
454
+ # @return [String]
455
+ #
456
+ # @!attribute [rw] policy_id
457
+ # The ID of the AWS Firewall Manager policy.
458
+ # @return [String]
459
+ #
460
+ # @!attribute [rw] member_account
461
+ # The AWS account ID.
462
+ # @return [String]
463
+ #
464
+ # @!attribute [rw] violators
465
+ # An array of resources that are not protected by the policy.
466
+ # @return [Array<Types::ComplianceViolator>]
467
+ #
468
+ # @!attribute [rw] evaluation_limit_exceeded
469
+ # Indicates if over 100 resources are non-compliant with the AWS
470
+ # Firewall Manager policy.
471
+ # @return [Boolean]
472
+ #
473
+ # @!attribute [rw] expired_at
474
+ # A time stamp that indicates when the returned information should be
475
+ # considered out-of-date.
476
+ # @return [Time]
477
+ #
478
+ # @see http://docs.aws.amazon.com/goto/WebAPI/fms-2018-01-01/PolicyComplianceDetail AWS API Documentation
479
+ #
480
+ class PolicyComplianceDetail < Struct.new(
481
+ :policy_owner,
482
+ :policy_id,
483
+ :member_account,
484
+ :violators,
485
+ :evaluation_limit_exceeded,
486
+ :expired_at)
487
+ include Aws::Structure
488
+ end
489
+
490
+ # Indicates whether the account is compliant with the specified policy.
491
+ # An account is considered non-compliant if it includes resources that
492
+ # are not protected by the policy.
493
+ #
494
+ # @!attribute [rw] policy_owner
495
+ # The AWS account that created the AWS Firewall Manager policy.
496
+ # @return [String]
497
+ #
498
+ # @!attribute [rw] policy_id
499
+ # The ID of the AWS Firewall Manager policy.
500
+ # @return [String]
501
+ #
502
+ # @!attribute [rw] policy_name
503
+ # The friendly name of the AWS Firewall Manager policy.
504
+ # @return [String]
505
+ #
506
+ # @!attribute [rw] member_account
507
+ # The member account ID.
508
+ # @return [String]
509
+ #
510
+ # @!attribute [rw] evaluation_results
511
+ # An array of `EvaluationResult` objects.
512
+ # @return [Array<Types::EvaluationResult>]
513
+ #
514
+ # @!attribute [rw] last_updated
515
+ # Time stamp of the last update to the `EvaluationResult` objects.
516
+ # @return [Time]
517
+ #
518
+ # @see http://docs.aws.amazon.com/goto/WebAPI/fms-2018-01-01/PolicyComplianceStatus AWS API Documentation
519
+ #
520
+ class PolicyComplianceStatus < Struct.new(
521
+ :policy_owner,
522
+ :policy_id,
523
+ :policy_name,
524
+ :member_account,
525
+ :evaluation_results,
526
+ :last_updated)
527
+ include Aws::Structure
528
+ end
529
+
530
+ # Details of the AWS Firewall Manager policy.
531
+ #
532
+ # @!attribute [rw] policy_arn
533
+ # The Amazon Resource Name (ARN) of the specified policy.
534
+ # @return [String]
535
+ #
536
+ # @!attribute [rw] policy_id
537
+ # The ID of the specified policy.
538
+ # @return [String]
539
+ #
540
+ # @!attribute [rw] policy_name
541
+ # The friendly name of the specified policy.
542
+ # @return [String]
543
+ #
544
+ # @!attribute [rw] resource_type
545
+ # The type of resource to protect with the policy, either an
546
+ # Application Load Balancer or a CloudFront distribution. This is in
547
+ # the format shown in [AWS Resource Types Reference][1]. Valid values
548
+ # are `AWS::ElasticLoadBalancingV2::LoadBalancer` or
549
+ # `AWS::CloudFront::Distribution`.
550
+ #
551
+ #
552
+ #
553
+ # [1]: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-template-resource-type-ref.html
554
+ # @return [String]
555
+ #
556
+ # @!attribute [rw] security_service_type
557
+ # The service that the policy is using to protect the resources. This
558
+ # value is `WAF`.
559
+ # @return [String]
560
+ #
561
+ # @!attribute [rw] remediation_enabled
562
+ # Indicates if the policy should be automatically applied to new
563
+ # resources.
564
+ # @return [Boolean]
565
+ #
566
+ # @see http://docs.aws.amazon.com/goto/WebAPI/fms-2018-01-01/PolicySummary AWS API Documentation
567
+ #
568
+ class PolicySummary < Struct.new(
569
+ :policy_arn,
570
+ :policy_id,
571
+ :policy_name,
572
+ :resource_type,
573
+ :security_service_type,
574
+ :remediation_enabled)
575
+ include Aws::Structure
576
+ end
577
+
578
+ # @note When making an API call, you may pass PutNotificationChannelRequest
579
+ # data as a hash:
580
+ #
581
+ # {
582
+ # sns_topic_arn: "ResourceArn", # required
583
+ # sns_role_name: "ResourceArn", # required
584
+ # }
585
+ #
586
+ # @!attribute [rw] sns_topic_arn
587
+ # The Amazon Resource Name (ARN) of the SNS topic that collects
588
+ # notifications from AWS Firewall Manager.
589
+ # @return [String]
590
+ #
591
+ # @!attribute [rw] sns_role_name
592
+ # The Amazon Resource Name (ARN) of the IAM role that allows Amazon
593
+ # SNS to record AWS Firewall Manager activity.
594
+ # @return [String]
595
+ #
596
+ # @see http://docs.aws.amazon.com/goto/WebAPI/fms-2018-01-01/PutNotificationChannelRequest AWS API Documentation
597
+ #
598
+ class PutNotificationChannelRequest < Struct.new(
599
+ :sns_topic_arn,
600
+ :sns_role_name)
601
+ include Aws::Structure
602
+ end
603
+
604
+ # @note When making an API call, you may pass PutPolicyRequest
605
+ # data as a hash:
606
+ #
607
+ # {
608
+ # policy: { # required
609
+ # policy_id: "PolicyId",
610
+ # policy_name: "ResourceName", # required
611
+ # policy_update_token: "PolicyUpdateToken",
612
+ # security_service_policy_data: { # required
613
+ # type: "WAF", # required, accepts WAF
614
+ # managed_service_data: "ManagedServiceData",
615
+ # },
616
+ # resource_type: "ResourceType", # required
617
+ # resource_tags: [
618
+ # {
619
+ # key: "TagKey", # required
620
+ # value: "TagValue",
621
+ # },
622
+ # ],
623
+ # exclude_resource_tags: false, # required
624
+ # remediation_enabled: false, # required
625
+ # },
626
+ # }
627
+ #
628
+ # @!attribute [rw] policy
629
+ # The details of the AWS Firewall Manager policy to be created.
630
+ # @return [Types::Policy]
631
+ #
632
+ # @see http://docs.aws.amazon.com/goto/WebAPI/fms-2018-01-01/PutPolicyRequest AWS API Documentation
633
+ #
634
+ class PutPolicyRequest < Struct.new(
635
+ :policy)
636
+ include Aws::Structure
637
+ end
638
+
639
+ # @!attribute [rw] policy
640
+ # The details of the AWS Firewall Manager policy that was created.
641
+ # @return [Types::Policy]
642
+ #
643
+ # @!attribute [rw] policy_arn
644
+ # The Amazon Resource Name (ARN) of the policy that was created.
645
+ # @return [String]
646
+ #
647
+ # @see http://docs.aws.amazon.com/goto/WebAPI/fms-2018-01-01/PutPolicyResponse AWS API Documentation
648
+ #
649
+ class PutPolicyResponse < Struct.new(
650
+ :policy,
651
+ :policy_arn)
652
+ include Aws::Structure
653
+ end
654
+
655
+ # The resource tags that AWS Firewall Manager uses to determine if a
656
+ # particular resource should be included or excluded from protection by
657
+ # the AWS Firewall Manager policy. Tags enable you to categorize your
658
+ # AWS resources in different ways, for example, by purpose, owner, or
659
+ # environment. Each tag consists of a key and an optional value, both of
660
+ # which you define. Tags are combined with an "OR." That is, if you
661
+ # add more than one tag, if any of the tags matches, the resource is
662
+ # considered a match for the include or exclude. [Working with Tag
663
+ # Editor][1].
664
+ #
665
+ #
666
+ #
667
+ # [1]: https://docs.aws.amazon.com/awsconsolehelpdocs/latest/gsg/tag-editor.html
668
+ #
669
+ # @note When making an API call, you may pass ResourceTag
670
+ # data as a hash:
671
+ #
672
+ # {
673
+ # key: "TagKey", # required
674
+ # value: "TagValue",
675
+ # }
676
+ #
677
+ # @!attribute [rw] key
678
+ # The resource tag key.
679
+ # @return [String]
680
+ #
681
+ # @!attribute [rw] value
682
+ # The resource tag value.
683
+ # @return [String]
684
+ #
685
+ # @see http://docs.aws.amazon.com/goto/WebAPI/fms-2018-01-01/ResourceTag AWS API Documentation
686
+ #
687
+ class ResourceTag < Struct.new(
688
+ :key,
689
+ :value)
690
+ include Aws::Structure
691
+ end
692
+
693
+ # Details about the security service that is being used to protect the
694
+ # resources.
695
+ #
696
+ # @note When making an API call, you may pass SecurityServicePolicyData
697
+ # data as a hash:
698
+ #
699
+ # {
700
+ # type: "WAF", # required, accepts WAF
701
+ # managed_service_data: "ManagedServiceData",
702
+ # }
703
+ #
704
+ # @!attribute [rw] type
705
+ # The service that the policy is using to protect the resources. This
706
+ # value is `WAF`.
707
+ # @return [String]
708
+ #
709
+ # @!attribute [rw] managed_service_data
710
+ # Details about the service. This contains `WAF` data in JSON format,
711
+ # as shown in the following example:
712
+ #
713
+ # `ManagedServiceData": "\{"type": "WAF", "ruleGroups":
714
+ # [\{"id": "12345678-1bcd-9012-efga-0987654321ab",
715
+ # "overrideAction" : \{"type": "COUNT"\}\}], "defaultAction":
716
+ # \{"type": "BLOCK"\}\}`
717
+ # @return [String]
718
+ #
719
+ # @see http://docs.aws.amazon.com/goto/WebAPI/fms-2018-01-01/SecurityServicePolicyData AWS API Documentation
720
+ #
721
+ class SecurityServicePolicyData < Struct.new(
722
+ :type,
723
+ :managed_service_data)
724
+ include Aws::Structure
725
+ end
726
+
727
+ end
728
+ end