aws-sdk-fms 1.11.0 → 1.12.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: f863de37d76ecef4557189d804a4671b90258037
4
- data.tar.gz: b91928b4763e00a45683becd192c0d968bc62e75
3
+ metadata.gz: 4fb1c6969e8db31be13a5b413a5a2e5991d8e833
4
+ data.tar.gz: e1a2d1196692c7fcbaa7ba391104669f9b6135a1
5
5
  SHA512:
6
- metadata.gz: 6d6f863c4aa7cfe520ab7f55086ee97304a806016d81ca22479a2eb990c24660cd6c73d70208aedaaef74383e47fe2016e47368d97769a6f87c6ec86e3bfa6af
7
- data.tar.gz: fa2ef9c93875e58af25f970a03b3bae4396d0894953a70771f46dfbf29cb95a704ec76fe8c0713af50bf71202167d84dfba800f6ca4e55c63afdd164e58e3315
6
+ metadata.gz: 456a0ed2c47ad0047686498d91dd9eff41355dd9bc8c5e02f9a39e64e30037700d5b144c882989903902e0d3038369d5bb9df6b39a81668d814b403ac4a02a1c
7
+ data.tar.gz: b2cab0725e9d878634d5e23e72747885f28c77927f3ed1569410ca6c1ddd52398a2848523b01092329c22fa9801e1ac6f22c16147d4c072a58df39e198551550
data/lib/aws-sdk-fms.rb CHANGED
@@ -42,6 +42,6 @@ require_relative 'aws-sdk-fms/customizations'
42
42
  # @service
43
43
  module Aws::FMS
44
44
 
45
- GEM_VERSION = '1.11.0'
45
+ GEM_VERSION = '1.12.0'
46
46
 
47
47
  end
@@ -275,9 +275,21 @@ module Aws::FMS
275
275
  # by `PutPolicy` and by `ListPolicies`.
276
276
  #
277
277
  # @option params [Boolean] :delete_all_policy_resources
278
- # If `True`, the request will also delete all web ACLs in this policy.
279
- # Associated resources will no longer be protected by web ACLs in this
280
- # policy.
278
+ # If `True`, the request will also perform a clean-up process that will:
279
+ #
280
+ # * Delete rule groups created by AWS Firewall Manager
281
+ #
282
+ # * Remove web ACLs from in-scope resources
283
+ #
284
+ # * Delete web ACLs that contain no rules or rule groups
285
+ #
286
+ # After the cleanup, in-scope resources will no longer be protected by
287
+ # web ACLs in this policy. Protection of out-of-scope resources will
288
+ # remain unchanged. Scope is determined by tags and accounts associated
289
+ # with the policy. When creating the policy, if you specified that only
290
+ # resources in specific accounts or with specific tags be protected by
291
+ # the policy, those resources are in-scope. All others are out of scope.
292
+ # If you did not specify tags or accounts, all resources are in-scope.
281
293
  #
282
294
  # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
283
295
  #
@@ -366,7 +378,7 @@ module Aws::FMS
366
378
  # resp.policy_compliance_detail.member_account #=> String
367
379
  # resp.policy_compliance_detail.violators #=> Array
368
380
  # resp.policy_compliance_detail.violators[0].resource_id #=> String
369
- # resp.policy_compliance_detail.violators[0].violation_reason #=> String, one of "WEB_ACL_MISSING_RULE_GROUP", "RESOURCE_MISSING_WEB_ACL", "RESOURCE_INCORRECT_WEB_ACL"
381
+ # resp.policy_compliance_detail.violators[0].violation_reason #=> String, one of "WEB_ACL_MISSING_RULE_GROUP", "RESOURCE_MISSING_WEB_ACL", "RESOURCE_INCORRECT_WEB_ACL", "RESOURCE_MISSING_SHIELD_PROTECTION"
370
382
  # resp.policy_compliance_detail.violators[0].resource_type #=> String
371
383
  # resp.policy_compliance_detail.evaluation_limit_exceeded #=> Boolean
372
384
  # resp.policy_compliance_detail.expired_at #=> Time
@@ -426,9 +438,11 @@ module Aws::FMS
426
438
  # resp.policy.policy_id #=> String
427
439
  # resp.policy.policy_name #=> String
428
440
  # resp.policy.policy_update_token #=> String
429
- # resp.policy.security_service_policy_data.type #=> String, one of "WAF"
441
+ # resp.policy.security_service_policy_data.type #=> String, one of "WAF", "SHIELD_ADVANCED"
430
442
  # resp.policy.security_service_policy_data.managed_service_data #=> String
431
443
  # resp.policy.resource_type #=> String
444
+ # resp.policy.resource_type_list #=> Array
445
+ # resp.policy.resource_type_list[0] #=> String
432
446
  # resp.policy.resource_tags #=> Array
433
447
  # resp.policy.resource_tags[0].key #=> String
434
448
  # resp.policy.resource_tags[0].value #=> String
@@ -451,6 +465,77 @@ module Aws::FMS
451
465
  req.send_request(options)
452
466
  end
453
467
 
468
+ # If you created a Shield Advanced policy, returns policy-level attack
469
+ # summary information in the event of a potential DDoS attack.
470
+ #
471
+ # @option params [required, String] :policy_id
472
+ # The ID of the policy for which you want to get the attack information.
473
+ #
474
+ # @option params [String] :member_account_id
475
+ # The AWS account that is in scope of the policy that you want to get
476
+ # the details for.
477
+ #
478
+ # @option params [Time,DateTime,Date,Integer,String] :start_time
479
+ # The start of the time period to query for the attacks. This is a
480
+ # `timestamp` type. The sample request above indicates a number type
481
+ # because the default used by AWS Firewall Manager is Unix time in
482
+ # seconds. However, any valid `timestamp` format is allowed.
483
+ #
484
+ # @option params [Time,DateTime,Date,Integer,String] :end_time
485
+ # The end of the time period to query for the attacks. This is a
486
+ # `timestamp` type. The sample request above indicates a number type
487
+ # because the default used by AWS Firewall Manager is Unix time in
488
+ # seconds. However, any valid `timestamp` format is allowed.
489
+ #
490
+ # @option params [String] :next_token
491
+ # If you specify a value for `MaxResults` and you have more objects than
492
+ # the number that you specify for `MaxResults`, AWS Firewall Manager
493
+ # returns a `NextToken` value in the response that allows you to list
494
+ # another group of objects. For the second and subsequent
495
+ # `GetProtectionStatus` requests, specify the value of `NextToken` from
496
+ # the previous response to get information about another batch of
497
+ # objects.
498
+ #
499
+ # @option params [Integer] :max_results
500
+ # Specifies the number of objects that you want AWS Firewall Manager to
501
+ # return for this request. If you have more objects than the number that
502
+ # you specify for `MaxResults`, the response includes a `NextToken`
503
+ # value that you can use to get another batch of objects.
504
+ #
505
+ # @return [Types::GetProtectionStatusResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
506
+ #
507
+ # * {Types::GetProtectionStatusResponse#admin_account_id #admin_account_id} => String
508
+ # * {Types::GetProtectionStatusResponse#service_type #service_type} => String
509
+ # * {Types::GetProtectionStatusResponse#data #data} => String
510
+ # * {Types::GetProtectionStatusResponse#next_token #next_token} => String
511
+ #
512
+ # @example Request syntax with placeholder values
513
+ #
514
+ # resp = client.get_protection_status({
515
+ # policy_id: "PolicyId", # required
516
+ # member_account_id: "AWSAccountId",
517
+ # start_time: Time.now,
518
+ # end_time: Time.now,
519
+ # next_token: "PaginationToken",
520
+ # max_results: 1,
521
+ # })
522
+ #
523
+ # @example Response structure
524
+ #
525
+ # resp.admin_account_id #=> String
526
+ # resp.service_type #=> String, one of "WAF", "SHIELD_ADVANCED"
527
+ # resp.data #=> String
528
+ # resp.next_token #=> String
529
+ #
530
+ # @see http://docs.aws.amazon.com/goto/WebAPI/fms-2018-01-01/GetProtectionStatus AWS API Documentation
531
+ #
532
+ # @overload get_protection_status(params = {})
533
+ # @param [Hash] params ({})
534
+ def get_protection_status(params = {}, options = {})
535
+ req = build_request(:get_protection_status, params)
536
+ req.send_request(options)
537
+ end
538
+
454
539
  # Returns an array of `PolicyComplianceStatus` objects in the response.
455
540
  # Use `PolicyComplianceStatus` to get a summary of which member accounts
456
541
  # are protected by the specified policy.
@@ -600,7 +685,7 @@ module Aws::FMS
600
685
  # resp.policy_list[0].policy_id #=> String
601
686
  # resp.policy_list[0].policy_name #=> String
602
687
  # resp.policy_list[0].resource_type #=> String
603
- # resp.policy_list[0].security_service_type #=> String, one of "WAF"
688
+ # resp.policy_list[0].security_service_type #=> String, one of "WAF", "SHIELD_ADVANCED"
604
689
  # resp.policy_list[0].remediation_enabled #=> Boolean
605
690
  # resp.next_token #=> String
606
691
  #
@@ -644,6 +729,23 @@ module Aws::FMS
644
729
 
645
730
  # Creates an AWS Firewall Manager policy.
646
731
  #
732
+ # Firewall Manager provides two types of policies: A Shield Advanced
733
+ # policy, which applies Shield Advanced protection to specified accounts
734
+ # and resources, or a WAF policy, which contains a rule group and
735
+ # defines which resources are to be protected by that rule group. A
736
+ # policy is specific to either WAF or Shield Advanced. If you want to
737
+ # enforce both WAF rules and Shield Advanced protection across accounts,
738
+ # you can create multiple policies. You can create one or more policies
739
+ # for WAF rules, and one or more policies for Shield Advanced.
740
+ #
741
+ # You must be subscribed to Shield Advanced to create a Shield Advanced
742
+ # policy. For more information on subscribing to Shield Advanced, see
743
+ # [CreateSubscription][1].
744
+ #
745
+ #
746
+ #
747
+ # [1]: https://docs.aws.amazon.com/waf/latest/DDOSAPIReference/API_CreateSubscription.html
748
+ #
647
749
  # @option params [required, Types::Policy] :policy
648
750
  # The details of the AWS Firewall Manager policy to be created.
649
751
  #
@@ -660,10 +762,11 @@ module Aws::FMS
660
762
  # policy_name: "ResourceName", # required
661
763
  # policy_update_token: "PolicyUpdateToken",
662
764
  # security_service_policy_data: { # required
663
- # type: "WAF", # required, accepts WAF
765
+ # type: "WAF", # required, accepts WAF, SHIELD_ADVANCED
664
766
  # managed_service_data: "ManagedServiceData",
665
767
  # },
666
768
  # resource_type: "ResourceType", # required
769
+ # resource_type_list: ["ResourceType"],
667
770
  # resource_tags: [
668
771
  # {
669
772
  # key: "TagKey", # required
@@ -686,9 +789,11 @@ module Aws::FMS
686
789
  # resp.policy.policy_id #=> String
687
790
  # resp.policy.policy_name #=> String
688
791
  # resp.policy.policy_update_token #=> String
689
- # resp.policy.security_service_policy_data.type #=> String, one of "WAF"
792
+ # resp.policy.security_service_policy_data.type #=> String, one of "WAF", "SHIELD_ADVANCED"
690
793
  # resp.policy.security_service_policy_data.managed_service_data #=> String
691
794
  # resp.policy.resource_type #=> String
795
+ # resp.policy.resource_type_list #=> Array
796
+ # resp.policy.resource_type_list[0] #=> String
692
797
  # resp.policy.resource_tags #=> Array
693
798
  # resp.policy.resource_tags[0].key #=> String
694
799
  # resp.policy.resource_tags[0].value #=> String
@@ -724,7 +829,7 @@ module Aws::FMS
724
829
  params: params,
725
830
  config: config)
726
831
  context[:gem_name] = 'aws-sdk-fms'
727
- context[:gem_version] = '1.11.0'
832
+ context[:gem_version] = '1.12.0'
728
833
  Seahorse::Client::Request.new(handlers, context)
729
834
  end
730
835
 
@@ -37,6 +37,8 @@ module Aws::FMS
37
37
  GetNotificationChannelResponse = Shapes::StructureShape.new(name: 'GetNotificationChannelResponse')
38
38
  GetPolicyRequest = Shapes::StructureShape.new(name: 'GetPolicyRequest')
39
39
  GetPolicyResponse = Shapes::StructureShape.new(name: 'GetPolicyResponse')
40
+ GetProtectionStatusRequest = Shapes::StructureShape.new(name: 'GetProtectionStatusRequest')
41
+ GetProtectionStatusResponse = Shapes::StructureShape.new(name: 'GetProtectionStatusResponse')
40
42
  InternalErrorException = Shapes::StructureShape.new(name: 'InternalErrorException')
41
43
  InvalidInputException = Shapes::StructureShape.new(name: 'InvalidInputException')
42
44
  InvalidOperationException = Shapes::StructureShape.new(name: 'InvalidOperationException')
@@ -62,6 +64,7 @@ module Aws::FMS
62
64
  PolicySummary = Shapes::StructureShape.new(name: 'PolicySummary')
63
65
  PolicySummaryList = Shapes::ListShape.new(name: 'PolicySummaryList')
64
66
  PolicyUpdateToken = Shapes::StringShape.new(name: 'PolicyUpdateToken')
67
+ ProtectionData = Shapes::StringShape.new(name: 'ProtectionData')
65
68
  PutNotificationChannelRequest = Shapes::StructureShape.new(name: 'PutNotificationChannelRequest')
66
69
  PutPolicyRequest = Shapes::StructureShape.new(name: 'PutPolicyRequest')
67
70
  PutPolicyResponse = Shapes::StructureShape.new(name: 'PutPolicyResponse')
@@ -73,6 +76,7 @@ module Aws::FMS
73
76
  ResourceTag = Shapes::StructureShape.new(name: 'ResourceTag')
74
77
  ResourceTags = Shapes::ListShape.new(name: 'ResourceTags')
75
78
  ResourceType = Shapes::StringShape.new(name: 'ResourceType')
79
+ ResourceTypeList = Shapes::ListShape.new(name: 'ResourceTypeList')
76
80
  SecurityServicePolicyData = Shapes::StructureShape.new(name: 'SecurityServicePolicyData')
77
81
  SecurityServiceType = Shapes::StringShape.new(name: 'SecurityServiceType')
78
82
  TagKey = Shapes::StringShape.new(name: 'TagKey')
@@ -136,6 +140,20 @@ module Aws::FMS
136
140
  GetPolicyResponse.add_member(:policy_arn, Shapes::ShapeRef.new(shape: ResourceArn, location_name: "PolicyArn"))
137
141
  GetPolicyResponse.struct_class = Types::GetPolicyResponse
138
142
 
143
+ GetProtectionStatusRequest.add_member(:policy_id, Shapes::ShapeRef.new(shape: PolicyId, required: true, location_name: "PolicyId"))
144
+ GetProtectionStatusRequest.add_member(:member_account_id, Shapes::ShapeRef.new(shape: AWSAccountId, location_name: "MemberAccountId"))
145
+ GetProtectionStatusRequest.add_member(:start_time, Shapes::ShapeRef.new(shape: TimeStamp, location_name: "StartTime"))
146
+ GetProtectionStatusRequest.add_member(:end_time, Shapes::ShapeRef.new(shape: TimeStamp, location_name: "EndTime"))
147
+ GetProtectionStatusRequest.add_member(:next_token, Shapes::ShapeRef.new(shape: PaginationToken, location_name: "NextToken"))
148
+ GetProtectionStatusRequest.add_member(:max_results, Shapes::ShapeRef.new(shape: PaginationMaxResults, location_name: "MaxResults"))
149
+ GetProtectionStatusRequest.struct_class = Types::GetProtectionStatusRequest
150
+
151
+ GetProtectionStatusResponse.add_member(:admin_account_id, Shapes::ShapeRef.new(shape: AWSAccountId, location_name: "AdminAccountId"))
152
+ GetProtectionStatusResponse.add_member(:service_type, Shapes::ShapeRef.new(shape: SecurityServiceType, location_name: "ServiceType"))
153
+ GetProtectionStatusResponse.add_member(:data, Shapes::ShapeRef.new(shape: ProtectionData, location_name: "Data"))
154
+ GetProtectionStatusResponse.add_member(:next_token, Shapes::ShapeRef.new(shape: PaginationToken, location_name: "NextToken"))
155
+ GetProtectionStatusResponse.struct_class = Types::GetProtectionStatusResponse
156
+
139
157
  IssueInfoMap.key = Shapes::ShapeRef.new(shape: DependentServiceName)
140
158
  IssueInfoMap.value = Shapes::ShapeRef.new(shape: DetailedInfo)
141
159
 
@@ -171,6 +189,7 @@ module Aws::FMS
171
189
  Policy.add_member(:policy_update_token, Shapes::ShapeRef.new(shape: PolicyUpdateToken, location_name: "PolicyUpdateToken"))
172
190
  Policy.add_member(:security_service_policy_data, Shapes::ShapeRef.new(shape: SecurityServicePolicyData, required: true, location_name: "SecurityServicePolicyData"))
173
191
  Policy.add_member(:resource_type, Shapes::ShapeRef.new(shape: ResourceType, required: true, location_name: "ResourceType"))
192
+ Policy.add_member(:resource_type_list, Shapes::ShapeRef.new(shape: ResourceTypeList, location_name: "ResourceTypeList"))
174
193
  Policy.add_member(:resource_tags, Shapes::ShapeRef.new(shape: ResourceTags, location_name: "ResourceTags"))
175
194
  Policy.add_member(:exclude_resource_tags, Shapes::ShapeRef.new(shape: Boolean, required: true, location_name: "ExcludeResourceTags"))
176
195
  Policy.add_member(:remediation_enabled, Shapes::ShapeRef.new(shape: Boolean, required: true, location_name: "RemediationEnabled"))
@@ -225,6 +244,8 @@ module Aws::FMS
225
244
 
226
245
  ResourceTags.member = Shapes::ShapeRef.new(shape: ResourceTag)
227
246
 
247
+ ResourceTypeList.member = Shapes::ShapeRef.new(shape: ResourceType)
248
+
228
249
  SecurityServicePolicyData.add_member(:type, Shapes::ShapeRef.new(shape: SecurityServiceType, required: true, location_name: "Type"))
229
250
  SecurityServicePolicyData.add_member(:managed_service_data, Shapes::ShapeRef.new(shape: ManagedServiceData, location_name: "ManagedServiceData"))
230
251
  SecurityServicePolicyData.struct_class = Types::SecurityServicePolicyData
@@ -337,6 +358,17 @@ module Aws::FMS
337
358
  o.errors << Shapes::ShapeRef.new(shape: InvalidTypeException)
338
359
  end)
339
360
 
361
+ api.add_operation(:get_protection_status, Seahorse::Model::Operation.new.tap do |o|
362
+ o.name = "GetProtectionStatus"
363
+ o.http_method = "POST"
364
+ o.http_request_uri = "/"
365
+ o.input = Shapes::ShapeRef.new(shape: GetProtectionStatusRequest)
366
+ o.output = Shapes::ShapeRef.new(shape: GetProtectionStatusResponse)
367
+ o.errors << Shapes::ShapeRef.new(shape: InvalidInputException)
368
+ o.errors << Shapes::ShapeRef.new(shape: ResourceNotFoundException)
369
+ o.errors << Shapes::ShapeRef.new(shape: InternalErrorException)
370
+ end)
371
+
340
372
  api.add_operation(:list_compliance_status, Seahorse::Model::Operation.new.tap do |o|
341
373
  o.name = "ListComplianceStatus"
342
374
  o.http_method = "POST"
@@ -345,6 +377,12 @@ module Aws::FMS
345
377
  o.output = Shapes::ShapeRef.new(shape: ListComplianceStatusResponse)
346
378
  o.errors << Shapes::ShapeRef.new(shape: ResourceNotFoundException)
347
379
  o.errors << Shapes::ShapeRef.new(shape: InternalErrorException)
380
+ o[:pager] = Aws::Pager.new(
381
+ limit_key: "max_results",
382
+ tokens: {
383
+ "next_token" => "next_token"
384
+ }
385
+ )
348
386
  end)
349
387
 
350
388
  api.add_operation(:list_member_accounts, Seahorse::Model::Operation.new.tap do |o|
@@ -355,6 +393,12 @@ module Aws::FMS
355
393
  o.output = Shapes::ShapeRef.new(shape: ListMemberAccountsResponse)
356
394
  o.errors << Shapes::ShapeRef.new(shape: ResourceNotFoundException)
357
395
  o.errors << Shapes::ShapeRef.new(shape: InternalErrorException)
396
+ o[:pager] = Aws::Pager.new(
397
+ limit_key: "max_results",
398
+ tokens: {
399
+ "next_token" => "next_token"
400
+ }
401
+ )
358
402
  end)
359
403
 
360
404
  api.add_operation(:list_policies, Seahorse::Model::Operation.new.tap do |o|
@@ -367,6 +411,12 @@ module Aws::FMS
367
411
  o.errors << Shapes::ShapeRef.new(shape: InvalidOperationException)
368
412
  o.errors << Shapes::ShapeRef.new(shape: LimitExceededException)
369
413
  o.errors << Shapes::ShapeRef.new(shape: InternalErrorException)
414
+ o[:pager] = Aws::Pager.new(
415
+ limit_key: "max_results",
416
+ tokens: {
417
+ "next_token" => "next_token"
418
+ }
419
+ )
370
420
  end)
371
421
 
372
422
  api.add_operation(:put_notification_channel, Seahorse::Model::Operation.new.tap do |o|
@@ -46,7 +46,7 @@ module Aws::FMS
46
46
  #
47
47
  # @!attribute [rw] resource_type
48
48
  # The resource type. This is in the format shown in [AWS Resource
49
- # Types Reference][1]. Valid values are
49
+ # Types Reference][1]. For example:
50
50
  # `AWS::ElasticLoadBalancingV2::LoadBalancer` or
51
51
  # `AWS::CloudFront::Distribution`.
52
52
  #
@@ -84,9 +84,23 @@ module Aws::FMS
84
84
  # @return [String]
85
85
  #
86
86
  # @!attribute [rw] delete_all_policy_resources
87
- # If `True`, the request will also delete all web ACLs in this policy.
88
- # Associated resources will no longer be protected by web ACLs in this
89
- # policy.
87
+ # If `True`, the request will also perform a clean-up process that
88
+ # will:
89
+ #
90
+ # * Delete rule groups created by AWS Firewall Manager
91
+ #
92
+ # * Remove web ACLs from in-scope resources
93
+ #
94
+ # * Delete web ACLs that contain no rules or rule groups
95
+ #
96
+ # After the cleanup, in-scope resources will no longer be protected by
97
+ # web ACLs in this policy. Protection of out-of-scope resources will
98
+ # remain unchanged. Scope is determined by tags and accounts
99
+ # associated with the policy. When creating the policy, if you
100
+ # specified that only resources in specific accounts or with specific
101
+ # tags be protected by the policy, those resources are in-scope. All
102
+ # others are out of scope. If you did not specify tags or accounts,
103
+ # all resources are in-scope.
90
104
  # @return [Boolean]
91
105
  #
92
106
  # @see http://docs.aws.amazon.com/goto/WebAPI/fms-2018-01-01/DeletePolicyRequest AWS API Documentation
@@ -252,6 +266,121 @@ module Aws::FMS
252
266
  include Aws::Structure
253
267
  end
254
268
 
269
+ # @note When making an API call, you may pass GetProtectionStatusRequest
270
+ # data as a hash:
271
+ #
272
+ # {
273
+ # policy_id: "PolicyId", # required
274
+ # member_account_id: "AWSAccountId",
275
+ # start_time: Time.now,
276
+ # end_time: Time.now,
277
+ # next_token: "PaginationToken",
278
+ # max_results: 1,
279
+ # }
280
+ #
281
+ # @!attribute [rw] policy_id
282
+ # The ID of the policy for which you want to get the attack
283
+ # information.
284
+ # @return [String]
285
+ #
286
+ # @!attribute [rw] member_account_id
287
+ # The AWS account that is in scope of the policy that you want to get
288
+ # the details for.
289
+ # @return [String]
290
+ #
291
+ # @!attribute [rw] start_time
292
+ # The start of the time period to query for the attacks. This is a
293
+ # `timestamp` type. The sample request above indicates a number type
294
+ # because the default used by AWS Firewall Manager is Unix time in
295
+ # seconds. However, any valid `timestamp` format is allowed.
296
+ # @return [Time]
297
+ #
298
+ # @!attribute [rw] end_time
299
+ # The end of the time period to query for the attacks. This is a
300
+ # `timestamp` type. The sample request above indicates a number type
301
+ # because the default used by AWS Firewall Manager is Unix time in
302
+ # seconds. However, any valid `timestamp` format is allowed.
303
+ # @return [Time]
304
+ #
305
+ # @!attribute [rw] next_token
306
+ # If you specify a value for `MaxResults` and you have more objects
307
+ # than the number that you specify for `MaxResults`, AWS Firewall
308
+ # Manager returns a `NextToken` value in the response that allows you
309
+ # to list another group of objects. For the second and subsequent
310
+ # `GetProtectionStatus` requests, specify the value of `NextToken`
311
+ # from the previous response to get information about another batch of
312
+ # objects.
313
+ # @return [String]
314
+ #
315
+ # @!attribute [rw] max_results
316
+ # Specifies the number of objects that you want AWS Firewall Manager
317
+ # to return for this request. If you have more objects than the number
318
+ # that you specify for `MaxResults`, the response includes a
319
+ # `NextToken` value that you can use to get another batch of objects.
320
+ # @return [Integer]
321
+ #
322
+ # @see http://docs.aws.amazon.com/goto/WebAPI/fms-2018-01-01/GetProtectionStatusRequest AWS API Documentation
323
+ #
324
+ class GetProtectionStatusRequest < Struct.new(
325
+ :policy_id,
326
+ :member_account_id,
327
+ :start_time,
328
+ :end_time,
329
+ :next_token,
330
+ :max_results)
331
+ include Aws::Structure
332
+ end
333
+
334
+ # @!attribute [rw] admin_account_id
335
+ # The ID of the AWS Firewall administrator account for this policy.
336
+ # @return [String]
337
+ #
338
+ # @!attribute [rw] service_type
339
+ # The service type that is protected by the policy. Currently, this is
340
+ # always `SHIELD_ADVANCED`.
341
+ # @return [String]
342
+ #
343
+ # @!attribute [rw] data
344
+ # Details about the attack, including the following:
345
+ #
346
+ # * Attack type
347
+ #
348
+ # * Account ID
349
+ #
350
+ # * ARN of the resource attacked
351
+ #
352
+ # * Start time of the attack
353
+ #
354
+ # * End time of the attack (ongoing attacks will not have an end time)
355
+ #
356
+ # The details are in JSON format. An example is shown in the Examples
357
+ # section below.
358
+ # @return [String]
359
+ #
360
+ # @!attribute [rw] next_token
361
+ # If you have more objects than the number that you specified for
362
+ # `MaxResults` in the request, the response includes a `NextToken`
363
+ # value. To list more objects, submit another `GetProtectionStatus`
364
+ # request, and specify the `NextToken` value from the response in the
365
+ # `NextToken` value in the next request.
366
+ #
367
+ # AWS SDKs provide auto-pagination that identify `NextToken` in a
368
+ # response and make subsequent request calls automatically on your
369
+ # behalf. However, this feature is not supported by
370
+ # `GetProtectionStatus`. You must submit subsequent requests with
371
+ # `NextToken` using your own processes.
372
+ # @return [String]
373
+ #
374
+ # @see http://docs.aws.amazon.com/goto/WebAPI/fms-2018-01-01/GetProtectionStatusResponse AWS API Documentation
375
+ #
376
+ class GetProtectionStatusResponse < Struct.new(
377
+ :admin_account_id,
378
+ :service_type,
379
+ :data,
380
+ :next_token)
381
+ include Aws::Structure
382
+ end
383
+
255
384
  # @note When making an API call, you may pass ListComplianceStatusRequest
256
385
  # data as a hash:
257
386
  #
@@ -435,10 +564,11 @@ module Aws::FMS
435
564
  # policy_name: "ResourceName", # required
436
565
  # policy_update_token: "PolicyUpdateToken",
437
566
  # security_service_policy_data: { # required
438
- # type: "WAF", # required, accepts WAF
567
+ # type: "WAF", # required, accepts WAF, SHIELD_ADVANCED
439
568
  # managed_service_data: "ManagedServiceData",
440
569
  # },
441
570
  # resource_type: "ResourceType", # required
571
+ # resource_type_list: ["ResourceType"],
442
572
  # resource_tags: [
443
573
  # {
444
574
  # key: "TagKey", # required
@@ -477,10 +607,9 @@ module Aws::FMS
477
607
  # @return [Types::SecurityServicePolicyData]
478
608
  #
479
609
  # @!attribute [rw] resource_type
480
- # The type of resource to protect with the policy, either an
481
- # Application Load Balancer or a CloudFront distribution. This is in
482
- # the format shown in [AWS Resource Types Reference][1]. Valid values
483
- # are `AWS::ElasticLoadBalancingV2::LoadBalancer` or
610
+ # The type of resource to protect with the policy. This is in the
611
+ # format shown in [AWS Resource Types Reference][1]. For example:
612
+ # `AWS::ElasticLoadBalancingV2::LoadBalancer` or
484
613
  # `AWS::CloudFront::Distribution`.
485
614
  #
486
615
  #
@@ -488,6 +617,10 @@ module Aws::FMS
488
617
  # [1]: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-template-resource-type-ref.html
489
618
  # @return [String]
490
619
  #
620
+ # @!attribute [rw] resource_type_list
621
+ # An array of `ResourceType`.
622
+ # @return [Array<String>]
623
+ #
491
624
  # @!attribute [rw] resource_tags
492
625
  # An array of `ResourceTag` objects.
493
626
  # @return [Array<Types::ResourceTag>]
@@ -533,6 +666,7 @@ module Aws::FMS
533
666
  :policy_update_token,
534
667
  :security_service_policy_data,
535
668
  :resource_type,
669
+ :resource_type_list,
536
670
  :resource_tags,
537
671
  :exclude_resource_tags,
538
672
  :remediation_enabled,
@@ -655,10 +789,9 @@ module Aws::FMS
655
789
  # @return [String]
656
790
  #
657
791
  # @!attribute [rw] resource_type
658
- # The type of resource to protect with the policy, either an
659
- # Application Load Balancer or a CloudFront distribution. This is in
660
- # the format shown in [AWS Resource Types Reference][1]. Valid values
661
- # are `AWS::ElasticLoadBalancingV2::LoadBalancer` or
792
+ # The type of resource to protect with the policy. This is in the
793
+ # format shown in [AWS Resource Types Reference][1]. For example:
794
+ # `AWS::ElasticLoadBalancingV2::LoadBalancer` or
662
795
  # `AWS::CloudFront::Distribution`.
663
796
  #
664
797
  #
@@ -668,7 +801,8 @@ module Aws::FMS
668
801
  #
669
802
  # @!attribute [rw] security_service_type
670
803
  # The service that the policy is using to protect the resources. This
671
- # value is `WAF`.
804
+ # specifies the type of policy that is created, either a WAF policy or
805
+ # Shield Advanced policy.
672
806
  # @return [String]
673
807
  #
674
808
  # @!attribute [rw] remediation_enabled
@@ -723,10 +857,11 @@ module Aws::FMS
723
857
  # policy_name: "ResourceName", # required
724
858
  # policy_update_token: "PolicyUpdateToken",
725
859
  # security_service_policy_data: { # required
726
- # type: "WAF", # required, accepts WAF
860
+ # type: "WAF", # required, accepts WAF, SHIELD_ADVANCED
727
861
  # managed_service_data: "ManagedServiceData",
728
862
  # },
729
863
  # resource_type: "ResourceType", # required
864
+ # resource_type_list: ["ResourceType"],
730
865
  # resource_tags: [
731
866
  # {
732
867
  # key: "TagKey", # required
@@ -816,13 +951,14 @@ module Aws::FMS
816
951
  # data as a hash:
817
952
  #
818
953
  # {
819
- # type: "WAF", # required, accepts WAF
954
+ # type: "WAF", # required, accepts WAF, SHIELD_ADVANCED
820
955
  # managed_service_data: "ManagedServiceData",
821
956
  # }
822
957
  #
823
958
  # @!attribute [rw] type
824
959
  # The service that the policy is using to protect the resources. This
825
- # value is `WAF`.
960
+ # specifies the type of policy that is created, either a WAF policy or
961
+ # Shield Advanced policy.
826
962
  # @return [String]
827
963
  #
828
964
  # @!attribute [rw] managed_service_data
@@ -833,6 +969,8 @@ module Aws::FMS
833
969
  # [\{"id": "12345678-1bcd-9012-efga-0987654321ab",
834
970
  # "overrideAction" : \{"type": "COUNT"\}\}], "defaultAction":
835
971
  # \{"type": "BLOCK"\}\}`
972
+ #
973
+ # If this is a Shield Advanced policy, this string will be empty.
836
974
  # @return [String]
837
975
  #
838
976
  # @see http://docs.aws.amazon.com/goto/WebAPI/fms-2018-01-01/SecurityServicePolicyData AWS API Documentation
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: aws-sdk-fms
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.11.0
4
+ version: 1.12.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Amazon Web Services
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2019-03-21 00:00:00.000000000 Z
11
+ date: 2019-03-25 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: aws-sdk-core