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.
- checksums.yaml +7 -0
- data/lib/aws-sdk-fms/client.rb +610 -0
- data/lib/aws-sdk-fms/client_api.rb +346 -0
- data/lib/aws-sdk-fms/customizations.rb +0 -0
- data/lib/aws-sdk-fms/errors.rb +14 -0
- data/lib/aws-sdk-fms/resource.rb +23 -0
- data/lib/aws-sdk-fms/types.rb +728 -0
- data/lib/aws-sdk-fms.rb +47 -0
- metadata +82 -0
@@ -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
|