aws-sdk-fms 1.0.0

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