File Coverage

blib/lib/Paws/Organizations.pm
Criterion Covered Total %
statement 3 3 100.0
branch n/a
condition n/a
subroutine 1 1 100.0
pod n/a
total 4 4 100.0


line stmt bran cond sub pod time code
1             package Paws::Organizations;
2 1     1   5022 use Moose;
  1         6  
  1         16  
3             sub service { 'organizations' }
4             sub version { '2016-11-28' }
5             sub target_prefix { 'AWSOrganizationsV20161128' }
6             sub json_version { "1.1" }
7             has max_attempts => (is => 'ro', isa => 'Int', default => 5);
8             has retry => (is => 'ro', isa => 'HashRef', default => sub {
9             { base => 'rand', type => 'exponential', growth_factor => 2 }
10             });
11             has retriables => (is => 'ro', isa => 'ArrayRef', default => sub { [
12             ] });
13              
14             with 'Paws::API::Caller', 'Paws::API::EndpointResolver', 'Paws::Net::V4Signature', 'Paws::Net::JsonCaller', 'Paws::Net::JsonResponse';
15              
16            
17             sub AcceptHandshake {
18             my $self = shift;
19             my $call_object = $self->new_with_coercions('Paws::Organizations::AcceptHandshake', @_);
20             return $self->caller->do_call($self, $call_object);
21             }
22             sub AttachPolicy {
23             my $self = shift;
24             my $call_object = $self->new_with_coercions('Paws::Organizations::AttachPolicy', @_);
25             return $self->caller->do_call($self, $call_object);
26             }
27             sub CancelHandshake {
28             my $self = shift;
29             my $call_object = $self->new_with_coercions('Paws::Organizations::CancelHandshake', @_);
30             return $self->caller->do_call($self, $call_object);
31             }
32             sub CreateAccount {
33             my $self = shift;
34             my $call_object = $self->new_with_coercions('Paws::Organizations::CreateAccount', @_);
35             return $self->caller->do_call($self, $call_object);
36             }
37             sub CreateOrganization {
38             my $self = shift;
39             my $call_object = $self->new_with_coercions('Paws::Organizations::CreateOrganization', @_);
40             return $self->caller->do_call($self, $call_object);
41             }
42             sub CreateOrganizationalUnit {
43             my $self = shift;
44             my $call_object = $self->new_with_coercions('Paws::Organizations::CreateOrganizationalUnit', @_);
45             return $self->caller->do_call($self, $call_object);
46             }
47             sub CreatePolicy {
48             my $self = shift;
49             my $call_object = $self->new_with_coercions('Paws::Organizations::CreatePolicy', @_);
50             return $self->caller->do_call($self, $call_object);
51             }
52             sub DeclineHandshake {
53             my $self = shift;
54             my $call_object = $self->new_with_coercions('Paws::Organizations::DeclineHandshake', @_);
55             return $self->caller->do_call($self, $call_object);
56             }
57             sub DeleteOrganization {
58             my $self = shift;
59             my $call_object = $self->new_with_coercions('Paws::Organizations::DeleteOrganization', @_);
60             return $self->caller->do_call($self, $call_object);
61             }
62             sub DeleteOrganizationalUnit {
63             my $self = shift;
64             my $call_object = $self->new_with_coercions('Paws::Organizations::DeleteOrganizationalUnit', @_);
65             return $self->caller->do_call($self, $call_object);
66             }
67             sub DeletePolicy {
68             my $self = shift;
69             my $call_object = $self->new_with_coercions('Paws::Organizations::DeletePolicy', @_);
70             return $self->caller->do_call($self, $call_object);
71             }
72             sub DescribeAccount {
73             my $self = shift;
74             my $call_object = $self->new_with_coercions('Paws::Organizations::DescribeAccount', @_);
75             return $self->caller->do_call($self, $call_object);
76             }
77             sub DescribeCreateAccountStatus {
78             my $self = shift;
79             my $call_object = $self->new_with_coercions('Paws::Organizations::DescribeCreateAccountStatus', @_);
80             return $self->caller->do_call($self, $call_object);
81             }
82             sub DescribeHandshake {
83             my $self = shift;
84             my $call_object = $self->new_with_coercions('Paws::Organizations::DescribeHandshake', @_);
85             return $self->caller->do_call($self, $call_object);
86             }
87             sub DescribeOrganization {
88             my $self = shift;
89             my $call_object = $self->new_with_coercions('Paws::Organizations::DescribeOrganization', @_);
90             return $self->caller->do_call($self, $call_object);
91             }
92             sub DescribeOrganizationalUnit {
93             my $self = shift;
94             my $call_object = $self->new_with_coercions('Paws::Organizations::DescribeOrganizationalUnit', @_);
95             return $self->caller->do_call($self, $call_object);
96             }
97             sub DescribePolicy {
98             my $self = shift;
99             my $call_object = $self->new_with_coercions('Paws::Organizations::DescribePolicy', @_);
100             return $self->caller->do_call($self, $call_object);
101             }
102             sub DetachPolicy {
103             my $self = shift;
104             my $call_object = $self->new_with_coercions('Paws::Organizations::DetachPolicy', @_);
105             return $self->caller->do_call($self, $call_object);
106             }
107             sub DisablePolicyType {
108             my $self = shift;
109             my $call_object = $self->new_with_coercions('Paws::Organizations::DisablePolicyType', @_);
110             return $self->caller->do_call($self, $call_object);
111             }
112             sub EnableAllFeatures {
113             my $self = shift;
114             my $call_object = $self->new_with_coercions('Paws::Organizations::EnableAllFeatures', @_);
115             return $self->caller->do_call($self, $call_object);
116             }
117             sub EnablePolicyType {
118             my $self = shift;
119             my $call_object = $self->new_with_coercions('Paws::Organizations::EnablePolicyType', @_);
120             return $self->caller->do_call($self, $call_object);
121             }
122             sub InviteAccountToOrganization {
123             my $self = shift;
124             my $call_object = $self->new_with_coercions('Paws::Organizations::InviteAccountToOrganization', @_);
125             return $self->caller->do_call($self, $call_object);
126             }
127             sub LeaveOrganization {
128             my $self = shift;
129             my $call_object = $self->new_with_coercions('Paws::Organizations::LeaveOrganization', @_);
130             return $self->caller->do_call($self, $call_object);
131             }
132             sub ListAccounts {
133             my $self = shift;
134             my $call_object = $self->new_with_coercions('Paws::Organizations::ListAccounts', @_);
135             return $self->caller->do_call($self, $call_object);
136             }
137             sub ListAccountsForParent {
138             my $self = shift;
139             my $call_object = $self->new_with_coercions('Paws::Organizations::ListAccountsForParent', @_);
140             return $self->caller->do_call($self, $call_object);
141             }
142             sub ListChildren {
143             my $self = shift;
144             my $call_object = $self->new_with_coercions('Paws::Organizations::ListChildren', @_);
145             return $self->caller->do_call($self, $call_object);
146             }
147             sub ListCreateAccountStatus {
148             my $self = shift;
149             my $call_object = $self->new_with_coercions('Paws::Organizations::ListCreateAccountStatus', @_);
150             return $self->caller->do_call($self, $call_object);
151             }
152             sub ListHandshakesForAccount {
153             my $self = shift;
154             my $call_object = $self->new_with_coercions('Paws::Organizations::ListHandshakesForAccount', @_);
155             return $self->caller->do_call($self, $call_object);
156             }
157             sub ListHandshakesForOrganization {
158             my $self = shift;
159             my $call_object = $self->new_with_coercions('Paws::Organizations::ListHandshakesForOrganization', @_);
160             return $self->caller->do_call($self, $call_object);
161             }
162             sub ListOrganizationalUnitsForParent {
163             my $self = shift;
164             my $call_object = $self->new_with_coercions('Paws::Organizations::ListOrganizationalUnitsForParent', @_);
165             return $self->caller->do_call($self, $call_object);
166             }
167             sub ListParents {
168             my $self = shift;
169             my $call_object = $self->new_with_coercions('Paws::Organizations::ListParents', @_);
170             return $self->caller->do_call($self, $call_object);
171             }
172             sub ListPolicies {
173             my $self = shift;
174             my $call_object = $self->new_with_coercions('Paws::Organizations::ListPolicies', @_);
175             return $self->caller->do_call($self, $call_object);
176             }
177             sub ListPoliciesForTarget {
178             my $self = shift;
179             my $call_object = $self->new_with_coercions('Paws::Organizations::ListPoliciesForTarget', @_);
180             return $self->caller->do_call($self, $call_object);
181             }
182             sub ListRoots {
183             my $self = shift;
184             my $call_object = $self->new_with_coercions('Paws::Organizations::ListRoots', @_);
185             return $self->caller->do_call($self, $call_object);
186             }
187             sub ListTargetsForPolicy {
188             my $self = shift;
189             my $call_object = $self->new_with_coercions('Paws::Organizations::ListTargetsForPolicy', @_);
190             return $self->caller->do_call($self, $call_object);
191             }
192             sub MoveAccount {
193             my $self = shift;
194             my $call_object = $self->new_with_coercions('Paws::Organizations::MoveAccount', @_);
195             return $self->caller->do_call($self, $call_object);
196             }
197             sub RemoveAccountFromOrganization {
198             my $self = shift;
199             my $call_object = $self->new_with_coercions('Paws::Organizations::RemoveAccountFromOrganization', @_);
200             return $self->caller->do_call($self, $call_object);
201             }
202             sub UpdateOrganizationalUnit {
203             my $self = shift;
204             my $call_object = $self->new_with_coercions('Paws::Organizations::UpdateOrganizationalUnit', @_);
205             return $self->caller->do_call($self, $call_object);
206             }
207             sub UpdatePolicy {
208             my $self = shift;
209             my $call_object = $self->new_with_coercions('Paws::Organizations::UpdatePolicy', @_);
210             return $self->caller->do_call($self, $call_object);
211             }
212            
213              
214              
215             sub operations { qw/AcceptHandshake AttachPolicy CancelHandshake CreateAccount CreateOrganization CreateOrganizationalUnit CreatePolicy DeclineHandshake DeleteOrganization DeleteOrganizationalUnit DeletePolicy DescribeAccount DescribeCreateAccountStatus DescribeHandshake DescribeOrganization DescribeOrganizationalUnit DescribePolicy DetachPolicy DisablePolicyType EnableAllFeatures EnablePolicyType InviteAccountToOrganization LeaveOrganization ListAccounts ListAccountsForParent ListChildren ListCreateAccountStatus ListHandshakesForAccount ListHandshakesForOrganization ListOrganizationalUnitsForParent ListParents ListPolicies ListPoliciesForTarget ListRoots ListTargetsForPolicy MoveAccount RemoveAccountFromOrganization UpdateOrganizationalUnit UpdatePolicy / }
216              
217             1;
218              
219             ### main pod documentation begin ###
220              
221             =head1 NAME
222              
223             Paws::Organizations - Perl Interface to AWS AWS Organizations
224              
225             =head1 SYNOPSIS
226              
227             use Paws;
228              
229             my $obj = Paws->service('Organizations');
230             my $res = $obj->Method(
231             Arg1 => $val1,
232             Arg2 => [ 'V1', 'V2' ],
233             # if Arg3 is an object, the HashRef will be used as arguments to the constructor
234             # of the arguments type
235             Arg3 => { Att1 => 'Val1' },
236             # if Arg4 is an array of objects, the HashRefs will be passed as arguments to
237             # the constructor of the arguments type
238             Arg4 => [ { Att1 => 'Val1' }, { Att1 => 'Val2' } ],
239             );
240              
241             =head1 DESCRIPTION
242              
243             AWS Organizations API Reference
244              
245             AWS Organizations is a web service that enables you to consolidate your
246             multiple AWS accounts into an I<organization> and centrally manage your
247             accounts and their resources.
248              
249             This guide provides descriptions of the Organizations API. For more
250             information about using this service, see the AWS Organizations User
251             Guide.
252              
253             B<API Version>
254              
255             This version of the Organizations API Reference documents the
256             Organizations API version 2016-11-28.
257              
258             As an alternative to using the API directly, you can use one of the AWS
259             SDKs, which consist of libraries and sample code for various
260             programming languages and platforms (Java, Ruby, .NET, iOS, Android,
261             and more). The SDKs provide a convenient way to create programmatic
262             access to AWS Organizations. For example, the SDKs take care of
263             cryptographically signing requests, managing errors, and retrying
264             requests automatically. For more information about the AWS SDKs,
265             including how to download and install them, see Tools for Amazon Web
266             Services.
267              
268             We recommend that you use the AWS SDKs to make programmatic API calls
269             to Organizations. However, you also can use the Organizations Query API
270             to make direct calls to the Organizations web service. To learn more
271             about the Organizations Query API, see Making Query Requests in the
272             I<AWS Organizations User Guide>. Organizations supports GET and POST
273             requests for all actions. That is, the API does not require you to use
274             GET for some actions and POST for others. However, GET requests are
275             subject to the limitation size of a URL. Therefore, for operations that
276             require larger sizes, use a POST request.
277              
278             B<Signing Requests>
279              
280             When you send HTTP requests to AWS, you must sign the requests so that
281             AWS can identify who sent them. You sign requests with your AWS access
282             key, which consists of an access key ID and a secret access key. We
283             strongly recommend that you do not create an access key for your root
284             account. Anyone who has the access key for your root account has
285             unrestricted access to all the resources in your account. Instead,
286             create an access key for an IAM user account that has administrative
287             privileges. As another option, use AWS Security Token Service to
288             generate temporary security credentials, and use those credentials to
289             sign requests.
290              
291             To sign requests, we recommend that you use Signature Version 4. If you
292             have an existing application that uses Signature Version 2, you do not
293             have to update it to use Signature Version 4. However, some operations
294             now require Signature Version 4. The documentation for operations that
295             require version 4 indicate this requirement.
296              
297             When you use the AWS Command Line Interface (AWS CLI) or one of the AWS
298             SDKs to make requests to AWS, these tools automatically sign the
299             requests for you with the access key that you specify when you
300             configure the tools.
301              
302             In this release, each organization can have only one root. In a future
303             release, a single organization will support multiple roots.
304              
305             B<Support and Feedback for AWS Organizations>
306              
307             We welcome your feedback. Send your comments to
308             feedback-awsorganizations@amazon.com or post your feedback and
309             questions in our private AWS Organizations support forum. If you don't
310             have access to the forum, send a request for access to the email
311             address, along with your forum user ID. For more information about the
312             AWS support forums, see Forums Help.
313              
314             B<Endpoint to Call When Using the CLI or the AWS API>
315              
316             For the current release of Organizations, you must specify the
317             C<us-east-1> region for all AWS API and CLI calls. You can do this in
318             the CLI by using these parameters and commands:
319              
320             =over
321              
322             =item *
323              
324             Use the following parameter with each command to specify both the
325             endpoint and its region:
326              
327             C<--endpoint-url https://organizations.us-east-1.amazonaws.com>
328              
329             =item *
330              
331             Use the default endpoint, but configure your default region with this
332             command:
333              
334             C<aws configure set default.region us-east-1>
335              
336             =item *
337              
338             Use the following parameter with each command to specify the endpoint:
339              
340             C<--region us-east-1>
341              
342             =back
343              
344             For the various SDKs used to call the APIs, see the documentation for
345             the SDK of interest to learn how to direct the requests to a specific
346             endpoint. For more information, see Regions and Endpoints in the I<AWS
347             General Reference>.
348              
349             B<How examples are presented>
350              
351             The JSON returned by the AWS Organizations service as response to your
352             requests is returned as a single long string without line breaks or
353             formatting whitespace. Both line breaks and whitespace are included in
354             the examples in this guide to improve readability. When example input
355             parameters also would result in long strings that would extend beyond
356             the screen, we insert line breaks to enhance readability. You should
357             always submit the input as a single JSON text string.
358              
359             B<Recording API Requests>
360              
361             AWS Organizations supports AWS CloudTrail, a service that records AWS
362             API calls for your AWS account and delivers log files to an Amazon S3
363             bucket. By using information collected by AWS CloudTrail, you can
364             determine which requests were successfully made to Organizations, who
365             made the request, when it was made, and so on. For more about AWS
366             Organizations and its support for AWS CloudTrail, see Logging AWS
367             Organizations Events with AWS CloudTrail in the I<AWS Organizations
368             User Guide>. To learn more about CloudTrail, including how to turn it
369             on and find your log files, see the AWS CloudTrail User Guide.
370              
371             =head1 METHODS
372              
373             =head2 AcceptHandshake(HandshakeId => Str)
374              
375             Each argument is described in detail in: L<Paws::Organizations::AcceptHandshake>
376              
377             Returns: a L<Paws::Organizations::AcceptHandshakeResponse> instance
378              
379             Sends a response to the originator of a handshake agreeing to the
380             action proposed by the handshake request.
381              
382             This operation can be called only by the following principals when they
383             also have the relevant IAM permissions:
384              
385             =over
386              
387             =item *
388              
389             B<Invitation to join> or B<Approve all features request> handshakes:
390             only a principal from the member account.
391              
392             =item *
393              
394             B<Enable all features final confirmation> handshake: only a principal
395             from the master account.
396              
397             For more information about invitations, see Inviting an AWS Account to
398             Join Your Organization in the I<AWS Organizations User Guide>. For more
399             information about requests to enable all features in the organization,
400             see Enabling All Features in Your Organization in the I<AWS
401             Organizations User Guide>.
402              
403             =back
404              
405             After you accept a handshake, it continues to appear in the results of
406             relevant APIs for only 30 days. After that it is deleted.
407              
408              
409             =head2 AttachPolicy(PolicyId => Str, TargetId => Str)
410              
411             Each argument is described in detail in: L<Paws::Organizations::AttachPolicy>
412              
413             Returns: nothing
414              
415             Attaches a policy to a root, an organizational unit, or an individual
416             account. How the policy affects accounts depends on the type of policy:
417              
418             =over
419              
420             =item *
421              
422             B<Service control policy (SCP)> - An SCP specifies what permissions can
423             be delegated to users in affected member accounts. The scope of
424             influence for a policy depends on what you attach the policy to:
425              
426             =over
427              
428             =item *
429              
430             If you attach an SCP to a root, it affects all accounts in the
431             organization.
432              
433             =item *
434              
435             If you attach an SCP to an OU, it affects all accounts in that OU and
436             in any child OUs.
437              
438             =item *
439              
440             If you attach the policy directly to an account, then it affects only
441             that account.
442              
443             =back
444              
445             SCPs essentially are permission "filters". When you attach one SCP to a
446             higher level root or OU, and you also attach a different SCP to a child
447             OU or to an account, the child policy can further restrict only the
448             permissions that pass through the parent filter and are available to
449             the child. An SCP that is attached to a child cannot grant a permission
450             that is not already granted by the parent. For example, imagine that
451             the parent SCP allows permissions A, B, C, D, and E. The child SCP
452             allows C, D, E, F, and G. The result is that the accounts affected by
453             the child SCP are allowed to use only C, D, and E. They cannot use A or
454             B because they were filtered out by the child OU. They also cannot use
455             F and G because they were filtered out by the parent OU. They cannot be
456             granted back by the child SCP; child SCPs can only filter the
457             permissions they receive from the parent SCP.
458              
459             AWS Organizations attaches a default SCP named C<"FullAWSAccess> to
460             every root, OU, and account. This default SCP allows all services and
461             actions, enabling any new child OU or account to inherit the
462             permissions of the parent root or OU. If you detach the default policy,
463             you must replace it with a policy that specifies the permissions that
464             you want to allow in that OU or account.
465              
466             For more information about how Organizations policies permissions work,
467             see Using Service Control Policies in the I<AWS Organizations User
468             Guide>.
469              
470             =back
471              
472             This operation can be called only from the organization's master
473             account.
474              
475              
476             =head2 CancelHandshake(HandshakeId => Str)
477              
478             Each argument is described in detail in: L<Paws::Organizations::CancelHandshake>
479              
480             Returns: a L<Paws::Organizations::CancelHandshakeResponse> instance
481              
482             Cancels a handshake. Canceling a handshake sets the handshake state to
483             C<CANCELED>.
484              
485             This operation can be called only from the account that originated the
486             handshake. The recipient of the handshake can't cancel it, but can use
487             DeclineHandshake instead. After a handshake is canceled, the recipient
488             can no longer respond to that handshake.
489              
490             After you cancel a handshake, it continues to appear in the results of
491             relevant APIs for only 30 days. After that it is deleted.
492              
493              
494             =head2 CreateAccount(AccountName => Str, Email => Str, [IamUserAccessToBilling => Str, RoleName => Str])
495              
496             Each argument is described in detail in: L<Paws::Organizations::CreateAccount>
497              
498             Returns: a L<Paws::Organizations::CreateAccountResponse> instance
499              
500             Creates an AWS account that is automatically a member of the
501             organization whose credentials made the request. This is an
502             asynchronous request that AWS performs in the background. If you want
503             to check the status of the request later, you need the C<OperationId>
504             response element from this operation to provide as a parameter to the
505             DescribeCreateAccountStatus operation.
506              
507             AWS Organizations preconfigures the new member account with a role
508             (named C<OrganizationAccountAccessRole> by default) that grants
509             administrator permissions to the new account. Principals in the master
510             account can assume the role. AWS Organizations clones the company name
511             and address information for the new account from the organization's
512             master account.
513              
514             For more information about creating accounts, see Creating an AWS
515             Account in Your Organization in the I<AWS Organizations User Guide>.
516              
517             You cannot remove accounts that are created with this operation from an
518             organization. That also means that you cannot delete an organization
519             that contains an account that is created with this operation.
520              
521             When you create a member account with this operation, you can choose
522             whether to create the account with the B<IAM User and Role Access to
523             Billing Information> switch enabled. If you enable it, IAM users and
524             roles that have appropriate permissions can view billing information
525             for the account. If you disable this, then only the account root user
526             can access billing information. For information about how to disable
527             this for an account, see Granting Access to Your Billing Information
528             and Tools.
529              
530             This operation can be called only from the organization's master
531             account.
532              
533              
534             =head2 CreateOrganization([FeatureSet => Str])
535              
536             Each argument is described in detail in: L<Paws::Organizations::CreateOrganization>
537              
538             Returns: a L<Paws::Organizations::CreateOrganizationResponse> instance
539              
540             Creates an AWS organization. The account whose user is calling the
541             CreateOrganization operation automatically becomes the master account
542             of the new organization.
543              
544             This operation must be called using credentials from the account that
545             is to become the new organization's master account. The principal must
546             also have the relevant IAM permissions.
547              
548             By default (or if you set the C<FeatureSet> parameter to C<ALL>), the
549             new organization is created with all features enabled and service
550             control policies automatically enabled in the root. If you instead
551             choose to create the organization supporting only the consolidated
552             billing features by setting the C<FeatureSet> parameter to
553             C<CONSOLIDATED_BILLING">, then no policy types are enabled by default
554             and you cannot use organization policies.
555              
556              
557             =head2 CreateOrganizationalUnit(Name => Str, ParentId => Str)
558              
559             Each argument is described in detail in: L<Paws::Organizations::CreateOrganizationalUnit>
560              
561             Returns: a L<Paws::Organizations::CreateOrganizationalUnitResponse> instance
562              
563             Creates an organizational unit (OU) within a root or parent OU. An OU
564             is a container for accounts that enables you to organize your accounts
565             to apply policies according to your business requirements. The number
566             of levels deep that you can nest OUs is dependent upon the policy types
567             enabled for that root. For service control policies, the limit is five.
568              
569             For more information about OUs, see Managing Organizational Units in
570             the I<AWS Organizations User Guide>.
571              
572             This operation can be called only from the organization's master
573             account.
574              
575              
576             =head2 CreatePolicy(Content => Str, Description => Str, Name => Str, Type => Str)
577              
578             Each argument is described in detail in: L<Paws::Organizations::CreatePolicy>
579              
580             Returns: a L<Paws::Organizations::CreatePolicyResponse> instance
581              
582             Creates a policy of a specified type that you can attach to a root, an
583             organizational unit (OU), or an individual AWS account.
584              
585             For more information about policies and their use, see Managing
586             Organization Policies.
587              
588             This operation can be called only from the organization's master
589             account.
590              
591              
592             =head2 DeclineHandshake(HandshakeId => Str)
593              
594             Each argument is described in detail in: L<Paws::Organizations::DeclineHandshake>
595              
596             Returns: a L<Paws::Organizations::DeclineHandshakeResponse> instance
597              
598             Declines a handshake request. This sets the handshake state to
599             C<DECLINED> and effectively deactivates the request.
600              
601             This operation can be called only from the account that received the
602             handshake. The originator of the handshake can use CancelHandshake
603             instead. The originator can't reactivate a declined request, but can
604             re-initiate the process with a new handshake request.
605              
606             After you decline a handshake, it continues to appear in the results of
607             relevant APIs for only 30 days. After that it is deleted.
608              
609              
610             =head2 DeleteOrganization( => )
611              
612             Each argument is described in detail in: L<Paws::Organizations::DeleteOrganization>
613              
614             Returns: nothing
615              
616             Deletes the organization. You can delete an organization only by using
617             credentials from the master account. The organization must be empty of
618             member accounts, OUs, and policies.
619              
620             If you create any accounts using Organizations operations or the
621             Organizations console, you can't remove those accounts from the
622             organization, which means that you can't delete the organization.
623              
624              
625             =head2 DeleteOrganizationalUnit(OrganizationalUnitId => Str)
626              
627             Each argument is described in detail in: L<Paws::Organizations::DeleteOrganizationalUnit>
628              
629             Returns: nothing
630              
631             Deletes an organizational unit from a root or another OU. You must
632             first remove all accounts and child OUs from the OU that you want to
633             delete.
634              
635             This operation can be called only from the organization's master
636             account.
637              
638              
639             =head2 DeletePolicy(PolicyId => Str)
640              
641             Each argument is described in detail in: L<Paws::Organizations::DeletePolicy>
642              
643             Returns: nothing
644              
645             Deletes the specified policy from your organization. Before you perform
646             this operation, you must first detach the policy from all OUs, roots,
647             and accounts.
648              
649             This operation can be called only from the organization's master
650             account.
651              
652              
653             =head2 DescribeAccount(AccountId => Str)
654              
655             Each argument is described in detail in: L<Paws::Organizations::DescribeAccount>
656              
657             Returns: a L<Paws::Organizations::DescribeAccountResponse> instance
658              
659             Retrieves Organizations-related information about the specified
660             account.
661              
662             This operation can be called only from the organization's master
663             account.
664              
665              
666             =head2 DescribeCreateAccountStatus(CreateAccountRequestId => Str)
667              
668             Each argument is described in detail in: L<Paws::Organizations::DescribeCreateAccountStatus>
669              
670             Returns: a L<Paws::Organizations::DescribeCreateAccountStatusResponse> instance
671              
672             Retrieves the current status of an asynchronous request to create an
673             account.
674              
675             This operation can be called only from the organization's master
676             account.
677              
678              
679             =head2 DescribeHandshake(HandshakeId => Str)
680              
681             Each argument is described in detail in: L<Paws::Organizations::DescribeHandshake>
682              
683             Returns: a L<Paws::Organizations::DescribeHandshakeResponse> instance
684              
685             Retrieves information about a previously requested handshake. The
686             handshake ID comes from the response to the original
687             InviteAccountToOrganization operation that generated the handshake.
688              
689             You can access handshakes that are ACCEPTED, DECLINED, or CANCELED for
690             only 30 days after they change to that state. They are then deleted and
691             no longer accessible.
692              
693             This operation can be called from any account in the organization.
694              
695              
696             =head2 DescribeOrganization( => )
697              
698             Each argument is described in detail in: L<Paws::Organizations::DescribeOrganization>
699              
700             Returns: a L<Paws::Organizations::DescribeOrganizationResponse> instance
701              
702             Retrieves information about the organization that the user's account
703             belongs to.
704              
705             This operation can be called from any account in the organization.
706              
707              
708             =head2 DescribeOrganizationalUnit(OrganizationalUnitId => Str)
709              
710             Each argument is described in detail in: L<Paws::Organizations::DescribeOrganizationalUnit>
711              
712             Returns: a L<Paws::Organizations::DescribeOrganizationalUnitResponse> instance
713              
714             Retrieves information about an organizational unit (OU).
715              
716             This operation can be called only from the organization's master
717             account.
718              
719              
720             =head2 DescribePolicy(PolicyId => Str)
721              
722             Each argument is described in detail in: L<Paws::Organizations::DescribePolicy>
723              
724             Returns: a L<Paws::Organizations::DescribePolicyResponse> instance
725              
726             Retrieves information about a policy.
727              
728             This operation can be called only from the organization's master
729             account.
730              
731              
732             =head2 DetachPolicy(PolicyId => Str, TargetId => Str)
733              
734             Each argument is described in detail in: L<Paws::Organizations::DetachPolicy>
735              
736             Returns: nothing
737              
738             Detaches a policy from a target root, organizational unit, or account.
739             If the policy being detached is a service control policy (SCP), the
740             changes to permissions for IAM users and roles in affected accounts are
741             immediate.
742              
743             B<Note:> Every root, OU, and account must have at least one SCP
744             attached. If you want to replace the default C<FullAWSAccess> policy
745             with one that limits the permissions that can be delegated, then you
746             must attach the replacement policy before you can remove the default
747             one. This is the authorization strategy of whitelisting. If you instead
748             attach a second SCP and leave the C<FullAWSAccess> SCP still attached,
749             and specify C<"Effect": "Deny"> in the second SCP to override the
750             C<"Effect": "Allow"> in the C<FullAWSAccess> policy (or any other
751             attached SCP), then you are using the authorization strategy of
752             blacklisting.
753              
754             This operation can be called only from the organization's master
755             account.
756              
757              
758             =head2 DisablePolicyType(PolicyType => Str, RootId => Str)
759              
760             Each argument is described in detail in: L<Paws::Organizations::DisablePolicyType>
761              
762             Returns: a L<Paws::Organizations::DisablePolicyTypeResponse> instance
763              
764             Disables an organizational control policy type in a root. A poicy of a
765             certain type can be attached to entities in a root only if that type is
766             enabled in the root. After you perform this operation, you no longer
767             can attach policies of the specified type to that root or to any OU or
768             account in that root. You can undo this by using the EnablePolicyType
769             operation.
770              
771             This operation can be called only from the organization's master
772             account.
773              
774              
775             =head2 EnableAllFeatures()
776              
777             Each argument is described in detail in: L<Paws::Organizations::EnableAllFeatures>
778              
779             Returns: a L<Paws::Organizations::EnableAllFeaturesResponse> instance
780              
781             Enables all features in an organization. This enables the use of
782             organization policies that can restrict the services and actions that
783             can be called in each account. Until you enable all features, you have
784             access only to consolidated billing, and you can't use any of the
785             advanced account administration features that AWS Organizations
786             supports. For more information, see Enabling All Features in Your
787             Organization in the I<AWS Organizations User Guide>.
788              
789             This operation is required only for organizations that were created
790             explicitly with only the consolidated billing features enabled, or that
791             were migrated from a Consolidated Billing account family to
792             Organizations. Calling this operation sends a handshake to every
793             invited account in the organization. The feature set change can be
794             finalized and the additional features enabled only after all
795             administrators in the invited accounts approve the change by accepting
796             the handshake.
797              
798             After all invited member accounts accept the handshake, you finalize
799             the feature set change by accepting the handshake that contains
800             C<"Action": "ENABLE_ALL_FEATURES">. This completes the change.
801              
802             After you enable all features in your organization, the master account
803             in the organization can apply policies on all member accounts. These
804             policies can restrict what users and even administrators in those
805             accounts can do. The master account can apply policies that prevent
806             accounts from leaving the organization. Ensure that your account
807             administrators are aware of this.
808              
809             This operation can be called only from the organization's master
810             account.
811              
812              
813             =head2 EnablePolicyType(PolicyType => Str, RootId => Str)
814              
815             Each argument is described in detail in: L<Paws::Organizations::EnablePolicyType>
816              
817             Returns: a L<Paws::Organizations::EnablePolicyTypeResponse> instance
818              
819             Enables a policy type in a root. After you enable a policy type in a
820             root, you can attach policies of that type to the root, any OU, or
821             account in that root. You can undo this by using the DisablePolicyType
822             operation.
823              
824             This operation can be called only from the organization's master
825             account.
826              
827              
828             =head2 InviteAccountToOrganization(Target => L<Paws::Organizations::HandshakeParty>, [Notes => Str])
829              
830             Each argument is described in detail in: L<Paws::Organizations::InviteAccountToOrganization>
831              
832             Returns: a L<Paws::Organizations::InviteAccountToOrganizationResponse> instance
833              
834             Sends an invitation to another account to join your organization as a
835             member account. Organizations sends email on your behalf to the email
836             address that is associated with the other account's owner. The
837             invitation is implemented as a Handshake whose details are in the
838             response.
839              
840             You can invite AWS accounts only from the same reseller as the master
841             account. For example, if your organization's master account was created
842             by Amazon Internet Services Pvt. Ltd (AISPL), an AWS reseller in India,
843             then you can only invite other AISPL accounts to your organization. You
844             can't combine accounts from AISPL and AWS. For more information, see
845             Consolidated Billing in India.
846              
847             This operation can be called only from the organization's master
848             account.
849              
850              
851             =head2 LeaveOrganization( => )
852              
853             Each argument is described in detail in: L<Paws::Organizations::LeaveOrganization>
854              
855             Returns: nothing
856              
857             Removes a member account from its parent organization. This version of
858             the operation is performed by the account that wants to leave. To
859             remove a member account as a user in the master account, use
860             RemoveAccountFromOrganization instead.
861              
862             This operation can be called only from a member account in the
863             organization.
864              
865             =over
866              
867             =item *
868              
869             The master account in an organization with all features enabled can set
870             service control policies (SCPs) that can restrict what administrators
871             of member accounts can do, including preventing them from successfully
872             calling C<LeaveOrganization> and leaving the organization.
873              
874             =item *
875              
876             If you created the account using the AWS Organizations console, the
877             Organizations API, or the Organizations CLI commands, then you cannot
878             remove the account.
879              
880             =item *
881              
882             You can leave an organization only after you enable IAM user access to
883             billing in your account. For more information, see Activating Access to
884             the Billing and Cost Management Console in the I<AWS Billing and Cost
885             Management User Guide>.
886              
887             =back
888              
889              
890              
891             =head2 ListAccounts([MaxResults => Int, NextToken => Str])
892              
893             Each argument is described in detail in: L<Paws::Organizations::ListAccounts>
894              
895             Returns: a L<Paws::Organizations::ListAccountsResponse> instance
896              
897             Lists all the accounts in the organization. To request only the
898             accounts in a root or OU, use the ListAccountsForParent operation
899             instead.
900              
901             This operation can be called only from the organization's master
902             account.
903              
904              
905             =head2 ListAccountsForParent(ParentId => Str, [MaxResults => Int, NextToken => Str])
906              
907             Each argument is described in detail in: L<Paws::Organizations::ListAccountsForParent>
908              
909             Returns: a L<Paws::Organizations::ListAccountsForParentResponse> instance
910              
911             Lists the accounts in an organization that are contained by the
912             specified target root or organizational unit (OU). If you specify the
913             root, you get a list of all the accounts that are not in any OU. If you
914             specify an OU, you get a list of all the accounts in only that OU, and
915             not in any child OUs. To get a list of all accounts in the
916             organization, use the ListAccounts operation.
917              
918              
919             =head2 ListChildren(ChildType => Str, ParentId => Str, [MaxResults => Int, NextToken => Str])
920              
921             Each argument is described in detail in: L<Paws::Organizations::ListChildren>
922              
923             Returns: a L<Paws::Organizations::ListChildrenResponse> instance
924              
925             Lists all of the OUs or accounts that are contained in the specified
926             parent OU or root. This operation, along with ListParents enables you
927             to traverse the tree structure that makes up this root.
928              
929              
930             =head2 ListCreateAccountStatus([MaxResults => Int, NextToken => Str, States => ArrayRef[Str|Undef]])
931              
932             Each argument is described in detail in: L<Paws::Organizations::ListCreateAccountStatus>
933              
934             Returns: a L<Paws::Organizations::ListCreateAccountStatusResponse> instance
935              
936             Lists the account creation requests that match the specified status
937             that is currently being tracked for the organization.
938              
939             This operation can be called only from the organization's master
940             account.
941              
942              
943             =head2 ListHandshakesForAccount([Filter => L<Paws::Organizations::HandshakeFilter>, MaxResults => Int, NextToken => Str])
944              
945             Each argument is described in detail in: L<Paws::Organizations::ListHandshakesForAccount>
946              
947             Returns: a L<Paws::Organizations::ListHandshakesForAccountResponse> instance
948              
949             Lists the current handshakes that are associated with the account of
950             the requesting user.
951              
952             Handshakes that are ACCEPTED, DECLINED, or CANCELED appear in the
953             results of this API for only 30 days after changing to that state.
954             After that they are deleted and no longer accessible.
955              
956             This operation can be called from any account in the organization.
957              
958              
959             =head2 ListHandshakesForOrganization([Filter => L<Paws::Organizations::HandshakeFilter>, MaxResults => Int, NextToken => Str])
960              
961             Each argument is described in detail in: L<Paws::Organizations::ListHandshakesForOrganization>
962              
963             Returns: a L<Paws::Organizations::ListHandshakesForOrganizationResponse> instance
964              
965             Lists the handshakes that are associated with the organization that the
966             requesting user is part of. The C<ListHandshakesForOrganization>
967             operation returns a list of handshake structures. Each structure
968             contains details and status about a handshake.
969              
970             Handshakes that are ACCEPTED, DECLINED, or CANCELED appear in the
971             results of this API for only 30 days after changing to that state.
972             After that they are deleted and no longer accessible.
973              
974             This operation can be called only from the organization's master
975             account.
976              
977              
978             =head2 ListOrganizationalUnitsForParent(ParentId => Str, [MaxResults => Int, NextToken => Str])
979              
980             Each argument is described in detail in: L<Paws::Organizations::ListOrganizationalUnitsForParent>
981              
982             Returns: a L<Paws::Organizations::ListOrganizationalUnitsForParentResponse> instance
983              
984             Lists the organizational units (OUs) in a parent organizational unit or
985             root.
986              
987             This operation can be called only from the organization's master
988             account.
989              
990              
991             =head2 ListParents(ChildId => Str, [MaxResults => Int, NextToken => Str])
992              
993             Each argument is described in detail in: L<Paws::Organizations::ListParents>
994              
995             Returns: a L<Paws::Organizations::ListParentsResponse> instance
996              
997             Lists the root or organizational units (OUs) that serve as the
998             immediate parent of the specified child OU or account. This operation,
999             along with ListChildren enables you to traverse the tree structure that
1000             makes up this root.
1001              
1002             This operation can be called only from the organization's master
1003             account.
1004              
1005             In the current release, a child can have only a single parent.
1006              
1007              
1008             =head2 ListPolicies(Filter => Str, [MaxResults => Int, NextToken => Str])
1009              
1010             Each argument is described in detail in: L<Paws::Organizations::ListPolicies>
1011              
1012             Returns: a L<Paws::Organizations::ListPoliciesResponse> instance
1013              
1014             Retrieves the list of all policies in an organization of a specified
1015             type.
1016              
1017             This operation can be called only from the organization's master
1018             account.
1019              
1020              
1021             =head2 ListPoliciesForTarget(Filter => Str, TargetId => Str, [MaxResults => Int, NextToken => Str])
1022              
1023             Each argument is described in detail in: L<Paws::Organizations::ListPoliciesForTarget>
1024              
1025             Returns: a L<Paws::Organizations::ListPoliciesForTargetResponse> instance
1026              
1027             Lists the policies that are directly attached to the specified target
1028             root, organizational unit (OU), or account. You must specify the policy
1029             type that you want included in the returned list.
1030              
1031             This operation can be called only from the organization's master
1032             account.
1033              
1034              
1035             =head2 ListRoots([MaxResults => Int, NextToken => Str])
1036              
1037             Each argument is described in detail in: L<Paws::Organizations::ListRoots>
1038              
1039             Returns: a L<Paws::Organizations::ListRootsResponse> instance
1040              
1041             Lists the roots that are defined in the current organization.
1042              
1043             This operation can be called only from the organization's master
1044             account.
1045              
1046              
1047             =head2 ListTargetsForPolicy(PolicyId => Str, [MaxResults => Int, NextToken => Str])
1048              
1049             Each argument is described in detail in: L<Paws::Organizations::ListTargetsForPolicy>
1050              
1051             Returns: a L<Paws::Organizations::ListTargetsForPolicyResponse> instance
1052              
1053             Lists all the roots, OUs, and accounts to which the specified policy is
1054             attached.
1055              
1056             This operation can be called only from the organization's master
1057             account.
1058              
1059              
1060             =head2 MoveAccount(AccountId => Str, DestinationParentId => Str, SourceParentId => Str)
1061              
1062             Each argument is described in detail in: L<Paws::Organizations::MoveAccount>
1063              
1064             Returns: nothing
1065              
1066             Moves an account from its current source parent root or OU to the
1067             specified destination parent root or OU.
1068              
1069             This operation can be called only from the organization's master
1070             account.
1071              
1072              
1073             =head2 RemoveAccountFromOrganization(AccountId => Str)
1074              
1075             Each argument is described in detail in: L<Paws::Organizations::RemoveAccountFromOrganization>
1076              
1077             Returns: nothing
1078              
1079             Removes the specified account from the organization.
1080              
1081             The removed account becomes a stand-alone account that is not a member
1082             of any organization. It is no longer subject to any policies and is
1083             responsible for its own bill payments. The organization's master
1084             account is no longer charged for any expenses accrued by the member
1085             account after it is removed from the organization.
1086              
1087             This operation can be called only from the organization's master
1088             account. Member accounts can remove themselves with LeaveOrganization
1089             instead.
1090              
1091             =over
1092              
1093             =item *
1094              
1095             You can remove only accounts that were created outside your
1096             organization and invited to join. If you created the account using the
1097             AWS Organizations console, the Organizations API, or the Organizations
1098             CLI commands, then you cannot remove the account.
1099              
1100             =item *
1101              
1102             You can remove a member account only after you enable IAM user access
1103             to billing in the member account. For more information, see Activating
1104             Access to the Billing and Cost Management Console in the I<AWS Billing
1105             and Cost Management User Guide>.
1106              
1107             =back
1108              
1109              
1110              
1111             =head2 UpdateOrganizationalUnit(OrganizationalUnitId => Str, [Name => Str])
1112              
1113             Each argument is described in detail in: L<Paws::Organizations::UpdateOrganizationalUnit>
1114              
1115             Returns: a L<Paws::Organizations::UpdateOrganizationalUnitResponse> instance
1116              
1117             Renames the specified organizational unit (OU). The ID and ARN do not
1118             change. The child OUs and accounts remain in place, and any attached
1119             policies of the OU remain attached.
1120              
1121             This operation can be called only from the organization's master
1122             account.
1123              
1124              
1125             =head2 UpdatePolicy(PolicyId => Str, [Content => Str, Description => Str, Name => Str])
1126              
1127             Each argument is described in detail in: L<Paws::Organizations::UpdatePolicy>
1128              
1129             Returns: a L<Paws::Organizations::UpdatePolicyResponse> instance
1130              
1131             Updates an existing policy with a new name, description, or content. If
1132             any parameter is not supplied, that value remains unchanged. Note that
1133             you cannot change a policy's type.
1134              
1135             This operation can be called only from the organization's master
1136             account.
1137              
1138              
1139              
1140              
1141             =head1 PAGINATORS
1142              
1143             Paginator methods are helpers that repetively call methods that return partial results
1144              
1145              
1146              
1147              
1148             =head1 SEE ALSO
1149              
1150             This service class forms part of L<Paws>
1151              
1152             =head1 BUGS and CONTRIBUTIONS
1153              
1154             The source code is located here: https://github.com/pplu/aws-sdk-perl
1155              
1156             Please report bugs to: https://github.com/pplu/aws-sdk-perl/issues
1157              
1158             =cut
1159