aws-sdk-fms 1.11.0 → 1.12.0

Sign up to get free protection for your applications and to get access to all the features.
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