aws-sdk-detective 1.25.0 → 1.28.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
  SHA256:
3
- metadata.gz: f793f2bcf579c8204cbaae8e915fc143f81038780670ef5f0ae938f751bb7399
4
- data.tar.gz: ee44b465465cb6455f848d775a62505268c11843b9029606822c6150cbd777da
3
+ metadata.gz: 79a5f4f00d149cc1f953ac28dfbb0a13caa38913c53127a1da71fe5f3bf7cd55
4
+ data.tar.gz: 1f48682045c8fdef99a46506cf04304d78aa601233512944f2fc502c0c4ac1e2
5
5
  SHA512:
6
- metadata.gz: b6d066507d5f8c54f592c15332af0daa7da728b9d843b6923ce892374b48e11d37be9993a0a452d2be55998b0beadf8d6b1983c46cf14a551372e7ff8de72b62
7
- data.tar.gz: 8bb68fcc0b84f011042cc1af1b288deac6059c2b1e20f7bf3e7e17c7c4948d218f3001091680b3fc7b2508b72fe75b510151aad5cc258082771736317d9a1eb0
6
+ metadata.gz: f02d549f098fc19cde60852974a85f2fbc33c78f6629fde57ed65fb6a1a53fd55119f1d84667dfdc9f394d7f069831e8574fcba1432ce3253356ebe3d57048fb
7
+ data.tar.gz: 9c0cb970aa82cf370cd727d15a9105e251370bcc7aab2c2c767eb609dcdeb802b5e836c54c4c06c07f1f2bc32617658617ff1f5f4051beb43f4df3db6d65f605
data/CHANGELOG.md CHANGED
@@ -1,6 +1,21 @@
1
1
  Unreleased Changes
2
2
  ------------------
3
3
 
4
+ 1.28.0 (2022-02-24)
5
+ ------------------
6
+
7
+ * Feature - Code Generated Changes, see `./build_tools` or `aws-sdk-core`'s CHANGELOG.md for details.
8
+
9
+ 1.27.0 (2022-02-03)
10
+ ------------------
11
+
12
+ * Feature - Code Generated Changes, see `./build_tools` or `aws-sdk-core`'s CHANGELOG.md for details.
13
+
14
+ 1.26.0 (2022-01-03)
15
+ ------------------
16
+
17
+ * Feature - Added and updated API operations to support the Detective integration with AWS Organizations. New actions are used to manage the delegated administrator account and the integration configuration.
18
+
4
19
  1.25.0 (2021-12-21)
5
20
  ------------------
6
21
 
data/VERSION CHANGED
@@ -1 +1 @@
1
- 1.25.0
1
+ 1.28.0
@@ -27,7 +27,9 @@ require 'aws-sdk-core/plugins/client_metrics_plugin.rb'
27
27
  require 'aws-sdk-core/plugins/client_metrics_send_plugin.rb'
28
28
  require 'aws-sdk-core/plugins/transfer_encoding.rb'
29
29
  require 'aws-sdk-core/plugins/http_checksum.rb'
30
+ require 'aws-sdk-core/plugins/checksum_algorithm.rb'
30
31
  require 'aws-sdk-core/plugins/defaults_mode.rb'
32
+ require 'aws-sdk-core/plugins/recursion_detection.rb'
31
33
  require 'aws-sdk-core/plugins/signature_v4.rb'
32
34
  require 'aws-sdk-core/plugins/protocols/rest_json.rb'
33
35
 
@@ -74,7 +76,9 @@ module Aws::Detective
74
76
  add_plugin(Aws::Plugins::ClientMetricsSendPlugin)
75
77
  add_plugin(Aws::Plugins::TransferEncoding)
76
78
  add_plugin(Aws::Plugins::HttpChecksum)
79
+ add_plugin(Aws::Plugins::ChecksumAlgorithm)
77
80
  add_plugin(Aws::Plugins::DefaultsMode)
81
+ add_plugin(Aws::Plugins::RecursionDetection)
78
82
  add_plugin(Aws::Plugins::SignatureV4)
79
83
  add_plugin(Aws::Plugins::Protocols::RestJson)
80
84
 
@@ -432,47 +436,62 @@ module Aws::Detective
432
436
  req.send_request(options)
433
437
  end
434
438
 
435
- # Sends a request to invite the specified AWS accounts to be member
436
- # accounts in the behavior graph. This operation can only be called by
437
- # the administrator account for a behavior graph.
439
+ # `CreateMembers` is used to send invitations to accounts. For the
440
+ # organization behavior graph, the Detective administrator account uses
441
+ # `CreateMembers` to enable organization accounts as member accounts.
442
+ #
443
+ # For invited accounts, `CreateMembers` sends a request to invite the
444
+ # specified Amazon Web Services accounts to be member accounts in the
445
+ # behavior graph. This operation can only be called by the administrator
446
+ # account for a behavior graph.
438
447
  #
439
448
  # `CreateMembers` verifies the accounts and then invites the verified
440
449
  # accounts. The administrator can optionally specify to not send
441
450
  # invitation emails to the member accounts. This would be used when the
442
451
  # administrator manages their member accounts centrally.
443
452
  #
453
+ # For organization accounts in the organization behavior graph,
454
+ # `CreateMembers` attempts to enable the accounts. The organization
455
+ # accounts do not receive invitations.
456
+ #
444
457
  # The request provides the behavior graph ARN and the list of accounts
445
- # to invite.
458
+ # to invite or to enable.
446
459
  #
447
460
  # The response separates the requested accounts into two lists:
448
461
  #
449
- # * The accounts that `CreateMembers` was able to start the verification
450
- # for. This list includes member accounts that are being verified,
451
- # that have passed verification and are to be invited, and that have
452
- # failed verification.
462
+ # * The accounts that `CreateMembers` was able to process. For invited
463
+ # accounts, includes member accounts that are being verified, that
464
+ # have passed verification and are to be invited, and that have failed
465
+ # verification. For organization accounts in the organization behavior
466
+ # graph, includes accounts that can be enabled and that cannot be
467
+ # enabled.
453
468
  #
454
469
  # * The accounts that `CreateMembers` was unable to process. This list
455
470
  # includes accounts that were already invited to be member accounts in
456
471
  # the behavior graph.
457
472
  #
458
473
  # @option params [required, String] :graph_arn
459
- # The ARN of the behavior graph to invite the member accounts to
460
- # contribute their data to.
474
+ # The ARN of the behavior graph.
461
475
  #
462
476
  # @option params [String] :message
463
477
  # Customized message text to include in the invitation email message to
464
478
  # the invited member accounts.
465
479
  #
466
480
  # @option params [Boolean] :disable_email_notification
467
- # if set to `true`, then the member accounts do not receive email
468
- # notifications. By default, this is set to `false`, and the member
481
+ # if set to `true`, then the invited accounts do not receive email
482
+ # notifications. By default, this is set to `false`, and the invited
469
483
  # accounts receive email notifications.
470
484
  #
485
+ # Organization accounts in the organization behavior graph do not
486
+ # receive email notifications.
487
+ #
471
488
  # @option params [required, Array<Types::Account>] :accounts
472
- # The list of AWS accounts to invite to become member accounts in the
473
- # behavior graph. You can invite up to 50 accounts at a time. For each
474
- # invited account, the account list contains the account identifier and
475
- # the AWS account root user email address.
489
+ # The list of Amazon Web Services accounts to invite or to enable. You
490
+ # can invite or enable up to 50 accounts at a time. For each invited
491
+ # account, the account list contains the account identifier and the
492
+ # Amazon Web Services account root user email address. For organization
493
+ # accounts in the organization behavior graph, the email address is not
494
+ # required.
476
495
  #
477
496
  # @return [Types::CreateMembersResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
478
497
  #
@@ -509,6 +528,7 @@ module Aws::Detective
509
528
  # resp.members[0].volume_usage_updated_time #=> Time
510
529
  # resp.members[0].percent_of_graph_utilization #=> Float
511
530
  # resp.members[0].percent_of_graph_utilization_updated_time #=> Time
531
+ # resp.members[0].invitation_type #=> String, one of "INVITATION", "ORGANIZATION"
512
532
  # resp.unprocessed_accounts #=> Array
513
533
  # resp.unprocessed_accounts[0].account_id #=> String
514
534
  # resp.unprocessed_accounts[0].reason #=> String
@@ -523,8 +543,8 @@ module Aws::Detective
523
543
  end
524
544
 
525
545
  # Disables the specified behavior graph and queues it to be deleted.
526
- # This operation removes the graph from each member account's list of
527
- # behavior graphs.
546
+ # This operation removes the behavior graph from each member account's
547
+ # list of behavior graphs.
528
548
  #
529
549
  # `DeleteGraph` can only be called by the administrator account for a
530
550
  # behavior graph.
@@ -549,20 +569,32 @@ module Aws::Detective
549
569
  req.send_request(options)
550
570
  end
551
571
 
552
- # Deletes one or more member accounts from the administrator account's
553
- # behavior graph. This operation can only be called by a Detective
554
- # administrator account. That account cannot use `DeleteMembers` to
555
- # delete their own account from the behavior graph. To disable a
556
- # behavior graph, the administrator account uses the `DeleteGraph` API
557
- # method.
572
+ # Removes the specified member accounts from the behavior graph. The
573
+ # removed accounts no longer contribute data to the behavior graph. This
574
+ # operation can only be called by the administrator account for the
575
+ # behavior graph.
576
+ #
577
+ # For invited accounts, the removed accounts are deleted from the list
578
+ # of accounts in the behavior graph. To restore the account, the
579
+ # administrator account must send another invitation.
580
+ #
581
+ # For organization accounts in the organization behavior graph, the
582
+ # Detective administrator account can always enable the organization
583
+ # account again. Organization accounts that are not enabled as member
584
+ # accounts are not included in the `ListMembers` results for the
585
+ # organization behavior graph.
586
+ #
587
+ # An administrator account cannot use `DeleteMembers` to remove their
588
+ # own account from the behavior graph. To disable a behavior graph, the
589
+ # administrator account uses the `DeleteGraph` API method.
558
590
  #
559
591
  # @option params [required, String] :graph_arn
560
- # The ARN of the behavior graph to delete members from.
592
+ # The ARN of the behavior graph to remove members from.
561
593
  #
562
594
  # @option params [required, Array<String>] :account_ids
563
- # The list of AWS account identifiers for the member accounts to delete
564
- # from the behavior graph. You can delete up to 50 member accounts at a
565
- # time.
595
+ # The list of Amazon Web Services account identifiers for the member
596
+ # accounts to remove from the behavior graph. You can remove up to 50
597
+ # member accounts at a time.
566
598
  #
567
599
  # @return [Types::DeleteMembersResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
568
600
  #
@@ -593,10 +625,66 @@ module Aws::Detective
593
625
  req.send_request(options)
594
626
  end
595
627
 
628
+ # Returns information about the configuration for the organization
629
+ # behavior graph. Currently indicates whether to automatically enable
630
+ # new organization accounts as member accounts.
631
+ #
632
+ # Can only be called by the Detective administrator account for the
633
+ # organization.
634
+ #
635
+ # @option params [required, String] :graph_arn
636
+ # The ARN of the organization behavior graph.
637
+ #
638
+ # @return [Types::DescribeOrganizationConfigurationResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
639
+ #
640
+ # * {Types::DescribeOrganizationConfigurationResponse#auto_enable #auto_enable} => Boolean
641
+ #
642
+ # @example Request syntax with placeholder values
643
+ #
644
+ # resp = client.describe_organization_configuration({
645
+ # graph_arn: "GraphArn", # required
646
+ # })
647
+ #
648
+ # @example Response structure
649
+ #
650
+ # resp.auto_enable #=> Boolean
651
+ #
652
+ # @see http://docs.aws.amazon.com/goto/WebAPI/detective-2018-10-26/DescribeOrganizationConfiguration AWS API Documentation
653
+ #
654
+ # @overload describe_organization_configuration(params = {})
655
+ # @param [Hash] params ({})
656
+ def describe_organization_configuration(params = {}, options = {})
657
+ req = build_request(:describe_organization_configuration, params)
658
+ req.send_request(options)
659
+ end
660
+
661
+ # Removes the Detective administrator account for the organization in
662
+ # the current Region. Deletes the behavior graph for that account.
663
+ #
664
+ # Can only be called by the organization management account. Before you
665
+ # can select a different Detective administrator account, you must
666
+ # remove the Detective administrator account in all Regions.
667
+ #
668
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
669
+ #
670
+ # @see http://docs.aws.amazon.com/goto/WebAPI/detective-2018-10-26/DisableOrganizationAdminAccount AWS API Documentation
671
+ #
672
+ # @overload disable_organization_admin_account(params = {})
673
+ # @param [Hash] params ({})
674
+ def disable_organization_admin_account(params = {}, options = {})
675
+ req = build_request(:disable_organization_admin_account, params)
676
+ req.send_request(options)
677
+ end
678
+
596
679
  # Removes the member account from the specified behavior graph. This
597
- # operation can only be called by a member account that has the
680
+ # operation can only be called by an invited member account that has the
598
681
  # `ENABLED` status.
599
682
  #
683
+ # `DisassociateMembership` cannot be called by an organization account
684
+ # in the organization behavior graph. For the organization behavior
685
+ # graph, the Detective administrator account determines which
686
+ # organization accounts to enable or disable as member accounts.
687
+ #
600
688
  # @option params [required, String] :graph_arn
601
689
  # The ARN of the behavior graph to remove the member account from.
602
690
  #
@@ -620,6 +708,40 @@ module Aws::Detective
620
708
  req.send_request(options)
621
709
  end
622
710
 
711
+ # Designates the Detective administrator account for the organization in
712
+ # the current Region.
713
+ #
714
+ # If the account does not have Detective enabled, then enables Detective
715
+ # for that account and creates a new behavior graph.
716
+ #
717
+ # Can only be called by the organization management account.
718
+ #
719
+ # The Detective administrator account for an organization must be the
720
+ # same in all Regions. If you already designated a Detective
721
+ # administrator account in another Region, then you must designate the
722
+ # same account.
723
+ #
724
+ # @option params [required, String] :account_id
725
+ # The Amazon Web Services account identifier of the account to designate
726
+ # as the Detective administrator account for the organization.
727
+ #
728
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
729
+ #
730
+ # @example Request syntax with placeholder values
731
+ #
732
+ # resp = client.enable_organization_admin_account({
733
+ # account_id: "AccountId", # required
734
+ # })
735
+ #
736
+ # @see http://docs.aws.amazon.com/goto/WebAPI/detective-2018-10-26/EnableOrganizationAdminAccount AWS API Documentation
737
+ #
738
+ # @overload enable_organization_admin_account(params = {})
739
+ # @param [Hash] params ({})
740
+ def enable_organization_admin_account(params = {}, options = {})
741
+ req = build_request(:enable_organization_admin_account, params)
742
+ req.send_request(options)
743
+ end
744
+
623
745
  # Returns the membership details for specified member accounts for a
624
746
  # behavior graph.
625
747
  #
@@ -627,9 +749,9 @@ module Aws::Detective
627
749
  # The ARN of the behavior graph for which to request the member details.
628
750
  #
629
751
  # @option params [required, Array<String>] :account_ids
630
- # The list of AWS account identifiers for the member account for which
631
- # to return member details. You can request details for up to 50 member
632
- # accounts at a time.
752
+ # The list of Amazon Web Services account identifiers for the member
753
+ # account for which to return member details. You can request details
754
+ # for up to 50 member accounts at a time.
633
755
  #
634
756
  # You cannot use `GetMembers` to retrieve information about member
635
757
  # accounts that were removed from the behavior graph.
@@ -662,6 +784,7 @@ module Aws::Detective
662
784
  # resp.member_details[0].volume_usage_updated_time #=> Time
663
785
  # resp.member_details[0].percent_of_graph_utilization #=> Float
664
786
  # resp.member_details[0].percent_of_graph_utilization_updated_time #=> Time
787
+ # resp.member_details[0].invitation_type #=> String, one of "INVITATION", "ORGANIZATION"
665
788
  # resp.unprocessed_accounts #=> Array
666
789
  # resp.unprocessed_accounts[0].account_id #=> String
667
790
  # resp.unprocessed_accounts[0].reason #=> String
@@ -724,8 +847,8 @@ module Aws::Detective
724
847
  end
725
848
 
726
849
  # Retrieves the list of open and accepted behavior graph invitations for
727
- # the member account. This operation can only be called by a member
728
- # account.
850
+ # the member account. This operation can only be called by an invited
851
+ # member account.
729
852
  #
730
853
  # Open invitations are invitations that the member account has not
731
854
  # responded to.
@@ -775,6 +898,7 @@ module Aws::Detective
775
898
  # resp.invitations[0].volume_usage_updated_time #=> Time
776
899
  # resp.invitations[0].percent_of_graph_utilization #=> Float
777
900
  # resp.invitations[0].percent_of_graph_utilization_updated_time #=> Time
901
+ # resp.invitations[0].invitation_type #=> String, one of "INVITATION", "ORGANIZATION"
778
902
  # resp.next_token #=> String
779
903
  #
780
904
  # @see http://docs.aws.amazon.com/goto/WebAPI/detective-2018-10-26/ListInvitations AWS API Documentation
@@ -786,8 +910,14 @@ module Aws::Detective
786
910
  req.send_request(options)
787
911
  end
788
912
 
789
- # Retrieves the list of member accounts for a behavior graph. Does not
790
- # return member accounts that were removed from the behavior graph.
913
+ # Retrieves the list of member accounts for a behavior graph.
914
+ #
915
+ # For invited accounts, the results do not include member accounts that
916
+ # were removed from the behavior graph.
917
+ #
918
+ # For the organization behavior graph, the results do not include
919
+ # organization accounts that the Detective administrator account has not
920
+ # enabled as member accounts.
791
921
  #
792
922
  # @option params [required, String] :graph_arn
793
923
  # The ARN of the behavior graph for which to retrieve the list of member
@@ -834,6 +964,7 @@ module Aws::Detective
834
964
  # resp.member_details[0].volume_usage_updated_time #=> Time
835
965
  # resp.member_details[0].percent_of_graph_utilization #=> Float
836
966
  # resp.member_details[0].percent_of_graph_utilization_updated_time #=> Time
967
+ # resp.member_details[0].invitation_type #=> String, one of "INVITATION", "ORGANIZATION"
837
968
  # resp.next_token #=> String
838
969
  #
839
970
  # @see http://docs.aws.amazon.com/goto/WebAPI/detective-2018-10-26/ListMembers AWS API Documentation
@@ -845,6 +976,49 @@ module Aws::Detective
845
976
  req.send_request(options)
846
977
  end
847
978
 
979
+ # Returns information about the Detective administrator account for an
980
+ # organization. Can only be called by the organization management
981
+ # account.
982
+ #
983
+ # @option params [String] :next_token
984
+ # For requests to get the next page of results, the pagination token
985
+ # that was returned with the previous set of results. The initial
986
+ # request does not include a pagination token.
987
+ #
988
+ # @option params [Integer] :max_results
989
+ # The maximum number of results to return.
990
+ #
991
+ # @return [Types::ListOrganizationAdminAccountsResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
992
+ #
993
+ # * {Types::ListOrganizationAdminAccountsResponse#administrators #administrators} => Array&lt;Types::Administrator&gt;
994
+ # * {Types::ListOrganizationAdminAccountsResponse#next_token #next_token} => String
995
+ #
996
+ # The returned {Seahorse::Client::Response response} is a pageable response and is Enumerable. For details on usage see {Aws::PageableResponse PageableResponse}.
997
+ #
998
+ # @example Request syntax with placeholder values
999
+ #
1000
+ # resp = client.list_organization_admin_accounts({
1001
+ # next_token: "PaginationToken",
1002
+ # max_results: 1,
1003
+ # })
1004
+ #
1005
+ # @example Response structure
1006
+ #
1007
+ # resp.administrators #=> Array
1008
+ # resp.administrators[0].account_id #=> String
1009
+ # resp.administrators[0].graph_arn #=> String
1010
+ # resp.administrators[0].delegation_time #=> Time
1011
+ # resp.next_token #=> String
1012
+ #
1013
+ # @see http://docs.aws.amazon.com/goto/WebAPI/detective-2018-10-26/ListOrganizationAdminAccounts AWS API Documentation
1014
+ #
1015
+ # @overload list_organization_admin_accounts(params = {})
1016
+ # @param [Hash] params ({})
1017
+ def list_organization_admin_accounts(params = {}, options = {})
1018
+ req = build_request(:list_organization_admin_accounts, params)
1019
+ req.send_request(options)
1020
+ end
1021
+
848
1022
  # Returns the tag values that are assigned to a behavior graph.
849
1023
  #
850
1024
  # @option params [required, String] :resource_arn
@@ -875,8 +1049,12 @@ module Aws::Detective
875
1049
  end
876
1050
 
877
1051
  # Rejects an invitation to contribute the account data to a behavior
878
- # graph. This operation must be called by a member account that has the
879
- # `INVITED` status.
1052
+ # graph. This operation must be called by an invited member account that
1053
+ # has the `INVITED` status.
1054
+ #
1055
+ # `RejectInvitation` cannot be called by an organization account in the
1056
+ # organization behavior graph. In the organization behavior graph,
1057
+ # organization accounts do not receive an invitation.
880
1058
  #
881
1059
  # @option params [required, String] :graph_arn
882
1060
  # The ARN of the behavior graph to reject the invitation to.
@@ -997,6 +1175,35 @@ module Aws::Detective
997
1175
  req.send_request(options)
998
1176
  end
999
1177
 
1178
+ # Updates the configuration for the Organizations integration in the
1179
+ # current Region. Can only be called by the Detective administrator
1180
+ # account for the organization.
1181
+ #
1182
+ # @option params [required, String] :graph_arn
1183
+ # The ARN of the organization behavior graph.
1184
+ #
1185
+ # @option params [Boolean] :auto_enable
1186
+ # Indicates whether to automatically enable new organization accounts as
1187
+ # member accounts in the organization behavior graph.
1188
+ #
1189
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
1190
+ #
1191
+ # @example Request syntax with placeholder values
1192
+ #
1193
+ # resp = client.update_organization_configuration({
1194
+ # graph_arn: "GraphArn", # required
1195
+ # auto_enable: false,
1196
+ # })
1197
+ #
1198
+ # @see http://docs.aws.amazon.com/goto/WebAPI/detective-2018-10-26/UpdateOrganizationConfiguration AWS API Documentation
1199
+ #
1200
+ # @overload update_organization_configuration(params = {})
1201
+ # @param [Hash] params ({})
1202
+ def update_organization_configuration(params = {}, options = {})
1203
+ req = build_request(:update_organization_configuration, params)
1204
+ req.send_request(options)
1205
+ end
1206
+
1000
1207
  # @!endgroup
1001
1208
 
1002
1209
  # @param params ({})
@@ -1010,7 +1217,7 @@ module Aws::Detective
1010
1217
  params: params,
1011
1218
  config: config)
1012
1219
  context[:gem_name] = 'aws-sdk-detective'
1013
- context[:gem_version] = '1.25.0'
1220
+ context[:gem_version] = '1.28.0'
1014
1221
  Seahorse::Client::Request.new(handlers, context)
1015
1222
  end
1016
1223
 
@@ -18,6 +18,8 @@ module Aws::Detective
18
18
  AccountId = Shapes::StringShape.new(name: 'AccountId')
19
19
  AccountIdList = Shapes::ListShape.new(name: 'AccountIdList')
20
20
  AccountList = Shapes::ListShape.new(name: 'AccountList')
21
+ Administrator = Shapes::StructureShape.new(name: 'Administrator')
22
+ AdministratorList = Shapes::ListShape.new(name: 'AdministratorList')
21
23
  Boolean = Shapes::BooleanShape.new(name: 'Boolean')
22
24
  ByteValue = Shapes::IntegerShape.new(name: 'ByteValue')
23
25
  ConflictException = Shapes::StructureShape.new(name: 'ConflictException')
@@ -28,9 +30,12 @@ module Aws::Detective
28
30
  DeleteGraphRequest = Shapes::StructureShape.new(name: 'DeleteGraphRequest')
29
31
  DeleteMembersRequest = Shapes::StructureShape.new(name: 'DeleteMembersRequest')
30
32
  DeleteMembersResponse = Shapes::StructureShape.new(name: 'DeleteMembersResponse')
33
+ DescribeOrganizationConfigurationRequest = Shapes::StructureShape.new(name: 'DescribeOrganizationConfigurationRequest')
34
+ DescribeOrganizationConfigurationResponse = Shapes::StructureShape.new(name: 'DescribeOrganizationConfigurationResponse')
31
35
  DisassociateMembershipRequest = Shapes::StructureShape.new(name: 'DisassociateMembershipRequest')
32
36
  EmailAddress = Shapes::StringShape.new(name: 'EmailAddress')
33
37
  EmailMessage = Shapes::StringShape.new(name: 'EmailMessage')
38
+ EnableOrganizationAdminAccountRequest = Shapes::StructureShape.new(name: 'EnableOrganizationAdminAccountRequest')
34
39
  ErrorMessage = Shapes::StringShape.new(name: 'ErrorMessage')
35
40
  GetMembersRequest = Shapes::StructureShape.new(name: 'GetMembersRequest')
36
41
  GetMembersResponse = Shapes::StructureShape.new(name: 'GetMembersResponse')
@@ -38,12 +43,15 @@ module Aws::Detective
38
43
  GraphArn = Shapes::StringShape.new(name: 'GraphArn')
39
44
  GraphList = Shapes::ListShape.new(name: 'GraphList')
40
45
  InternalServerException = Shapes::StructureShape.new(name: 'InternalServerException')
46
+ InvitationType = Shapes::StringShape.new(name: 'InvitationType')
41
47
  ListGraphsRequest = Shapes::StructureShape.new(name: 'ListGraphsRequest')
42
48
  ListGraphsResponse = Shapes::StructureShape.new(name: 'ListGraphsResponse')
43
49
  ListInvitationsRequest = Shapes::StructureShape.new(name: 'ListInvitationsRequest')
44
50
  ListInvitationsResponse = Shapes::StructureShape.new(name: 'ListInvitationsResponse')
45
51
  ListMembersRequest = Shapes::StructureShape.new(name: 'ListMembersRequest')
46
52
  ListMembersResponse = Shapes::StructureShape.new(name: 'ListMembersResponse')
53
+ ListOrganizationAdminAccountsRequest = Shapes::StructureShape.new(name: 'ListOrganizationAdminAccountsRequest')
54
+ ListOrganizationAdminAccountsResponse = Shapes::StructureShape.new(name: 'ListOrganizationAdminAccountsResponse')
47
55
  ListTagsForResourceRequest = Shapes::StructureShape.new(name: 'ListTagsForResourceRequest')
48
56
  ListTagsForResourceResponse = Shapes::StructureShape.new(name: 'ListTagsForResourceResponse')
49
57
  MemberDetail = Shapes::StructureShape.new(name: 'MemberDetail')
@@ -64,11 +72,13 @@ module Aws::Detective
64
72
  TagResourceResponse = Shapes::StructureShape.new(name: 'TagResourceResponse')
65
73
  TagValue = Shapes::StringShape.new(name: 'TagValue')
66
74
  Timestamp = Shapes::TimestampShape.new(name: 'Timestamp', timestampFormat: "iso8601")
75
+ TooManyRequestsException = Shapes::StructureShape.new(name: 'TooManyRequestsException')
67
76
  UnprocessedAccount = Shapes::StructureShape.new(name: 'UnprocessedAccount')
68
77
  UnprocessedAccountList = Shapes::ListShape.new(name: 'UnprocessedAccountList')
69
78
  UnprocessedReason = Shapes::StringShape.new(name: 'UnprocessedReason')
70
79
  UntagResourceRequest = Shapes::StructureShape.new(name: 'UntagResourceRequest')
71
80
  UntagResourceResponse = Shapes::StructureShape.new(name: 'UntagResourceResponse')
81
+ UpdateOrganizationConfigurationRequest = Shapes::StructureShape.new(name: 'UpdateOrganizationConfigurationRequest')
72
82
  ValidationException = Shapes::StructureShape.new(name: 'ValidationException')
73
83
 
74
84
  AcceptInvitationRequest.add_member(:graph_arn, Shapes::ShapeRef.new(shape: GraphArn, required: true, location_name: "GraphArn"))
@@ -82,6 +92,13 @@ module Aws::Detective
82
92
 
83
93
  AccountList.member = Shapes::ShapeRef.new(shape: Account)
84
94
 
95
+ Administrator.add_member(:account_id, Shapes::ShapeRef.new(shape: AccountId, location_name: "AccountId"))
96
+ Administrator.add_member(:graph_arn, Shapes::ShapeRef.new(shape: GraphArn, location_name: "GraphArn"))
97
+ Administrator.add_member(:delegation_time, Shapes::ShapeRef.new(shape: Timestamp, location_name: "DelegationTime"))
98
+ Administrator.struct_class = Types::Administrator
99
+
100
+ AdministratorList.member = Shapes::ShapeRef.new(shape: Administrator)
101
+
85
102
  ConflictException.add_member(:message, Shapes::ShapeRef.new(shape: ErrorMessage, location_name: "Message"))
86
103
  ConflictException.struct_class = Types::ConflictException
87
104
 
@@ -112,9 +129,18 @@ module Aws::Detective
112
129
  DeleteMembersResponse.add_member(:unprocessed_accounts, Shapes::ShapeRef.new(shape: UnprocessedAccountList, location_name: "UnprocessedAccounts"))
113
130
  DeleteMembersResponse.struct_class = Types::DeleteMembersResponse
114
131
 
132
+ DescribeOrganizationConfigurationRequest.add_member(:graph_arn, Shapes::ShapeRef.new(shape: GraphArn, required: true, location_name: "GraphArn"))
133
+ DescribeOrganizationConfigurationRequest.struct_class = Types::DescribeOrganizationConfigurationRequest
134
+
135
+ DescribeOrganizationConfigurationResponse.add_member(:auto_enable, Shapes::ShapeRef.new(shape: Boolean, location_name: "AutoEnable"))
136
+ DescribeOrganizationConfigurationResponse.struct_class = Types::DescribeOrganizationConfigurationResponse
137
+
115
138
  DisassociateMembershipRequest.add_member(:graph_arn, Shapes::ShapeRef.new(shape: GraphArn, required: true, location_name: "GraphArn"))
116
139
  DisassociateMembershipRequest.struct_class = Types::DisassociateMembershipRequest
117
140
 
141
+ EnableOrganizationAdminAccountRequest.add_member(:account_id, Shapes::ShapeRef.new(shape: AccountId, required: true, location_name: "AccountId"))
142
+ EnableOrganizationAdminAccountRequest.struct_class = Types::EnableOrganizationAdminAccountRequest
143
+
118
144
  GetMembersRequest.add_member(:graph_arn, Shapes::ShapeRef.new(shape: GraphArn, required: true, location_name: "GraphArn"))
119
145
  GetMembersRequest.add_member(:account_ids, Shapes::ShapeRef.new(shape: AccountIdList, required: true, location_name: "AccountIds"))
120
146
  GetMembersRequest.struct_class = Types::GetMembersRequest
@@ -157,6 +183,14 @@ module Aws::Detective
157
183
  ListMembersResponse.add_member(:next_token, Shapes::ShapeRef.new(shape: PaginationToken, location_name: "NextToken"))
158
184
  ListMembersResponse.struct_class = Types::ListMembersResponse
159
185
 
186
+ ListOrganizationAdminAccountsRequest.add_member(:next_token, Shapes::ShapeRef.new(shape: PaginationToken, location_name: "NextToken"))
187
+ ListOrganizationAdminAccountsRequest.add_member(:max_results, Shapes::ShapeRef.new(shape: MemberResultsLimit, location_name: "MaxResults"))
188
+ ListOrganizationAdminAccountsRequest.struct_class = Types::ListOrganizationAdminAccountsRequest
189
+
190
+ ListOrganizationAdminAccountsResponse.add_member(:administrators, Shapes::ShapeRef.new(shape: AdministratorList, location_name: "Administrators"))
191
+ ListOrganizationAdminAccountsResponse.add_member(:next_token, Shapes::ShapeRef.new(shape: PaginationToken, location_name: "NextToken"))
192
+ ListOrganizationAdminAccountsResponse.struct_class = Types::ListOrganizationAdminAccountsResponse
193
+
160
194
  ListTagsForResourceRequest.add_member(:resource_arn, Shapes::ShapeRef.new(shape: GraphArn, required: true, location: "uri", location_name: "ResourceArn"))
161
195
  ListTagsForResourceRequest.struct_class = Types::ListTagsForResourceRequest
162
196
 
@@ -176,6 +210,7 @@ module Aws::Detective
176
210
  MemberDetail.add_member(:volume_usage_updated_time, Shapes::ShapeRef.new(shape: Timestamp, location_name: "VolumeUsageUpdatedTime"))
177
211
  MemberDetail.add_member(:percent_of_graph_utilization, Shapes::ShapeRef.new(shape: Percentage, deprecated: true, location_name: "PercentOfGraphUtilization", metadata: {"deprecatedMessage"=>"This property is deprecated. Use VolumeUsageInBytes instead."}))
178
212
  MemberDetail.add_member(:percent_of_graph_utilization_updated_time, Shapes::ShapeRef.new(shape: Timestamp, deprecated: true, location_name: "PercentOfGraphUtilizationUpdatedTime", metadata: {"deprecatedMessage"=>"This property is deprecated. Use VolumeUsageUpdatedTime instead."}))
213
+ MemberDetail.add_member(:invitation_type, Shapes::ShapeRef.new(shape: InvitationType, location_name: "InvitationType"))
179
214
  MemberDetail.struct_class = Types::MemberDetail
180
215
 
181
216
  MemberDetailList.member = Shapes::ShapeRef.new(shape: MemberDetail)
@@ -204,6 +239,9 @@ module Aws::Detective
204
239
 
205
240
  TagResourceResponse.struct_class = Types::TagResourceResponse
206
241
 
242
+ TooManyRequestsException.add_member(:message, Shapes::ShapeRef.new(shape: ErrorMessage, location_name: "Message"))
243
+ TooManyRequestsException.struct_class = Types::TooManyRequestsException
244
+
207
245
  UnprocessedAccount.add_member(:account_id, Shapes::ShapeRef.new(shape: AccountId, location_name: "AccountId"))
208
246
  UnprocessedAccount.add_member(:reason, Shapes::ShapeRef.new(shape: UnprocessedReason, location_name: "Reason"))
209
247
  UnprocessedAccount.struct_class = Types::UnprocessedAccount
@@ -216,6 +254,10 @@ module Aws::Detective
216
254
 
217
255
  UntagResourceResponse.struct_class = Types::UntagResourceResponse
218
256
 
257
+ UpdateOrganizationConfigurationRequest.add_member(:graph_arn, Shapes::ShapeRef.new(shape: GraphArn, required: true, location_name: "GraphArn"))
258
+ UpdateOrganizationConfigurationRequest.add_member(:auto_enable, Shapes::ShapeRef.new(shape: Boolean, location_name: "AutoEnable"))
259
+ UpdateOrganizationConfigurationRequest.struct_class = Types::UpdateOrganizationConfigurationRequest
260
+
219
261
  ValidationException.add_member(:message, Shapes::ShapeRef.new(shape: ErrorMessage, location_name: "Message"))
220
262
  ValidationException.struct_class = Types::ValidationException
221
263
 
@@ -295,6 +337,28 @@ module Aws::Detective
295
337
  o.errors << Shapes::ShapeRef.new(shape: ValidationException)
296
338
  end)
297
339
 
340
+ api.add_operation(:describe_organization_configuration, Seahorse::Model::Operation.new.tap do |o|
341
+ o.name = "DescribeOrganizationConfiguration"
342
+ o.http_method = "POST"
343
+ o.http_request_uri = "/orgs/describeOrganizationConfiguration"
344
+ o.input = Shapes::ShapeRef.new(shape: DescribeOrganizationConfigurationRequest)
345
+ o.output = Shapes::ShapeRef.new(shape: DescribeOrganizationConfigurationResponse)
346
+ o.errors << Shapes::ShapeRef.new(shape: InternalServerException)
347
+ o.errors << Shapes::ShapeRef.new(shape: ValidationException)
348
+ o.errors << Shapes::ShapeRef.new(shape: TooManyRequestsException)
349
+ end)
350
+
351
+ api.add_operation(:disable_organization_admin_account, Seahorse::Model::Operation.new.tap do |o|
352
+ o.name = "DisableOrganizationAdminAccount"
353
+ o.http_method = "POST"
354
+ o.http_request_uri = "/orgs/disableAdminAccount"
355
+ o.input = Shapes::ShapeRef.new(shape: Shapes::StructureShape.new(struct_class: Aws::EmptyStructure))
356
+ o.output = Shapes::ShapeRef.new(shape: Shapes::StructureShape.new(struct_class: Aws::EmptyStructure))
357
+ o.errors << Shapes::ShapeRef.new(shape: InternalServerException)
358
+ o.errors << Shapes::ShapeRef.new(shape: ValidationException)
359
+ o.errors << Shapes::ShapeRef.new(shape: TooManyRequestsException)
360
+ end)
361
+
298
362
  api.add_operation(:disassociate_membership, Seahorse::Model::Operation.new.tap do |o|
299
363
  o.name = "DisassociateMembership"
300
364
  o.http_method = "POST"
@@ -307,6 +371,17 @@ module Aws::Detective
307
371
  o.errors << Shapes::ShapeRef.new(shape: ValidationException)
308
372
  end)
309
373
 
374
+ api.add_operation(:enable_organization_admin_account, Seahorse::Model::Operation.new.tap do |o|
375
+ o.name = "EnableOrganizationAdminAccount"
376
+ o.http_method = "POST"
377
+ o.http_request_uri = "/orgs/enableAdminAccount"
378
+ o.input = Shapes::ShapeRef.new(shape: EnableOrganizationAdminAccountRequest)
379
+ o.output = Shapes::ShapeRef.new(shape: Shapes::StructureShape.new(struct_class: Aws::EmptyStructure))
380
+ o.errors << Shapes::ShapeRef.new(shape: InternalServerException)
381
+ o.errors << Shapes::ShapeRef.new(shape: ValidationException)
382
+ o.errors << Shapes::ShapeRef.new(shape: TooManyRequestsException)
383
+ end)
384
+
310
385
  api.add_operation(:get_members, Seahorse::Model::Operation.new.tap do |o|
311
386
  o.name = "GetMembers"
312
387
  o.http_method = "POST"
@@ -367,6 +442,23 @@ module Aws::Detective
367
442
  )
368
443
  end)
369
444
 
445
+ api.add_operation(:list_organization_admin_accounts, Seahorse::Model::Operation.new.tap do |o|
446
+ o.name = "ListOrganizationAdminAccounts"
447
+ o.http_method = "POST"
448
+ o.http_request_uri = "/orgs/adminAccountslist"
449
+ o.input = Shapes::ShapeRef.new(shape: ListOrganizationAdminAccountsRequest)
450
+ o.output = Shapes::ShapeRef.new(shape: ListOrganizationAdminAccountsResponse)
451
+ o.errors << Shapes::ShapeRef.new(shape: InternalServerException)
452
+ o.errors << Shapes::ShapeRef.new(shape: ValidationException)
453
+ o.errors << Shapes::ShapeRef.new(shape: TooManyRequestsException)
454
+ o[:pager] = Aws::Pager.new(
455
+ limit_key: "max_results",
456
+ tokens: {
457
+ "next_token" => "next_token"
458
+ }
459
+ )
460
+ end)
461
+
370
462
  api.add_operation(:list_tags_for_resource, Seahorse::Model::Operation.new.tap do |o|
371
463
  o.name = "ListTagsForResource"
372
464
  o.http_method = "GET"
@@ -424,6 +516,17 @@ module Aws::Detective
424
516
  o.errors << Shapes::ShapeRef.new(shape: ValidationException)
425
517
  o.errors << Shapes::ShapeRef.new(shape: ResourceNotFoundException)
426
518
  end)
519
+
520
+ api.add_operation(:update_organization_configuration, Seahorse::Model::Operation.new.tap do |o|
521
+ o.name = "UpdateOrganizationConfiguration"
522
+ o.http_method = "POST"
523
+ o.http_request_uri = "/orgs/updateOrganizationConfiguration"
524
+ o.input = Shapes::ShapeRef.new(shape: UpdateOrganizationConfigurationRequest)
525
+ o.output = Shapes::ShapeRef.new(shape: Shapes::StructureShape.new(struct_class: Aws::EmptyStructure))
526
+ o.errors << Shapes::ShapeRef.new(shape: InternalServerException)
527
+ o.errors << Shapes::ShapeRef.new(shape: ValidationException)
528
+ o.errors << Shapes::ShapeRef.new(shape: TooManyRequestsException)
529
+ end)
427
530
  end
428
531
 
429
532
  end
@@ -31,6 +31,7 @@ module Aws::Detective
31
31
  # * {InternalServerException}
32
32
  # * {ResourceNotFoundException}
33
33
  # * {ServiceQuotaExceededException}
34
+ # * {TooManyRequestsException}
34
35
  # * {ValidationException}
35
36
  #
36
37
  # Additionally, error classes are dynamically generated for service errors based on the error code
@@ -99,6 +100,21 @@ module Aws::Detective
99
100
  end
100
101
  end
101
102
 
103
+ class TooManyRequestsException < ServiceError
104
+
105
+ # @param [Seahorse::Client::RequestContext] context
106
+ # @param [String] message
107
+ # @param [Aws::Detective::Types::TooManyRequestsException] data
108
+ def initialize(context, message, data = Aws::EmptyStructure.new)
109
+ super(context, message, data)
110
+ end
111
+
112
+ # @return [String]
113
+ def message
114
+ @message || @data[:message]
115
+ end
116
+ end
117
+
102
118
  class ValidationException < ServiceError
103
119
 
104
120
  # @param [Seahorse::Client::RequestContext] context
@@ -32,8 +32,8 @@ module Aws::Detective
32
32
  include Aws::Structure
33
33
  end
34
34
 
35
- # An AWS account that is the administrator account of or a member of a
36
- # behavior graph.
35
+ # An Amazon Web Services account that is the administrator account of or
36
+ # a member of a behavior graph.
37
37
  #
38
38
  # @note When making an API call, you may pass Account
39
39
  # data as a hash:
@@ -44,11 +44,12 @@ module Aws::Detective
44
44
  # }
45
45
  #
46
46
  # @!attribute [rw] account_id
47
- # The account identifier of the AWS account.
47
+ # The account identifier of the Amazon Web Services account.
48
48
  # @return [String]
49
49
  #
50
50
  # @!attribute [rw] email_address
51
- # The AWS account root user email address for the AWS account.
51
+ # The Amazon Web Services account root user email address for the
52
+ # Amazon Web Services account.
52
53
  # @return [String]
53
54
  #
54
55
  # @see http://docs.aws.amazon.com/goto/WebAPI/detective-2018-10-26/Account AWS API Documentation
@@ -60,6 +61,34 @@ module Aws::Detective
60
61
  include Aws::Structure
61
62
  end
62
63
 
64
+ # Information about the Detective administrator account for an
65
+ # organization.
66
+ #
67
+ # @!attribute [rw] account_id
68
+ # The Amazon Web Services account identifier of the Detective
69
+ # administrator account for the organization.
70
+ # @return [String]
71
+ #
72
+ # @!attribute [rw] graph_arn
73
+ # The ARN of the organization behavior graph.
74
+ # @return [String]
75
+ #
76
+ # @!attribute [rw] delegation_time
77
+ # The date and time when the Detective administrator account was
78
+ # enabled. The value is an ISO8601 formatted string. For example,
79
+ # `2021-08-18T16:35:56.284Z`.
80
+ # @return [Time]
81
+ #
82
+ # @see http://docs.aws.amazon.com/goto/WebAPI/detective-2018-10-26/Administrator AWS API Documentation
83
+ #
84
+ class Administrator < Struct.new(
85
+ :account_id,
86
+ :graph_arn,
87
+ :delegation_time)
88
+ SENSITIVE = []
89
+ include Aws::Structure
90
+ end
91
+
63
92
  # The request attempted an invalid action.
64
93
  #
65
94
  # @!attribute [rw] message
@@ -125,8 +154,7 @@ module Aws::Detective
125
154
  # }
126
155
  #
127
156
  # @!attribute [rw] graph_arn
128
- # The ARN of the behavior graph to invite the member accounts to
129
- # contribute their data to.
157
+ # The ARN of the behavior graph.
130
158
  # @return [String]
131
159
  #
132
160
  # @!attribute [rw] message
@@ -135,16 +163,21 @@ module Aws::Detective
135
163
  # @return [String]
136
164
  #
137
165
  # @!attribute [rw] disable_email_notification
138
- # if set to `true`, then the member accounts do not receive email
139
- # notifications. By default, this is set to `false`, and the member
166
+ # if set to `true`, then the invited accounts do not receive email
167
+ # notifications. By default, this is set to `false`, and the invited
140
168
  # accounts receive email notifications.
169
+ #
170
+ # Organization accounts in the organization behavior graph do not
171
+ # receive email notifications.
141
172
  # @return [Boolean]
142
173
  #
143
174
  # @!attribute [rw] accounts
144
- # The list of AWS accounts to invite to become member accounts in the
145
- # behavior graph. You can invite up to 50 accounts at a time. For each
146
- # invited account, the account list contains the account identifier
147
- # and the AWS account root user email address.
175
+ # The list of Amazon Web Services accounts to invite or to enable. You
176
+ # can invite or enable up to 50 accounts at a time. For each invited
177
+ # account, the account list contains the account identifier and the
178
+ # Amazon Web Services account root user email address. For
179
+ # organization accounts in the organization behavior graph, the email
180
+ # address is not required.
148
181
  # @return [Array<Types::Account>]
149
182
  #
150
183
  # @see http://docs.aws.amazon.com/goto/WebAPI/detective-2018-10-26/CreateMembersRequest AWS API Documentation
@@ -159,17 +192,18 @@ module Aws::Detective
159
192
  end
160
193
 
161
194
  # @!attribute [rw] members
162
- # The set of member account invitation requests that Detective was
163
- # able to process. This includes accounts that are being verified,
164
- # that failed verification, and that passed verification and are being
165
- # sent an invitation.
195
+ # The set of member account invitation or enablement requests that
196
+ # Detective was able to process. This includes accounts that are being
197
+ # verified, that failed verification, and that passed verification and
198
+ # are being sent an invitation or are being enabled.
166
199
  # @return [Array<Types::MemberDetail>]
167
200
  #
168
201
  # @!attribute [rw] unprocessed_accounts
169
202
  # The list of accounts for which Detective was unable to process the
170
- # invitation request. For each account, the list provides the reason
171
- # why the request could not be processed. The list includes accounts
172
- # that are already member accounts in the behavior graph.
203
+ # invitation or enablement request. For each account, the list
204
+ # provides the reason why the request could not be processed. The list
205
+ # includes accounts that are already member accounts in the behavior
206
+ # graph.
173
207
  # @return [Array<Types::UnprocessedAccount>]
174
208
  #
175
209
  # @see http://docs.aws.amazon.com/goto/WebAPI/detective-2018-10-26/CreateMembersResponse AWS API Documentation
@@ -209,13 +243,13 @@ module Aws::Detective
209
243
  # }
210
244
  #
211
245
  # @!attribute [rw] graph_arn
212
- # The ARN of the behavior graph to delete members from.
246
+ # The ARN of the behavior graph to remove members from.
213
247
  # @return [String]
214
248
  #
215
249
  # @!attribute [rw] account_ids
216
- # The list of AWS account identifiers for the member accounts to
217
- # delete from the behavior graph. You can delete up to 50 member
218
- # accounts at a time.
250
+ # The list of Amazon Web Services account identifiers for the member
251
+ # accounts to remove from the behavior graph. You can remove up to 50
252
+ # member accounts at a time.
219
253
  # @return [Array<String>]
220
254
  #
221
255
  # @see http://docs.aws.amazon.com/goto/WebAPI/detective-2018-10-26/DeleteMembersRequest AWS API Documentation
@@ -228,12 +262,13 @@ module Aws::Detective
228
262
  end
229
263
 
230
264
  # @!attribute [rw] account_ids
231
- # The list of AWS account identifiers for the member accounts that
232
- # Detective successfully deleted from the behavior graph.
265
+ # The list of Amazon Web Services account identifiers for the member
266
+ # accounts that Detective successfully removed from the behavior
267
+ # graph.
233
268
  # @return [Array<String>]
234
269
  #
235
270
  # @!attribute [rw] unprocessed_accounts
236
- # The list of member accounts that Detective was not able to delete
271
+ # The list of member accounts that Detective was not able to remove
237
272
  # from the behavior graph. For each member account, provides the
238
273
  # reason that the deletion could not be processed.
239
274
  # @return [Array<Types::UnprocessedAccount>]
@@ -247,6 +282,38 @@ module Aws::Detective
247
282
  include Aws::Structure
248
283
  end
249
284
 
285
+ # @note When making an API call, you may pass DescribeOrganizationConfigurationRequest
286
+ # data as a hash:
287
+ #
288
+ # {
289
+ # graph_arn: "GraphArn", # required
290
+ # }
291
+ #
292
+ # @!attribute [rw] graph_arn
293
+ # The ARN of the organization behavior graph.
294
+ # @return [String]
295
+ #
296
+ # @see http://docs.aws.amazon.com/goto/WebAPI/detective-2018-10-26/DescribeOrganizationConfigurationRequest AWS API Documentation
297
+ #
298
+ class DescribeOrganizationConfigurationRequest < Struct.new(
299
+ :graph_arn)
300
+ SENSITIVE = []
301
+ include Aws::Structure
302
+ end
303
+
304
+ # @!attribute [rw] auto_enable
305
+ # Indicates whether to automatically enable new organization accounts
306
+ # as member accounts in the organization behavior graph.
307
+ # @return [Boolean]
308
+ #
309
+ # @see http://docs.aws.amazon.com/goto/WebAPI/detective-2018-10-26/DescribeOrganizationConfigurationResponse AWS API Documentation
310
+ #
311
+ class DescribeOrganizationConfigurationResponse < Struct.new(
312
+ :auto_enable)
313
+ SENSITIVE = []
314
+ include Aws::Structure
315
+ end
316
+
250
317
  # @note When making an API call, you may pass DisassociateMembershipRequest
251
318
  # data as a hash:
252
319
  #
@@ -269,6 +336,27 @@ module Aws::Detective
269
336
  include Aws::Structure
270
337
  end
271
338
 
339
+ # @note When making an API call, you may pass EnableOrganizationAdminAccountRequest
340
+ # data as a hash:
341
+ #
342
+ # {
343
+ # account_id: "AccountId", # required
344
+ # }
345
+ #
346
+ # @!attribute [rw] account_id
347
+ # The Amazon Web Services account identifier of the account to
348
+ # designate as the Detective administrator account for the
349
+ # organization.
350
+ # @return [String]
351
+ #
352
+ # @see http://docs.aws.amazon.com/goto/WebAPI/detective-2018-10-26/EnableOrganizationAdminAccountRequest AWS API Documentation
353
+ #
354
+ class EnableOrganizationAdminAccountRequest < Struct.new(
355
+ :account_id)
356
+ SENSITIVE = []
357
+ include Aws::Structure
358
+ end
359
+
272
360
  # @note When making an API call, you may pass GetMembersRequest
273
361
  # data as a hash:
274
362
  #
@@ -283,9 +371,9 @@ module Aws::Detective
283
371
  # @return [String]
284
372
  #
285
373
  # @!attribute [rw] account_ids
286
- # The list of AWS account identifiers for the member account for which
287
- # to return member details. You can request details for up to 50
288
- # member accounts at a time.
374
+ # The list of Amazon Web Services account identifiers for the member
375
+ # account for which to return member details. You can request details
376
+ # for up to 50 member accounts at a time.
289
377
  #
290
378
  # You cannot use `GetMembers` to retrieve information about member
291
379
  # accounts that were removed from the behavior graph.
@@ -330,7 +418,8 @@ module Aws::Detective
330
418
  #
331
419
  # @!attribute [rw] created_time
332
420
  # The date and time that the behavior graph was created. The value is
333
- # in milliseconds since the epoch.
421
+ # an ISO8601 formatted string. For example,
422
+ # `2021-08-18T16:35:56.284Z`.
334
423
  # @return [Time]
335
424
  #
336
425
  # @see http://docs.aws.amazon.com/goto/WebAPI/detective-2018-10-26/Graph AWS API Documentation
@@ -493,16 +582,19 @@ module Aws::Detective
493
582
  # @!attribute [rw] member_details
494
583
  # The list of member accounts in the behavior graph.
495
584
  #
496
- # The results include member accounts that did not pass verification
497
- # and member accounts that have not yet accepted the invitation to the
498
- # behavior graph. The results do not include member accounts that were
499
- # removed from the behavior graph.
585
+ # For invited accounts, the results include member accounts that did
586
+ # not pass verification and member accounts that have not yet accepted
587
+ # the invitation to the behavior graph. The results do not include
588
+ # member accounts that were removed from the behavior graph.
589
+ #
590
+ # For the organization behavior graph, the results do not include
591
+ # organization accounts that the Detective administrator account has
592
+ # not enabled as member accounts.
500
593
  # @return [Array<Types::MemberDetail>]
501
594
  #
502
595
  # @!attribute [rw] next_token
503
- # If there are more member accounts remaining in the results, then
504
- # this is the pagination token to use to request the next page of
505
- # member accounts.
596
+ # If there are more member accounts remaining in the results, then use
597
+ # this pagination token to request the next page of member accounts.
506
598
  # @return [String]
507
599
  #
508
600
  # @see http://docs.aws.amazon.com/goto/WebAPI/detective-2018-10-26/ListMembersResponse AWS API Documentation
@@ -514,6 +606,51 @@ module Aws::Detective
514
606
  include Aws::Structure
515
607
  end
516
608
 
609
+ # @note When making an API call, you may pass ListOrganizationAdminAccountsRequest
610
+ # data as a hash:
611
+ #
612
+ # {
613
+ # next_token: "PaginationToken",
614
+ # max_results: 1,
615
+ # }
616
+ #
617
+ # @!attribute [rw] next_token
618
+ # For requests to get the next page of results, the pagination token
619
+ # that was returned with the previous set of results. The initial
620
+ # request does not include a pagination token.
621
+ # @return [String]
622
+ #
623
+ # @!attribute [rw] max_results
624
+ # The maximum number of results to return.
625
+ # @return [Integer]
626
+ #
627
+ # @see http://docs.aws.amazon.com/goto/WebAPI/detective-2018-10-26/ListOrganizationAdminAccountsRequest AWS API Documentation
628
+ #
629
+ class ListOrganizationAdminAccountsRequest < Struct.new(
630
+ :next_token,
631
+ :max_results)
632
+ SENSITIVE = []
633
+ include Aws::Structure
634
+ end
635
+
636
+ # @!attribute [rw] administrators
637
+ # The list of delegated administrator accounts.
638
+ # @return [Array<Types::Administrator>]
639
+ #
640
+ # @!attribute [rw] next_token
641
+ # If there are more accounts remaining in the results, then this is
642
+ # the pagination token to use to request the next page of accounts.
643
+ # @return [String]
644
+ #
645
+ # @see http://docs.aws.amazon.com/goto/WebAPI/detective-2018-10-26/ListOrganizationAdminAccountsResponse AWS API Documentation
646
+ #
647
+ class ListOrganizationAdminAccountsResponse < Struct.new(
648
+ :administrators,
649
+ :next_token)
650
+ SENSITIVE = []
651
+ include Aws::Structure
652
+ end
653
+
517
654
  # @note When making an API call, you may pass ListTagsForResourceRequest
518
655
  # data as a hash:
519
656
  #
@@ -546,59 +683,70 @@ module Aws::Detective
546
683
  include Aws::Structure
547
684
  end
548
685
 
549
- # Details about a member account that was invited to contribute to a
550
- # behavior graph.
686
+ # Details about a member account in a behavior graph.
551
687
  #
552
688
  # @!attribute [rw] account_id
553
- # The AWS account identifier for the member account.
689
+ # The Amazon Web Services account identifier for the member account.
554
690
  # @return [String]
555
691
  #
556
692
  # @!attribute [rw] email_address
557
- # The AWS account root user email address for the member account.
693
+ # The Amazon Web Services account root user email address for the
694
+ # member account.
558
695
  # @return [String]
559
696
  #
560
697
  # @!attribute [rw] graph_arn
561
- # The ARN of the behavior graph that the member account was invited
562
- # to.
698
+ # The ARN of the behavior graph.
563
699
  # @return [String]
564
700
  #
565
701
  # @!attribute [rw] master_id
566
- # The AWS account identifier of the administrator account for the
567
- # behavior graph.
702
+ # The Amazon Web Services account identifier of the administrator
703
+ # account for the behavior graph.
568
704
  # @return [String]
569
705
  #
570
706
  # @!attribute [rw] administrator_id
571
- # The AWS account identifier of the administrator account for the
572
- # behavior graph.
707
+ # The Amazon Web Services account identifier of the administrator
708
+ # account for the behavior graph.
573
709
  # @return [String]
574
710
  #
575
711
  # @!attribute [rw] status
576
712
  # The current membership status of the member account. The status can
577
713
  # have one of the following values:
578
714
  #
579
- # * `INVITED` - Indicates that the member was sent an invitation but
580
- # has not yet responded.
581
- #
582
- # * `VERIFICATION_IN_PROGRESS` - Indicates that Detective is verifying
583
- # that the account identifier and email address provided for the
584
- # member account match. If they do match, then Detective sends the
585
- # invitation. If the email address and account identifier don't
586
- # match, then the member cannot be added to the behavior graph.
587
- #
588
- # * `VERIFICATION_FAILED` - Indicates that the account and email
589
- # address provided for the member account do not match, and
590
- # Detective did not send an invitation to the account.
591
- #
592
- # * `ENABLED` - Indicates that the member account accepted the
593
- # invitation to contribute to the behavior graph.
594
- #
595
- # * `ACCEPTED_BUT_DISABLED` - Indicates that the member account
596
- # accepted the invitation but is prevented from contributing data to
597
- # the behavior graph. `DisabledReason` provides the reason why the
598
- # member account is not enabled.
599
- #
600
- # Member accounts that declined an invitation or that were removed
601
- # from the behavior graph are not included.
715
+ # * `INVITED` - For invited accounts only. Indicates that the member
716
+ # was sent an invitation but has not yet responded.
717
+ #
718
+ # * `VERIFICATION_IN_PROGRESS` - For invited accounts only, indicates
719
+ # that Detective is verifying that the account identifier and email
720
+ # address provided for the member account match. If they do match,
721
+ # then Detective sends the invitation. If the email address and
722
+ # account identifier don't match, then the member cannot be added
723
+ # to the behavior graph.
724
+ #
725
+ # For organization accounts in the organization behavior graph,
726
+ # indicates that Detective is verifying that the account belongs to
727
+ # the organization.
728
+ #
729
+ # * `VERIFICATION_FAILED` - For invited accounts only. Indicates that
730
+ # the account and email address provided for the member account do
731
+ # not match, and Detective did not send an invitation to the
732
+ # account.
733
+ #
734
+ # * `ENABLED` - Indicates that the member account currently
735
+ # contributes data to the behavior graph. For invited accounts, the
736
+ # member account accepted the invitation. For organization accounts
737
+ # in the organization behavior graph, the Detective administrator
738
+ # account enabled the organization account as a member account.
739
+ #
740
+ # * `ACCEPTED_BUT_DISABLED` - The account accepted the invitation, or
741
+ # was enabled by the Detective administrator account, but is
742
+ # prevented from contributing data to the behavior graph.
743
+ # `DisabledReason` provides the reason why the member account is not
744
+ # enabled.
745
+ #
746
+ # Invited accounts that declined an invitation or that were removed
747
+ # from the behavior graph are not included. In the organization
748
+ # behavior graph, organization accounts that the Detective
749
+ # administrator account did not enable are not included.
602
750
  # @return [String]
603
751
  #
604
752
  # @!attribute [rw] disabled_reason
@@ -616,13 +764,15 @@ module Aws::Detective
616
764
  # @return [String]
617
765
  #
618
766
  # @!attribute [rw] invited_time
619
- # The date and time that Detective sent the invitation to the member
620
- # account. The value is in milliseconds since the epoch.
767
+ # For invited accounts, the date and time that Detective sent the
768
+ # invitation to the account. The value is an ISO8601 formatted string.
769
+ # For example, `2021-08-18T16:35:56.284Z`.
621
770
  # @return [Time]
622
771
  #
623
772
  # @!attribute [rw] updated_time
624
773
  # The date and time that the member account was last updated. The
625
- # value is in milliseconds since the epoch.
774
+ # value is an ISO8601 formatted string. For example,
775
+ # `2021-08-18T16:35:56.284Z`.
626
776
  # @return [Time]
627
777
  #
628
778
  # @!attribute [rw] volume_usage_in_bytes
@@ -631,7 +781,8 @@ module Aws::Detective
631
781
  #
632
782
  # @!attribute [rw] volume_usage_updated_time
633
783
  # The data and time when the member account data volume was last
634
- # updated.
784
+ # updated. The value is an ISO8601 formatted string. For example,
785
+ # `2021-08-18T16:35:56.284Z`.
635
786
  # @return [Time]
636
787
  #
637
788
  # @!attribute [rw] percent_of_graph_utilization
@@ -651,9 +802,20 @@ module Aws::Detective
651
802
  #
652
803
  # @!attribute [rw] percent_of_graph_utilization_updated_time
653
804
  # The date and time when the graph utilization percentage was last
654
- # updated.
805
+ # updated. The value is an ISO8601 formatted string. For example,
806
+ # `2021-08-18T16:35:56.284Z`.
655
807
  # @return [Time]
656
808
  #
809
+ # @!attribute [rw] invitation_type
810
+ # The type of behavior graph membership.
811
+ #
812
+ # For an organization account in the organization behavior graph, the
813
+ # type is `ORGANIZATION`.
814
+ #
815
+ # For an account that was invited to a behavior graph, the type is
816
+ # `INVITATION`.
817
+ # @return [String]
818
+ #
657
819
  # @see http://docs.aws.amazon.com/goto/WebAPI/detective-2018-10-26/MemberDetail AWS API Documentation
658
820
  #
659
821
  class MemberDetail < Struct.new(
@@ -669,7 +831,8 @@ module Aws::Detective
669
831
  :volume_usage_in_bytes,
670
832
  :volume_usage_updated_time,
671
833
  :percent_of_graph_utilization,
672
- :percent_of_graph_utilization_updated_time)
834
+ :percent_of_graph_utilization_updated_time,
835
+ :invitation_type)
673
836
  SENSITIVE = []
674
837
  include Aws::Structure
675
838
  end
@@ -713,7 +876,7 @@ module Aws::Detective
713
876
  #
714
877
  # * The request would cause the number of member accounts in the
715
878
  # behavior graph to exceed the maximum allowed. A behavior graph
716
- # cannot have more than 1000 member accounts.
879
+ # cannot have more than 1200 member accounts.
717
880
  #
718
881
  # * The request would cause the data rate for the behavior graph to
719
882
  # exceed the maximum allowed.
@@ -795,12 +958,26 @@ module Aws::Detective
795
958
  #
796
959
  class TagResourceResponse < Aws::EmptyStructure; end
797
960
 
961
+ # The request cannot be completed because too many other requests are
962
+ # occurring at the same time.
963
+ #
964
+ # @!attribute [rw] message
965
+ # @return [String]
966
+ #
967
+ # @see http://docs.aws.amazon.com/goto/WebAPI/detective-2018-10-26/TooManyRequestsException AWS API Documentation
968
+ #
969
+ class TooManyRequestsException < Struct.new(
970
+ :message)
971
+ SENSITIVE = []
972
+ include Aws::Structure
973
+ end
974
+
798
975
  # A member account that was included in a request but for which the
799
976
  # request could not be processed.
800
977
  #
801
978
  # @!attribute [rw] account_id
802
- # The AWS account identifier of the member account that was not
803
- # processed.
979
+ # The Amazon Web Services account identifier of the member account
980
+ # that was not processed.
804
981
  # @return [String]
805
982
  #
806
983
  # @!attribute [rw] reason
@@ -846,6 +1023,32 @@ module Aws::Detective
846
1023
  #
847
1024
  class UntagResourceResponse < Aws::EmptyStructure; end
848
1025
 
1026
+ # @note When making an API call, you may pass UpdateOrganizationConfigurationRequest
1027
+ # data as a hash:
1028
+ #
1029
+ # {
1030
+ # graph_arn: "GraphArn", # required
1031
+ # auto_enable: false,
1032
+ # }
1033
+ #
1034
+ # @!attribute [rw] graph_arn
1035
+ # The ARN of the organization behavior graph.
1036
+ # @return [String]
1037
+ #
1038
+ # @!attribute [rw] auto_enable
1039
+ # Indicates whether to automatically enable new organization accounts
1040
+ # as member accounts in the organization behavior graph.
1041
+ # @return [Boolean]
1042
+ #
1043
+ # @see http://docs.aws.amazon.com/goto/WebAPI/detective-2018-10-26/UpdateOrganizationConfigurationRequest AWS API Documentation
1044
+ #
1045
+ class UpdateOrganizationConfigurationRequest < Struct.new(
1046
+ :graph_arn,
1047
+ :auto_enable)
1048
+ SENSITIVE = []
1049
+ include Aws::Structure
1050
+ end
1051
+
849
1052
  # The request parameters are invalid.
850
1053
  #
851
1054
  # @!attribute [rw] message
@@ -48,6 +48,6 @@ require_relative 'aws-sdk-detective/customizations'
48
48
  # @!group service
49
49
  module Aws::Detective
50
50
 
51
- GEM_VERSION = '1.25.0'
51
+ GEM_VERSION = '1.28.0'
52
52
 
53
53
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: aws-sdk-detective
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.25.0
4
+ version: 1.28.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: 2021-12-21 00:00:00.000000000 Z
11
+ date: 2022-02-24 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: aws-sdk-core
@@ -19,7 +19,7 @@ dependencies:
19
19
  version: '3'
20
20
  - - ">="
21
21
  - !ruby/object:Gem::Version
22
- version: 3.125.0
22
+ version: 3.127.0
23
23
  type: :runtime
24
24
  prerelease: false
25
25
  version_requirements: !ruby/object:Gem::Requirement
@@ -29,7 +29,7 @@ dependencies:
29
29
  version: '3'
30
30
  - - ">="
31
31
  - !ruby/object:Gem::Version
32
- version: 3.125.0
32
+ version: 3.127.0
33
33
  - !ruby/object:Gem::Dependency
34
34
  name: aws-sigv4
35
35
  requirement: !ruby/object:Gem::Requirement