All Downloads are FREE. Search and download functionalities are using the official Maven repository.

software.amazon.awssdk.services.organizations.DefaultOrganizationsClient Maven / Gradle / Ivy

Go to download

The AWS Java SDK for AWS Organizations module holds the client classes that are used for communicating with AWS Organizations Service.

The newest version!
/*
 * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
 * 
 * Licensed under the Apache License, Version 2.0 (the "License"). You may not use this file except in compliance with
 * the License. A copy of the License is located at
 * 
 * http://aws.amazon.com/apache2.0
 * 
 * or in the "license" file accompanying this file. This file is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR
 * CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions
 * and limitations under the License.
 */

package software.amazon.awssdk.services.organizations;

import java.util.Collections;
import java.util.List;
import java.util.function.Consumer;
import software.amazon.awssdk.annotations.Generated;
import software.amazon.awssdk.annotations.SdkInternalApi;
import software.amazon.awssdk.awscore.client.handler.AwsSyncClientHandler;
import software.amazon.awssdk.awscore.exception.AwsServiceException;
import software.amazon.awssdk.awscore.internal.AwsProtocolMetadata;
import software.amazon.awssdk.awscore.internal.AwsServiceProtocol;
import software.amazon.awssdk.awscore.retry.AwsRetryStrategy;
import software.amazon.awssdk.core.RequestOverrideConfiguration;
import software.amazon.awssdk.core.SdkPlugin;
import software.amazon.awssdk.core.SdkRequest;
import software.amazon.awssdk.core.client.config.ClientOverrideConfiguration;
import software.amazon.awssdk.core.client.config.SdkClientConfiguration;
import software.amazon.awssdk.core.client.config.SdkClientOption;
import software.amazon.awssdk.core.client.handler.ClientExecutionParams;
import software.amazon.awssdk.core.client.handler.SyncClientHandler;
import software.amazon.awssdk.core.exception.SdkClientException;
import software.amazon.awssdk.core.http.HttpResponseHandler;
import software.amazon.awssdk.core.metrics.CoreMetric;
import software.amazon.awssdk.core.retry.RetryMode;
import software.amazon.awssdk.metrics.MetricCollector;
import software.amazon.awssdk.metrics.MetricPublisher;
import software.amazon.awssdk.metrics.NoOpMetricCollector;
import software.amazon.awssdk.protocols.core.ExceptionMetadata;
import software.amazon.awssdk.protocols.json.AwsJsonProtocol;
import software.amazon.awssdk.protocols.json.AwsJsonProtocolFactory;
import software.amazon.awssdk.protocols.json.BaseAwsJsonProtocolFactory;
import software.amazon.awssdk.protocols.json.JsonOperationMetadata;
import software.amazon.awssdk.retries.api.RetryStrategy;
import software.amazon.awssdk.services.organizations.internal.OrganizationsServiceClientConfigurationBuilder;
import software.amazon.awssdk.services.organizations.model.AcceptHandshakeRequest;
import software.amazon.awssdk.services.organizations.model.AcceptHandshakeResponse;
import software.amazon.awssdk.services.organizations.model.AccessDeniedException;
import software.amazon.awssdk.services.organizations.model.AccessDeniedForDependencyException;
import software.amazon.awssdk.services.organizations.model.AccountAlreadyClosedException;
import software.amazon.awssdk.services.organizations.model.AccountAlreadyRegisteredException;
import software.amazon.awssdk.services.organizations.model.AccountNotFoundException;
import software.amazon.awssdk.services.organizations.model.AccountNotRegisteredException;
import software.amazon.awssdk.services.organizations.model.AccountOwnerNotVerifiedException;
import software.amazon.awssdk.services.organizations.model.AlreadyInOrganizationException;
import software.amazon.awssdk.services.organizations.model.AttachPolicyRequest;
import software.amazon.awssdk.services.organizations.model.AttachPolicyResponse;
import software.amazon.awssdk.services.organizations.model.AwsOrganizationsNotInUseException;
import software.amazon.awssdk.services.organizations.model.CancelHandshakeRequest;
import software.amazon.awssdk.services.organizations.model.CancelHandshakeResponse;
import software.amazon.awssdk.services.organizations.model.ChildNotFoundException;
import software.amazon.awssdk.services.organizations.model.CloseAccountRequest;
import software.amazon.awssdk.services.organizations.model.CloseAccountResponse;
import software.amazon.awssdk.services.organizations.model.ConcurrentModificationException;
import software.amazon.awssdk.services.organizations.model.ConflictException;
import software.amazon.awssdk.services.organizations.model.ConstraintViolationException;
import software.amazon.awssdk.services.organizations.model.CreateAccountRequest;
import software.amazon.awssdk.services.organizations.model.CreateAccountResponse;
import software.amazon.awssdk.services.organizations.model.CreateAccountStatusNotFoundException;
import software.amazon.awssdk.services.organizations.model.CreateGovCloudAccountRequest;
import software.amazon.awssdk.services.organizations.model.CreateGovCloudAccountResponse;
import software.amazon.awssdk.services.organizations.model.CreateOrganizationRequest;
import software.amazon.awssdk.services.organizations.model.CreateOrganizationResponse;
import software.amazon.awssdk.services.organizations.model.CreateOrganizationalUnitRequest;
import software.amazon.awssdk.services.organizations.model.CreateOrganizationalUnitResponse;
import software.amazon.awssdk.services.organizations.model.CreatePolicyRequest;
import software.amazon.awssdk.services.organizations.model.CreatePolicyResponse;
import software.amazon.awssdk.services.organizations.model.DeclineHandshakeRequest;
import software.amazon.awssdk.services.organizations.model.DeclineHandshakeResponse;
import software.amazon.awssdk.services.organizations.model.DeleteOrganizationRequest;
import software.amazon.awssdk.services.organizations.model.DeleteOrganizationResponse;
import software.amazon.awssdk.services.organizations.model.DeleteOrganizationalUnitRequest;
import software.amazon.awssdk.services.organizations.model.DeleteOrganizationalUnitResponse;
import software.amazon.awssdk.services.organizations.model.DeletePolicyRequest;
import software.amazon.awssdk.services.organizations.model.DeletePolicyResponse;
import software.amazon.awssdk.services.organizations.model.DeleteResourcePolicyRequest;
import software.amazon.awssdk.services.organizations.model.DeleteResourcePolicyResponse;
import software.amazon.awssdk.services.organizations.model.DeregisterDelegatedAdministratorRequest;
import software.amazon.awssdk.services.organizations.model.DeregisterDelegatedAdministratorResponse;
import software.amazon.awssdk.services.organizations.model.DescribeAccountRequest;
import software.amazon.awssdk.services.organizations.model.DescribeAccountResponse;
import software.amazon.awssdk.services.organizations.model.DescribeCreateAccountStatusRequest;
import software.amazon.awssdk.services.organizations.model.DescribeCreateAccountStatusResponse;
import software.amazon.awssdk.services.organizations.model.DescribeEffectivePolicyRequest;
import software.amazon.awssdk.services.organizations.model.DescribeEffectivePolicyResponse;
import software.amazon.awssdk.services.organizations.model.DescribeHandshakeRequest;
import software.amazon.awssdk.services.organizations.model.DescribeHandshakeResponse;
import software.amazon.awssdk.services.organizations.model.DescribeOrganizationRequest;
import software.amazon.awssdk.services.organizations.model.DescribeOrganizationResponse;
import software.amazon.awssdk.services.organizations.model.DescribeOrganizationalUnitRequest;
import software.amazon.awssdk.services.organizations.model.DescribeOrganizationalUnitResponse;
import software.amazon.awssdk.services.organizations.model.DescribePolicyRequest;
import software.amazon.awssdk.services.organizations.model.DescribePolicyResponse;
import software.amazon.awssdk.services.organizations.model.DescribeResourcePolicyRequest;
import software.amazon.awssdk.services.organizations.model.DescribeResourcePolicyResponse;
import software.amazon.awssdk.services.organizations.model.DestinationParentNotFoundException;
import software.amazon.awssdk.services.organizations.model.DetachPolicyRequest;
import software.amazon.awssdk.services.organizations.model.DetachPolicyResponse;
import software.amazon.awssdk.services.organizations.model.DisableAwsServiceAccessRequest;
import software.amazon.awssdk.services.organizations.model.DisableAwsServiceAccessResponse;
import software.amazon.awssdk.services.organizations.model.DisablePolicyTypeRequest;
import software.amazon.awssdk.services.organizations.model.DisablePolicyTypeResponse;
import software.amazon.awssdk.services.organizations.model.DuplicateAccountException;
import software.amazon.awssdk.services.organizations.model.DuplicateHandshakeException;
import software.amazon.awssdk.services.organizations.model.DuplicateOrganizationalUnitException;
import software.amazon.awssdk.services.organizations.model.DuplicatePolicyAttachmentException;
import software.amazon.awssdk.services.organizations.model.DuplicatePolicyException;
import software.amazon.awssdk.services.organizations.model.EffectivePolicyNotFoundException;
import software.amazon.awssdk.services.organizations.model.EnableAllFeaturesRequest;
import software.amazon.awssdk.services.organizations.model.EnableAllFeaturesResponse;
import software.amazon.awssdk.services.organizations.model.EnableAwsServiceAccessRequest;
import software.amazon.awssdk.services.organizations.model.EnableAwsServiceAccessResponse;
import software.amazon.awssdk.services.organizations.model.EnablePolicyTypeRequest;
import software.amazon.awssdk.services.organizations.model.EnablePolicyTypeResponse;
import software.amazon.awssdk.services.organizations.model.FinalizingOrganizationException;
import software.amazon.awssdk.services.organizations.model.HandshakeAlreadyInStateException;
import software.amazon.awssdk.services.organizations.model.HandshakeConstraintViolationException;
import software.amazon.awssdk.services.organizations.model.HandshakeNotFoundException;
import software.amazon.awssdk.services.organizations.model.InvalidHandshakeTransitionException;
import software.amazon.awssdk.services.organizations.model.InvalidInputException;
import software.amazon.awssdk.services.organizations.model.InviteAccountToOrganizationRequest;
import software.amazon.awssdk.services.organizations.model.InviteAccountToOrganizationResponse;
import software.amazon.awssdk.services.organizations.model.LeaveOrganizationRequest;
import software.amazon.awssdk.services.organizations.model.LeaveOrganizationResponse;
import software.amazon.awssdk.services.organizations.model.ListAccountsForParentRequest;
import software.amazon.awssdk.services.organizations.model.ListAccountsForParentResponse;
import software.amazon.awssdk.services.organizations.model.ListAccountsRequest;
import software.amazon.awssdk.services.organizations.model.ListAccountsResponse;
import software.amazon.awssdk.services.organizations.model.ListAwsServiceAccessForOrganizationRequest;
import software.amazon.awssdk.services.organizations.model.ListAwsServiceAccessForOrganizationResponse;
import software.amazon.awssdk.services.organizations.model.ListChildrenRequest;
import software.amazon.awssdk.services.organizations.model.ListChildrenResponse;
import software.amazon.awssdk.services.organizations.model.ListCreateAccountStatusRequest;
import software.amazon.awssdk.services.organizations.model.ListCreateAccountStatusResponse;
import software.amazon.awssdk.services.organizations.model.ListDelegatedAdministratorsRequest;
import software.amazon.awssdk.services.organizations.model.ListDelegatedAdministratorsResponse;
import software.amazon.awssdk.services.organizations.model.ListDelegatedServicesForAccountRequest;
import software.amazon.awssdk.services.organizations.model.ListDelegatedServicesForAccountResponse;
import software.amazon.awssdk.services.organizations.model.ListHandshakesForAccountRequest;
import software.amazon.awssdk.services.organizations.model.ListHandshakesForAccountResponse;
import software.amazon.awssdk.services.organizations.model.ListHandshakesForOrganizationRequest;
import software.amazon.awssdk.services.organizations.model.ListHandshakesForOrganizationResponse;
import software.amazon.awssdk.services.organizations.model.ListOrganizationalUnitsForParentRequest;
import software.amazon.awssdk.services.organizations.model.ListOrganizationalUnitsForParentResponse;
import software.amazon.awssdk.services.organizations.model.ListParentsRequest;
import software.amazon.awssdk.services.organizations.model.ListParentsResponse;
import software.amazon.awssdk.services.organizations.model.ListPoliciesForTargetRequest;
import software.amazon.awssdk.services.organizations.model.ListPoliciesForTargetResponse;
import software.amazon.awssdk.services.organizations.model.ListPoliciesRequest;
import software.amazon.awssdk.services.organizations.model.ListPoliciesResponse;
import software.amazon.awssdk.services.organizations.model.ListRootsRequest;
import software.amazon.awssdk.services.organizations.model.ListRootsResponse;
import software.amazon.awssdk.services.organizations.model.ListTagsForResourceRequest;
import software.amazon.awssdk.services.organizations.model.ListTagsForResourceResponse;
import software.amazon.awssdk.services.organizations.model.ListTargetsForPolicyRequest;
import software.amazon.awssdk.services.organizations.model.ListTargetsForPolicyResponse;
import software.amazon.awssdk.services.organizations.model.MalformedPolicyDocumentException;
import software.amazon.awssdk.services.organizations.model.MasterCannotLeaveOrganizationException;
import software.amazon.awssdk.services.organizations.model.MoveAccountRequest;
import software.amazon.awssdk.services.organizations.model.MoveAccountResponse;
import software.amazon.awssdk.services.organizations.model.OrganizationNotEmptyException;
import software.amazon.awssdk.services.organizations.model.OrganizationalUnitNotEmptyException;
import software.amazon.awssdk.services.organizations.model.OrganizationalUnitNotFoundException;
import software.amazon.awssdk.services.organizations.model.OrganizationsException;
import software.amazon.awssdk.services.organizations.model.ParentNotFoundException;
import software.amazon.awssdk.services.organizations.model.PolicyChangesInProgressException;
import software.amazon.awssdk.services.organizations.model.PolicyInUseException;
import software.amazon.awssdk.services.organizations.model.PolicyNotAttachedException;
import software.amazon.awssdk.services.organizations.model.PolicyNotFoundException;
import software.amazon.awssdk.services.organizations.model.PolicyTypeAlreadyEnabledException;
import software.amazon.awssdk.services.organizations.model.PolicyTypeNotAvailableForOrganizationException;
import software.amazon.awssdk.services.organizations.model.PolicyTypeNotEnabledException;
import software.amazon.awssdk.services.organizations.model.PutResourcePolicyRequest;
import software.amazon.awssdk.services.organizations.model.PutResourcePolicyResponse;
import software.amazon.awssdk.services.organizations.model.RegisterDelegatedAdministratorRequest;
import software.amazon.awssdk.services.organizations.model.RegisterDelegatedAdministratorResponse;
import software.amazon.awssdk.services.organizations.model.RemoveAccountFromOrganizationRequest;
import software.amazon.awssdk.services.organizations.model.RemoveAccountFromOrganizationResponse;
import software.amazon.awssdk.services.organizations.model.ResourcePolicyNotFoundException;
import software.amazon.awssdk.services.organizations.model.RootNotFoundException;
import software.amazon.awssdk.services.organizations.model.ServiceException;
import software.amazon.awssdk.services.organizations.model.SourceParentNotFoundException;
import software.amazon.awssdk.services.organizations.model.TagResourceRequest;
import software.amazon.awssdk.services.organizations.model.TagResourceResponse;
import software.amazon.awssdk.services.organizations.model.TargetNotFoundException;
import software.amazon.awssdk.services.organizations.model.TooManyRequestsException;
import software.amazon.awssdk.services.organizations.model.UnsupportedApiEndpointException;
import software.amazon.awssdk.services.organizations.model.UntagResourceRequest;
import software.amazon.awssdk.services.organizations.model.UntagResourceResponse;
import software.amazon.awssdk.services.organizations.model.UpdateOrganizationalUnitRequest;
import software.amazon.awssdk.services.organizations.model.UpdateOrganizationalUnitResponse;
import software.amazon.awssdk.services.organizations.model.UpdatePolicyRequest;
import software.amazon.awssdk.services.organizations.model.UpdatePolicyResponse;
import software.amazon.awssdk.services.organizations.transform.AcceptHandshakeRequestMarshaller;
import software.amazon.awssdk.services.organizations.transform.AttachPolicyRequestMarshaller;
import software.amazon.awssdk.services.organizations.transform.CancelHandshakeRequestMarshaller;
import software.amazon.awssdk.services.organizations.transform.CloseAccountRequestMarshaller;
import software.amazon.awssdk.services.organizations.transform.CreateAccountRequestMarshaller;
import software.amazon.awssdk.services.organizations.transform.CreateGovCloudAccountRequestMarshaller;
import software.amazon.awssdk.services.organizations.transform.CreateOrganizationRequestMarshaller;
import software.amazon.awssdk.services.organizations.transform.CreateOrganizationalUnitRequestMarshaller;
import software.amazon.awssdk.services.organizations.transform.CreatePolicyRequestMarshaller;
import software.amazon.awssdk.services.organizations.transform.DeclineHandshakeRequestMarshaller;
import software.amazon.awssdk.services.organizations.transform.DeleteOrganizationRequestMarshaller;
import software.amazon.awssdk.services.organizations.transform.DeleteOrganizationalUnitRequestMarshaller;
import software.amazon.awssdk.services.organizations.transform.DeletePolicyRequestMarshaller;
import software.amazon.awssdk.services.organizations.transform.DeleteResourcePolicyRequestMarshaller;
import software.amazon.awssdk.services.organizations.transform.DeregisterDelegatedAdministratorRequestMarshaller;
import software.amazon.awssdk.services.organizations.transform.DescribeAccountRequestMarshaller;
import software.amazon.awssdk.services.organizations.transform.DescribeCreateAccountStatusRequestMarshaller;
import software.amazon.awssdk.services.organizations.transform.DescribeEffectivePolicyRequestMarshaller;
import software.amazon.awssdk.services.organizations.transform.DescribeHandshakeRequestMarshaller;
import software.amazon.awssdk.services.organizations.transform.DescribeOrganizationRequestMarshaller;
import software.amazon.awssdk.services.organizations.transform.DescribeOrganizationalUnitRequestMarshaller;
import software.amazon.awssdk.services.organizations.transform.DescribePolicyRequestMarshaller;
import software.amazon.awssdk.services.organizations.transform.DescribeResourcePolicyRequestMarshaller;
import software.amazon.awssdk.services.organizations.transform.DetachPolicyRequestMarshaller;
import software.amazon.awssdk.services.organizations.transform.DisableAwsServiceAccessRequestMarshaller;
import software.amazon.awssdk.services.organizations.transform.DisablePolicyTypeRequestMarshaller;
import software.amazon.awssdk.services.organizations.transform.EnableAllFeaturesRequestMarshaller;
import software.amazon.awssdk.services.organizations.transform.EnableAwsServiceAccessRequestMarshaller;
import software.amazon.awssdk.services.organizations.transform.EnablePolicyTypeRequestMarshaller;
import software.amazon.awssdk.services.organizations.transform.InviteAccountToOrganizationRequestMarshaller;
import software.amazon.awssdk.services.organizations.transform.LeaveOrganizationRequestMarshaller;
import software.amazon.awssdk.services.organizations.transform.ListAccountsForParentRequestMarshaller;
import software.amazon.awssdk.services.organizations.transform.ListAccountsRequestMarshaller;
import software.amazon.awssdk.services.organizations.transform.ListAwsServiceAccessForOrganizationRequestMarshaller;
import software.amazon.awssdk.services.organizations.transform.ListChildrenRequestMarshaller;
import software.amazon.awssdk.services.organizations.transform.ListCreateAccountStatusRequestMarshaller;
import software.amazon.awssdk.services.organizations.transform.ListDelegatedAdministratorsRequestMarshaller;
import software.amazon.awssdk.services.organizations.transform.ListDelegatedServicesForAccountRequestMarshaller;
import software.amazon.awssdk.services.organizations.transform.ListHandshakesForAccountRequestMarshaller;
import software.amazon.awssdk.services.organizations.transform.ListHandshakesForOrganizationRequestMarshaller;
import software.amazon.awssdk.services.organizations.transform.ListOrganizationalUnitsForParentRequestMarshaller;
import software.amazon.awssdk.services.organizations.transform.ListParentsRequestMarshaller;
import software.amazon.awssdk.services.organizations.transform.ListPoliciesForTargetRequestMarshaller;
import software.amazon.awssdk.services.organizations.transform.ListPoliciesRequestMarshaller;
import software.amazon.awssdk.services.organizations.transform.ListRootsRequestMarshaller;
import software.amazon.awssdk.services.organizations.transform.ListTagsForResourceRequestMarshaller;
import software.amazon.awssdk.services.organizations.transform.ListTargetsForPolicyRequestMarshaller;
import software.amazon.awssdk.services.organizations.transform.MoveAccountRequestMarshaller;
import software.amazon.awssdk.services.organizations.transform.PutResourcePolicyRequestMarshaller;
import software.amazon.awssdk.services.organizations.transform.RegisterDelegatedAdministratorRequestMarshaller;
import software.amazon.awssdk.services.organizations.transform.RemoveAccountFromOrganizationRequestMarshaller;
import software.amazon.awssdk.services.organizations.transform.TagResourceRequestMarshaller;
import software.amazon.awssdk.services.organizations.transform.UntagResourceRequestMarshaller;
import software.amazon.awssdk.services.organizations.transform.UpdateOrganizationalUnitRequestMarshaller;
import software.amazon.awssdk.services.organizations.transform.UpdatePolicyRequestMarshaller;
import software.amazon.awssdk.utils.Logger;

/**
 * Internal implementation of {@link OrganizationsClient}.
 *
 * @see OrganizationsClient#builder()
 */
@Generated("software.amazon.awssdk:codegen")
@SdkInternalApi
final class DefaultOrganizationsClient implements OrganizationsClient {
    private static final Logger log = Logger.loggerFor(DefaultOrganizationsClient.class);

    private static final AwsProtocolMetadata protocolMetadata = AwsProtocolMetadata.builder()
            .serviceProtocol(AwsServiceProtocol.AWS_JSON).build();

    private final SyncClientHandler clientHandler;

    private final AwsJsonProtocolFactory protocolFactory;

    private final SdkClientConfiguration clientConfiguration;

    protected DefaultOrganizationsClient(SdkClientConfiguration clientConfiguration) {
        this.clientHandler = new AwsSyncClientHandler(clientConfiguration);
        this.clientConfiguration = clientConfiguration.toBuilder().option(SdkClientOption.SDK_CLIENT, this).build();
        this.protocolFactory = init(AwsJsonProtocolFactory.builder()).build();
    }

    /**
     * 

* Sends a response to the originator of a handshake agreeing to the action proposed by the handshake request. *

*

* You can only call this operation by the following principals when they also have the relevant IAM permissions: *

*
    *
  • *

    * Invitation to join or Approve all features request handshakes: only a principal from the member * account. *

    *

    * The user who calls the API for an invitation to join must have the organizations:AcceptHandshake * permission. If you enabled all features in the organization, the user must also have the * iam:CreateServiceLinkedRole permission so that Organizations can create the required service-linked * role named AWSServiceRoleForOrganizations. For more information, see Organizations and service-linked roles in the Organizations User Guide. *

    *
  • *
  • *

    * Enable all features final confirmation handshake: only a principal from the management account. *

    *

    * For more information about invitations, see Inviting an * Amazon Web Services account to join your organization in the Organizations User Guide. For more * information about requests to enable all features in the organization, see Enabling all features in your organization in the Organizations User Guide. *

    *
  • *
*

* After you accept a handshake, it continues to appear in the results of relevant APIs for only 30 days. After * that, it's deleted. *

* * @param acceptHandshakeRequest * @return Result of the AcceptHandshake operation returned by the service. * @throws AccessDeniedException * You don't have permissions to perform the requested operation. The user or role that is making the * request must have at least one IAM permissions policy attached that grants the required permissions. For * more information, see Access * Management in the IAM User Guide. * @throws AwsOrganizationsNotInUseException * Your account isn't a member of an organization. To make this request, you must use the credentials of an * account that belongs to an organization. * @throws HandshakeConstraintViolationException * The requested operation would violate the constraint identified in the reason code.

*

* Some of the reasons in the following list might not be applicable to this specific API or operation: *

*
*
    *
  • *

    * ACCOUNT_NUMBER_LIMIT_EXCEEDED: You attempted to exceed the limit on the number of accounts in an * organization. Note that deleted and closed accounts still count toward your limit. *

    * *

    * If you get this exception immediately after creating the organization, wait one hour and try again. If * after an hour it continues to fail with this error, contact Amazon Web Services Support. *

    *
  • *
  • *

    * ALREADY_IN_AN_ORGANIZATION: The handshake request is invalid because the invited account is already a * member of an organization. *

    *
  • *
  • *

    * HANDSHAKE_RATE_LIMIT_EXCEEDED: You attempted to exceed the number of handshakes that you can send in one * day. *

    *
  • *
  • *

    * INVITE_DISABLED_DURING_ENABLE_ALL_FEATURES: You can't issue new invitations to join an organization while * it's in the process of enabling all features. You can resume inviting accounts after you finalize the * process when all accounts have agreed to the change. *

    *
  • *
  • *

    * ORGANIZATION_ALREADY_HAS_ALL_FEATURES: The handshake request is invalid because the organization has * already enabled all features. *

    *
  • *
  • *

    * ORGANIZATION_IS_ALREADY_PENDING_ALL_FEATURES_MIGRATION: The handshake request is invalid because the * organization has already started the process to enable all features. *

    *
  • *
  • *

    * ORGANIZATION_FROM_DIFFERENT_SELLER_OF_RECORD: The request failed because the account is from a different * marketplace than the accounts in the organization. For example, accounts with India addresses must be * associated with the AISPL marketplace. All accounts in an organization must be from the same marketplace. *

    *
  • *
  • *

    * ORGANIZATION_MEMBERSHIP_CHANGE_RATE_LIMIT_EXCEEDED: You attempted to change the membership of an account * too quickly after its previous change. *

    *
  • *
  • *

    * PAYMENT_INSTRUMENT_REQUIRED: You can't complete the operation with an account that doesn't have a payment * instrument, such as a credit card, associated with it. *

    *
  • * @throws HandshakeNotFoundException * We can't find a handshake with the HandshakeId that you specified. * @throws InvalidHandshakeTransitionException * You can't perform the operation on the handshake in its current state. For example, you can't cancel a * handshake that was already accepted or accept a handshake that was already declined. * @throws HandshakeAlreadyInStateException * The specified handshake is already in the requested state. For example, you can't accept a handshake that * was already accepted. * @throws InvalidInputException * The requested operation failed because you provided invalid values for one or more of the request * parameters. This exception includes a reason that contains additional information about the violated * limit:

    *

    * Some of the reasons in the following list might not be applicable to this specific API or operation. *

    *
    *
      *
    • *

      * DUPLICATE_TAG_KEY: Tag keys must be unique among the tags attached to the same entity. *

      *
    • *
    • *

      * IMMUTABLE_POLICY: You specified a policy that is managed by Amazon Web Services and can't be modified. *

      *
    • *
    • *

      * INPUT_REQUIRED: You must include a value for all required parameters. *

      *
    • *
    • *

      * INVALID_EMAIL_ADDRESS_TARGET: You specified an invalid email address for the invited account owner. *

      *
    • *
    • *

      * INVALID_ENUM: You specified an invalid value. *

      *
    • *
    • *

      * INVALID_ENUM_POLICY_TYPE: You specified an invalid policy type string. *

      *
    • *
    • *

      * INVALID_FULL_NAME_TARGET: You specified a full name that contains invalid characters. *

      *
    • *
    • *

      * INVALID_LIST_MEMBER: You provided a list to a parameter that contains at least one invalid value. *

      *
    • *
    • *

      * INVALID_PAGINATION_TOKEN: Get the value for the NextToken parameter from the response to a * previous call of the operation. *

      *
    • *
    • *

      * INVALID_PARTY_TYPE_TARGET: You specified the wrong type of entity (account, organization, or email) as a * party. *

      *
    • *
    • *

      * INVALID_PATTERN: You provided a value that doesn't match the required pattern. *

      *
    • *
    • *

      * INVALID_PATTERN_TARGET_ID: You specified a policy target ID that doesn't match the required pattern. *

      *
    • *
    • *

      * INVALID_PRINCIPAL: You specified an invalid principal element in the policy. *

      *
    • *
    • *

      * INVALID_ROLE_NAME: You provided a role name that isn't valid. A role name can't begin with the reserved * prefix AWSServiceRoleFor. *

      *
    • *
    • *

      * INVALID_SYNTAX_ORGANIZATION_ARN: You specified an invalid Amazon Resource Name (ARN) for the * organization. *

      *
    • *
    • *

      * INVALID_SYNTAX_POLICY_ID: You specified an invalid policy ID. *

      *
    • *
    • *

      * INVALID_SYSTEM_TAGS_PARAMETER: You specified a tag key that is a system tag. You can’t add, edit, or * delete system tag keys because they're reserved for Amazon Web Services use. System tags don’t count * against your tags per resource limit. *

      *
    • *
    • *

      * MAX_FILTER_LIMIT_EXCEEDED: You can specify only one filter parameter for the operation. *

      *
    • *
    • *

      * MAX_LENGTH_EXCEEDED: You provided a string parameter that is longer than allowed. *

      *
    • *
    • *

      * MAX_VALUE_EXCEEDED: You provided a numeric parameter that has a larger value than allowed. *

      *
    • *
    • *

      * MIN_LENGTH_EXCEEDED: You provided a string parameter that is shorter than allowed. *

      *
    • *
    • *

      * MIN_VALUE_EXCEEDED: You provided a numeric parameter that has a smaller value than allowed. *

      *
    • *
    • *

      * MOVING_ACCOUNT_BETWEEN_DIFFERENT_ROOTS: You can move an account only between entities in the same root. *

      *
    • *
    • *

      * NON_DETACHABLE_POLICY: You can't detach this Amazon Web Services Managed Policy. *

      *
    • *
    • *

      * TARGET_NOT_SUPPORTED: You can't perform the specified operation on that target entity. *

      *
    • *
    • *

      * UNRECOGNIZED_SERVICE_PRINCIPAL: You specified a service principal that isn't recognized. *

      *
    • * @throws ConcurrentModificationException * The target of the operation is currently being modified by a different request. Try again later. * @throws ServiceException * Organizations can't complete your request because of an internal service error. Try again later. * @throws TooManyRequestsException * You have sent too many requests in too short a period of time. The quota helps protect against * denial-of-service attacks. Try again later.

      *

      * For information about quotas that affect Organizations, see Quotas for * Organizations in the Organizations User Guide. * @throws AccessDeniedForDependencyException * The operation that you attempted requires you to have the iam:CreateServiceLinkedRole for * organizations.amazonaws.com permission so that Organizations can create the required * service-linked role. You don't have that permission. * @throws SdkException * Base class for all exceptions that can be thrown by the SDK (both service and client). Can be used for * catch all scenarios. * @throws SdkClientException * If any client side error occurs such as an IO related failure, failure to get credentials, etc. * @throws OrganizationsException * Base class for all service exceptions. Unknown exceptions will be thrown as an instance of this type. * @sample OrganizationsClient.AcceptHandshake * @see AWS * API Documentation */ @Override public AcceptHandshakeResponse acceptHandshake(AcceptHandshakeRequest acceptHandshakeRequest) throws AccessDeniedException, AwsOrganizationsNotInUseException, HandshakeConstraintViolationException, HandshakeNotFoundException, InvalidHandshakeTransitionException, HandshakeAlreadyInStateException, InvalidInputException, ConcurrentModificationException, ServiceException, TooManyRequestsException, AccessDeniedForDependencyException, AwsServiceException, SdkClientException, OrganizationsException { JsonOperationMetadata operationMetadata = JsonOperationMetadata.builder().hasStreamingSuccessResponse(false) .isPayloadJson(true).build(); HttpResponseHandler responseHandler = protocolFactory.createResponseHandler(operationMetadata, AcceptHandshakeResponse::builder); HttpResponseHandler errorResponseHandler = createErrorResponseHandler(protocolFactory, operationMetadata); SdkClientConfiguration clientConfiguration = updateSdkClientConfiguration(acceptHandshakeRequest, this.clientConfiguration); List metricPublishers = resolveMetricPublishers(clientConfiguration, acceptHandshakeRequest .overrideConfiguration().orElse(null)); MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector .create("ApiCall"); try { apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "Organizations"); apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "AcceptHandshake"); return clientHandler.execute(new ClientExecutionParams() .withOperationName("AcceptHandshake").withProtocolMetadata(protocolMetadata) .withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler) .withRequestConfiguration(clientConfiguration).withInput(acceptHandshakeRequest) .withMetricCollector(apiCallMetricCollector) .withMarshaller(new AcceptHandshakeRequestMarshaller(protocolFactory))); } finally { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); } } /** *

      * Attaches a policy to a root, an organizational unit (OU), or an individual account. How the policy affects * accounts depends on the type of policy. Refer to the Organizations User Guide for information about each * policy type: *

      * *

      * This operation can be called only from the organization's management account or by a member account that is a * delegated administrator for an Amazon Web Services service. *

      * * @param attachPolicyRequest * @return Result of the AttachPolicy operation returned by the service. * @throws AccessDeniedException * You don't have permissions to perform the requested operation. The user or role that is making the * request must have at least one IAM permissions policy attached that grants the required permissions. For * more information, see Access * Management in the IAM User Guide. * @throws AwsOrganizationsNotInUseException * Your account isn't a member of an organization. To make this request, you must use the credentials of an * account that belongs to an organization. * @throws ConcurrentModificationException * The target of the operation is currently being modified by a different request. Try again later. * @throws ConstraintViolationException * Performing this operation violates a minimum or maximum value limit. For example, attempting to remove * the last service control policy (SCP) from an OU or root, inviting or creating too many accounts to the * organization, or attaching too many policies to an account, OU, or root. This exception includes a reason * that contains additional information about the violated limit:

      *

      * Some of the reasons in the following list might not be applicable to this specific API or operation. *

      *
      *
        *
      • *

        * ACCOUNT_CANNOT_LEAVE_ORGANIZATION: You attempted to remove the management account from the organization. * You can't remove the management account. Instead, after you remove all member accounts, delete the * organization itself. *

        *
      • *
      • *

        * ACCOUNT_CANNOT_LEAVE_WITHOUT_PHONE_VERIFICATION: You attempted to remove an account from the organization * that doesn't yet have enough information to exist as a standalone account. This account requires you to * first complete phone verification. Follow the steps at Removing a member account from your organization in the Organizations User Guide. *

        *
      • *
      • *

        * ACCOUNT_CREATION_RATE_LIMIT_EXCEEDED: You attempted to exceed the number of accounts that you can create * in one day. *

        *
      • *
      • *

        * ACCOUNT_CREATION_NOT_COMPLETE: Your account setup isn't complete or your account isn't fully active. You * must complete the account setup before you create an organization. *

        *
      • *
      • *

        * ACCOUNT_NUMBER_LIMIT_EXCEEDED: You attempted to exceed the limit on the number of accounts in an * organization. If you need more accounts, contact Amazon Web Services Support to request an * increase in your limit. *

        *

        * Or the number of invitations that you tried to send would cause you to exceed the limit of accounts in * your organization. Send fewer invitations or contact Amazon Web Services Support to request an increase * in the number of accounts. *

        * *

        * Deleted and closed accounts still count toward your limit. *

        *
        *

        * If you get this exception when running a command immediately after creating the organization, wait one * hour and try again. After an hour, if the command continues to fail with this error, contact Amazon Web Services Support. *

        *
      • *
      • *

        * CANNOT_REGISTER_SUSPENDED_ACCOUNT_AS_DELEGATED_ADMINISTRATOR: You cannot register a suspended account as * a delegated administrator. *

        *
      • *
      • *

        * CANNOT_REGISTER_MASTER_AS_DELEGATED_ADMINISTRATOR: You attempted to register the management account of * the organization as a delegated administrator for an Amazon Web Services service integrated with * Organizations. You can designate only a member account as a delegated administrator. *

        *
      • *
      • *

        * CANNOT_CLOSE_MANAGEMENT_ACCOUNT: You attempted to close the management account. To close the management * account for the organization, you must first either remove or close all member accounts in the * organization. Follow standard account closure process using root credentials.​ *

        *
      • *
      • *

        * CANNOT_REMOVE_DELEGATED_ADMINISTRATOR_FROM_ORG: You attempted to remove an account that is registered as * a delegated administrator for a service integrated with your organization. To complete this operation, * you must first deregister this account as a delegated administrator. *

        *
      • *
      • *

        * CLOSE_ACCOUNT_QUOTA_EXCEEDED: You have exceeded close account quota for the past 30 days. *

        *
      • *
      • *

        * CLOSE_ACCOUNT_REQUESTS_LIMIT_EXCEEDED: You attempted to exceed the number of accounts that you can close * at a time. ​ *

        *
      • *
      • *

        * CREATE_ORGANIZATION_IN_BILLING_MODE_UNSUPPORTED_REGION: To create an organization in the specified * region, you must enable all features mode. *

        *
      • *
      • *

        * DELEGATED_ADMINISTRATOR_EXISTS_FOR_THIS_SERVICE: You attempted to register an Amazon Web Services account * as a delegated administrator for an Amazon Web Services service that already has a delegated * administrator. To complete this operation, you must first deregister any existing delegated * administrators for this service. *

        *
      • *
      • *

        * EMAIL_VERIFICATION_CODE_EXPIRED: The email verification code is only valid for a limited period of time. * You must resubmit the request and generate a new verfication code. *

        *
      • *
      • *

        * HANDSHAKE_RATE_LIMIT_EXCEEDED: You attempted to exceed the number of handshakes that you can send in one * day. *

        *
      • *
      • *

        * INVALID_PAYMENT_INSTRUMENT: You cannot remove an account because no supported payment method is * associated with the account. Amazon Web Services does not support cards issued by financial institutions * in Russia or Belarus. For more information, see Managing your * Amazon Web Services payments. *

        *
      • *
      • *

        * MASTER_ACCOUNT_ADDRESS_DOES_NOT_MATCH_MARKETPLACE: To create an account in this organization, you first * must migrate the organization's management account to the marketplace that corresponds to the management * account's address. All accounts in an organization must be associated with the same marketplace. *

        *
      • *
      • *

        * MASTER_ACCOUNT_MISSING_BUSINESS_LICENSE: Applies only to the Amazon Web Services Regions in China. To * create an organization, the master must have a valid business license. For more information, contact * customer support. *

        *
      • *
      • *

        * MASTER_ACCOUNT_MISSING_CONTACT_INFO: To complete this operation, you must first provide a valid contact * address and phone number for the management account. Then try the operation again. *

        *
      • *
      • *

        * MASTER_ACCOUNT_NOT_GOVCLOUD_ENABLED: To complete this operation, the management account must have an * associated account in the Amazon Web Services GovCloud (US-West) Region. For more information, see Organizations * in the Amazon Web Services GovCloud User Guide. *

        *
      • *
      • *

        * MASTER_ACCOUNT_PAYMENT_INSTRUMENT_REQUIRED: To create an organization with this management account, you * first must associate a valid payment instrument, such as a credit card, with the account. For more * information, see Considerations before removing an account from an organization in the Organizations User * Guide. *

        *
      • *
      • *

        * MAX_DELEGATED_ADMINISTRATORS_FOR_SERVICE_LIMIT_EXCEEDED: You attempted to register more delegated * administrators than allowed for the service principal. *

        *
      • *
      • *

        * MAX_POLICY_TYPE_ATTACHMENT_LIMIT_EXCEEDED: You attempted to exceed the number of policies of a certain * type that can be attached to an entity at one time. *

        *
      • *
      • *

        * MAX_TAG_LIMIT_EXCEEDED: You have exceeded the number of tags allowed on this resource. *

        *
      • *
      • *

        * MEMBER_ACCOUNT_PAYMENT_INSTRUMENT_REQUIRED: To complete this operation with this member account, you * first must associate a valid payment instrument, such as a credit card, with the account. For more * information, see Considerations before removing an account from an organization in the Organizations User * Guide. *

        *
      • *
      • *

        * MIN_POLICY_TYPE_ATTACHMENT_LIMIT_EXCEEDED: You attempted to detach a policy from an entity that would * cause the entity to have fewer than the minimum number of policies of a certain type required. *

        *
      • *
      • *

        * ORGANIZATION_NOT_IN_ALL_FEATURES_MODE: You attempted to perform an operation that requires the * organization to be configured to support all features. An organization that supports only consolidated * billing features can't perform this operation. *

        *
      • *
      • *

        * OU_DEPTH_LIMIT_EXCEEDED: You attempted to create an OU tree that is too many levels deep. *

        *
      • *
      • *

        * OU_NUMBER_LIMIT_EXCEEDED: You attempted to exceed the number of OUs that you can have in an organization. *

        *
      • *
      • *

        * POLICY_CONTENT_LIMIT_EXCEEDED: You attempted to create a policy that is larger than the maximum size. *

        *
      • *
      • *

        * POLICY_NUMBER_LIMIT_EXCEEDED: You attempted to exceed the number of policies that you can have in an * organization. *

        *
      • *
      • *

        * SERVICE_ACCESS_NOT_ENABLED: You attempted to register a delegated administrator before you enabled * service access. Call the EnableAWSServiceAccess API first. *

        *
      • *
      • *

        * TAG_POLICY_VIOLATION: You attempted to create or update a resource with tags that are not compliant with * the tag policy requirements for this account. *

        *
      • *
      • *

        * WAIT_PERIOD_ACTIVE: After you create an Amazon Web Services account, you must wait until at least seven * days after the account was created. Invited accounts aren't subject to this waiting period. *

        *
      • * @throws DuplicatePolicyAttachmentException * The selected policy is already attached to the specified target. * @throws InvalidInputException * The requested operation failed because you provided invalid values for one or more of the request * parameters. This exception includes a reason that contains additional information about the violated * limit:

        *

        * Some of the reasons in the following list might not be applicable to this specific API or operation. *

        *
        *
          *
        • *

          * DUPLICATE_TAG_KEY: Tag keys must be unique among the tags attached to the same entity. *

          *
        • *
        • *

          * IMMUTABLE_POLICY: You specified a policy that is managed by Amazon Web Services and can't be modified. *

          *
        • *
        • *

          * INPUT_REQUIRED: You must include a value for all required parameters. *

          *
        • *
        • *

          * INVALID_EMAIL_ADDRESS_TARGET: You specified an invalid email address for the invited account owner. *

          *
        • *
        • *

          * INVALID_ENUM: You specified an invalid value. *

          *
        • *
        • *

          * INVALID_ENUM_POLICY_TYPE: You specified an invalid policy type string. *

          *
        • *
        • *

          * INVALID_FULL_NAME_TARGET: You specified a full name that contains invalid characters. *

          *
        • *
        • *

          * INVALID_LIST_MEMBER: You provided a list to a parameter that contains at least one invalid value. *

          *
        • *
        • *

          * INVALID_PAGINATION_TOKEN: Get the value for the NextToken parameter from the response to a * previous call of the operation. *

          *
        • *
        • *

          * INVALID_PARTY_TYPE_TARGET: You specified the wrong type of entity (account, organization, or email) as a * party. *

          *
        • *
        • *

          * INVALID_PATTERN: You provided a value that doesn't match the required pattern. *

          *
        • *
        • *

          * INVALID_PATTERN_TARGET_ID: You specified a policy target ID that doesn't match the required pattern. *

          *
        • *
        • *

          * INVALID_PRINCIPAL: You specified an invalid principal element in the policy. *

          *
        • *
        • *

          * INVALID_ROLE_NAME: You provided a role name that isn't valid. A role name can't begin with the reserved * prefix AWSServiceRoleFor. *

          *
        • *
        • *

          * INVALID_SYNTAX_ORGANIZATION_ARN: You specified an invalid Amazon Resource Name (ARN) for the * organization. *

          *
        • *
        • *

          * INVALID_SYNTAX_POLICY_ID: You specified an invalid policy ID. *

          *
        • *
        • *

          * INVALID_SYSTEM_TAGS_PARAMETER: You specified a tag key that is a system tag. You can’t add, edit, or * delete system tag keys because they're reserved for Amazon Web Services use. System tags don’t count * against your tags per resource limit. *

          *
        • *
        • *

          * MAX_FILTER_LIMIT_EXCEEDED: You can specify only one filter parameter for the operation. *

          *
        • *
        • *

          * MAX_LENGTH_EXCEEDED: You provided a string parameter that is longer than allowed. *

          *
        • *
        • *

          * MAX_VALUE_EXCEEDED: You provided a numeric parameter that has a larger value than allowed. *

          *
        • *
        • *

          * MIN_LENGTH_EXCEEDED: You provided a string parameter that is shorter than allowed. *

          *
        • *
        • *

          * MIN_VALUE_EXCEEDED: You provided a numeric parameter that has a smaller value than allowed. *

          *
        • *
        • *

          * MOVING_ACCOUNT_BETWEEN_DIFFERENT_ROOTS: You can move an account only between entities in the same root. *

          *
        • *
        • *

          * NON_DETACHABLE_POLICY: You can't detach this Amazon Web Services Managed Policy. *

          *
        • *
        • *

          * TARGET_NOT_SUPPORTED: You can't perform the specified operation on that target entity. *

          *
        • *
        • *

          * UNRECOGNIZED_SERVICE_PRINCIPAL: You specified a service principal that isn't recognized. *

          *
        • * @throws PolicyNotFoundException * We can't find a policy with the PolicyId that you specified. * @throws PolicyTypeNotEnabledException * The specified policy type isn't currently enabled in this root. You can't attach policies of the * specified type to entities in a root until you enable that type in the root. For more information, see Enabling all features in your organization in the Organizations User Guide. * @throws ServiceException * Organizations can't complete your request because of an internal service error. Try again later. * @throws TargetNotFoundException * We can't find a root, OU, account, or policy with the TargetId that you specified. * @throws TooManyRequestsException * You have sent too many requests in too short a period of time. The quota helps protect against * denial-of-service attacks. Try again later.

          *

          * For information about quotas that affect Organizations, see Quotas for * Organizations in the Organizations User Guide. * @throws UnsupportedApiEndpointException * This action isn't available in the current Amazon Web Services Region. * @throws PolicyChangesInProgressException * Changes to the effective policy are in progress, and its contents can't be returned. Try the operation * again later. * @throws SdkException * Base class for all exceptions that can be thrown by the SDK (both service and client). Can be used for * catch all scenarios. * @throws SdkClientException * If any client side error occurs such as an IO related failure, failure to get credentials, etc. * @throws OrganizationsException * Base class for all service exceptions. Unknown exceptions will be thrown as an instance of this type. * @sample OrganizationsClient.AttachPolicy * @see AWS * API Documentation */ @Override public AttachPolicyResponse attachPolicy(AttachPolicyRequest attachPolicyRequest) throws AccessDeniedException, AwsOrganizationsNotInUseException, ConcurrentModificationException, ConstraintViolationException, DuplicatePolicyAttachmentException, InvalidInputException, PolicyNotFoundException, PolicyTypeNotEnabledException, ServiceException, TargetNotFoundException, TooManyRequestsException, UnsupportedApiEndpointException, PolicyChangesInProgressException, AwsServiceException, SdkClientException, OrganizationsException { JsonOperationMetadata operationMetadata = JsonOperationMetadata.builder().hasStreamingSuccessResponse(false) .isPayloadJson(true).build(); HttpResponseHandler responseHandler = protocolFactory.createResponseHandler(operationMetadata, AttachPolicyResponse::builder); HttpResponseHandler errorResponseHandler = createErrorResponseHandler(protocolFactory, operationMetadata); SdkClientConfiguration clientConfiguration = updateSdkClientConfiguration(attachPolicyRequest, this.clientConfiguration); List metricPublishers = resolveMetricPublishers(clientConfiguration, attachPolicyRequest .overrideConfiguration().orElse(null)); MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector .create("ApiCall"); try { apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "Organizations"); apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "AttachPolicy"); return clientHandler.execute(new ClientExecutionParams() .withOperationName("AttachPolicy").withProtocolMetadata(protocolMetadata) .withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler) .withRequestConfiguration(clientConfiguration).withInput(attachPolicyRequest) .withMetricCollector(apiCallMetricCollector) .withMarshaller(new AttachPolicyRequestMarshaller(protocolFactory))); } finally { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); } } /** *

          * Cancels a handshake. Canceling a handshake sets the handshake state to CANCELED. *

          *

          * This operation can be called only from the account that originated the handshake. The recipient of the handshake * can't cancel it, but can use DeclineHandshake instead. After a handshake is canceled, the recipient can no * longer respond to that handshake. *

          *

          * After you cancel a handshake, it continues to appear in the results of relevant APIs for only 30 days. After * that, it's deleted. *

          * * @param cancelHandshakeRequest * @return Result of the CancelHandshake operation returned by the service. * @throws AccessDeniedException * You don't have permissions to perform the requested operation. The user or role that is making the * request must have at least one IAM permissions policy attached that grants the required permissions. For * more information, see Access * Management in the IAM User Guide. * @throws ConcurrentModificationException * The target of the operation is currently being modified by a different request. Try again later. * @throws HandshakeNotFoundException * We can't find a handshake with the HandshakeId that you specified. * @throws InvalidHandshakeTransitionException * You can't perform the operation on the handshake in its current state. For example, you can't cancel a * handshake that was already accepted or accept a handshake that was already declined. * @throws HandshakeAlreadyInStateException * The specified handshake is already in the requested state. For example, you can't accept a handshake that * was already accepted. * @throws InvalidInputException * The requested operation failed because you provided invalid values for one or more of the request * parameters. This exception includes a reason that contains additional information about the violated * limit:

          *

          * Some of the reasons in the following list might not be applicable to this specific API or operation. *

          *
          *
            *
          • *

            * DUPLICATE_TAG_KEY: Tag keys must be unique among the tags attached to the same entity. *

            *
          • *
          • *

            * IMMUTABLE_POLICY: You specified a policy that is managed by Amazon Web Services and can't be modified. *

            *
          • *
          • *

            * INPUT_REQUIRED: You must include a value for all required parameters. *

            *
          • *
          • *

            * INVALID_EMAIL_ADDRESS_TARGET: You specified an invalid email address for the invited account owner. *

            *
          • *
          • *

            * INVALID_ENUM: You specified an invalid value. *

            *
          • *
          • *

            * INVALID_ENUM_POLICY_TYPE: You specified an invalid policy type string. *

            *
          • *
          • *

            * INVALID_FULL_NAME_TARGET: You specified a full name that contains invalid characters. *

            *
          • *
          • *

            * INVALID_LIST_MEMBER: You provided a list to a parameter that contains at least one invalid value. *

            *
          • *
          • *

            * INVALID_PAGINATION_TOKEN: Get the value for the NextToken parameter from the response to a * previous call of the operation. *

            *
          • *
          • *

            * INVALID_PARTY_TYPE_TARGET: You specified the wrong type of entity (account, organization, or email) as a * party. *

            *
          • *
          • *

            * INVALID_PATTERN: You provided a value that doesn't match the required pattern. *

            *
          • *
          • *

            * INVALID_PATTERN_TARGET_ID: You specified a policy target ID that doesn't match the required pattern. *

            *
          • *
          • *

            * INVALID_PRINCIPAL: You specified an invalid principal element in the policy. *

            *
          • *
          • *

            * INVALID_ROLE_NAME: You provided a role name that isn't valid. A role name can't begin with the reserved * prefix AWSServiceRoleFor. *

            *
          • *
          • *

            * INVALID_SYNTAX_ORGANIZATION_ARN: You specified an invalid Amazon Resource Name (ARN) for the * organization. *

            *
          • *
          • *

            * INVALID_SYNTAX_POLICY_ID: You specified an invalid policy ID. *

            *
          • *
          • *

            * INVALID_SYSTEM_TAGS_PARAMETER: You specified a tag key that is a system tag. You can’t add, edit, or * delete system tag keys because they're reserved for Amazon Web Services use. System tags don’t count * against your tags per resource limit. *

            *
          • *
          • *

            * MAX_FILTER_LIMIT_EXCEEDED: You can specify only one filter parameter for the operation. *

            *
          • *
          • *

            * MAX_LENGTH_EXCEEDED: You provided a string parameter that is longer than allowed. *

            *
          • *
          • *

            * MAX_VALUE_EXCEEDED: You provided a numeric parameter that has a larger value than allowed. *

            *
          • *
          • *

            * MIN_LENGTH_EXCEEDED: You provided a string parameter that is shorter than allowed. *

            *
          • *
          • *

            * MIN_VALUE_EXCEEDED: You provided a numeric parameter that has a smaller value than allowed. *

            *
          • *
          • *

            * MOVING_ACCOUNT_BETWEEN_DIFFERENT_ROOTS: You can move an account only between entities in the same root. *

            *
          • *
          • *

            * NON_DETACHABLE_POLICY: You can't detach this Amazon Web Services Managed Policy. *

            *
          • *
          • *

            * TARGET_NOT_SUPPORTED: You can't perform the specified operation on that target entity. *

            *
          • *
          • *

            * UNRECOGNIZED_SERVICE_PRINCIPAL: You specified a service principal that isn't recognized. *

            *
          • * @throws ServiceException * Organizations can't complete your request because of an internal service error. Try again later. * @throws TooManyRequestsException * You have sent too many requests in too short a period of time. The quota helps protect against * denial-of-service attacks. Try again later.

            *

            * For information about quotas that affect Organizations, see Quotas for * Organizations in the Organizations User Guide. * @throws SdkException * Base class for all exceptions that can be thrown by the SDK (both service and client). Can be used for * catch all scenarios. * @throws SdkClientException * If any client side error occurs such as an IO related failure, failure to get credentials, etc. * @throws OrganizationsException * Base class for all service exceptions. Unknown exceptions will be thrown as an instance of this type. * @sample OrganizationsClient.CancelHandshake * @see AWS * API Documentation */ @Override public CancelHandshakeResponse cancelHandshake(CancelHandshakeRequest cancelHandshakeRequest) throws AccessDeniedException, ConcurrentModificationException, HandshakeNotFoundException, InvalidHandshakeTransitionException, HandshakeAlreadyInStateException, InvalidInputException, ServiceException, TooManyRequestsException, AwsServiceException, SdkClientException, OrganizationsException { JsonOperationMetadata operationMetadata = JsonOperationMetadata.builder().hasStreamingSuccessResponse(false) .isPayloadJson(true).build(); HttpResponseHandler responseHandler = protocolFactory.createResponseHandler(operationMetadata, CancelHandshakeResponse::builder); HttpResponseHandler errorResponseHandler = createErrorResponseHandler(protocolFactory, operationMetadata); SdkClientConfiguration clientConfiguration = updateSdkClientConfiguration(cancelHandshakeRequest, this.clientConfiguration); List metricPublishers = resolveMetricPublishers(clientConfiguration, cancelHandshakeRequest .overrideConfiguration().orElse(null)); MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector .create("ApiCall"); try { apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "Organizations"); apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "CancelHandshake"); return clientHandler.execute(new ClientExecutionParams() .withOperationName("CancelHandshake").withProtocolMetadata(protocolMetadata) .withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler) .withRequestConfiguration(clientConfiguration).withInput(cancelHandshakeRequest) .withMetricCollector(apiCallMetricCollector) .withMarshaller(new CancelHandshakeRequestMarshaller(protocolFactory))); } finally { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); } } /** *

            * Closes an Amazon Web Services member account within an organization. You can close an account when all * features are enabled . You can't close the management account with this API. This is an asynchronous request * that Amazon Web Services performs in the background. Because CloseAccount operates asynchronously, * it can return a successful completion message even though account closure might still be in progress. You need to * wait a few minutes before the account is fully closed. To check the status of the request, do one of the * following: *

            *
              *
            • *

              * Use the AccountId that you sent in the CloseAccount request to provide as a parameter * to the DescribeAccount operation. *

              *

              * While the close account request is in progress, Account status will indicate PENDING_CLOSURE. When the close * account request completes, the status will change to SUSPENDED. *

              *
            • *
            • *

              * Check the CloudTrail log for the CloseAccountResult event that gets published after the account * closes successfully. For information on using CloudTrail with Organizations, see Logging and monitoring in Organizations in the Organizations User Guide. *

              *
            • *
            * *
              *
            • *

              * You can close only 10% of member accounts, between 10 and 1000, within a rolling 30 day period. This quota is not * bound by a calendar month, but starts when you close an account. After you reach this limit, you can't close * additional accounts. For more information, see Closing a * member account in your organization and Quotas for * Organizations in the Organizations User Guide. *

              *
            • *
            • *

              * To reinstate a closed account, contact Amazon Web Services Support within the 90-day grace period while the * account is in SUSPENDED status. *

              *
            • *
            • *

              * If the Amazon Web Services account you attempt to close is linked to an Amazon Web Services GovCloud (US) * account, the CloseAccount request will close both accounts. To learn important pre-closure details, * see Closing an * Amazon Web Services GovCloud (US) account in the Amazon Web Services GovCloud User Guide. *

              *
            • *
            *
            * * @param closeAccountRequest * @return Result of the CloseAccount operation returned by the service. * @throws AccessDeniedException * You don't have permissions to perform the requested operation. The user or role that is making the * request must have at least one IAM permissions policy attached that grants the required permissions. For * more information, see Access * Management in the IAM User Guide. * @throws AccountAlreadyClosedException * You attempted to close an account that is already closed. * @throws AccountNotFoundException * We can't find an Amazon Web Services account with the AccountId that you specified, or the * account whose credentials you used to make this request isn't a member of an organization. * @throws AwsOrganizationsNotInUseException * Your account isn't a member of an organization. To make this request, you must use the credentials of an * account that belongs to an organization. * @throws ConcurrentModificationException * The target of the operation is currently being modified by a different request. Try again later. * @throws ConflictException * The request failed because it conflicts with the current state of the specified resource. * @throws ConstraintViolationException * Performing this operation violates a minimum or maximum value limit. For example, attempting to remove * the last service control policy (SCP) from an OU or root, inviting or creating too many accounts to the * organization, or attaching too many policies to an account, OU, or root. This exception includes a reason * that contains additional information about the violated limit:

            *

            * Some of the reasons in the following list might not be applicable to this specific API or operation. *

            *
            *
              *
            • *

              * ACCOUNT_CANNOT_LEAVE_ORGANIZATION: You attempted to remove the management account from the organization. * You can't remove the management account. Instead, after you remove all member accounts, delete the * organization itself. *

              *
            • *
            • *

              * ACCOUNT_CANNOT_LEAVE_WITHOUT_PHONE_VERIFICATION: You attempted to remove an account from the organization * that doesn't yet have enough information to exist as a standalone account. This account requires you to * first complete phone verification. Follow the steps at Removing a member account from your organization in the Organizations User Guide. *

              *
            • *
            • *

              * ACCOUNT_CREATION_RATE_LIMIT_EXCEEDED: You attempted to exceed the number of accounts that you can create * in one day. *

              *
            • *
            • *

              * ACCOUNT_CREATION_NOT_COMPLETE: Your account setup isn't complete or your account isn't fully active. You * must complete the account setup before you create an organization. *

              *
            • *
            • *

              * ACCOUNT_NUMBER_LIMIT_EXCEEDED: You attempted to exceed the limit on the number of accounts in an * organization. If you need more accounts, contact Amazon Web Services Support to request an * increase in your limit. *

              *

              * Or the number of invitations that you tried to send would cause you to exceed the limit of accounts in * your organization. Send fewer invitations or contact Amazon Web Services Support to request an increase * in the number of accounts. *

              * *

              * Deleted and closed accounts still count toward your limit. *

              *
              *

              * If you get this exception when running a command immediately after creating the organization, wait one * hour and try again. After an hour, if the command continues to fail with this error, contact Amazon Web Services Support. *

              *
            • *
            • *

              * CANNOT_REGISTER_SUSPENDED_ACCOUNT_AS_DELEGATED_ADMINISTRATOR: You cannot register a suspended account as * a delegated administrator. *

              *
            • *
            • *

              * CANNOT_REGISTER_MASTER_AS_DELEGATED_ADMINISTRATOR: You attempted to register the management account of * the organization as a delegated administrator for an Amazon Web Services service integrated with * Organizations. You can designate only a member account as a delegated administrator. *

              *
            • *
            • *

              * CANNOT_CLOSE_MANAGEMENT_ACCOUNT: You attempted to close the management account. To close the management * account for the organization, you must first either remove or close all member accounts in the * organization. Follow standard account closure process using root credentials.​ *

              *
            • *
            • *

              * CANNOT_REMOVE_DELEGATED_ADMINISTRATOR_FROM_ORG: You attempted to remove an account that is registered as * a delegated administrator for a service integrated with your organization. To complete this operation, * you must first deregister this account as a delegated administrator. *

              *
            • *
            • *

              * CLOSE_ACCOUNT_QUOTA_EXCEEDED: You have exceeded close account quota for the past 30 days. *

              *
            • *
            • *

              * CLOSE_ACCOUNT_REQUESTS_LIMIT_EXCEEDED: You attempted to exceed the number of accounts that you can close * at a time. ​ *

              *
            • *
            • *

              * CREATE_ORGANIZATION_IN_BILLING_MODE_UNSUPPORTED_REGION: To create an organization in the specified * region, you must enable all features mode. *

              *
            • *
            • *

              * DELEGATED_ADMINISTRATOR_EXISTS_FOR_THIS_SERVICE: You attempted to register an Amazon Web Services account * as a delegated administrator for an Amazon Web Services service that already has a delegated * administrator. To complete this operation, you must first deregister any existing delegated * administrators for this service. *

              *
            • *
            • *

              * EMAIL_VERIFICATION_CODE_EXPIRED: The email verification code is only valid for a limited period of time. * You must resubmit the request and generate a new verfication code. *

              *
            • *
            • *

              * HANDSHAKE_RATE_LIMIT_EXCEEDED: You attempted to exceed the number of handshakes that you can send in one * day. *

              *
            • *
            • *

              * INVALID_PAYMENT_INSTRUMENT: You cannot remove an account because no supported payment method is * associated with the account. Amazon Web Services does not support cards issued by financial institutions * in Russia or Belarus. For more information, see Managing your * Amazon Web Services payments. *

              *
            • *
            • *

              * MASTER_ACCOUNT_ADDRESS_DOES_NOT_MATCH_MARKETPLACE: To create an account in this organization, you first * must migrate the organization's management account to the marketplace that corresponds to the management * account's address. All accounts in an organization must be associated with the same marketplace. *

              *
            • *
            • *

              * MASTER_ACCOUNT_MISSING_BUSINESS_LICENSE: Applies only to the Amazon Web Services Regions in China. To * create an organization, the master must have a valid business license. For more information, contact * customer support. *

              *
            • *
            • *

              * MASTER_ACCOUNT_MISSING_CONTACT_INFO: To complete this operation, you must first provide a valid contact * address and phone number for the management account. Then try the operation again. *

              *
            • *
            • *

              * MASTER_ACCOUNT_NOT_GOVCLOUD_ENABLED: To complete this operation, the management account must have an * associated account in the Amazon Web Services GovCloud (US-West) Region. For more information, see Organizations * in the Amazon Web Services GovCloud User Guide. *

              *
            • *
            • *

              * MASTER_ACCOUNT_PAYMENT_INSTRUMENT_REQUIRED: To create an organization with this management account, you * first must associate a valid payment instrument, such as a credit card, with the account. For more * information, see Considerations before removing an account from an organization in the Organizations User * Guide. *

              *
            • *
            • *

              * MAX_DELEGATED_ADMINISTRATORS_FOR_SERVICE_LIMIT_EXCEEDED: You attempted to register more delegated * administrators than allowed for the service principal. *

              *
            • *
            • *

              * MAX_POLICY_TYPE_ATTACHMENT_LIMIT_EXCEEDED: You attempted to exceed the number of policies of a certain * type that can be attached to an entity at one time. *

              *
            • *
            • *

              * MAX_TAG_LIMIT_EXCEEDED: You have exceeded the number of tags allowed on this resource. *

              *
            • *
            • *

              * MEMBER_ACCOUNT_PAYMENT_INSTRUMENT_REQUIRED: To complete this operation with this member account, you * first must associate a valid payment instrument, such as a credit card, with the account. For more * information, see Considerations before removing an account from an organization in the Organizations User * Guide. *

              *
            • *
            • *

              * MIN_POLICY_TYPE_ATTACHMENT_LIMIT_EXCEEDED: You attempted to detach a policy from an entity that would * cause the entity to have fewer than the minimum number of policies of a certain type required. *

              *
            • *
            • *

              * ORGANIZATION_NOT_IN_ALL_FEATURES_MODE: You attempted to perform an operation that requires the * organization to be configured to support all features. An organization that supports only consolidated * billing features can't perform this operation. *

              *
            • *
            • *

              * OU_DEPTH_LIMIT_EXCEEDED: You attempted to create an OU tree that is too many levels deep. *

              *
            • *
            • *

              * OU_NUMBER_LIMIT_EXCEEDED: You attempted to exceed the number of OUs that you can have in an organization. *

              *
            • *
            • *

              * POLICY_CONTENT_LIMIT_EXCEEDED: You attempted to create a policy that is larger than the maximum size. *

              *
            • *
            • *

              * POLICY_NUMBER_LIMIT_EXCEEDED: You attempted to exceed the number of policies that you can have in an * organization. *

              *
            • *
            • *

              * SERVICE_ACCESS_NOT_ENABLED: You attempted to register a delegated administrator before you enabled * service access. Call the EnableAWSServiceAccess API first. *

              *
            • *
            • *

              * TAG_POLICY_VIOLATION: You attempted to create or update a resource with tags that are not compliant with * the tag policy requirements for this account. *

              *
            • *
            • *

              * WAIT_PERIOD_ACTIVE: After you create an Amazon Web Services account, you must wait until at least seven * days after the account was created. Invited accounts aren't subject to this waiting period. *

              *
            • * @throws InvalidInputException * The requested operation failed because you provided invalid values for one or more of the request * parameters. This exception includes a reason that contains additional information about the violated * limit:

              *

              * Some of the reasons in the following list might not be applicable to this specific API or operation. *

              *
              *
                *
              • *

                * DUPLICATE_TAG_KEY: Tag keys must be unique among the tags attached to the same entity. *

                *
              • *
              • *

                * IMMUTABLE_POLICY: You specified a policy that is managed by Amazon Web Services and can't be modified. *

                *
              • *
              • *

                * INPUT_REQUIRED: You must include a value for all required parameters. *

                *
              • *
              • *

                * INVALID_EMAIL_ADDRESS_TARGET: You specified an invalid email address for the invited account owner. *

                *
              • *
              • *

                * INVALID_ENUM: You specified an invalid value. *

                *
              • *
              • *

                * INVALID_ENUM_POLICY_TYPE: You specified an invalid policy type string. *

                *
              • *
              • *

                * INVALID_FULL_NAME_TARGET: You specified a full name that contains invalid characters. *

                *
              • *
              • *

                * INVALID_LIST_MEMBER: You provided a list to a parameter that contains at least one invalid value. *

                *
              • *
              • *

                * INVALID_PAGINATION_TOKEN: Get the value for the NextToken parameter from the response to a * previous call of the operation. *

                *
              • *
              • *

                * INVALID_PARTY_TYPE_TARGET: You specified the wrong type of entity (account, organization, or email) as a * party. *

                *
              • *
              • *

                * INVALID_PATTERN: You provided a value that doesn't match the required pattern. *

                *
              • *
              • *

                * INVALID_PATTERN_TARGET_ID: You specified a policy target ID that doesn't match the required pattern. *

                *
              • *
              • *

                * INVALID_PRINCIPAL: You specified an invalid principal element in the policy. *

                *
              • *
              • *

                * INVALID_ROLE_NAME: You provided a role name that isn't valid. A role name can't begin with the reserved * prefix AWSServiceRoleFor. *

                *
              • *
              • *

                * INVALID_SYNTAX_ORGANIZATION_ARN: You specified an invalid Amazon Resource Name (ARN) for the * organization. *

                *
              • *
              • *

                * INVALID_SYNTAX_POLICY_ID: You specified an invalid policy ID. *

                *
              • *
              • *

                * INVALID_SYSTEM_TAGS_PARAMETER: You specified a tag key that is a system tag. You can’t add, edit, or * delete system tag keys because they're reserved for Amazon Web Services use. System tags don’t count * against your tags per resource limit. *

                *
              • *
              • *

                * MAX_FILTER_LIMIT_EXCEEDED: You can specify only one filter parameter for the operation. *

                *
              • *
              • *

                * MAX_LENGTH_EXCEEDED: You provided a string parameter that is longer than allowed. *

                *
              • *
              • *

                * MAX_VALUE_EXCEEDED: You provided a numeric parameter that has a larger value than allowed. *

                *
              • *
              • *

                * MIN_LENGTH_EXCEEDED: You provided a string parameter that is shorter than allowed. *

                *
              • *
              • *

                * MIN_VALUE_EXCEEDED: You provided a numeric parameter that has a smaller value than allowed. *

                *
              • *
              • *

                * MOVING_ACCOUNT_BETWEEN_DIFFERENT_ROOTS: You can move an account only between entities in the same root. *

                *
              • *
              • *

                * NON_DETACHABLE_POLICY: You can't detach this Amazon Web Services Managed Policy. *

                *
              • *
              • *

                * TARGET_NOT_SUPPORTED: You can't perform the specified operation on that target entity. *

                *
              • *
              • *

                * UNRECOGNIZED_SERVICE_PRINCIPAL: You specified a service principal that isn't recognized. *

                *
              • * @throws ServiceException * Organizations can't complete your request because of an internal service error. Try again later. * @throws TooManyRequestsException * You have sent too many requests in too short a period of time. The quota helps protect against * denial-of-service attacks. Try again later.

                *

                * For information about quotas that affect Organizations, see Quotas for * Organizations in the Organizations User Guide. * @throws UnsupportedApiEndpointException * This action isn't available in the current Amazon Web Services Region. * @throws SdkException * Base class for all exceptions that can be thrown by the SDK (both service and client). Can be used for * catch all scenarios. * @throws SdkClientException * If any client side error occurs such as an IO related failure, failure to get credentials, etc. * @throws OrganizationsException * Base class for all service exceptions. Unknown exceptions will be thrown as an instance of this type. * @sample OrganizationsClient.CloseAccount * @see AWS * API Documentation */ @Override public CloseAccountResponse closeAccount(CloseAccountRequest closeAccountRequest) throws AccessDeniedException, AccountAlreadyClosedException, AccountNotFoundException, AwsOrganizationsNotInUseException, ConcurrentModificationException, ConflictException, ConstraintViolationException, InvalidInputException, ServiceException, TooManyRequestsException, UnsupportedApiEndpointException, AwsServiceException, SdkClientException, OrganizationsException { JsonOperationMetadata operationMetadata = JsonOperationMetadata.builder().hasStreamingSuccessResponse(false) .isPayloadJson(true).build(); HttpResponseHandler responseHandler = protocolFactory.createResponseHandler(operationMetadata, CloseAccountResponse::builder); HttpResponseHandler errorResponseHandler = createErrorResponseHandler(protocolFactory, operationMetadata); SdkClientConfiguration clientConfiguration = updateSdkClientConfiguration(closeAccountRequest, this.clientConfiguration); List metricPublishers = resolveMetricPublishers(clientConfiguration, closeAccountRequest .overrideConfiguration().orElse(null)); MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector .create("ApiCall"); try { apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "Organizations"); apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "CloseAccount"); return clientHandler.execute(new ClientExecutionParams() .withOperationName("CloseAccount").withProtocolMetadata(protocolMetadata) .withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler) .withRequestConfiguration(clientConfiguration).withInput(closeAccountRequest) .withMetricCollector(apiCallMetricCollector) .withMarshaller(new CloseAccountRequestMarshaller(protocolFactory))); } finally { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); } } /** *

                * Creates an Amazon Web Services account that is automatically a member of the organization whose credentials made * the request. This is an asynchronous request that Amazon Web Services performs in the background. Because * CreateAccount operates asynchronously, it can return a successful completion message even though * account initialization might still be in progress. You might need to wait a few minutes before you can * successfully access the account. To check the status of the request, do one of the following: *

                *
                  *
                • *

                  * Use the Id value of the CreateAccountStatus response element from this operation to * provide as a parameter to the DescribeCreateAccountStatus operation. *

                  *
                • *
                • *

                  * Check the CloudTrail log for the CreateAccountResult event. For information on using CloudTrail with * Organizations, see Logging and monitoring in Organizations in the Organizations User Guide. *

                  *
                • *
                *

                * The user who calls the API to create an account must have the organizations:CreateAccount * permission. If you enabled all features in the organization, Organizations creates the required service-linked * role named AWSServiceRoleForOrganizations. For more information, see Organizations and service-linked roles in the Organizations User Guide. *

                *

                * If the request includes tags, then the requester must have the organizations:TagResource permission. *

                *

                * Organizations preconfigures the new member account with a role (named OrganizationAccountAccessRole * by default) that grants users in the management account administrator permissions in the new member account. * Principals in the management account can assume the role. Organizations clones the company name and address * information for the new account from the organization's management account. *

                *

                * This operation can be called only from the organization's management account. *

                *

                * For more information about creating accounts, see Creating a * member account in your organization in the Organizations User Guide. *

                * *
                  *
                • *

                  * When you create an account in an organization using the Organizations console, API, or CLI commands, the * information required for the account to operate as a standalone account, such as a payment method is not * automatically collected. If you must remove an account from your organization later, you can do so only after you * provide the missing information. For more information, see Considerations before removing an account from an organization in the Organizations User Guide. *

                  *
                • *
                • *

                  * If you get an exception that indicates that you exceeded your account limits for the organization, contact Amazon Web Services Support. *

                  *
                • *
                • *

                  * If you get an exception that indicates that the operation failed because your organization is still initializing, * wait one hour and then try again. If the error persists, contact Amazon Web Services Support. *

                  *
                • *
                • *

                  * It isn't recommended to use CreateAccount to create multiple temporary accounts, and using the * CreateAccount API to close accounts is subject to a 30-day usage quota. For information on the * requirements and process for closing an account, see Closing a * member account in your organization in the Organizations User Guide. *

                  *
                • *
                *
                *

                * When you create a member account with this operation, you can choose whether to create the account with the * IAM User and Role Access to Billing Information switch enabled. If you enable it, IAM users and roles that * have appropriate permissions can view billing information for the account. If you disable it, only the account * root user can access billing information. For information about how to disable this switch for an account, see Granting * access to your billing information and tools. *

                *
                * * @param createAccountRequest * @return Result of the CreateAccount operation returned by the service. * @throws AccessDeniedException * You don't have permissions to perform the requested operation. The user or role that is making the * request must have at least one IAM permissions policy attached that grants the required permissions. For * more information, see Access * Management in the IAM User Guide. * @throws AwsOrganizationsNotInUseException * Your account isn't a member of an organization. To make this request, you must use the credentials of an * account that belongs to an organization. * @throws ConcurrentModificationException * The target of the operation is currently being modified by a different request. Try again later. * @throws ConstraintViolationException * Performing this operation violates a minimum or maximum value limit. For example, attempting to remove * the last service control policy (SCP) from an OU or root, inviting or creating too many accounts to the * organization, or attaching too many policies to an account, OU, or root. This exception includes a reason * that contains additional information about the violated limit:

                *

                * Some of the reasons in the following list might not be applicable to this specific API or operation. *

                *
                *
                  *
                • *

                  * ACCOUNT_CANNOT_LEAVE_ORGANIZATION: You attempted to remove the management account from the organization. * You can't remove the management account. Instead, after you remove all member accounts, delete the * organization itself. *

                  *
                • *
                • *

                  * ACCOUNT_CANNOT_LEAVE_WITHOUT_PHONE_VERIFICATION: You attempted to remove an account from the organization * that doesn't yet have enough information to exist as a standalone account. This account requires you to * first complete phone verification. Follow the steps at Removing a member account from your organization in the Organizations User Guide. *

                  *
                • *
                • *

                  * ACCOUNT_CREATION_RATE_LIMIT_EXCEEDED: You attempted to exceed the number of accounts that you can create * in one day. *

                  *
                • *
                • *

                  * ACCOUNT_CREATION_NOT_COMPLETE: Your account setup isn't complete or your account isn't fully active. You * must complete the account setup before you create an organization. *

                  *
                • *
                • *

                  * ACCOUNT_NUMBER_LIMIT_EXCEEDED: You attempted to exceed the limit on the number of accounts in an * organization. If you need more accounts, contact Amazon Web Services Support to request an * increase in your limit. *

                  *

                  * Or the number of invitations that you tried to send would cause you to exceed the limit of accounts in * your organization. Send fewer invitations or contact Amazon Web Services Support to request an increase * in the number of accounts. *

                  * *

                  * Deleted and closed accounts still count toward your limit. *

                  *
                  *

                  * If you get this exception when running a command immediately after creating the organization, wait one * hour and try again. After an hour, if the command continues to fail with this error, contact Amazon Web Services Support. *

                  *
                • *
                • *

                  * CANNOT_REGISTER_SUSPENDED_ACCOUNT_AS_DELEGATED_ADMINISTRATOR: You cannot register a suspended account as * a delegated administrator. *

                  *
                • *
                • *

                  * CANNOT_REGISTER_MASTER_AS_DELEGATED_ADMINISTRATOR: You attempted to register the management account of * the organization as a delegated administrator for an Amazon Web Services service integrated with * Organizations. You can designate only a member account as a delegated administrator. *

                  *
                • *
                • *

                  * CANNOT_CLOSE_MANAGEMENT_ACCOUNT: You attempted to close the management account. To close the management * account for the organization, you must first either remove or close all member accounts in the * organization. Follow standard account closure process using root credentials.​ *

                  *
                • *
                • *

                  * CANNOT_REMOVE_DELEGATED_ADMINISTRATOR_FROM_ORG: You attempted to remove an account that is registered as * a delegated administrator for a service integrated with your organization. To complete this operation, * you must first deregister this account as a delegated administrator. *

                  *
                • *
                • *

                  * CLOSE_ACCOUNT_QUOTA_EXCEEDED: You have exceeded close account quota for the past 30 days. *

                  *
                • *
                • *

                  * CLOSE_ACCOUNT_REQUESTS_LIMIT_EXCEEDED: You attempted to exceed the number of accounts that you can close * at a time. ​ *

                  *
                • *
                • *

                  * CREATE_ORGANIZATION_IN_BILLING_MODE_UNSUPPORTED_REGION: To create an organization in the specified * region, you must enable all features mode. *

                  *
                • *
                • *

                  * DELEGATED_ADMINISTRATOR_EXISTS_FOR_THIS_SERVICE: You attempted to register an Amazon Web Services account * as a delegated administrator for an Amazon Web Services service that already has a delegated * administrator. To complete this operation, you must first deregister any existing delegated * administrators for this service. *

                  *
                • *
                • *

                  * EMAIL_VERIFICATION_CODE_EXPIRED: The email verification code is only valid for a limited period of time. * You must resubmit the request and generate a new verfication code. *

                  *
                • *
                • *

                  * HANDSHAKE_RATE_LIMIT_EXCEEDED: You attempted to exceed the number of handshakes that you can send in one * day. *

                  *
                • *
                • *

                  * INVALID_PAYMENT_INSTRUMENT: You cannot remove an account because no supported payment method is * associated with the account. Amazon Web Services does not support cards issued by financial institutions * in Russia or Belarus. For more information, see Managing your * Amazon Web Services payments. *

                  *
                • *
                • *

                  * MASTER_ACCOUNT_ADDRESS_DOES_NOT_MATCH_MARKETPLACE: To create an account in this organization, you first * must migrate the organization's management account to the marketplace that corresponds to the management * account's address. All accounts in an organization must be associated with the same marketplace. *

                  *
                • *
                • *

                  * MASTER_ACCOUNT_MISSING_BUSINESS_LICENSE: Applies only to the Amazon Web Services Regions in China. To * create an organization, the master must have a valid business license. For more information, contact * customer support. *

                  *
                • *
                • *

                  * MASTER_ACCOUNT_MISSING_CONTACT_INFO: To complete this operation, you must first provide a valid contact * address and phone number for the management account. Then try the operation again. *

                  *
                • *
                • *

                  * MASTER_ACCOUNT_NOT_GOVCLOUD_ENABLED: To complete this operation, the management account must have an * associated account in the Amazon Web Services GovCloud (US-West) Region. For more information, see Organizations * in the Amazon Web Services GovCloud User Guide. *

                  *
                • *
                • *

                  * MASTER_ACCOUNT_PAYMENT_INSTRUMENT_REQUIRED: To create an organization with this management account, you * first must associate a valid payment instrument, such as a credit card, with the account. For more * information, see Considerations before removing an account from an organization in the Organizations User * Guide. *

                  *
                • *
                • *

                  * MAX_DELEGATED_ADMINISTRATORS_FOR_SERVICE_LIMIT_EXCEEDED: You attempted to register more delegated * administrators than allowed for the service principal. *

                  *
                • *
                • *

                  * MAX_POLICY_TYPE_ATTACHMENT_LIMIT_EXCEEDED: You attempted to exceed the number of policies of a certain * type that can be attached to an entity at one time. *

                  *
                • *
                • *

                  * MAX_TAG_LIMIT_EXCEEDED: You have exceeded the number of tags allowed on this resource. *

                  *
                • *
                • *

                  * MEMBER_ACCOUNT_PAYMENT_INSTRUMENT_REQUIRED: To complete this operation with this member account, you * first must associate a valid payment instrument, such as a credit card, with the account. For more * information, see Considerations before removing an account from an organization in the Organizations User * Guide. *

                  *
                • *
                • *

                  * MIN_POLICY_TYPE_ATTACHMENT_LIMIT_EXCEEDED: You attempted to detach a policy from an entity that would * cause the entity to have fewer than the minimum number of policies of a certain type required. *

                  *
                • *
                • *

                  * ORGANIZATION_NOT_IN_ALL_FEATURES_MODE: You attempted to perform an operation that requires the * organization to be configured to support all features. An organization that supports only consolidated * billing features can't perform this operation. *

                  *
                • *
                • *

                  * OU_DEPTH_LIMIT_EXCEEDED: You attempted to create an OU tree that is too many levels deep. *

                  *
                • *
                • *

                  * OU_NUMBER_LIMIT_EXCEEDED: You attempted to exceed the number of OUs that you can have in an organization. *

                  *
                • *
                • *

                  * POLICY_CONTENT_LIMIT_EXCEEDED: You attempted to create a policy that is larger than the maximum size. *

                  *
                • *
                • *

                  * POLICY_NUMBER_LIMIT_EXCEEDED: You attempted to exceed the number of policies that you can have in an * organization. *

                  *
                • *
                • *

                  * SERVICE_ACCESS_NOT_ENABLED: You attempted to register a delegated administrator before you enabled * service access. Call the EnableAWSServiceAccess API first. *

                  *
                • *
                • *

                  * TAG_POLICY_VIOLATION: You attempted to create or update a resource with tags that are not compliant with * the tag policy requirements for this account. *

                  *
                • *
                • *

                  * WAIT_PERIOD_ACTIVE: After you create an Amazon Web Services account, you must wait until at least seven * days after the account was created. Invited accounts aren't subject to this waiting period. *

                  *
                • * @throws InvalidInputException * The requested operation failed because you provided invalid values for one or more of the request * parameters. This exception includes a reason that contains additional information about the violated * limit:

                  *

                  * Some of the reasons in the following list might not be applicable to this specific API or operation. *

                  *
                  *
                    *
                  • *

                    * DUPLICATE_TAG_KEY: Tag keys must be unique among the tags attached to the same entity. *

                    *
                  • *
                  • *

                    * IMMUTABLE_POLICY: You specified a policy that is managed by Amazon Web Services and can't be modified. *

                    *
                  • *
                  • *

                    * INPUT_REQUIRED: You must include a value for all required parameters. *

                    *
                  • *
                  • *

                    * INVALID_EMAIL_ADDRESS_TARGET: You specified an invalid email address for the invited account owner. *

                    *
                  • *
                  • *

                    * INVALID_ENUM: You specified an invalid value. *

                    *
                  • *
                  • *

                    * INVALID_ENUM_POLICY_TYPE: You specified an invalid policy type string. *

                    *
                  • *
                  • *

                    * INVALID_FULL_NAME_TARGET: You specified a full name that contains invalid characters. *

                    *
                  • *
                  • *

                    * INVALID_LIST_MEMBER: You provided a list to a parameter that contains at least one invalid value. *

                    *
                  • *
                  • *

                    * INVALID_PAGINATION_TOKEN: Get the value for the NextToken parameter from the response to a * previous call of the operation. *

                    *
                  • *
                  • *

                    * INVALID_PARTY_TYPE_TARGET: You specified the wrong type of entity (account, organization, or email) as a * party. *

                    *
                  • *
                  • *

                    * INVALID_PATTERN: You provided a value that doesn't match the required pattern. *

                    *
                  • *
                  • *

                    * INVALID_PATTERN_TARGET_ID: You specified a policy target ID that doesn't match the required pattern. *

                    *
                  • *
                  • *

                    * INVALID_PRINCIPAL: You specified an invalid principal element in the policy. *

                    *
                  • *
                  • *

                    * INVALID_ROLE_NAME: You provided a role name that isn't valid. A role name can't begin with the reserved * prefix AWSServiceRoleFor. *

                    *
                  • *
                  • *

                    * INVALID_SYNTAX_ORGANIZATION_ARN: You specified an invalid Amazon Resource Name (ARN) for the * organization. *

                    *
                  • *
                  • *

                    * INVALID_SYNTAX_POLICY_ID: You specified an invalid policy ID. *

                    *
                  • *
                  • *

                    * INVALID_SYSTEM_TAGS_PARAMETER: You specified a tag key that is a system tag. You can’t add, edit, or * delete system tag keys because they're reserved for Amazon Web Services use. System tags don’t count * against your tags per resource limit. *

                    *
                  • *
                  • *

                    * MAX_FILTER_LIMIT_EXCEEDED: You can specify only one filter parameter for the operation. *

                    *
                  • *
                  • *

                    * MAX_LENGTH_EXCEEDED: You provided a string parameter that is longer than allowed. *

                    *
                  • *
                  • *

                    * MAX_VALUE_EXCEEDED: You provided a numeric parameter that has a larger value than allowed. *

                    *
                  • *
                  • *

                    * MIN_LENGTH_EXCEEDED: You provided a string parameter that is shorter than allowed. *

                    *
                  • *
                  • *

                    * MIN_VALUE_EXCEEDED: You provided a numeric parameter that has a smaller value than allowed. *

                    *
                  • *
                  • *

                    * MOVING_ACCOUNT_BETWEEN_DIFFERENT_ROOTS: You can move an account only between entities in the same root. *

                    *
                  • *
                  • *

                    * NON_DETACHABLE_POLICY: You can't detach this Amazon Web Services Managed Policy. *

                    *
                  • *
                  • *

                    * TARGET_NOT_SUPPORTED: You can't perform the specified operation on that target entity. *

                    *
                  • *
                  • *

                    * UNRECOGNIZED_SERVICE_PRINCIPAL: You specified a service principal that isn't recognized. *

                    *
                  • * @throws FinalizingOrganizationException * Organizations couldn't perform the operation because your organization hasn't finished initializing. This * can take up to an hour. Try again later. If after one hour you continue to receive this error, contact Amazon Web Services Support. * @throws ServiceException * Organizations can't complete your request because of an internal service error. Try again later. * @throws TooManyRequestsException * You have sent too many requests in too short a period of time. The quota helps protect against * denial-of-service attacks. Try again later.

                    *

                    * For information about quotas that affect Organizations, see Quotas for * Organizations in the Organizations User Guide. * @throws UnsupportedApiEndpointException * This action isn't available in the current Amazon Web Services Region. * @throws SdkException * Base class for all exceptions that can be thrown by the SDK (both service and client). Can be used for * catch all scenarios. * @throws SdkClientException * If any client side error occurs such as an IO related failure, failure to get credentials, etc. * @throws OrganizationsException * Base class for all service exceptions. Unknown exceptions will be thrown as an instance of this type. * @sample OrganizationsClient.CreateAccount * @see AWS * API Documentation */ @Override public CreateAccountResponse createAccount(CreateAccountRequest createAccountRequest) throws AccessDeniedException, AwsOrganizationsNotInUseException, ConcurrentModificationException, ConstraintViolationException, InvalidInputException, FinalizingOrganizationException, ServiceException, TooManyRequestsException, UnsupportedApiEndpointException, AwsServiceException, SdkClientException, OrganizationsException { JsonOperationMetadata operationMetadata = JsonOperationMetadata.builder().hasStreamingSuccessResponse(false) .isPayloadJson(true).build(); HttpResponseHandler responseHandler = protocolFactory.createResponseHandler(operationMetadata, CreateAccountResponse::builder); HttpResponseHandler errorResponseHandler = createErrorResponseHandler(protocolFactory, operationMetadata); SdkClientConfiguration clientConfiguration = updateSdkClientConfiguration(createAccountRequest, this.clientConfiguration); List metricPublishers = resolveMetricPublishers(clientConfiguration, createAccountRequest .overrideConfiguration().orElse(null)); MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector .create("ApiCall"); try { apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "Organizations"); apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "CreateAccount"); return clientHandler.execute(new ClientExecutionParams() .withOperationName("CreateAccount").withProtocolMetadata(protocolMetadata) .withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler) .withRequestConfiguration(clientConfiguration).withInput(createAccountRequest) .withMetricCollector(apiCallMetricCollector) .withMarshaller(new CreateAccountRequestMarshaller(protocolFactory))); } finally { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); } } /** *

                    * This action is available if all of the following are true: *

                    *
                      *
                    • *

                      * You're authorized to create accounts in the Amazon Web Services GovCloud (US) Region. For more information on the * Amazon Web Services GovCloud (US) Region, see the Amazon Web Services GovCloud * User Guide. *

                      *
                    • *
                    • *

                      * You already have an account in the Amazon Web Services GovCloud (US) Region that is paired with a management * account of an organization in the commercial Region. *

                      *
                    • *
                    • *

                      * You call this action from the management account of your organization in the commercial Region. *

                      *
                    • *
                    • *

                      * You have the organizations:CreateGovCloudAccount permission. *

                      *
                    • *
                    *

                    * Organizations automatically creates the required service-linked role named * AWSServiceRoleForOrganizations. For more information, see Organizations and service-linked roles in the Organizations User Guide. *

                    *

                    * Amazon Web Services automatically enables CloudTrail for Amazon Web Services GovCloud (US) accounts, but you * should also do the following: *

                    *
                      *
                    • *

                      * Verify that CloudTrail is enabled to store logs. *

                      *
                    • *
                    • *

                      * Create an Amazon S3 bucket for CloudTrail log storage. *

                      *

                      * For more information, see Verifying CloudTrail Is * Enabled in the Amazon Web Services GovCloud User Guide. *

                      *
                    • *
                    *

                    * If the request includes tags, then the requester must have the organizations:TagResource permission. * The tags are attached to the commercial account associated with the GovCloud account, rather than the GovCloud * account itself. To add tags to the GovCloud account, call the TagResource operation in the GovCloud Region * after the new GovCloud account exists. *

                    *

                    * You call this action from the management account of your organization in the commercial Region to create a * standalone Amazon Web Services account in the Amazon Web Services GovCloud (US) Region. After the account is * created, the management account of an organization in the Amazon Web Services GovCloud (US) Region can invite it * to that organization. For more information on inviting standalone accounts in the Amazon Web Services GovCloud * (US) to join an organization, see Organizations in * the Amazon Web Services GovCloud User Guide. *

                    *

                    * Calling CreateGovCloudAccount is an asynchronous request that Amazon Web Services performs in the * background. Because CreateGovCloudAccount operates asynchronously, it can return a successful * completion message even though account initialization might still be in progress. You might need to wait a few * minutes before you can successfully access the account. To check the status of the request, do one of the * following: *

                    *
                      *
                    • *

                      * Use the OperationId response element from this operation to provide as a parameter to the * DescribeCreateAccountStatus operation. *

                      *
                    • *
                    • *

                      * Check the CloudTrail log for the CreateAccountResult event. For information on using CloudTrail with * Organizations, see Logging * and monitoring in Organizations in the Organizations User Guide. *

                      *
                    • *
                    *

                    *

                    * When you call the CreateGovCloudAccount action, you create two accounts: a standalone account in the * Amazon Web Services GovCloud (US) Region and an associated account in the commercial Region for billing and * support purposes. The account in the commercial Region is automatically a member of the organization whose * credentials made the request. Both accounts are associated with the same email address. *

                    *

                    * A role is created in the new account in the commercial Region that allows the management account in the * organization in the commercial Region to assume it. An Amazon Web Services GovCloud (US) account is then created * and associated with the commercial account that you just created. A role is also created in the new Amazon Web * Services GovCloud (US) account that can be assumed by the Amazon Web Services GovCloud (US) account that is * associated with the management account of the commercial organization. For more information and to view a diagram * that explains how account access works, see Organizations in * the Amazon Web Services GovCloud User Guide. *

                    *

                    * For more information about creating accounts, see Creating a * member account in your organization in the Organizations User Guide. *

                    * *
                      *
                    • *

                      * When you create an account in an organization using the Organizations console, API, or CLI commands, the * information required for the account to operate as a standalone account is not automatically collected. * This includes a payment method and signing the end user license agreement (EULA). If you must remove an account * from your organization later, you can do so only after you provide the missing information. For more information, * see * Considerations before removing an account from an organization in the Organizations User Guide. *

                      *
                    • *
                    • *

                      * If you get an exception that indicates that you exceeded your account limits for the organization, contact Amazon Web Services Support. *

                      *
                    • *
                    • *

                      * If you get an exception that indicates that the operation failed because your organization is still initializing, * wait one hour and then try again. If the error persists, contact Amazon Web Services Support. *

                      *
                    • *
                    • *

                      * Using CreateGovCloudAccount to create multiple temporary accounts isn't recommended. You can only * close an account from the Amazon Web Services Billing and Cost Management console, and you must be signed in as * the root user. For information on the requirements and process for closing an account, see Closing a * member account in your organization in the Organizations User Guide. *

                      *
                    • *
                    *
                    *

                    * When you create a member account with this operation, you can choose whether to create the account with the * IAM User and Role Access to Billing Information switch enabled. If you enable it, IAM users and roles that * have appropriate permissions can view billing information for the account. If you disable it, only the account * root user can access billing information. For information about how to disable this switch for an account, see Granting access to your * billing information and tools. *

                    *
                    * * @param createGovCloudAccountRequest * @return Result of the CreateGovCloudAccount operation returned by the service. * @throws AccessDeniedException * You don't have permissions to perform the requested operation. The user or role that is making the * request must have at least one IAM permissions policy attached that grants the required permissions. For * more information, see Access * Management in the IAM User Guide. * @throws AwsOrganizationsNotInUseException * Your account isn't a member of an organization. To make this request, you must use the credentials of an * account that belongs to an organization. * @throws ConcurrentModificationException * The target of the operation is currently being modified by a different request. Try again later. * @throws ConstraintViolationException * Performing this operation violates a minimum or maximum value limit. For example, attempting to remove * the last service control policy (SCP) from an OU or root, inviting or creating too many accounts to the * organization, or attaching too many policies to an account, OU, or root. This exception includes a reason * that contains additional information about the violated limit:

                    *

                    * Some of the reasons in the following list might not be applicable to this specific API or operation. *

                    *
                    *
                      *
                    • *

                      * ACCOUNT_CANNOT_LEAVE_ORGANIZATION: You attempted to remove the management account from the organization. * You can't remove the management account. Instead, after you remove all member accounts, delete the * organization itself. *

                      *
                    • *
                    • *

                      * ACCOUNT_CANNOT_LEAVE_WITHOUT_PHONE_VERIFICATION: You attempted to remove an account from the organization * that doesn't yet have enough information to exist as a standalone account. This account requires you to * first complete phone verification. Follow the steps at Removing a member account from your organization in the Organizations User Guide. *

                      *
                    • *
                    • *

                      * ACCOUNT_CREATION_RATE_LIMIT_EXCEEDED: You attempted to exceed the number of accounts that you can create * in one day. *

                      *
                    • *
                    • *

                      * ACCOUNT_CREATION_NOT_COMPLETE: Your account setup isn't complete or your account isn't fully active. You * must complete the account setup before you create an organization. *

                      *
                    • *
                    • *

                      * ACCOUNT_NUMBER_LIMIT_EXCEEDED: You attempted to exceed the limit on the number of accounts in an * organization. If you need more accounts, contact Amazon Web Services Support to request an * increase in your limit. *

                      *

                      * Or the number of invitations that you tried to send would cause you to exceed the limit of accounts in * your organization. Send fewer invitations or contact Amazon Web Services Support to request an increase * in the number of accounts. *

                      * *

                      * Deleted and closed accounts still count toward your limit. *

                      *
                      *

                      * If you get this exception when running a command immediately after creating the organization, wait one * hour and try again. After an hour, if the command continues to fail with this error, contact Amazon Web Services Support. *

                      *
                    • *
                    • *

                      * CANNOT_REGISTER_SUSPENDED_ACCOUNT_AS_DELEGATED_ADMINISTRATOR: You cannot register a suspended account as * a delegated administrator. *

                      *
                    • *
                    • *

                      * CANNOT_REGISTER_MASTER_AS_DELEGATED_ADMINISTRATOR: You attempted to register the management account of * the organization as a delegated administrator for an Amazon Web Services service integrated with * Organizations. You can designate only a member account as a delegated administrator. *

                      *
                    • *
                    • *

                      * CANNOT_CLOSE_MANAGEMENT_ACCOUNT: You attempted to close the management account. To close the management * account for the organization, you must first either remove or close all member accounts in the * organization. Follow standard account closure process using root credentials.​ *

                      *
                    • *
                    • *

                      * CANNOT_REMOVE_DELEGATED_ADMINISTRATOR_FROM_ORG: You attempted to remove an account that is registered as * a delegated administrator for a service integrated with your organization. To complete this operation, * you must first deregister this account as a delegated administrator. *

                      *
                    • *
                    • *

                      * CLOSE_ACCOUNT_QUOTA_EXCEEDED: You have exceeded close account quota for the past 30 days. *

                      *
                    • *
                    • *

                      * CLOSE_ACCOUNT_REQUESTS_LIMIT_EXCEEDED: You attempted to exceed the number of accounts that you can close * at a time. ​ *

                      *
                    • *
                    • *

                      * CREATE_ORGANIZATION_IN_BILLING_MODE_UNSUPPORTED_REGION: To create an organization in the specified * region, you must enable all features mode. *

                      *
                    • *
                    • *

                      * DELEGATED_ADMINISTRATOR_EXISTS_FOR_THIS_SERVICE: You attempted to register an Amazon Web Services account * as a delegated administrator for an Amazon Web Services service that already has a delegated * administrator. To complete this operation, you must first deregister any existing delegated * administrators for this service. *

                      *
                    • *
                    • *

                      * EMAIL_VERIFICATION_CODE_EXPIRED: The email verification code is only valid for a limited period of time. * You must resubmit the request and generate a new verfication code. *

                      *
                    • *
                    • *

                      * HANDSHAKE_RATE_LIMIT_EXCEEDED: You attempted to exceed the number of handshakes that you can send in one * day. *

                      *
                    • *
                    • *

                      * INVALID_PAYMENT_INSTRUMENT: You cannot remove an account because no supported payment method is * associated with the account. Amazon Web Services does not support cards issued by financial institutions * in Russia or Belarus. For more information, see Managing your * Amazon Web Services payments. *

                      *
                    • *
                    • *

                      * MASTER_ACCOUNT_ADDRESS_DOES_NOT_MATCH_MARKETPLACE: To create an account in this organization, you first * must migrate the organization's management account to the marketplace that corresponds to the management * account's address. All accounts in an organization must be associated with the same marketplace. *

                      *
                    • *
                    • *

                      * MASTER_ACCOUNT_MISSING_BUSINESS_LICENSE: Applies only to the Amazon Web Services Regions in China. To * create an organization, the master must have a valid business license. For more information, contact * customer support. *

                      *
                    • *
                    • *

                      * MASTER_ACCOUNT_MISSING_CONTACT_INFO: To complete this operation, you must first provide a valid contact * address and phone number for the management account. Then try the operation again. *

                      *
                    • *
                    • *

                      * MASTER_ACCOUNT_NOT_GOVCLOUD_ENABLED: To complete this operation, the management account must have an * associated account in the Amazon Web Services GovCloud (US-West) Region. For more information, see Organizations * in the Amazon Web Services GovCloud User Guide. *

                      *
                    • *
                    • *

                      * MASTER_ACCOUNT_PAYMENT_INSTRUMENT_REQUIRED: To create an organization with this management account, you * first must associate a valid payment instrument, such as a credit card, with the account. For more * information, see Considerations before removing an account from an organization in the Organizations User * Guide. *

                      *
                    • *
                    • *

                      * MAX_DELEGATED_ADMINISTRATORS_FOR_SERVICE_LIMIT_EXCEEDED: You attempted to register more delegated * administrators than allowed for the service principal. *

                      *
                    • *
                    • *

                      * MAX_POLICY_TYPE_ATTACHMENT_LIMIT_EXCEEDED: You attempted to exceed the number of policies of a certain * type that can be attached to an entity at one time. *

                      *
                    • *
                    • *

                      * MAX_TAG_LIMIT_EXCEEDED: You have exceeded the number of tags allowed on this resource. *

                      *
                    • *
                    • *

                      * MEMBER_ACCOUNT_PAYMENT_INSTRUMENT_REQUIRED: To complete this operation with this member account, you * first must associate a valid payment instrument, such as a credit card, with the account. For more * information, see Considerations before removing an account from an organization in the Organizations User * Guide. *

                      *
                    • *
                    • *

                      * MIN_POLICY_TYPE_ATTACHMENT_LIMIT_EXCEEDED: You attempted to detach a policy from an entity that would * cause the entity to have fewer than the minimum number of policies of a certain type required. *

                      *
                    • *
                    • *

                      * ORGANIZATION_NOT_IN_ALL_FEATURES_MODE: You attempted to perform an operation that requires the * organization to be configured to support all features. An organization that supports only consolidated * billing features can't perform this operation. *

                      *
                    • *
                    • *

                      * OU_DEPTH_LIMIT_EXCEEDED: You attempted to create an OU tree that is too many levels deep. *

                      *
                    • *
                    • *

                      * OU_NUMBER_LIMIT_EXCEEDED: You attempted to exceed the number of OUs that you can have in an organization. *

                      *
                    • *
                    • *

                      * POLICY_CONTENT_LIMIT_EXCEEDED: You attempted to create a policy that is larger than the maximum size. *

                      *
                    • *
                    • *

                      * POLICY_NUMBER_LIMIT_EXCEEDED: You attempted to exceed the number of policies that you can have in an * organization. *

                      *
                    • *
                    • *

                      * SERVICE_ACCESS_NOT_ENABLED: You attempted to register a delegated administrator before you enabled * service access. Call the EnableAWSServiceAccess API first. *

                      *
                    • *
                    • *

                      * TAG_POLICY_VIOLATION: You attempted to create or update a resource with tags that are not compliant with * the tag policy requirements for this account. *

                      *
                    • *
                    • *

                      * WAIT_PERIOD_ACTIVE: After you create an Amazon Web Services account, you must wait until at least seven * days after the account was created. Invited accounts aren't subject to this waiting period. *

                      *
                    • * @throws InvalidInputException * The requested operation failed because you provided invalid values for one or more of the request * parameters. This exception includes a reason that contains additional information about the violated * limit:

                      *

                      * Some of the reasons in the following list might not be applicable to this specific API or operation. *

                      *
                      *
                        *
                      • *

                        * DUPLICATE_TAG_KEY: Tag keys must be unique among the tags attached to the same entity. *

                        *
                      • *
                      • *

                        * IMMUTABLE_POLICY: You specified a policy that is managed by Amazon Web Services and can't be modified. *

                        *
                      • *
                      • *

                        * INPUT_REQUIRED: You must include a value for all required parameters. *

                        *
                      • *
                      • *

                        * INVALID_EMAIL_ADDRESS_TARGET: You specified an invalid email address for the invited account owner. *

                        *
                      • *
                      • *

                        * INVALID_ENUM: You specified an invalid value. *

                        *
                      • *
                      • *

                        * INVALID_ENUM_POLICY_TYPE: You specified an invalid policy type string. *

                        *
                      • *
                      • *

                        * INVALID_FULL_NAME_TARGET: You specified a full name that contains invalid characters. *

                        *
                      • *
                      • *

                        * INVALID_LIST_MEMBER: You provided a list to a parameter that contains at least one invalid value. *

                        *
                      • *
                      • *

                        * INVALID_PAGINATION_TOKEN: Get the value for the NextToken parameter from the response to a * previous call of the operation. *

                        *
                      • *
                      • *

                        * INVALID_PARTY_TYPE_TARGET: You specified the wrong type of entity (account, organization, or email) as a * party. *

                        *
                      • *
                      • *

                        * INVALID_PATTERN: You provided a value that doesn't match the required pattern. *

                        *
                      • *
                      • *

                        * INVALID_PATTERN_TARGET_ID: You specified a policy target ID that doesn't match the required pattern. *

                        *
                      • *
                      • *

                        * INVALID_PRINCIPAL: You specified an invalid principal element in the policy. *

                        *
                      • *
                      • *

                        * INVALID_ROLE_NAME: You provided a role name that isn't valid. A role name can't begin with the reserved * prefix AWSServiceRoleFor. *

                        *
                      • *
                      • *

                        * INVALID_SYNTAX_ORGANIZATION_ARN: You specified an invalid Amazon Resource Name (ARN) for the * organization. *

                        *
                      • *
                      • *

                        * INVALID_SYNTAX_POLICY_ID: You specified an invalid policy ID. *

                        *
                      • *
                      • *

                        * INVALID_SYSTEM_TAGS_PARAMETER: You specified a tag key that is a system tag. You can’t add, edit, or * delete system tag keys because they're reserved for Amazon Web Services use. System tags don’t count * against your tags per resource limit. *

                        *
                      • *
                      • *

                        * MAX_FILTER_LIMIT_EXCEEDED: You can specify only one filter parameter for the operation. *

                        *
                      • *
                      • *

                        * MAX_LENGTH_EXCEEDED: You provided a string parameter that is longer than allowed. *

                        *
                      • *
                      • *

                        * MAX_VALUE_EXCEEDED: You provided a numeric parameter that has a larger value than allowed. *

                        *
                      • *
                      • *

                        * MIN_LENGTH_EXCEEDED: You provided a string parameter that is shorter than allowed. *

                        *
                      • *
                      • *

                        * MIN_VALUE_EXCEEDED: You provided a numeric parameter that has a smaller value than allowed. *

                        *
                      • *
                      • *

                        * MOVING_ACCOUNT_BETWEEN_DIFFERENT_ROOTS: You can move an account only between entities in the same root. *

                        *
                      • *
                      • *

                        * NON_DETACHABLE_POLICY: You can't detach this Amazon Web Services Managed Policy. *

                        *
                      • *
                      • *

                        * TARGET_NOT_SUPPORTED: You can't perform the specified operation on that target entity. *

                        *
                      • *
                      • *

                        * UNRECOGNIZED_SERVICE_PRINCIPAL: You specified a service principal that isn't recognized. *

                        *
                      • * @throws FinalizingOrganizationException * Organizations couldn't perform the operation because your organization hasn't finished initializing. This * can take up to an hour. Try again later. If after one hour you continue to receive this error, contact Amazon Web Services Support. * @throws ServiceException * Organizations can't complete your request because of an internal service error. Try again later. * @throws TooManyRequestsException * You have sent too many requests in too short a period of time. The quota helps protect against * denial-of-service attacks. Try again later.

                        *

                        * For information about quotas that affect Organizations, see Quotas for * Organizations in the Organizations User Guide. * @throws UnsupportedApiEndpointException * This action isn't available in the current Amazon Web Services Region. * @throws SdkException * Base class for all exceptions that can be thrown by the SDK (both service and client). Can be used for * catch all scenarios. * @throws SdkClientException * If any client side error occurs such as an IO related failure, failure to get credentials, etc. * @throws OrganizationsException * Base class for all service exceptions. Unknown exceptions will be thrown as an instance of this type. * @sample OrganizationsClient.CreateGovCloudAccount * @see AWS API Documentation */ @Override public CreateGovCloudAccountResponse createGovCloudAccount(CreateGovCloudAccountRequest createGovCloudAccountRequest) throws AccessDeniedException, AwsOrganizationsNotInUseException, ConcurrentModificationException, ConstraintViolationException, InvalidInputException, FinalizingOrganizationException, ServiceException, TooManyRequestsException, UnsupportedApiEndpointException, AwsServiceException, SdkClientException, OrganizationsException { JsonOperationMetadata operationMetadata = JsonOperationMetadata.builder().hasStreamingSuccessResponse(false) .isPayloadJson(true).build(); HttpResponseHandler responseHandler = protocolFactory.createResponseHandler( operationMetadata, CreateGovCloudAccountResponse::builder); HttpResponseHandler errorResponseHandler = createErrorResponseHandler(protocolFactory, operationMetadata); SdkClientConfiguration clientConfiguration = updateSdkClientConfiguration(createGovCloudAccountRequest, this.clientConfiguration); List metricPublishers = resolveMetricPublishers(clientConfiguration, createGovCloudAccountRequest .overrideConfiguration().orElse(null)); MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector .create("ApiCall"); try { apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "Organizations"); apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "CreateGovCloudAccount"); return clientHandler.execute(new ClientExecutionParams() .withOperationName("CreateGovCloudAccount").withProtocolMetadata(protocolMetadata) .withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler) .withRequestConfiguration(clientConfiguration).withInput(createGovCloudAccountRequest) .withMetricCollector(apiCallMetricCollector) .withMarshaller(new CreateGovCloudAccountRequestMarshaller(protocolFactory))); } finally { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); } } /** *

                        * Creates an Amazon Web Services organization. The account whose user is calling the * CreateOrganization operation automatically becomes the management account of the new organization. *

                        *

                        * This operation must be called using credentials from the account that is to become the new organization's * management account. The principal must also have the relevant IAM permissions. *

                        *

                        * By default (or if you set the FeatureSet parameter to ALL), the new organization is * created with all features enabled and service control policies automatically enabled in the root. If you instead * choose to create the organization supporting only the consolidated billing features by setting the * FeatureSet parameter to CONSOLIDATED_BILLING, no policy types are enabled by default * and you can't use organization policies. *

                        * * @param createOrganizationRequest * @return Result of the CreateOrganization operation returned by the service. * @throws AccessDeniedException * You don't have permissions to perform the requested operation. The user or role that is making the * request must have at least one IAM permissions policy attached that grants the required permissions. For * more information, see Access * Management in the IAM User Guide. * @throws AlreadyInOrganizationException * This account is already a member of an organization. An account can belong to only one organization at a * time. * @throws ConcurrentModificationException * The target of the operation is currently being modified by a different request. Try again later. * @throws ConstraintViolationException * Performing this operation violates a minimum or maximum value limit. For example, attempting to remove * the last service control policy (SCP) from an OU or root, inviting or creating too many accounts to the * organization, or attaching too many policies to an account, OU, or root. This exception includes a reason * that contains additional information about the violated limit:

                        *

                        * Some of the reasons in the following list might not be applicable to this specific API or operation. *

                        *
                        *
                          *
                        • *

                          * ACCOUNT_CANNOT_LEAVE_ORGANIZATION: You attempted to remove the management account from the organization. * You can't remove the management account. Instead, after you remove all member accounts, delete the * organization itself. *

                          *
                        • *
                        • *

                          * ACCOUNT_CANNOT_LEAVE_WITHOUT_PHONE_VERIFICATION: You attempted to remove an account from the organization * that doesn't yet have enough information to exist as a standalone account. This account requires you to * first complete phone verification. Follow the steps at Removing a member account from your organization in the Organizations User Guide. *

                          *
                        • *
                        • *

                          * ACCOUNT_CREATION_RATE_LIMIT_EXCEEDED: You attempted to exceed the number of accounts that you can create * in one day. *

                          *
                        • *
                        • *

                          * ACCOUNT_CREATION_NOT_COMPLETE: Your account setup isn't complete or your account isn't fully active. You * must complete the account setup before you create an organization. *

                          *
                        • *
                        • *

                          * ACCOUNT_NUMBER_LIMIT_EXCEEDED: You attempted to exceed the limit on the number of accounts in an * organization. If you need more accounts, contact Amazon Web Services Support to request an * increase in your limit. *

                          *

                          * Or the number of invitations that you tried to send would cause you to exceed the limit of accounts in * your organization. Send fewer invitations or contact Amazon Web Services Support to request an increase * in the number of accounts. *

                          * *

                          * Deleted and closed accounts still count toward your limit. *

                          *
                          *

                          * If you get this exception when running a command immediately after creating the organization, wait one * hour and try again. After an hour, if the command continues to fail with this error, contact Amazon Web Services Support. *

                          *
                        • *
                        • *

                          * CANNOT_REGISTER_SUSPENDED_ACCOUNT_AS_DELEGATED_ADMINISTRATOR: You cannot register a suspended account as * a delegated administrator. *

                          *
                        • *
                        • *

                          * CANNOT_REGISTER_MASTER_AS_DELEGATED_ADMINISTRATOR: You attempted to register the management account of * the organization as a delegated administrator for an Amazon Web Services service integrated with * Organizations. You can designate only a member account as a delegated administrator. *

                          *
                        • *
                        • *

                          * CANNOT_CLOSE_MANAGEMENT_ACCOUNT: You attempted to close the management account. To close the management * account for the organization, you must first either remove or close all member accounts in the * organization. Follow standard account closure process using root credentials.​ *

                          *
                        • *
                        • *

                          * CANNOT_REMOVE_DELEGATED_ADMINISTRATOR_FROM_ORG: You attempted to remove an account that is registered as * a delegated administrator for a service integrated with your organization. To complete this operation, * you must first deregister this account as a delegated administrator. *

                          *
                        • *
                        • *

                          * CLOSE_ACCOUNT_QUOTA_EXCEEDED: You have exceeded close account quota for the past 30 days. *

                          *
                        • *
                        • *

                          * CLOSE_ACCOUNT_REQUESTS_LIMIT_EXCEEDED: You attempted to exceed the number of accounts that you can close * at a time. ​ *

                          *
                        • *
                        • *

                          * CREATE_ORGANIZATION_IN_BILLING_MODE_UNSUPPORTED_REGION: To create an organization in the specified * region, you must enable all features mode. *

                          *
                        • *
                        • *

                          * DELEGATED_ADMINISTRATOR_EXISTS_FOR_THIS_SERVICE: You attempted to register an Amazon Web Services account * as a delegated administrator for an Amazon Web Services service that already has a delegated * administrator. To complete this operation, you must first deregister any existing delegated * administrators for this service. *

                          *
                        • *
                        • *

                          * EMAIL_VERIFICATION_CODE_EXPIRED: The email verification code is only valid for a limited period of time. * You must resubmit the request and generate a new verfication code. *

                          *
                        • *
                        • *

                          * HANDSHAKE_RATE_LIMIT_EXCEEDED: You attempted to exceed the number of handshakes that you can send in one * day. *

                          *
                        • *
                        • *

                          * INVALID_PAYMENT_INSTRUMENT: You cannot remove an account because no supported payment method is * associated with the account. Amazon Web Services does not support cards issued by financial institutions * in Russia or Belarus. For more information, see Managing your * Amazon Web Services payments. *

                          *
                        • *
                        • *

                          * MASTER_ACCOUNT_ADDRESS_DOES_NOT_MATCH_MARKETPLACE: To create an account in this organization, you first * must migrate the organization's management account to the marketplace that corresponds to the management * account's address. All accounts in an organization must be associated with the same marketplace. *

                          *
                        • *
                        • *

                          * MASTER_ACCOUNT_MISSING_BUSINESS_LICENSE: Applies only to the Amazon Web Services Regions in China. To * create an organization, the master must have a valid business license. For more information, contact * customer support. *

                          *
                        • *
                        • *

                          * MASTER_ACCOUNT_MISSING_CONTACT_INFO: To complete this operation, you must first provide a valid contact * address and phone number for the management account. Then try the operation again. *

                          *
                        • *
                        • *

                          * MASTER_ACCOUNT_NOT_GOVCLOUD_ENABLED: To complete this operation, the management account must have an * associated account in the Amazon Web Services GovCloud (US-West) Region. For more information, see Organizations * in the Amazon Web Services GovCloud User Guide. *

                          *
                        • *
                        • *

                          * MASTER_ACCOUNT_PAYMENT_INSTRUMENT_REQUIRED: To create an organization with this management account, you * first must associate a valid payment instrument, such as a credit card, with the account. For more * information, see Considerations before removing an account from an organization in the Organizations User * Guide. *

                          *
                        • *
                        • *

                          * MAX_DELEGATED_ADMINISTRATORS_FOR_SERVICE_LIMIT_EXCEEDED: You attempted to register more delegated * administrators than allowed for the service principal. *

                          *
                        • *
                        • *

                          * MAX_POLICY_TYPE_ATTACHMENT_LIMIT_EXCEEDED: You attempted to exceed the number of policies of a certain * type that can be attached to an entity at one time. *

                          *
                        • *
                        • *

                          * MAX_TAG_LIMIT_EXCEEDED: You have exceeded the number of tags allowed on this resource. *

                          *
                        • *
                        • *

                          * MEMBER_ACCOUNT_PAYMENT_INSTRUMENT_REQUIRED: To complete this operation with this member account, you * first must associate a valid payment instrument, such as a credit card, with the account. For more * information, see Considerations before removing an account from an organization in the Organizations User * Guide. *

                          *
                        • *
                        • *

                          * MIN_POLICY_TYPE_ATTACHMENT_LIMIT_EXCEEDED: You attempted to detach a policy from an entity that would * cause the entity to have fewer than the minimum number of policies of a certain type required. *

                          *
                        • *
                        • *

                          * ORGANIZATION_NOT_IN_ALL_FEATURES_MODE: You attempted to perform an operation that requires the * organization to be configured to support all features. An organization that supports only consolidated * billing features can't perform this operation. *

                          *
                        • *
                        • *

                          * OU_DEPTH_LIMIT_EXCEEDED: You attempted to create an OU tree that is too many levels deep. *

                          *
                        • *
                        • *

                          * OU_NUMBER_LIMIT_EXCEEDED: You attempted to exceed the number of OUs that you can have in an organization. *

                          *
                        • *
                        • *

                          * POLICY_CONTENT_LIMIT_EXCEEDED: You attempted to create a policy that is larger than the maximum size. *

                          *
                        • *
                        • *

                          * POLICY_NUMBER_LIMIT_EXCEEDED: You attempted to exceed the number of policies that you can have in an * organization. *

                          *
                        • *
                        • *

                          * SERVICE_ACCESS_NOT_ENABLED: You attempted to register a delegated administrator before you enabled * service access. Call the EnableAWSServiceAccess API first. *

                          *
                        • *
                        • *

                          * TAG_POLICY_VIOLATION: You attempted to create or update a resource with tags that are not compliant with * the tag policy requirements for this account. *

                          *
                        • *
                        • *

                          * WAIT_PERIOD_ACTIVE: After you create an Amazon Web Services account, you must wait until at least seven * days after the account was created. Invited accounts aren't subject to this waiting period. *

                          *
                        • * @throws InvalidInputException * The requested operation failed because you provided invalid values for one or more of the request * parameters. This exception includes a reason that contains additional information about the violated * limit:

                          *

                          * Some of the reasons in the following list might not be applicable to this specific API or operation. *

                          *
                          *
                            *
                          • *

                            * DUPLICATE_TAG_KEY: Tag keys must be unique among the tags attached to the same entity. *

                            *
                          • *
                          • *

                            * IMMUTABLE_POLICY: You specified a policy that is managed by Amazon Web Services and can't be modified. *

                            *
                          • *
                          • *

                            * INPUT_REQUIRED: You must include a value for all required parameters. *

                            *
                          • *
                          • *

                            * INVALID_EMAIL_ADDRESS_TARGET: You specified an invalid email address for the invited account owner. *

                            *
                          • *
                          • *

                            * INVALID_ENUM: You specified an invalid value. *

                            *
                          • *
                          • *

                            * INVALID_ENUM_POLICY_TYPE: You specified an invalid policy type string. *

                            *
                          • *
                          • *

                            * INVALID_FULL_NAME_TARGET: You specified a full name that contains invalid characters. *

                            *
                          • *
                          • *

                            * INVALID_LIST_MEMBER: You provided a list to a parameter that contains at least one invalid value. *

                            *
                          • *
                          • *

                            * INVALID_PAGINATION_TOKEN: Get the value for the NextToken parameter from the response to a * previous call of the operation. *

                            *
                          • *
                          • *

                            * INVALID_PARTY_TYPE_TARGET: You specified the wrong type of entity (account, organization, or email) as a * party. *

                            *
                          • *
                          • *

                            * INVALID_PATTERN: You provided a value that doesn't match the required pattern. *

                            *
                          • *
                          • *

                            * INVALID_PATTERN_TARGET_ID: You specified a policy target ID that doesn't match the required pattern. *

                            *
                          • *
                          • *

                            * INVALID_PRINCIPAL: You specified an invalid principal element in the policy. *

                            *
                          • *
                          • *

                            * INVALID_ROLE_NAME: You provided a role name that isn't valid. A role name can't begin with the reserved * prefix AWSServiceRoleFor. *

                            *
                          • *
                          • *

                            * INVALID_SYNTAX_ORGANIZATION_ARN: You specified an invalid Amazon Resource Name (ARN) for the * organization. *

                            *
                          • *
                          • *

                            * INVALID_SYNTAX_POLICY_ID: You specified an invalid policy ID. *

                            *
                          • *
                          • *

                            * INVALID_SYSTEM_TAGS_PARAMETER: You specified a tag key that is a system tag. You can’t add, edit, or * delete system tag keys because they're reserved for Amazon Web Services use. System tags don’t count * against your tags per resource limit. *

                            *
                          • *
                          • *

                            * MAX_FILTER_LIMIT_EXCEEDED: You can specify only one filter parameter for the operation. *

                            *
                          • *
                          • *

                            * MAX_LENGTH_EXCEEDED: You provided a string parameter that is longer than allowed. *

                            *
                          • *
                          • *

                            * MAX_VALUE_EXCEEDED: You provided a numeric parameter that has a larger value than allowed. *

                            *
                          • *
                          • *

                            * MIN_LENGTH_EXCEEDED: You provided a string parameter that is shorter than allowed. *

                            *
                          • *
                          • *

                            * MIN_VALUE_EXCEEDED: You provided a numeric parameter that has a smaller value than allowed. *

                            *
                          • *
                          • *

                            * MOVING_ACCOUNT_BETWEEN_DIFFERENT_ROOTS: You can move an account only between entities in the same root. *

                            *
                          • *
                          • *

                            * NON_DETACHABLE_POLICY: You can't detach this Amazon Web Services Managed Policy. *

                            *
                          • *
                          • *

                            * TARGET_NOT_SUPPORTED: You can't perform the specified operation on that target entity. *

                            *
                          • *
                          • *

                            * UNRECOGNIZED_SERVICE_PRINCIPAL: You specified a service principal that isn't recognized. *

                            *
                          • * @throws ServiceException * Organizations can't complete your request because of an internal service error. Try again later. * @throws TooManyRequestsException * You have sent too many requests in too short a period of time. The quota helps protect against * denial-of-service attacks. Try again later.

                            *

                            * For information about quotas that affect Organizations, see Quotas for * Organizations in the Organizations User Guide. * @throws AccessDeniedForDependencyException * The operation that you attempted requires you to have the iam:CreateServiceLinkedRole for * organizations.amazonaws.com permission so that Organizations can create the required * service-linked role. You don't have that permission. * @throws SdkException * Base class for all exceptions that can be thrown by the SDK (both service and client). Can be used for * catch all scenarios. * @throws SdkClientException * If any client side error occurs such as an IO related failure, failure to get credentials, etc. * @throws OrganizationsException * Base class for all service exceptions. Unknown exceptions will be thrown as an instance of this type. * @sample OrganizationsClient.CreateOrganization * @see AWS API Documentation */ @Override public CreateOrganizationResponse createOrganization(CreateOrganizationRequest createOrganizationRequest) throws AccessDeniedException, AlreadyInOrganizationException, ConcurrentModificationException, ConstraintViolationException, InvalidInputException, ServiceException, TooManyRequestsException, AccessDeniedForDependencyException, AwsServiceException, SdkClientException, OrganizationsException { JsonOperationMetadata operationMetadata = JsonOperationMetadata.builder().hasStreamingSuccessResponse(false) .isPayloadJson(true).build(); HttpResponseHandler responseHandler = protocolFactory.createResponseHandler( operationMetadata, CreateOrganizationResponse::builder); HttpResponseHandler errorResponseHandler = createErrorResponseHandler(protocolFactory, operationMetadata); SdkClientConfiguration clientConfiguration = updateSdkClientConfiguration(createOrganizationRequest, this.clientConfiguration); List metricPublishers = resolveMetricPublishers(clientConfiguration, createOrganizationRequest .overrideConfiguration().orElse(null)); MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector .create("ApiCall"); try { apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "Organizations"); apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "CreateOrganization"); return clientHandler.execute(new ClientExecutionParams() .withOperationName("CreateOrganization").withProtocolMetadata(protocolMetadata) .withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler) .withRequestConfiguration(clientConfiguration).withInput(createOrganizationRequest) .withMetricCollector(apiCallMetricCollector) .withMarshaller(new CreateOrganizationRequestMarshaller(protocolFactory))); } finally { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); } } /** *

                            * Creates an organizational unit (OU) within a root or parent OU. An OU is a container for accounts that enables * you to organize your accounts to apply policies according to your business requirements. The number of levels * deep that you can nest OUs is dependent upon the policy types enabled for that root. For service control * policies, the limit is five. *

                            *

                            * For more information about OUs, see Managing organizational * units (OUs) in the Organizations User Guide. *

                            *

                            * If the request includes tags, then the requester must have the organizations:TagResource permission. *

                            *

                            * This operation can be called only from the organization's management account. *

                            * * @param createOrganizationalUnitRequest * @return Result of the CreateOrganizationalUnit operation returned by the service. * @throws AccessDeniedException * You don't have permissions to perform the requested operation. The user or role that is making the * request must have at least one IAM permissions policy attached that grants the required permissions. For * more information, see Access * Management in the IAM User Guide. * @throws AwsOrganizationsNotInUseException * Your account isn't a member of an organization. To make this request, you must use the credentials of an * account that belongs to an organization. * @throws ConcurrentModificationException * The target of the operation is currently being modified by a different request. Try again later. * @throws ConstraintViolationException * Performing this operation violates a minimum or maximum value limit. For example, attempting to remove * the last service control policy (SCP) from an OU or root, inviting or creating too many accounts to the * organization, or attaching too many policies to an account, OU, or root. This exception includes a reason * that contains additional information about the violated limit:

                            *

                            * Some of the reasons in the following list might not be applicable to this specific API or operation. *

                            *
                            *
                              *
                            • *

                              * ACCOUNT_CANNOT_LEAVE_ORGANIZATION: You attempted to remove the management account from the organization. * You can't remove the management account. Instead, after you remove all member accounts, delete the * organization itself. *

                              *
                            • *
                            • *

                              * ACCOUNT_CANNOT_LEAVE_WITHOUT_PHONE_VERIFICATION: You attempted to remove an account from the organization * that doesn't yet have enough information to exist as a standalone account. This account requires you to * first complete phone verification. Follow the steps at Removing a member account from your organization in the Organizations User Guide. *

                              *
                            • *
                            • *

                              * ACCOUNT_CREATION_RATE_LIMIT_EXCEEDED: You attempted to exceed the number of accounts that you can create * in one day. *

                              *
                            • *
                            • *

                              * ACCOUNT_CREATION_NOT_COMPLETE: Your account setup isn't complete or your account isn't fully active. You * must complete the account setup before you create an organization. *

                              *
                            • *
                            • *

                              * ACCOUNT_NUMBER_LIMIT_EXCEEDED: You attempted to exceed the limit on the number of accounts in an * organization. If you need more accounts, contact Amazon Web Services Support to request an * increase in your limit. *

                              *

                              * Or the number of invitations that you tried to send would cause you to exceed the limit of accounts in * your organization. Send fewer invitations or contact Amazon Web Services Support to request an increase * in the number of accounts. *

                              * *

                              * Deleted and closed accounts still count toward your limit. *

                              *
                              *

                              * If you get this exception when running a command immediately after creating the organization, wait one * hour and try again. After an hour, if the command continues to fail with this error, contact Amazon Web Services Support. *

                              *
                            • *
                            • *

                              * CANNOT_REGISTER_SUSPENDED_ACCOUNT_AS_DELEGATED_ADMINISTRATOR: You cannot register a suspended account as * a delegated administrator. *

                              *
                            • *
                            • *

                              * CANNOT_REGISTER_MASTER_AS_DELEGATED_ADMINISTRATOR: You attempted to register the management account of * the organization as a delegated administrator for an Amazon Web Services service integrated with * Organizations. You can designate only a member account as a delegated administrator. *

                              *
                            • *
                            • *

                              * CANNOT_CLOSE_MANAGEMENT_ACCOUNT: You attempted to close the management account. To close the management * account for the organization, you must first either remove or close all member accounts in the * organization. Follow standard account closure process using root credentials.​ *

                              *
                            • *
                            • *

                              * CANNOT_REMOVE_DELEGATED_ADMINISTRATOR_FROM_ORG: You attempted to remove an account that is registered as * a delegated administrator for a service integrated with your organization. To complete this operation, * you must first deregister this account as a delegated administrator. *

                              *
                            • *
                            • *

                              * CLOSE_ACCOUNT_QUOTA_EXCEEDED: You have exceeded close account quota for the past 30 days. *

                              *
                            • *
                            • *

                              * CLOSE_ACCOUNT_REQUESTS_LIMIT_EXCEEDED: You attempted to exceed the number of accounts that you can close * at a time. ​ *

                              *
                            • *
                            • *

                              * CREATE_ORGANIZATION_IN_BILLING_MODE_UNSUPPORTED_REGION: To create an organization in the specified * region, you must enable all features mode. *

                              *
                            • *
                            • *

                              * DELEGATED_ADMINISTRATOR_EXISTS_FOR_THIS_SERVICE: You attempted to register an Amazon Web Services account * as a delegated administrator for an Amazon Web Services service that already has a delegated * administrator. To complete this operation, you must first deregister any existing delegated * administrators for this service. *

                              *
                            • *
                            • *

                              * EMAIL_VERIFICATION_CODE_EXPIRED: The email verification code is only valid for a limited period of time. * You must resubmit the request and generate a new verfication code. *

                              *
                            • *
                            • *

                              * HANDSHAKE_RATE_LIMIT_EXCEEDED: You attempted to exceed the number of handshakes that you can send in one * day. *

                              *
                            • *
                            • *

                              * INVALID_PAYMENT_INSTRUMENT: You cannot remove an account because no supported payment method is * associated with the account. Amazon Web Services does not support cards issued by financial institutions * in Russia or Belarus. For more information, see Managing your * Amazon Web Services payments. *

                              *
                            • *
                            • *

                              * MASTER_ACCOUNT_ADDRESS_DOES_NOT_MATCH_MARKETPLACE: To create an account in this organization, you first * must migrate the organization's management account to the marketplace that corresponds to the management * account's address. All accounts in an organization must be associated with the same marketplace. *

                              *
                            • *
                            • *

                              * MASTER_ACCOUNT_MISSING_BUSINESS_LICENSE: Applies only to the Amazon Web Services Regions in China. To * create an organization, the master must have a valid business license. For more information, contact * customer support. *

                              *
                            • *
                            • *

                              * MASTER_ACCOUNT_MISSING_CONTACT_INFO: To complete this operation, you must first provide a valid contact * address and phone number for the management account. Then try the operation again. *

                              *
                            • *
                            • *

                              * MASTER_ACCOUNT_NOT_GOVCLOUD_ENABLED: To complete this operation, the management account must have an * associated account in the Amazon Web Services GovCloud (US-West) Region. For more information, see Organizations * in the Amazon Web Services GovCloud User Guide. *

                              *
                            • *
                            • *

                              * MASTER_ACCOUNT_PAYMENT_INSTRUMENT_REQUIRED: To create an organization with this management account, you * first must associate a valid payment instrument, such as a credit card, with the account. For more * information, see Considerations before removing an account from an organization in the Organizations User * Guide. *

                              *
                            • *
                            • *

                              * MAX_DELEGATED_ADMINISTRATORS_FOR_SERVICE_LIMIT_EXCEEDED: You attempted to register more delegated * administrators than allowed for the service principal. *

                              *
                            • *
                            • *

                              * MAX_POLICY_TYPE_ATTACHMENT_LIMIT_EXCEEDED: You attempted to exceed the number of policies of a certain * type that can be attached to an entity at one time. *

                              *
                            • *
                            • *

                              * MAX_TAG_LIMIT_EXCEEDED: You have exceeded the number of tags allowed on this resource. *

                              *
                            • *
                            • *

                              * MEMBER_ACCOUNT_PAYMENT_INSTRUMENT_REQUIRED: To complete this operation with this member account, you * first must associate a valid payment instrument, such as a credit card, with the account. For more * information, see Considerations before removing an account from an organization in the Organizations User * Guide. *

                              *
                            • *
                            • *

                              * MIN_POLICY_TYPE_ATTACHMENT_LIMIT_EXCEEDED: You attempted to detach a policy from an entity that would * cause the entity to have fewer than the minimum number of policies of a certain type required. *

                              *
                            • *
                            • *

                              * ORGANIZATION_NOT_IN_ALL_FEATURES_MODE: You attempted to perform an operation that requires the * organization to be configured to support all features. An organization that supports only consolidated * billing features can't perform this operation. *

                              *
                            • *
                            • *

                              * OU_DEPTH_LIMIT_EXCEEDED: You attempted to create an OU tree that is too many levels deep. *

                              *
                            • *
                            • *

                              * OU_NUMBER_LIMIT_EXCEEDED: You attempted to exceed the number of OUs that you can have in an organization. *

                              *
                            • *
                            • *

                              * POLICY_CONTENT_LIMIT_EXCEEDED: You attempted to create a policy that is larger than the maximum size. *

                              *
                            • *
                            • *

                              * POLICY_NUMBER_LIMIT_EXCEEDED: You attempted to exceed the number of policies that you can have in an * organization. *

                              *
                            • *
                            • *

                              * SERVICE_ACCESS_NOT_ENABLED: You attempted to register a delegated administrator before you enabled * service access. Call the EnableAWSServiceAccess API first. *

                              *
                            • *
                            • *

                              * TAG_POLICY_VIOLATION: You attempted to create or update a resource with tags that are not compliant with * the tag policy requirements for this account. *

                              *
                            • *
                            • *

                              * WAIT_PERIOD_ACTIVE: After you create an Amazon Web Services account, you must wait until at least seven * days after the account was created. Invited accounts aren't subject to this waiting period. *

                              *
                            • * @throws DuplicateOrganizationalUnitException * An OU with the same name already exists. * @throws InvalidInputException * The requested operation failed because you provided invalid values for one or more of the request * parameters. This exception includes a reason that contains additional information about the violated * limit:

                              *

                              * Some of the reasons in the following list might not be applicable to this specific API or operation. *

                              *
                              *
                                *
                              • *

                                * DUPLICATE_TAG_KEY: Tag keys must be unique among the tags attached to the same entity. *

                                *
                              • *
                              • *

                                * IMMUTABLE_POLICY: You specified a policy that is managed by Amazon Web Services and can't be modified. *

                                *
                              • *
                              • *

                                * INPUT_REQUIRED: You must include a value for all required parameters. *

                                *
                              • *
                              • *

                                * INVALID_EMAIL_ADDRESS_TARGET: You specified an invalid email address for the invited account owner. *

                                *
                              • *
                              • *

                                * INVALID_ENUM: You specified an invalid value. *

                                *
                              • *
                              • *

                                * INVALID_ENUM_POLICY_TYPE: You specified an invalid policy type string. *

                                *
                              • *
                              • *

                                * INVALID_FULL_NAME_TARGET: You specified a full name that contains invalid characters. *

                                *
                              • *
                              • *

                                * INVALID_LIST_MEMBER: You provided a list to a parameter that contains at least one invalid value. *

                                *
                              • *
                              • *

                                * INVALID_PAGINATION_TOKEN: Get the value for the NextToken parameter from the response to a * previous call of the operation. *

                                *
                              • *
                              • *

                                * INVALID_PARTY_TYPE_TARGET: You specified the wrong type of entity (account, organization, or email) as a * party. *

                                *
                              • *
                              • *

                                * INVALID_PATTERN: You provided a value that doesn't match the required pattern. *

                                *
                              • *
                              • *

                                * INVALID_PATTERN_TARGET_ID: You specified a policy target ID that doesn't match the required pattern. *

                                *
                              • *
                              • *

                                * INVALID_PRINCIPAL: You specified an invalid principal element in the policy. *

                                *
                              • *
                              • *

                                * INVALID_ROLE_NAME: You provided a role name that isn't valid. A role name can't begin with the reserved * prefix AWSServiceRoleFor. *

                                *
                              • *
                              • *

                                * INVALID_SYNTAX_ORGANIZATION_ARN: You specified an invalid Amazon Resource Name (ARN) for the * organization. *

                                *
                              • *
                              • *

                                * INVALID_SYNTAX_POLICY_ID: You specified an invalid policy ID. *

                                *
                              • *
                              • *

                                * INVALID_SYSTEM_TAGS_PARAMETER: You specified a tag key that is a system tag. You can’t add, edit, or * delete system tag keys because they're reserved for Amazon Web Services use. System tags don’t count * against your tags per resource limit. *

                                *
                              • *
                              • *

                                * MAX_FILTER_LIMIT_EXCEEDED: You can specify only one filter parameter for the operation. *

                                *
                              • *
                              • *

                                * MAX_LENGTH_EXCEEDED: You provided a string parameter that is longer than allowed. *

                                *
                              • *
                              • *

                                * MAX_VALUE_EXCEEDED: You provided a numeric parameter that has a larger value than allowed. *

                                *
                              • *
                              • *

                                * MIN_LENGTH_EXCEEDED: You provided a string parameter that is shorter than allowed. *

                                *
                              • *
                              • *

                                * MIN_VALUE_EXCEEDED: You provided a numeric parameter that has a smaller value than allowed. *

                                *
                              • *
                              • *

                                * MOVING_ACCOUNT_BETWEEN_DIFFERENT_ROOTS: You can move an account only between entities in the same root. *

                                *
                              • *
                              • *

                                * NON_DETACHABLE_POLICY: You can't detach this Amazon Web Services Managed Policy. *

                                *
                              • *
                              • *

                                * TARGET_NOT_SUPPORTED: You can't perform the specified operation on that target entity. *

                                *
                              • *
                              • *

                                * UNRECOGNIZED_SERVICE_PRINCIPAL: You specified a service principal that isn't recognized. *

                                *
                              • * @throws ParentNotFoundException * We can't find a root or OU with the ParentId that you specified. * @throws ServiceException * Organizations can't complete your request because of an internal service error. Try again later. * @throws TooManyRequestsException * You have sent too many requests in too short a period of time. The quota helps protect against * denial-of-service attacks. Try again later.

                                *

                                * For information about quotas that affect Organizations, see Quotas for * Organizations in the Organizations User Guide. * @throws SdkException * Base class for all exceptions that can be thrown by the SDK (both service and client). Can be used for * catch all scenarios. * @throws SdkClientException * If any client side error occurs such as an IO related failure, failure to get credentials, etc. * @throws OrganizationsException * Base class for all service exceptions. Unknown exceptions will be thrown as an instance of this type. * @sample OrganizationsClient.CreateOrganizationalUnit * @see AWS API Documentation */ @Override public CreateOrganizationalUnitResponse createOrganizationalUnit( CreateOrganizationalUnitRequest createOrganizationalUnitRequest) throws AccessDeniedException, AwsOrganizationsNotInUseException, ConcurrentModificationException, ConstraintViolationException, DuplicateOrganizationalUnitException, InvalidInputException, ParentNotFoundException, ServiceException, TooManyRequestsException, AwsServiceException, SdkClientException, OrganizationsException { JsonOperationMetadata operationMetadata = JsonOperationMetadata.builder().hasStreamingSuccessResponse(false) .isPayloadJson(true).build(); HttpResponseHandler responseHandler = protocolFactory.createResponseHandler( operationMetadata, CreateOrganizationalUnitResponse::builder); HttpResponseHandler errorResponseHandler = createErrorResponseHandler(protocolFactory, operationMetadata); SdkClientConfiguration clientConfiguration = updateSdkClientConfiguration(createOrganizationalUnitRequest, this.clientConfiguration); List metricPublishers = resolveMetricPublishers(clientConfiguration, createOrganizationalUnitRequest .overrideConfiguration().orElse(null)); MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector .create("ApiCall"); try { apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "Organizations"); apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "CreateOrganizationalUnit"); return clientHandler .execute(new ClientExecutionParams() .withOperationName("CreateOrganizationalUnit").withProtocolMetadata(protocolMetadata) .withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler) .withRequestConfiguration(clientConfiguration).withInput(createOrganizationalUnitRequest) .withMetricCollector(apiCallMetricCollector) .withMarshaller(new CreateOrganizationalUnitRequestMarshaller(protocolFactory))); } finally { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); } } /** *

                                * Creates a policy of a specified type that you can attach to a root, an organizational unit (OU), or an individual * Amazon Web Services account. *

                                *

                                * For more information about policies and their use, see Managing * Organizations policies. *

                                *

                                * If the request includes tags, then the requester must have the organizations:TagResource permission. *

                                *

                                * This operation can be called only from the organization's management account or by a member account that is a * delegated administrator for an Amazon Web Services service. *

                                * * @param createPolicyRequest * @return Result of the CreatePolicy operation returned by the service. * @throws AccessDeniedException * You don't have permissions to perform the requested operation. The user or role that is making the * request must have at least one IAM permissions policy attached that grants the required permissions. For * more information, see Access * Management in the IAM User Guide. * @throws AwsOrganizationsNotInUseException * Your account isn't a member of an organization. To make this request, you must use the credentials of an * account that belongs to an organization. * @throws ConcurrentModificationException * The target of the operation is currently being modified by a different request. Try again later. * @throws ConstraintViolationException * Performing this operation violates a minimum or maximum value limit. For example, attempting to remove * the last service control policy (SCP) from an OU or root, inviting or creating too many accounts to the * organization, or attaching too many policies to an account, OU, or root. This exception includes a reason * that contains additional information about the violated limit:

                                *

                                * Some of the reasons in the following list might not be applicable to this specific API or operation. *

                                *
                                *
                                  *
                                • *

                                  * ACCOUNT_CANNOT_LEAVE_ORGANIZATION: You attempted to remove the management account from the organization. * You can't remove the management account. Instead, after you remove all member accounts, delete the * organization itself. *

                                  *
                                • *
                                • *

                                  * ACCOUNT_CANNOT_LEAVE_WITHOUT_PHONE_VERIFICATION: You attempted to remove an account from the organization * that doesn't yet have enough information to exist as a standalone account. This account requires you to * first complete phone verification. Follow the steps at Removing a member account from your organization in the Organizations User Guide. *

                                  *
                                • *
                                • *

                                  * ACCOUNT_CREATION_RATE_LIMIT_EXCEEDED: You attempted to exceed the number of accounts that you can create * in one day. *

                                  *
                                • *
                                • *

                                  * ACCOUNT_CREATION_NOT_COMPLETE: Your account setup isn't complete or your account isn't fully active. You * must complete the account setup before you create an organization. *

                                  *
                                • *
                                • *

                                  * ACCOUNT_NUMBER_LIMIT_EXCEEDED: You attempted to exceed the limit on the number of accounts in an * organization. If you need more accounts, contact Amazon Web Services Support to request an * increase in your limit. *

                                  *

                                  * Or the number of invitations that you tried to send would cause you to exceed the limit of accounts in * your organization. Send fewer invitations or contact Amazon Web Services Support to request an increase * in the number of accounts. *

                                  * *

                                  * Deleted and closed accounts still count toward your limit. *

                                  *
                                  *

                                  * If you get this exception when running a command immediately after creating the organization, wait one * hour and try again. After an hour, if the command continues to fail with this error, contact Amazon Web Services Support. *

                                  *
                                • *
                                • *

                                  * CANNOT_REGISTER_SUSPENDED_ACCOUNT_AS_DELEGATED_ADMINISTRATOR: You cannot register a suspended account as * a delegated administrator. *

                                  *
                                • *
                                • *

                                  * CANNOT_REGISTER_MASTER_AS_DELEGATED_ADMINISTRATOR: You attempted to register the management account of * the organization as a delegated administrator for an Amazon Web Services service integrated with * Organizations. You can designate only a member account as a delegated administrator. *

                                  *
                                • *
                                • *

                                  * CANNOT_CLOSE_MANAGEMENT_ACCOUNT: You attempted to close the management account. To close the management * account for the organization, you must first either remove or close all member accounts in the * organization. Follow standard account closure process using root credentials.​ *

                                  *
                                • *
                                • *

                                  * CANNOT_REMOVE_DELEGATED_ADMINISTRATOR_FROM_ORG: You attempted to remove an account that is registered as * a delegated administrator for a service integrated with your organization. To complete this operation, * you must first deregister this account as a delegated administrator. *

                                  *
                                • *
                                • *

                                  * CLOSE_ACCOUNT_QUOTA_EXCEEDED: You have exceeded close account quota for the past 30 days. *

                                  *
                                • *
                                • *

                                  * CLOSE_ACCOUNT_REQUESTS_LIMIT_EXCEEDED: You attempted to exceed the number of accounts that you can close * at a time. ​ *

                                  *
                                • *
                                • *

                                  * CREATE_ORGANIZATION_IN_BILLING_MODE_UNSUPPORTED_REGION: To create an organization in the specified * region, you must enable all features mode. *

                                  *
                                • *
                                • *

                                  * DELEGATED_ADMINISTRATOR_EXISTS_FOR_THIS_SERVICE: You attempted to register an Amazon Web Services account * as a delegated administrator for an Amazon Web Services service that already has a delegated * administrator. To complete this operation, you must first deregister any existing delegated * administrators for this service. *

                                  *
                                • *
                                • *

                                  * EMAIL_VERIFICATION_CODE_EXPIRED: The email verification code is only valid for a limited period of time. * You must resubmit the request and generate a new verfication code. *

                                  *
                                • *
                                • *

                                  * HANDSHAKE_RATE_LIMIT_EXCEEDED: You attempted to exceed the number of handshakes that you can send in one * day. *

                                  *
                                • *
                                • *

                                  * INVALID_PAYMENT_INSTRUMENT: You cannot remove an account because no supported payment method is * associated with the account. Amazon Web Services does not support cards issued by financial institutions * in Russia or Belarus. For more information, see Managing your * Amazon Web Services payments. *

                                  *
                                • *
                                • *

                                  * MASTER_ACCOUNT_ADDRESS_DOES_NOT_MATCH_MARKETPLACE: To create an account in this organization, you first * must migrate the organization's management account to the marketplace that corresponds to the management * account's address. All accounts in an organization must be associated with the same marketplace. *

                                  *
                                • *
                                • *

                                  * MASTER_ACCOUNT_MISSING_BUSINESS_LICENSE: Applies only to the Amazon Web Services Regions in China. To * create an organization, the master must have a valid business license. For more information, contact * customer support. *

                                  *
                                • *
                                • *

                                  * MASTER_ACCOUNT_MISSING_CONTACT_INFO: To complete this operation, you must first provide a valid contact * address and phone number for the management account. Then try the operation again. *

                                  *
                                • *
                                • *

                                  * MASTER_ACCOUNT_NOT_GOVCLOUD_ENABLED: To complete this operation, the management account must have an * associated account in the Amazon Web Services GovCloud (US-West) Region. For more information, see Organizations * in the Amazon Web Services GovCloud User Guide. *

                                  *
                                • *
                                • *

                                  * MASTER_ACCOUNT_PAYMENT_INSTRUMENT_REQUIRED: To create an organization with this management account, you * first must associate a valid payment instrument, such as a credit card, with the account. For more * information, see Considerations before removing an account from an organization in the Organizations User * Guide. *

                                  *
                                • *
                                • *

                                  * MAX_DELEGATED_ADMINISTRATORS_FOR_SERVICE_LIMIT_EXCEEDED: You attempted to register more delegated * administrators than allowed for the service principal. *

                                  *
                                • *
                                • *

                                  * MAX_POLICY_TYPE_ATTACHMENT_LIMIT_EXCEEDED: You attempted to exceed the number of policies of a certain * type that can be attached to an entity at one time. *

                                  *
                                • *
                                • *

                                  * MAX_TAG_LIMIT_EXCEEDED: You have exceeded the number of tags allowed on this resource. *

                                  *
                                • *
                                • *

                                  * MEMBER_ACCOUNT_PAYMENT_INSTRUMENT_REQUIRED: To complete this operation with this member account, you * first must associate a valid payment instrument, such as a credit card, with the account. For more * information, see Considerations before removing an account from an organization in the Organizations User * Guide. *

                                  *
                                • *
                                • *

                                  * MIN_POLICY_TYPE_ATTACHMENT_LIMIT_EXCEEDED: You attempted to detach a policy from an entity that would * cause the entity to have fewer than the minimum number of policies of a certain type required. *

                                  *
                                • *
                                • *

                                  * ORGANIZATION_NOT_IN_ALL_FEATURES_MODE: You attempted to perform an operation that requires the * organization to be configured to support all features. An organization that supports only consolidated * billing features can't perform this operation. *

                                  *
                                • *
                                • *

                                  * OU_DEPTH_LIMIT_EXCEEDED: You attempted to create an OU tree that is too many levels deep. *

                                  *
                                • *
                                • *

                                  * OU_NUMBER_LIMIT_EXCEEDED: You attempted to exceed the number of OUs that you can have in an organization. *

                                  *
                                • *
                                • *

                                  * POLICY_CONTENT_LIMIT_EXCEEDED: You attempted to create a policy that is larger than the maximum size. *

                                  *
                                • *
                                • *

                                  * POLICY_NUMBER_LIMIT_EXCEEDED: You attempted to exceed the number of policies that you can have in an * organization. *

                                  *
                                • *
                                • *

                                  * SERVICE_ACCESS_NOT_ENABLED: You attempted to register a delegated administrator before you enabled * service access. Call the EnableAWSServiceAccess API first. *

                                  *
                                • *
                                • *

                                  * TAG_POLICY_VIOLATION: You attempted to create or update a resource with tags that are not compliant with * the tag policy requirements for this account. *

                                  *
                                • *
                                • *

                                  * WAIT_PERIOD_ACTIVE: After you create an Amazon Web Services account, you must wait until at least seven * days after the account was created. Invited accounts aren't subject to this waiting period. *

                                  *
                                • * @throws DuplicatePolicyException * A policy with the same name already exists. * @throws InvalidInputException * The requested operation failed because you provided invalid values for one or more of the request * parameters. This exception includes a reason that contains additional information about the violated * limit:

                                  *

                                  * Some of the reasons in the following list might not be applicable to this specific API or operation. *

                                  *
                                  *
                                    *
                                  • *

                                    * DUPLICATE_TAG_KEY: Tag keys must be unique among the tags attached to the same entity. *

                                    *
                                  • *
                                  • *

                                    * IMMUTABLE_POLICY: You specified a policy that is managed by Amazon Web Services and can't be modified. *

                                    *
                                  • *
                                  • *

                                    * INPUT_REQUIRED: You must include a value for all required parameters. *

                                    *
                                  • *
                                  • *

                                    * INVALID_EMAIL_ADDRESS_TARGET: You specified an invalid email address for the invited account owner. *

                                    *
                                  • *
                                  • *

                                    * INVALID_ENUM: You specified an invalid value. *

                                    *
                                  • *
                                  • *

                                    * INVALID_ENUM_POLICY_TYPE: You specified an invalid policy type string. *

                                    *
                                  • *
                                  • *

                                    * INVALID_FULL_NAME_TARGET: You specified a full name that contains invalid characters. *

                                    *
                                  • *
                                  • *

                                    * INVALID_LIST_MEMBER: You provided a list to a parameter that contains at least one invalid value. *

                                    *
                                  • *
                                  • *

                                    * INVALID_PAGINATION_TOKEN: Get the value for the NextToken parameter from the response to a * previous call of the operation. *

                                    *
                                  • *
                                  • *

                                    * INVALID_PARTY_TYPE_TARGET: You specified the wrong type of entity (account, organization, or email) as a * party. *

                                    *
                                  • *
                                  • *

                                    * INVALID_PATTERN: You provided a value that doesn't match the required pattern. *

                                    *
                                  • *
                                  • *

                                    * INVALID_PATTERN_TARGET_ID: You specified a policy target ID that doesn't match the required pattern. *

                                    *
                                  • *
                                  • *

                                    * INVALID_PRINCIPAL: You specified an invalid principal element in the policy. *

                                    *
                                  • *
                                  • *

                                    * INVALID_ROLE_NAME: You provided a role name that isn't valid. A role name can't begin with the reserved * prefix AWSServiceRoleFor. *

                                    *
                                  • *
                                  • *

                                    * INVALID_SYNTAX_ORGANIZATION_ARN: You specified an invalid Amazon Resource Name (ARN) for the * organization. *

                                    *
                                  • *
                                  • *

                                    * INVALID_SYNTAX_POLICY_ID: You specified an invalid policy ID. *

                                    *
                                  • *
                                  • *

                                    * INVALID_SYSTEM_TAGS_PARAMETER: You specified a tag key that is a system tag. You can’t add, edit, or * delete system tag keys because they're reserved for Amazon Web Services use. System tags don’t count * against your tags per resource limit. *

                                    *
                                  • *
                                  • *

                                    * MAX_FILTER_LIMIT_EXCEEDED: You can specify only one filter parameter for the operation. *

                                    *
                                  • *
                                  • *

                                    * MAX_LENGTH_EXCEEDED: You provided a string parameter that is longer than allowed. *

                                    *
                                  • *
                                  • *

                                    * MAX_VALUE_EXCEEDED: You provided a numeric parameter that has a larger value than allowed. *

                                    *
                                  • *
                                  • *

                                    * MIN_LENGTH_EXCEEDED: You provided a string parameter that is shorter than allowed. *

                                    *
                                  • *
                                  • *

                                    * MIN_VALUE_EXCEEDED: You provided a numeric parameter that has a smaller value than allowed. *

                                    *
                                  • *
                                  • *

                                    * MOVING_ACCOUNT_BETWEEN_DIFFERENT_ROOTS: You can move an account only between entities in the same root. *

                                    *
                                  • *
                                  • *

                                    * NON_DETACHABLE_POLICY: You can't detach this Amazon Web Services Managed Policy. *

                                    *
                                  • *
                                  • *

                                    * TARGET_NOT_SUPPORTED: You can't perform the specified operation on that target entity. *

                                    *
                                  • *
                                  • *

                                    * UNRECOGNIZED_SERVICE_PRINCIPAL: You specified a service principal that isn't recognized. *

                                    *
                                  • * @throws MalformedPolicyDocumentException * The provided policy document doesn't meet the requirements of the specified policy type. For example, the * syntax might be incorrect. For details about service control policy syntax, see SCP syntax in the Organizations User Guide. * @throws PolicyTypeNotAvailableForOrganizationException * You can't use the specified policy type with the feature set currently enabled for this organization. For * example, you can enable SCPs only after you enable all features in the organization. For more * information, see Managing Organizations policiesin the Organizations User Guide. * @throws ServiceException * Organizations can't complete your request because of an internal service error. Try again later. * @throws TooManyRequestsException * You have sent too many requests in too short a period of time. The quota helps protect against * denial-of-service attacks. Try again later.

                                    *

                                    * For information about quotas that affect Organizations, see Quotas for * Organizations in the Organizations User Guide. * @throws UnsupportedApiEndpointException * This action isn't available in the current Amazon Web Services Region. * @throws SdkException * Base class for all exceptions that can be thrown by the SDK (both service and client). Can be used for * catch all scenarios. * @throws SdkClientException * If any client side error occurs such as an IO related failure, failure to get credentials, etc. * @throws OrganizationsException * Base class for all service exceptions. Unknown exceptions will be thrown as an instance of this type. * @sample OrganizationsClient.CreatePolicy * @see AWS * API Documentation */ @Override public CreatePolicyResponse createPolicy(CreatePolicyRequest createPolicyRequest) throws AccessDeniedException, AwsOrganizationsNotInUseException, ConcurrentModificationException, ConstraintViolationException, DuplicatePolicyException, InvalidInputException, MalformedPolicyDocumentException, PolicyTypeNotAvailableForOrganizationException, ServiceException, TooManyRequestsException, UnsupportedApiEndpointException, AwsServiceException, SdkClientException, OrganizationsException { JsonOperationMetadata operationMetadata = JsonOperationMetadata.builder().hasStreamingSuccessResponse(false) .isPayloadJson(true).build(); HttpResponseHandler responseHandler = protocolFactory.createResponseHandler(operationMetadata, CreatePolicyResponse::builder); HttpResponseHandler errorResponseHandler = createErrorResponseHandler(protocolFactory, operationMetadata); SdkClientConfiguration clientConfiguration = updateSdkClientConfiguration(createPolicyRequest, this.clientConfiguration); List metricPublishers = resolveMetricPublishers(clientConfiguration, createPolicyRequest .overrideConfiguration().orElse(null)); MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector .create("ApiCall"); try { apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "Organizations"); apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "CreatePolicy"); return clientHandler.execute(new ClientExecutionParams() .withOperationName("CreatePolicy").withProtocolMetadata(protocolMetadata) .withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler) .withRequestConfiguration(clientConfiguration).withInput(createPolicyRequest) .withMetricCollector(apiCallMetricCollector) .withMarshaller(new CreatePolicyRequestMarshaller(protocolFactory))); } finally { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); } } /** *

                                    * Declines a handshake request. This sets the handshake state to DECLINED and effectively deactivates * the request. *

                                    *

                                    * This operation can be called only from the account that received the handshake. The originator of the handshake * can use CancelHandshake instead. The originator can't reactivate a declined request, but can reinitiate * the process with a new handshake request. *

                                    *

                                    * After you decline a handshake, it continues to appear in the results of relevant APIs for only 30 days. After * that, it's deleted. *

                                    * * @param declineHandshakeRequest * @return Result of the DeclineHandshake operation returned by the service. * @throws AccessDeniedException * You don't have permissions to perform the requested operation. The user or role that is making the * request must have at least one IAM permissions policy attached that grants the required permissions. For * more information, see Access * Management in the IAM User Guide. * @throws ConcurrentModificationException * The target of the operation is currently being modified by a different request. Try again later. * @throws HandshakeNotFoundException * We can't find a handshake with the HandshakeId that you specified. * @throws InvalidHandshakeTransitionException * You can't perform the operation on the handshake in its current state. For example, you can't cancel a * handshake that was already accepted or accept a handshake that was already declined. * @throws HandshakeAlreadyInStateException * The specified handshake is already in the requested state. For example, you can't accept a handshake that * was already accepted. * @throws InvalidInputException * The requested operation failed because you provided invalid values for one or more of the request * parameters. This exception includes a reason that contains additional information about the violated * limit:

                                    *

                                    * Some of the reasons in the following list might not be applicable to this specific API or operation. *

                                    *
                                    *
                                      *
                                    • *

                                      * DUPLICATE_TAG_KEY: Tag keys must be unique among the tags attached to the same entity. *

                                      *
                                    • *
                                    • *

                                      * IMMUTABLE_POLICY: You specified a policy that is managed by Amazon Web Services and can't be modified. *

                                      *
                                    • *
                                    • *

                                      * INPUT_REQUIRED: You must include a value for all required parameters. *

                                      *
                                    • *
                                    • *

                                      * INVALID_EMAIL_ADDRESS_TARGET: You specified an invalid email address for the invited account owner. *

                                      *
                                    • *
                                    • *

                                      * INVALID_ENUM: You specified an invalid value. *

                                      *
                                    • *
                                    • *

                                      * INVALID_ENUM_POLICY_TYPE: You specified an invalid policy type string. *

                                      *
                                    • *
                                    • *

                                      * INVALID_FULL_NAME_TARGET: You specified a full name that contains invalid characters. *

                                      *
                                    • *
                                    • *

                                      * INVALID_LIST_MEMBER: You provided a list to a parameter that contains at least one invalid value. *

                                      *
                                    • *
                                    • *

                                      * INVALID_PAGINATION_TOKEN: Get the value for the NextToken parameter from the response to a * previous call of the operation. *

                                      *
                                    • *
                                    • *

                                      * INVALID_PARTY_TYPE_TARGET: You specified the wrong type of entity (account, organization, or email) as a * party. *

                                      *
                                    • *
                                    • *

                                      * INVALID_PATTERN: You provided a value that doesn't match the required pattern. *

                                      *
                                    • *
                                    • *

                                      * INVALID_PATTERN_TARGET_ID: You specified a policy target ID that doesn't match the required pattern. *

                                      *
                                    • *
                                    • *

                                      * INVALID_PRINCIPAL: You specified an invalid principal element in the policy. *

                                      *
                                    • *
                                    • *

                                      * INVALID_ROLE_NAME: You provided a role name that isn't valid. A role name can't begin with the reserved * prefix AWSServiceRoleFor. *

                                      *
                                    • *
                                    • *

                                      * INVALID_SYNTAX_ORGANIZATION_ARN: You specified an invalid Amazon Resource Name (ARN) for the * organization. *

                                      *
                                    • *
                                    • *

                                      * INVALID_SYNTAX_POLICY_ID: You specified an invalid policy ID. *

                                      *
                                    • *
                                    • *

                                      * INVALID_SYSTEM_TAGS_PARAMETER: You specified a tag key that is a system tag. You can’t add, edit, or * delete system tag keys because they're reserved for Amazon Web Services use. System tags don’t count * against your tags per resource limit. *

                                      *
                                    • *
                                    • *

                                      * MAX_FILTER_LIMIT_EXCEEDED: You can specify only one filter parameter for the operation. *

                                      *
                                    • *
                                    • *

                                      * MAX_LENGTH_EXCEEDED: You provided a string parameter that is longer than allowed. *

                                      *
                                    • *
                                    • *

                                      * MAX_VALUE_EXCEEDED: You provided a numeric parameter that has a larger value than allowed. *

                                      *
                                    • *
                                    • *

                                      * MIN_LENGTH_EXCEEDED: You provided a string parameter that is shorter than allowed. *

                                      *
                                    • *
                                    • *

                                      * MIN_VALUE_EXCEEDED: You provided a numeric parameter that has a smaller value than allowed. *

                                      *
                                    • *
                                    • *

                                      * MOVING_ACCOUNT_BETWEEN_DIFFERENT_ROOTS: You can move an account only between entities in the same root. *

                                      *
                                    • *
                                    • *

                                      * NON_DETACHABLE_POLICY: You can't detach this Amazon Web Services Managed Policy. *

                                      *
                                    • *
                                    • *

                                      * TARGET_NOT_SUPPORTED: You can't perform the specified operation on that target entity. *

                                      *
                                    • *
                                    • *

                                      * UNRECOGNIZED_SERVICE_PRINCIPAL: You specified a service principal that isn't recognized. *

                                      *
                                    • * @throws ServiceException * Organizations can't complete your request because of an internal service error. Try again later. * @throws TooManyRequestsException * You have sent too many requests in too short a period of time. The quota helps protect against * denial-of-service attacks. Try again later.

                                      *

                                      * For information about quotas that affect Organizations, see Quotas for * Organizations in the Organizations User Guide. * @throws SdkException * Base class for all exceptions that can be thrown by the SDK (both service and client). Can be used for * catch all scenarios. * @throws SdkClientException * If any client side error occurs such as an IO related failure, failure to get credentials, etc. * @throws OrganizationsException * Base class for all service exceptions. Unknown exceptions will be thrown as an instance of this type. * @sample OrganizationsClient.DeclineHandshake * @see AWS API Documentation */ @Override public DeclineHandshakeResponse declineHandshake(DeclineHandshakeRequest declineHandshakeRequest) throws AccessDeniedException, ConcurrentModificationException, HandshakeNotFoundException, InvalidHandshakeTransitionException, HandshakeAlreadyInStateException, InvalidInputException, ServiceException, TooManyRequestsException, AwsServiceException, SdkClientException, OrganizationsException { JsonOperationMetadata operationMetadata = JsonOperationMetadata.builder().hasStreamingSuccessResponse(false) .isPayloadJson(true).build(); HttpResponseHandler responseHandler = protocolFactory.createResponseHandler(operationMetadata, DeclineHandshakeResponse::builder); HttpResponseHandler errorResponseHandler = createErrorResponseHandler(protocolFactory, operationMetadata); SdkClientConfiguration clientConfiguration = updateSdkClientConfiguration(declineHandshakeRequest, this.clientConfiguration); List metricPublishers = resolveMetricPublishers(clientConfiguration, declineHandshakeRequest .overrideConfiguration().orElse(null)); MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector .create("ApiCall"); try { apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "Organizations"); apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "DeclineHandshake"); return clientHandler.execute(new ClientExecutionParams() .withOperationName("DeclineHandshake").withProtocolMetadata(protocolMetadata) .withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler) .withRequestConfiguration(clientConfiguration).withInput(declineHandshakeRequest) .withMetricCollector(apiCallMetricCollector) .withMarshaller(new DeclineHandshakeRequestMarshaller(protocolFactory))); } finally { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); } } /** *

                                      * Deletes the organization. You can delete an organization only by using credentials from the management account. * The organization must be empty of member accounts. *

                                      * * @param deleteOrganizationRequest * @return Result of the DeleteOrganization operation returned by the service. * @throws AccessDeniedException * You don't have permissions to perform the requested operation. The user or role that is making the * request must have at least one IAM permissions policy attached that grants the required permissions. For * more information, see Access * Management in the IAM User Guide. * @throws AwsOrganizationsNotInUseException * Your account isn't a member of an organization. To make this request, you must use the credentials of an * account that belongs to an organization. * @throws ConcurrentModificationException * The target of the operation is currently being modified by a different request. Try again later. * @throws InvalidInputException * The requested operation failed because you provided invalid values for one or more of the request * parameters. This exception includes a reason that contains additional information about the violated * limit:

                                      *

                                      * Some of the reasons in the following list might not be applicable to this specific API or operation. *

                                      *
                                      *
                                        *
                                      • *

                                        * DUPLICATE_TAG_KEY: Tag keys must be unique among the tags attached to the same entity. *

                                        *
                                      • *
                                      • *

                                        * IMMUTABLE_POLICY: You specified a policy that is managed by Amazon Web Services and can't be modified. *

                                        *
                                      • *
                                      • *

                                        * INPUT_REQUIRED: You must include a value for all required parameters. *

                                        *
                                      • *
                                      • *

                                        * INVALID_EMAIL_ADDRESS_TARGET: You specified an invalid email address for the invited account owner. *

                                        *
                                      • *
                                      • *

                                        * INVALID_ENUM: You specified an invalid value. *

                                        *
                                      • *
                                      • *

                                        * INVALID_ENUM_POLICY_TYPE: You specified an invalid policy type string. *

                                        *
                                      • *
                                      • *

                                        * INVALID_FULL_NAME_TARGET: You specified a full name that contains invalid characters. *

                                        *
                                      • *
                                      • *

                                        * INVALID_LIST_MEMBER: You provided a list to a parameter that contains at least one invalid value. *

                                        *
                                      • *
                                      • *

                                        * INVALID_PAGINATION_TOKEN: Get the value for the NextToken parameter from the response to a * previous call of the operation. *

                                        *
                                      • *
                                      • *

                                        * INVALID_PARTY_TYPE_TARGET: You specified the wrong type of entity (account, organization, or email) as a * party. *

                                        *
                                      • *
                                      • *

                                        * INVALID_PATTERN: You provided a value that doesn't match the required pattern. *

                                        *
                                      • *
                                      • *

                                        * INVALID_PATTERN_TARGET_ID: You specified a policy target ID that doesn't match the required pattern. *

                                        *
                                      • *
                                      • *

                                        * INVALID_PRINCIPAL: You specified an invalid principal element in the policy. *

                                        *
                                      • *
                                      • *

                                        * INVALID_ROLE_NAME: You provided a role name that isn't valid. A role name can't begin with the reserved * prefix AWSServiceRoleFor. *

                                        *
                                      • *
                                      • *

                                        * INVALID_SYNTAX_ORGANIZATION_ARN: You specified an invalid Amazon Resource Name (ARN) for the * organization. *

                                        *
                                      • *
                                      • *

                                        * INVALID_SYNTAX_POLICY_ID: You specified an invalid policy ID. *

                                        *
                                      • *
                                      • *

                                        * INVALID_SYSTEM_TAGS_PARAMETER: You specified a tag key that is a system tag. You can’t add, edit, or * delete system tag keys because they're reserved for Amazon Web Services use. System tags don’t count * against your tags per resource limit. *

                                        *
                                      • *
                                      • *

                                        * MAX_FILTER_LIMIT_EXCEEDED: You can specify only one filter parameter for the operation. *

                                        *
                                      • *
                                      • *

                                        * MAX_LENGTH_EXCEEDED: You provided a string parameter that is longer than allowed. *

                                        *
                                      • *
                                      • *

                                        * MAX_VALUE_EXCEEDED: You provided a numeric parameter that has a larger value than allowed. *

                                        *
                                      • *
                                      • *

                                        * MIN_LENGTH_EXCEEDED: You provided a string parameter that is shorter than allowed. *

                                        *
                                      • *
                                      • *

                                        * MIN_VALUE_EXCEEDED: You provided a numeric parameter that has a smaller value than allowed. *

                                        *
                                      • *
                                      • *

                                        * MOVING_ACCOUNT_BETWEEN_DIFFERENT_ROOTS: You can move an account only between entities in the same root. *

                                        *
                                      • *
                                      • *

                                        * NON_DETACHABLE_POLICY: You can't detach this Amazon Web Services Managed Policy. *

                                        *
                                      • *
                                      • *

                                        * TARGET_NOT_SUPPORTED: You can't perform the specified operation on that target entity. *

                                        *
                                      • *
                                      • *

                                        * UNRECOGNIZED_SERVICE_PRINCIPAL: You specified a service principal that isn't recognized. *

                                        *
                                      • * @throws OrganizationNotEmptyException * The organization isn't empty. To delete an organization, you must first remove all accounts except the * management account. * @throws ServiceException * Organizations can't complete your request because of an internal service error. Try again later. * @throws TooManyRequestsException * You have sent too many requests in too short a period of time. The quota helps protect against * denial-of-service attacks. Try again later.

                                        *

                                        * For information about quotas that affect Organizations, see Quotas for * Organizations in the Organizations User Guide. * @throws SdkException * Base class for all exceptions that can be thrown by the SDK (both service and client). Can be used for * catch all scenarios. * @throws SdkClientException * If any client side error occurs such as an IO related failure, failure to get credentials, etc. * @throws OrganizationsException * Base class for all service exceptions. Unknown exceptions will be thrown as an instance of this type. * @sample OrganizationsClient.DeleteOrganization * @see AWS API Documentation */ @Override public DeleteOrganizationResponse deleteOrganization(DeleteOrganizationRequest deleteOrganizationRequest) throws AccessDeniedException, AwsOrganizationsNotInUseException, ConcurrentModificationException, InvalidInputException, OrganizationNotEmptyException, ServiceException, TooManyRequestsException, AwsServiceException, SdkClientException, OrganizationsException { JsonOperationMetadata operationMetadata = JsonOperationMetadata.builder().hasStreamingSuccessResponse(false) .isPayloadJson(true).build(); HttpResponseHandler responseHandler = protocolFactory.createResponseHandler( operationMetadata, DeleteOrganizationResponse::builder); HttpResponseHandler errorResponseHandler = createErrorResponseHandler(protocolFactory, operationMetadata); SdkClientConfiguration clientConfiguration = updateSdkClientConfiguration(deleteOrganizationRequest, this.clientConfiguration); List metricPublishers = resolveMetricPublishers(clientConfiguration, deleteOrganizationRequest .overrideConfiguration().orElse(null)); MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector .create("ApiCall"); try { apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "Organizations"); apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "DeleteOrganization"); return clientHandler.execute(new ClientExecutionParams() .withOperationName("DeleteOrganization").withProtocolMetadata(protocolMetadata) .withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler) .withRequestConfiguration(clientConfiguration).withInput(deleteOrganizationRequest) .withMetricCollector(apiCallMetricCollector) .withMarshaller(new DeleteOrganizationRequestMarshaller(protocolFactory))); } finally { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); } } /** *

                                        * Deletes an organizational unit (OU) from a root or another OU. You must first remove all accounts and child OUs * from the OU that you want to delete. *

                                        *

                                        * This operation can be called only from the organization's management account. *

                                        * * @param deleteOrganizationalUnitRequest * @return Result of the DeleteOrganizationalUnit operation returned by the service. * @throws AccessDeniedException * You don't have permissions to perform the requested operation. The user or role that is making the * request must have at least one IAM permissions policy attached that grants the required permissions. For * more information, see Access * Management in the IAM User Guide. * @throws AwsOrganizationsNotInUseException * Your account isn't a member of an organization. To make this request, you must use the credentials of an * account that belongs to an organization. * @throws ConcurrentModificationException * The target of the operation is currently being modified by a different request. Try again later. * @throws InvalidInputException * The requested operation failed because you provided invalid values for one or more of the request * parameters. This exception includes a reason that contains additional information about the violated * limit:

                                        *

                                        * Some of the reasons in the following list might not be applicable to this specific API or operation. *

                                        *
                                        *
                                          *
                                        • *

                                          * DUPLICATE_TAG_KEY: Tag keys must be unique among the tags attached to the same entity. *

                                          *
                                        • *
                                        • *

                                          * IMMUTABLE_POLICY: You specified a policy that is managed by Amazon Web Services and can't be modified. *

                                          *
                                        • *
                                        • *

                                          * INPUT_REQUIRED: You must include a value for all required parameters. *

                                          *
                                        • *
                                        • *

                                          * INVALID_EMAIL_ADDRESS_TARGET: You specified an invalid email address for the invited account owner. *

                                          *
                                        • *
                                        • *

                                          * INVALID_ENUM: You specified an invalid value. *

                                          *
                                        • *
                                        • *

                                          * INVALID_ENUM_POLICY_TYPE: You specified an invalid policy type string. *

                                          *
                                        • *
                                        • *

                                          * INVALID_FULL_NAME_TARGET: You specified a full name that contains invalid characters. *

                                          *
                                        • *
                                        • *

                                          * INVALID_LIST_MEMBER: You provided a list to a parameter that contains at least one invalid value. *

                                          *
                                        • *
                                        • *

                                          * INVALID_PAGINATION_TOKEN: Get the value for the NextToken parameter from the response to a * previous call of the operation. *

                                          *
                                        • *
                                        • *

                                          * INVALID_PARTY_TYPE_TARGET: You specified the wrong type of entity (account, organization, or email) as a * party. *

                                          *
                                        • *
                                        • *

                                          * INVALID_PATTERN: You provided a value that doesn't match the required pattern. *

                                          *
                                        • *
                                        • *

                                          * INVALID_PATTERN_TARGET_ID: You specified a policy target ID that doesn't match the required pattern. *

                                          *
                                        • *
                                        • *

                                          * INVALID_PRINCIPAL: You specified an invalid principal element in the policy. *

                                          *
                                        • *
                                        • *

                                          * INVALID_ROLE_NAME: You provided a role name that isn't valid. A role name can't begin with the reserved * prefix AWSServiceRoleFor. *

                                          *
                                        • *
                                        • *

                                          * INVALID_SYNTAX_ORGANIZATION_ARN: You specified an invalid Amazon Resource Name (ARN) for the * organization. *

                                          *
                                        • *
                                        • *

                                          * INVALID_SYNTAX_POLICY_ID: You specified an invalid policy ID. *

                                          *
                                        • *
                                        • *

                                          * INVALID_SYSTEM_TAGS_PARAMETER: You specified a tag key that is a system tag. You can’t add, edit, or * delete system tag keys because they're reserved for Amazon Web Services use. System tags don’t count * against your tags per resource limit. *

                                          *
                                        • *
                                        • *

                                          * MAX_FILTER_LIMIT_EXCEEDED: You can specify only one filter parameter for the operation. *

                                          *
                                        • *
                                        • *

                                          * MAX_LENGTH_EXCEEDED: You provided a string parameter that is longer than allowed. *

                                          *
                                        • *
                                        • *

                                          * MAX_VALUE_EXCEEDED: You provided a numeric parameter that has a larger value than allowed. *

                                          *
                                        • *
                                        • *

                                          * MIN_LENGTH_EXCEEDED: You provided a string parameter that is shorter than allowed. *

                                          *
                                        • *
                                        • *

                                          * MIN_VALUE_EXCEEDED: You provided a numeric parameter that has a smaller value than allowed. *

                                          *
                                        • *
                                        • *

                                          * MOVING_ACCOUNT_BETWEEN_DIFFERENT_ROOTS: You can move an account only between entities in the same root. *

                                          *
                                        • *
                                        • *

                                          * NON_DETACHABLE_POLICY: You can't detach this Amazon Web Services Managed Policy. *

                                          *
                                        • *
                                        • *

                                          * TARGET_NOT_SUPPORTED: You can't perform the specified operation on that target entity. *

                                          *
                                        • *
                                        • *

                                          * UNRECOGNIZED_SERVICE_PRINCIPAL: You specified a service principal that isn't recognized. *

                                          *
                                        • * @throws OrganizationalUnitNotEmptyException * The specified OU is not empty. Move all accounts to another root or to other OUs, remove all child OUs, * and try the operation again. * @throws OrganizationalUnitNotFoundException * We can't find an OU with the OrganizationalUnitId that you specified. * @throws ServiceException * Organizations can't complete your request because of an internal service error. Try again later. * @throws TooManyRequestsException * You have sent too many requests in too short a period of time. The quota helps protect against * denial-of-service attacks. Try again later.

                                          *

                                          * For information about quotas that affect Organizations, see Quotas for * Organizations in the Organizations User Guide. * @throws SdkException * Base class for all exceptions that can be thrown by the SDK (both service and client). Can be used for * catch all scenarios. * @throws SdkClientException * If any client side error occurs such as an IO related failure, failure to get credentials, etc. * @throws OrganizationsException * Base class for all service exceptions. Unknown exceptions will be thrown as an instance of this type. * @sample OrganizationsClient.DeleteOrganizationalUnit * @see AWS API Documentation */ @Override public DeleteOrganizationalUnitResponse deleteOrganizationalUnit( DeleteOrganizationalUnitRequest deleteOrganizationalUnitRequest) throws AccessDeniedException, AwsOrganizationsNotInUseException, ConcurrentModificationException, InvalidInputException, OrganizationalUnitNotEmptyException, OrganizationalUnitNotFoundException, ServiceException, TooManyRequestsException, AwsServiceException, SdkClientException, OrganizationsException { JsonOperationMetadata operationMetadata = JsonOperationMetadata.builder().hasStreamingSuccessResponse(false) .isPayloadJson(true).build(); HttpResponseHandler responseHandler = protocolFactory.createResponseHandler( operationMetadata, DeleteOrganizationalUnitResponse::builder); HttpResponseHandler errorResponseHandler = createErrorResponseHandler(protocolFactory, operationMetadata); SdkClientConfiguration clientConfiguration = updateSdkClientConfiguration(deleteOrganizationalUnitRequest, this.clientConfiguration); List metricPublishers = resolveMetricPublishers(clientConfiguration, deleteOrganizationalUnitRequest .overrideConfiguration().orElse(null)); MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector .create("ApiCall"); try { apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "Organizations"); apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "DeleteOrganizationalUnit"); return clientHandler .execute(new ClientExecutionParams() .withOperationName("DeleteOrganizationalUnit").withProtocolMetadata(protocolMetadata) .withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler) .withRequestConfiguration(clientConfiguration).withInput(deleteOrganizationalUnitRequest) .withMetricCollector(apiCallMetricCollector) .withMarshaller(new DeleteOrganizationalUnitRequestMarshaller(protocolFactory))); } finally { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); } } /** *

                                          * Deletes the specified policy from your organization. Before you perform this operation, you must first detach the * policy from all organizational units (OUs), roots, and accounts. *

                                          *

                                          * This operation can be called only from the organization's management account or by a member account that is a * delegated administrator for an Amazon Web Services service. *

                                          * * @param deletePolicyRequest * @return Result of the DeletePolicy operation returned by the service. * @throws AccessDeniedException * You don't have permissions to perform the requested operation. The user or role that is making the * request must have at least one IAM permissions policy attached that grants the required permissions. For * more information, see Access * Management in the IAM User Guide. * @throws AwsOrganizationsNotInUseException * Your account isn't a member of an organization. To make this request, you must use the credentials of an * account that belongs to an organization. * @throws ConcurrentModificationException * The target of the operation is currently being modified by a different request. Try again later. * @throws InvalidInputException * The requested operation failed because you provided invalid values for one or more of the request * parameters. This exception includes a reason that contains additional information about the violated * limit:

                                          *

                                          * Some of the reasons in the following list might not be applicable to this specific API or operation. *

                                          *
                                          *
                                            *
                                          • *

                                            * DUPLICATE_TAG_KEY: Tag keys must be unique among the tags attached to the same entity. *

                                            *
                                          • *
                                          • *

                                            * IMMUTABLE_POLICY: You specified a policy that is managed by Amazon Web Services and can't be modified. *

                                            *
                                          • *
                                          • *

                                            * INPUT_REQUIRED: You must include a value for all required parameters. *

                                            *
                                          • *
                                          • *

                                            * INVALID_EMAIL_ADDRESS_TARGET: You specified an invalid email address for the invited account owner. *

                                            *
                                          • *
                                          • *

                                            * INVALID_ENUM: You specified an invalid value. *

                                            *
                                          • *
                                          • *

                                            * INVALID_ENUM_POLICY_TYPE: You specified an invalid policy type string. *

                                            *
                                          • *
                                          • *

                                            * INVALID_FULL_NAME_TARGET: You specified a full name that contains invalid characters. *

                                            *
                                          • *
                                          • *

                                            * INVALID_LIST_MEMBER: You provided a list to a parameter that contains at least one invalid value. *

                                            *
                                          • *
                                          • *

                                            * INVALID_PAGINATION_TOKEN: Get the value for the NextToken parameter from the response to a * previous call of the operation. *

                                            *
                                          • *
                                          • *

                                            * INVALID_PARTY_TYPE_TARGET: You specified the wrong type of entity (account, organization, or email) as a * party. *

                                            *
                                          • *
                                          • *

                                            * INVALID_PATTERN: You provided a value that doesn't match the required pattern. *

                                            *
                                          • *
                                          • *

                                            * INVALID_PATTERN_TARGET_ID: You specified a policy target ID that doesn't match the required pattern. *

                                            *
                                          • *
                                          • *

                                            * INVALID_PRINCIPAL: You specified an invalid principal element in the policy. *

                                            *
                                          • *
                                          • *

                                            * INVALID_ROLE_NAME: You provided a role name that isn't valid. A role name can't begin with the reserved * prefix AWSServiceRoleFor. *

                                            *
                                          • *
                                          • *

                                            * INVALID_SYNTAX_ORGANIZATION_ARN: You specified an invalid Amazon Resource Name (ARN) for the * organization. *

                                            *
                                          • *
                                          • *

                                            * INVALID_SYNTAX_POLICY_ID: You specified an invalid policy ID. *

                                            *
                                          • *
                                          • *

                                            * INVALID_SYSTEM_TAGS_PARAMETER: You specified a tag key that is a system tag. You can’t add, edit, or * delete system tag keys because they're reserved for Amazon Web Services use. System tags don’t count * against your tags per resource limit. *

                                            *
                                          • *
                                          • *

                                            * MAX_FILTER_LIMIT_EXCEEDED: You can specify only one filter parameter for the operation. *

                                            *
                                          • *
                                          • *

                                            * MAX_LENGTH_EXCEEDED: You provided a string parameter that is longer than allowed. *

                                            *
                                          • *
                                          • *

                                            * MAX_VALUE_EXCEEDED: You provided a numeric parameter that has a larger value than allowed. *

                                            *
                                          • *
                                          • *

                                            * MIN_LENGTH_EXCEEDED: You provided a string parameter that is shorter than allowed. *

                                            *
                                          • *
                                          • *

                                            * MIN_VALUE_EXCEEDED: You provided a numeric parameter that has a smaller value than allowed. *

                                            *
                                          • *
                                          • *

                                            * MOVING_ACCOUNT_BETWEEN_DIFFERENT_ROOTS: You can move an account only between entities in the same root. *

                                            *
                                          • *
                                          • *

                                            * NON_DETACHABLE_POLICY: You can't detach this Amazon Web Services Managed Policy. *

                                            *
                                          • *
                                          • *

                                            * TARGET_NOT_SUPPORTED: You can't perform the specified operation on that target entity. *

                                            *
                                          • *
                                          • *

                                            * UNRECOGNIZED_SERVICE_PRINCIPAL: You specified a service principal that isn't recognized. *

                                            *
                                          • * @throws PolicyInUseException * The policy is attached to one or more entities. You must detach it from all roots, OUs, and accounts * before performing this operation. * @throws PolicyNotFoundException * We can't find a policy with the PolicyId that you specified. * @throws ServiceException * Organizations can't complete your request because of an internal service error. Try again later. * @throws TooManyRequestsException * You have sent too many requests in too short a period of time. The quota helps protect against * denial-of-service attacks. Try again later.

                                            *

                                            * For information about quotas that affect Organizations, see Quotas for * Organizations in the Organizations User Guide. * @throws UnsupportedApiEndpointException * This action isn't available in the current Amazon Web Services Region. * @throws SdkException * Base class for all exceptions that can be thrown by the SDK (both service and client). Can be used for * catch all scenarios. * @throws SdkClientException * If any client side error occurs such as an IO related failure, failure to get credentials, etc. * @throws OrganizationsException * Base class for all service exceptions. Unknown exceptions will be thrown as an instance of this type. * @sample OrganizationsClient.DeletePolicy * @see AWS * API Documentation */ @Override public DeletePolicyResponse deletePolicy(DeletePolicyRequest deletePolicyRequest) throws AccessDeniedException, AwsOrganizationsNotInUseException, ConcurrentModificationException, InvalidInputException, PolicyInUseException, PolicyNotFoundException, ServiceException, TooManyRequestsException, UnsupportedApiEndpointException, AwsServiceException, SdkClientException, OrganizationsException { JsonOperationMetadata operationMetadata = JsonOperationMetadata.builder().hasStreamingSuccessResponse(false) .isPayloadJson(true).build(); HttpResponseHandler responseHandler = protocolFactory.createResponseHandler(operationMetadata, DeletePolicyResponse::builder); HttpResponseHandler errorResponseHandler = createErrorResponseHandler(protocolFactory, operationMetadata); SdkClientConfiguration clientConfiguration = updateSdkClientConfiguration(deletePolicyRequest, this.clientConfiguration); List metricPublishers = resolveMetricPublishers(clientConfiguration, deletePolicyRequest .overrideConfiguration().orElse(null)); MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector .create("ApiCall"); try { apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "Organizations"); apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "DeletePolicy"); return clientHandler.execute(new ClientExecutionParams() .withOperationName("DeletePolicy").withProtocolMetadata(protocolMetadata) .withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler) .withRequestConfiguration(clientConfiguration).withInput(deletePolicyRequest) .withMetricCollector(apiCallMetricCollector) .withMarshaller(new DeletePolicyRequestMarshaller(protocolFactory))); } finally { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); } } /** *

                                            * Deletes the resource policy from your organization. *

                                            *

                                            * You can only call this operation from the organization's management account. *

                                            * * @param deleteResourcePolicyRequest * @return Result of the DeleteResourcePolicy operation returned by the service. * @throws AccessDeniedException * You don't have permissions to perform the requested operation. The user or role that is making the * request must have at least one IAM permissions policy attached that grants the required permissions. For * more information, see Access * Management in the IAM User Guide. * @throws ServiceException * Organizations can't complete your request because of an internal service error. Try again later. * @throws UnsupportedApiEndpointException * This action isn't available in the current Amazon Web Services Region. * @throws TooManyRequestsException * You have sent too many requests in too short a period of time. The quota helps protect against * denial-of-service attacks. Try again later.

                                            *

                                            * For information about quotas that affect Organizations, see Quotas for * Organizations in the Organizations User Guide. * @throws ConcurrentModificationException * The target of the operation is currently being modified by a different request. Try again later. * @throws ConstraintViolationException * Performing this operation violates a minimum or maximum value limit. For example, attempting to remove * the last service control policy (SCP) from an OU or root, inviting or creating too many accounts to the * organization, or attaching too many policies to an account, OU, or root. This exception includes a reason * that contains additional information about the violated limit: *

                                            * *

                                            * Some of the reasons in the following list might not be applicable to this specific API or operation. *

                                            *
                                            *
                                              *
                                            • *

                                              * ACCOUNT_CANNOT_LEAVE_ORGANIZATION: You attempted to remove the management account from the organization. * You can't remove the management account. Instead, after you remove all member accounts, delete the * organization itself. *

                                              *
                                            • *
                                            • *

                                              * ACCOUNT_CANNOT_LEAVE_WITHOUT_PHONE_VERIFICATION: You attempted to remove an account from the organization * that doesn't yet have enough information to exist as a standalone account. This account requires you to * first complete phone verification. Follow the steps at Removing a member account from your organization in the Organizations User Guide. *

                                              *
                                            • *
                                            • *

                                              * ACCOUNT_CREATION_RATE_LIMIT_EXCEEDED: You attempted to exceed the number of accounts that you can create * in one day. *

                                              *
                                            • *
                                            • *

                                              * ACCOUNT_CREATION_NOT_COMPLETE: Your account setup isn't complete or your account isn't fully active. You * must complete the account setup before you create an organization. *

                                              *
                                            • *
                                            • *

                                              * ACCOUNT_NUMBER_LIMIT_EXCEEDED: You attempted to exceed the limit on the number of accounts in an * organization. If you need more accounts, contact Amazon Web Services Support to request an * increase in your limit. *

                                              *

                                              * Or the number of invitations that you tried to send would cause you to exceed the limit of accounts in * your organization. Send fewer invitations or contact Amazon Web Services Support to request an increase * in the number of accounts. *

                                              * *

                                              * Deleted and closed accounts still count toward your limit. *

                                              *
                                              *

                                              * If you get this exception when running a command immediately after creating the organization, wait one * hour and try again. After an hour, if the command continues to fail with this error, contact Amazon Web Services Support. *

                                              *
                                            • *
                                            • *

                                              * CANNOT_REGISTER_SUSPENDED_ACCOUNT_AS_DELEGATED_ADMINISTRATOR: You cannot register a suspended account as * a delegated administrator. *

                                              *
                                            • *
                                            • *

                                              * CANNOT_REGISTER_MASTER_AS_DELEGATED_ADMINISTRATOR: You attempted to register the management account of * the organization as a delegated administrator for an Amazon Web Services service integrated with * Organizations. You can designate only a member account as a delegated administrator. *

                                              *
                                            • *
                                            • *

                                              * CANNOT_CLOSE_MANAGEMENT_ACCOUNT: You attempted to close the management account. To close the management * account for the organization, you must first either remove or close all member accounts in the * organization. Follow standard account closure process using root credentials.​ *

                                              *
                                            • *
                                            • *

                                              * CANNOT_REMOVE_DELEGATED_ADMINISTRATOR_FROM_ORG: You attempted to remove an account that is registered as * a delegated administrator for a service integrated with your organization. To complete this operation, * you must first deregister this account as a delegated administrator. *

                                              *
                                            • *
                                            • *

                                              * CLOSE_ACCOUNT_QUOTA_EXCEEDED: You have exceeded close account quota for the past 30 days. *

                                              *
                                            • *
                                            • *

                                              * CLOSE_ACCOUNT_REQUESTS_LIMIT_EXCEEDED: You attempted to exceed the number of accounts that you can close * at a time. ​ *

                                              *
                                            • *
                                            • *

                                              * CREATE_ORGANIZATION_IN_BILLING_MODE_UNSUPPORTED_REGION: To create an organization in the specified * region, you must enable all features mode. *

                                              *
                                            • *
                                            • *

                                              * DELEGATED_ADMINISTRATOR_EXISTS_FOR_THIS_SERVICE: You attempted to register an Amazon Web Services account * as a delegated administrator for an Amazon Web Services service that already has a delegated * administrator. To complete this operation, you must first deregister any existing delegated * administrators for this service. *

                                              *
                                            • *
                                            • *

                                              * EMAIL_VERIFICATION_CODE_EXPIRED: The email verification code is only valid for a limited period of time. * You must resubmit the request and generate a new verfication code. *

                                              *
                                            • *
                                            • *

                                              * HANDSHAKE_RATE_LIMIT_EXCEEDED: You attempted to exceed the number of handshakes that you can send in one * day. *

                                              *
                                            • *
                                            • *

                                              * INVALID_PAYMENT_INSTRUMENT: You cannot remove an account because no supported payment method is * associated with the account. Amazon Web Services does not support cards issued by financial institutions * in Russia or Belarus. For more information, see Managing your * Amazon Web Services payments. *

                                              *
                                            • *
                                            • *

                                              * MASTER_ACCOUNT_ADDRESS_DOES_NOT_MATCH_MARKETPLACE: To create an account in this organization, you first * must migrate the organization's management account to the marketplace that corresponds to the management * account's address. All accounts in an organization must be associated with the same marketplace. *

                                              *
                                            • *
                                            • *

                                              * MASTER_ACCOUNT_MISSING_BUSINESS_LICENSE: Applies only to the Amazon Web Services Regions in China. To * create an organization, the master must have a valid business license. For more information, contact * customer support. *

                                              *
                                            • *
                                            • *

                                              * MASTER_ACCOUNT_MISSING_CONTACT_INFO: To complete this operation, you must first provide a valid contact * address and phone number for the management account. Then try the operation again. *

                                              *
                                            • *
                                            • *

                                              * MASTER_ACCOUNT_NOT_GOVCLOUD_ENABLED: To complete this operation, the management account must have an * associated account in the Amazon Web Services GovCloud (US-West) Region. For more information, see Organizations * in the Amazon Web Services GovCloud User Guide. *

                                              *
                                            • *
                                            • *

                                              * MASTER_ACCOUNT_PAYMENT_INSTRUMENT_REQUIRED: To create an organization with this management account, you * first must associate a valid payment instrument, such as a credit card, with the account. For more * information, see Considerations before removing an account from an organization in the Organizations User * Guide. *

                                              *
                                            • *
                                            • *

                                              * MAX_DELEGATED_ADMINISTRATORS_FOR_SERVICE_LIMIT_EXCEEDED: You attempted to register more delegated * administrators than allowed for the service principal. *

                                              *
                                            • *
                                            • *

                                              * MAX_POLICY_TYPE_ATTACHMENT_LIMIT_EXCEEDED: You attempted to exceed the number of policies of a certain * type that can be attached to an entity at one time. *

                                              *
                                            • *
                                            • *

                                              * MAX_TAG_LIMIT_EXCEEDED: You have exceeded the number of tags allowed on this resource. *

                                              *
                                            • *
                                            • *

                                              * MEMBER_ACCOUNT_PAYMENT_INSTRUMENT_REQUIRED: To complete this operation with this member account, you * first must associate a valid payment instrument, such as a credit card, with the account. For more * information, see Considerations before removing an account from an organization in the Organizations User * Guide. *

                                              *
                                            • *
                                            • *

                                              * MIN_POLICY_TYPE_ATTACHMENT_LIMIT_EXCEEDED: You attempted to detach a policy from an entity that would * cause the entity to have fewer than the minimum number of policies of a certain type required. *

                                              *
                                            • *
                                            • *

                                              * ORGANIZATION_NOT_IN_ALL_FEATURES_MODE: You attempted to perform an operation that requires the * organization to be configured to support all features. An organization that supports only consolidated * billing features can't perform this operation. *

                                              *
                                            • *
                                            • *

                                              * OU_DEPTH_LIMIT_EXCEEDED: You attempted to create an OU tree that is too many levels deep. *

                                              *
                                            • *
                                            • *

                                              * OU_NUMBER_LIMIT_EXCEEDED: You attempted to exceed the number of OUs that you can have in an organization. *

                                              *
                                            • *
                                            • *

                                              * POLICY_CONTENT_LIMIT_EXCEEDED: You attempted to create a policy that is larger than the maximum size. *

                                              *
                                            • *
                                            • *

                                              * POLICY_NUMBER_LIMIT_EXCEEDED: You attempted to exceed the number of policies that you can have in an * organization. *

                                              *
                                            • *
                                            • *

                                              * SERVICE_ACCESS_NOT_ENABLED: You attempted to register a delegated administrator before you enabled * service access. Call the EnableAWSServiceAccess API first. *

                                              *
                                            • *
                                            • *

                                              * TAG_POLICY_VIOLATION: You attempted to create or update a resource with tags that are not compliant with * the tag policy requirements for this account. *

                                              *
                                            • *
                                            • *

                                              * WAIT_PERIOD_ACTIVE: After you create an Amazon Web Services account, you must wait until at least seven * days after the account was created. Invited accounts aren't subject to this waiting period. *

                                              *
                                            • * @throws AwsOrganizationsNotInUseException * Your account isn't a member of an organization. To make this request, you must use the credentials of an * account that belongs to an organization. * @throws ResourcePolicyNotFoundException * We can't find a resource policy request with the parameter that you specified. * @throws SdkException * Base class for all exceptions that can be thrown by the SDK (both service and client). Can be used for * catch all scenarios. * @throws SdkClientException * If any client side error occurs such as an IO related failure, failure to get credentials, etc. * @throws OrganizationsException * Base class for all service exceptions. Unknown exceptions will be thrown as an instance of this type. * @sample OrganizationsClient.DeleteResourcePolicy * @see AWS API Documentation */ @Override public DeleteResourcePolicyResponse deleteResourcePolicy(DeleteResourcePolicyRequest deleteResourcePolicyRequest) throws AccessDeniedException, ServiceException, UnsupportedApiEndpointException, TooManyRequestsException, ConcurrentModificationException, ConstraintViolationException, AwsOrganizationsNotInUseException, ResourcePolicyNotFoundException, AwsServiceException, SdkClientException, OrganizationsException { JsonOperationMetadata operationMetadata = JsonOperationMetadata.builder().hasStreamingSuccessResponse(false) .isPayloadJson(true).build(); HttpResponseHandler responseHandler = protocolFactory.createResponseHandler( operationMetadata, DeleteResourcePolicyResponse::builder); HttpResponseHandler errorResponseHandler = createErrorResponseHandler(protocolFactory, operationMetadata); SdkClientConfiguration clientConfiguration = updateSdkClientConfiguration(deleteResourcePolicyRequest, this.clientConfiguration); List metricPublishers = resolveMetricPublishers(clientConfiguration, deleteResourcePolicyRequest .overrideConfiguration().orElse(null)); MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector .create("ApiCall"); try { apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "Organizations"); apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "DeleteResourcePolicy"); return clientHandler.execute(new ClientExecutionParams() .withOperationName("DeleteResourcePolicy").withProtocolMetadata(protocolMetadata) .withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler) .withRequestConfiguration(clientConfiguration).withInput(deleteResourcePolicyRequest) .withMetricCollector(apiCallMetricCollector) .withMarshaller(new DeleteResourcePolicyRequestMarshaller(protocolFactory))); } finally { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); } } /** *

                                              * Removes the specified member Amazon Web Services account as a delegated administrator for the specified Amazon * Web Services service. *

                                              * *

                                              * Deregistering a delegated administrator can have unintended impacts on the functionality of the enabled Amazon * Web Services service. See the documentation for the enabled service before you deregister a delegated * administrator so that you understand any potential impacts. *

                                              *
                                              *

                                              * You can run this action only for Amazon Web Services services that support this feature. For a current list of * services that support it, see the column Supports Delegated Administrator in the table at Amazon Web * Services Services that you can use with Organizations in the Organizations User Guide. *

                                              *

                                              * This operation can be called only from the organization's management account. *

                                              * * @param deregisterDelegatedAdministratorRequest * @return Result of the DeregisterDelegatedAdministrator operation returned by the service. * @throws AccessDeniedException * You don't have permissions to perform the requested operation. The user or role that is making the * request must have at least one IAM permissions policy attached that grants the required permissions. For * more information, see Access * Management in the IAM User Guide. * @throws AccountNotFoundException * We can't find an Amazon Web Services account with the AccountId that you specified, or the * account whose credentials you used to make this request isn't a member of an organization. * @throws AccountNotRegisteredException * The specified account is not a delegated administrator for this Amazon Web Services service. * @throws AwsOrganizationsNotInUseException * Your account isn't a member of an organization. To make this request, you must use the credentials of an * account that belongs to an organization. * @throws ConcurrentModificationException * The target of the operation is currently being modified by a different request. Try again later. * @throws ConstraintViolationException * Performing this operation violates a minimum or maximum value limit. For example, attempting to remove * the last service control policy (SCP) from an OU or root, inviting or creating too many accounts to the * organization, or attaching too many policies to an account, OU, or root. This exception includes a reason * that contains additional information about the violated limit:

                                              *

                                              * Some of the reasons in the following list might not be applicable to this specific API or operation. *

                                              *
                                              *
                                                *
                                              • *

                                                * ACCOUNT_CANNOT_LEAVE_ORGANIZATION: You attempted to remove the management account from the organization. * You can't remove the management account. Instead, after you remove all member accounts, delete the * organization itself. *

                                                *
                                              • *
                                              • *

                                                * ACCOUNT_CANNOT_LEAVE_WITHOUT_PHONE_VERIFICATION: You attempted to remove an account from the organization * that doesn't yet have enough information to exist as a standalone account. This account requires you to * first complete phone verification. Follow the steps at Removing a member account from your organization in the Organizations User Guide. *

                                                *
                                              • *
                                              • *

                                                * ACCOUNT_CREATION_RATE_LIMIT_EXCEEDED: You attempted to exceed the number of accounts that you can create * in one day. *

                                                *
                                              • *
                                              • *

                                                * ACCOUNT_CREATION_NOT_COMPLETE: Your account setup isn't complete or your account isn't fully active. You * must complete the account setup before you create an organization. *

                                                *
                                              • *
                                              • *

                                                * ACCOUNT_NUMBER_LIMIT_EXCEEDED: You attempted to exceed the limit on the number of accounts in an * organization. If you need more accounts, contact Amazon Web Services Support to request an * increase in your limit. *

                                                *

                                                * Or the number of invitations that you tried to send would cause you to exceed the limit of accounts in * your organization. Send fewer invitations or contact Amazon Web Services Support to request an increase * in the number of accounts. *

                                                * *

                                                * Deleted and closed accounts still count toward your limit. *

                                                *
                                                *

                                                * If you get this exception when running a command immediately after creating the organization, wait one * hour and try again. After an hour, if the command continues to fail with this error, contact Amazon Web Services Support. *

                                                *
                                              • *
                                              • *

                                                * CANNOT_REGISTER_SUSPENDED_ACCOUNT_AS_DELEGATED_ADMINISTRATOR: You cannot register a suspended account as * a delegated administrator. *

                                                *
                                              • *
                                              • *

                                                * CANNOT_REGISTER_MASTER_AS_DELEGATED_ADMINISTRATOR: You attempted to register the management account of * the organization as a delegated administrator for an Amazon Web Services service integrated with * Organizations. You can designate only a member account as a delegated administrator. *

                                                *
                                              • *
                                              • *

                                                * CANNOT_CLOSE_MANAGEMENT_ACCOUNT: You attempted to close the management account. To close the management * account for the organization, you must first either remove or close all member accounts in the * organization. Follow standard account closure process using root credentials.​ *

                                                *
                                              • *
                                              • *

                                                * CANNOT_REMOVE_DELEGATED_ADMINISTRATOR_FROM_ORG: You attempted to remove an account that is registered as * a delegated administrator for a service integrated with your organization. To complete this operation, * you must first deregister this account as a delegated administrator. *

                                                *
                                              • *
                                              • *

                                                * CLOSE_ACCOUNT_QUOTA_EXCEEDED: You have exceeded close account quota for the past 30 days. *

                                                *
                                              • *
                                              • *

                                                * CLOSE_ACCOUNT_REQUESTS_LIMIT_EXCEEDED: You attempted to exceed the number of accounts that you can close * at a time. ​ *

                                                *
                                              • *
                                              • *

                                                * CREATE_ORGANIZATION_IN_BILLING_MODE_UNSUPPORTED_REGION: To create an organization in the specified * region, you must enable all features mode. *

                                                *
                                              • *
                                              • *

                                                * DELEGATED_ADMINISTRATOR_EXISTS_FOR_THIS_SERVICE: You attempted to register an Amazon Web Services account * as a delegated administrator for an Amazon Web Services service that already has a delegated * administrator. To complete this operation, you must first deregister any existing delegated * administrators for this service. *

                                                *
                                              • *
                                              • *

                                                * EMAIL_VERIFICATION_CODE_EXPIRED: The email verification code is only valid for a limited period of time. * You must resubmit the request and generate a new verfication code. *

                                                *
                                              • *
                                              • *

                                                * HANDSHAKE_RATE_LIMIT_EXCEEDED: You attempted to exceed the number of handshakes that you can send in one * day. *

                                                *
                                              • *
                                              • *

                                                * INVALID_PAYMENT_INSTRUMENT: You cannot remove an account because no supported payment method is * associated with the account. Amazon Web Services does not support cards issued by financial institutions * in Russia or Belarus. For more information, see Managing your * Amazon Web Services payments. *

                                                *
                                              • *
                                              • *

                                                * MASTER_ACCOUNT_ADDRESS_DOES_NOT_MATCH_MARKETPLACE: To create an account in this organization, you first * must migrate the organization's management account to the marketplace that corresponds to the management * account's address. All accounts in an organization must be associated with the same marketplace. *

                                                *
                                              • *
                                              • *

                                                * MASTER_ACCOUNT_MISSING_BUSINESS_LICENSE: Applies only to the Amazon Web Services Regions in China. To * create an organization, the master must have a valid business license. For more information, contact * customer support. *

                                                *
                                              • *
                                              • *

                                                * MASTER_ACCOUNT_MISSING_CONTACT_INFO: To complete this operation, you must first provide a valid contact * address and phone number for the management account. Then try the operation again. *

                                                *
                                              • *
                                              • *

                                                * MASTER_ACCOUNT_NOT_GOVCLOUD_ENABLED: To complete this operation, the management account must have an * associated account in the Amazon Web Services GovCloud (US-West) Region. For more information, see Organizations * in the Amazon Web Services GovCloud User Guide. *

                                                *
                                              • *
                                              • *

                                                * MASTER_ACCOUNT_PAYMENT_INSTRUMENT_REQUIRED: To create an organization with this management account, you * first must associate a valid payment instrument, such as a credit card, with the account. For more * information, see Considerations before removing an account from an organization in the Organizations User * Guide. *

                                                *
                                              • *
                                              • *

                                                * MAX_DELEGATED_ADMINISTRATORS_FOR_SERVICE_LIMIT_EXCEEDED: You attempted to register more delegated * administrators than allowed for the service principal. *

                                                *
                                              • *
                                              • *

                                                * MAX_POLICY_TYPE_ATTACHMENT_LIMIT_EXCEEDED: You attempted to exceed the number of policies of a certain * type that can be attached to an entity at one time. *

                                                *
                                              • *
                                              • *

                                                * MAX_TAG_LIMIT_EXCEEDED: You have exceeded the number of tags allowed on this resource. *

                                                *
                                              • *
                                              • *

                                                * MEMBER_ACCOUNT_PAYMENT_INSTRUMENT_REQUIRED: To complete this operation with this member account, you * first must associate a valid payment instrument, such as a credit card, with the account. For more * information, see Considerations before removing an account from an organization in the Organizations User * Guide. *

                                                *
                                              • *
                                              • *

                                                * MIN_POLICY_TYPE_ATTACHMENT_LIMIT_EXCEEDED: You attempted to detach a policy from an entity that would * cause the entity to have fewer than the minimum number of policies of a certain type required. *

                                                *
                                              • *
                                              • *

                                                * ORGANIZATION_NOT_IN_ALL_FEATURES_MODE: You attempted to perform an operation that requires the * organization to be configured to support all features. An organization that supports only consolidated * billing features can't perform this operation. *

                                                *
                                              • *
                                              • *

                                                * OU_DEPTH_LIMIT_EXCEEDED: You attempted to create an OU tree that is too many levels deep. *

                                                *
                                              • *
                                              • *

                                                * OU_NUMBER_LIMIT_EXCEEDED: You attempted to exceed the number of OUs that you can have in an organization. *

                                                *
                                              • *
                                              • *

                                                * POLICY_CONTENT_LIMIT_EXCEEDED: You attempted to create a policy that is larger than the maximum size. *

                                                *
                                              • *
                                              • *

                                                * POLICY_NUMBER_LIMIT_EXCEEDED: You attempted to exceed the number of policies that you can have in an * organization. *

                                                *
                                              • *
                                              • *

                                                * SERVICE_ACCESS_NOT_ENABLED: You attempted to register a delegated administrator before you enabled * service access. Call the EnableAWSServiceAccess API first. *

                                                *
                                              • *
                                              • *

                                                * TAG_POLICY_VIOLATION: You attempted to create or update a resource with tags that are not compliant with * the tag policy requirements for this account. *

                                                *
                                              • *
                                              • *

                                                * WAIT_PERIOD_ACTIVE: After you create an Amazon Web Services account, you must wait until at least seven * days after the account was created. Invited accounts aren't subject to this waiting period. *

                                                *
                                              • * @throws InvalidInputException * The requested operation failed because you provided invalid values for one or more of the request * parameters. This exception includes a reason that contains additional information about the violated * limit:

                                                *

                                                * Some of the reasons in the following list might not be applicable to this specific API or operation. *

                                                *
                                                *
                                                  *
                                                • *

                                                  * DUPLICATE_TAG_KEY: Tag keys must be unique among the tags attached to the same entity. *

                                                  *
                                                • *
                                                • *

                                                  * IMMUTABLE_POLICY: You specified a policy that is managed by Amazon Web Services and can't be modified. *

                                                  *
                                                • *
                                                • *

                                                  * INPUT_REQUIRED: You must include a value for all required parameters. *

                                                  *
                                                • *
                                                • *

                                                  * INVALID_EMAIL_ADDRESS_TARGET: You specified an invalid email address for the invited account owner. *

                                                  *
                                                • *
                                                • *

                                                  * INVALID_ENUM: You specified an invalid value. *

                                                  *
                                                • *
                                                • *

                                                  * INVALID_ENUM_POLICY_TYPE: You specified an invalid policy type string. *

                                                  *
                                                • *
                                                • *

                                                  * INVALID_FULL_NAME_TARGET: You specified a full name that contains invalid characters. *

                                                  *
                                                • *
                                                • *

                                                  * INVALID_LIST_MEMBER: You provided a list to a parameter that contains at least one invalid value. *

                                                  *
                                                • *
                                                • *

                                                  * INVALID_PAGINATION_TOKEN: Get the value for the NextToken parameter from the response to a * previous call of the operation. *

                                                  *
                                                • *
                                                • *

                                                  * INVALID_PARTY_TYPE_TARGET: You specified the wrong type of entity (account, organization, or email) as a * party. *

                                                  *
                                                • *
                                                • *

                                                  * INVALID_PATTERN: You provided a value that doesn't match the required pattern. *

                                                  *
                                                • *
                                                • *

                                                  * INVALID_PATTERN_TARGET_ID: You specified a policy target ID that doesn't match the required pattern. *

                                                  *
                                                • *
                                                • *

                                                  * INVALID_PRINCIPAL: You specified an invalid principal element in the policy. *

                                                  *
                                                • *
                                                • *

                                                  * INVALID_ROLE_NAME: You provided a role name that isn't valid. A role name can't begin with the reserved * prefix AWSServiceRoleFor. *

                                                  *
                                                • *
                                                • *

                                                  * INVALID_SYNTAX_ORGANIZATION_ARN: You specified an invalid Amazon Resource Name (ARN) for the * organization. *

                                                  *
                                                • *
                                                • *

                                                  * INVALID_SYNTAX_POLICY_ID: You specified an invalid policy ID. *

                                                  *
                                                • *
                                                • *

                                                  * INVALID_SYSTEM_TAGS_PARAMETER: You specified a tag key that is a system tag. You can’t add, edit, or * delete system tag keys because they're reserved for Amazon Web Services use. System tags don’t count * against your tags per resource limit. *

                                                  *
                                                • *
                                                • *

                                                  * MAX_FILTER_LIMIT_EXCEEDED: You can specify only one filter parameter for the operation. *

                                                  *
                                                • *
                                                • *

                                                  * MAX_LENGTH_EXCEEDED: You provided a string parameter that is longer than allowed. *

                                                  *
                                                • *
                                                • *

                                                  * MAX_VALUE_EXCEEDED: You provided a numeric parameter that has a larger value than allowed. *

                                                  *
                                                • *
                                                • *

                                                  * MIN_LENGTH_EXCEEDED: You provided a string parameter that is shorter than allowed. *

                                                  *
                                                • *
                                                • *

                                                  * MIN_VALUE_EXCEEDED: You provided a numeric parameter that has a smaller value than allowed. *

                                                  *
                                                • *
                                                • *

                                                  * MOVING_ACCOUNT_BETWEEN_DIFFERENT_ROOTS: You can move an account only between entities in the same root. *

                                                  *
                                                • *
                                                • *

                                                  * NON_DETACHABLE_POLICY: You can't detach this Amazon Web Services Managed Policy. *

                                                  *
                                                • *
                                                • *

                                                  * TARGET_NOT_SUPPORTED: You can't perform the specified operation on that target entity. *

                                                  *
                                                • *
                                                • *

                                                  * UNRECOGNIZED_SERVICE_PRINCIPAL: You specified a service principal that isn't recognized. *

                                                  *
                                                • * @throws TooManyRequestsException * You have sent too many requests in too short a period of time. The quota helps protect against * denial-of-service attacks. Try again later.

                                                  *

                                                  * For information about quotas that affect Organizations, see Quotas for * Organizations in the Organizations User Guide. * @throws ServiceException * Organizations can't complete your request because of an internal service error. Try again later. * @throws UnsupportedApiEndpointException * This action isn't available in the current Amazon Web Services Region. * @throws SdkException * Base class for all exceptions that can be thrown by the SDK (both service and client). Can be used for * catch all scenarios. * @throws SdkClientException * If any client side error occurs such as an IO related failure, failure to get credentials, etc. * @throws OrganizationsException * Base class for all service exceptions. Unknown exceptions will be thrown as an instance of this type. * @sample OrganizationsClient.DeregisterDelegatedAdministrator * @see AWS API Documentation */ @Override public DeregisterDelegatedAdministratorResponse deregisterDelegatedAdministrator( DeregisterDelegatedAdministratorRequest deregisterDelegatedAdministratorRequest) throws AccessDeniedException, AccountNotFoundException, AccountNotRegisteredException, AwsOrganizationsNotInUseException, ConcurrentModificationException, ConstraintViolationException, InvalidInputException, TooManyRequestsException, ServiceException, UnsupportedApiEndpointException, AwsServiceException, SdkClientException, OrganizationsException { JsonOperationMetadata operationMetadata = JsonOperationMetadata.builder().hasStreamingSuccessResponse(false) .isPayloadJson(true).build(); HttpResponseHandler responseHandler = protocolFactory.createResponseHandler( operationMetadata, DeregisterDelegatedAdministratorResponse::builder); HttpResponseHandler errorResponseHandler = createErrorResponseHandler(protocolFactory, operationMetadata); SdkClientConfiguration clientConfiguration = updateSdkClientConfiguration(deregisterDelegatedAdministratorRequest, this.clientConfiguration); List metricPublishers = resolveMetricPublishers(clientConfiguration, deregisterDelegatedAdministratorRequest.overrideConfiguration().orElse(null)); MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector .create("ApiCall"); try { apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "Organizations"); apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "DeregisterDelegatedAdministrator"); return clientHandler .execute(new ClientExecutionParams() .withOperationName("DeregisterDelegatedAdministrator").withProtocolMetadata(protocolMetadata) .withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler) .withRequestConfiguration(clientConfiguration).withInput(deregisterDelegatedAdministratorRequest) .withMetricCollector(apiCallMetricCollector) .withMarshaller(new DeregisterDelegatedAdministratorRequestMarshaller(protocolFactory))); } finally { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); } } /** *

                                                  * Retrieves Organizations-related information about the specified account. *

                                                  *

                                                  * This operation can be called only from the organization's management account or by a member account that is a * delegated administrator for an Amazon Web Services service. *

                                                  * * @param describeAccountRequest * @return Result of the DescribeAccount operation returned by the service. * @throws AccessDeniedException * You don't have permissions to perform the requested operation. The user or role that is making the * request must have at least one IAM permissions policy attached that grants the required permissions. For * more information, see Access * Management in the IAM User Guide. * @throws AccountNotFoundException * We can't find an Amazon Web Services account with the AccountId that you specified, or the * account whose credentials you used to make this request isn't a member of an organization. * @throws AwsOrganizationsNotInUseException * Your account isn't a member of an organization. To make this request, you must use the credentials of an * account that belongs to an organization. * @throws InvalidInputException * The requested operation failed because you provided invalid values for one or more of the request * parameters. This exception includes a reason that contains additional information about the violated * limit:

                                                  *

                                                  * Some of the reasons in the following list might not be applicable to this specific API or operation. *

                                                  *
                                                  *
                                                    *
                                                  • *

                                                    * DUPLICATE_TAG_KEY: Tag keys must be unique among the tags attached to the same entity. *

                                                    *
                                                  • *
                                                  • *

                                                    * IMMUTABLE_POLICY: You specified a policy that is managed by Amazon Web Services and can't be modified. *

                                                    *
                                                  • *
                                                  • *

                                                    * INPUT_REQUIRED: You must include a value for all required parameters. *

                                                    *
                                                  • *
                                                  • *

                                                    * INVALID_EMAIL_ADDRESS_TARGET: You specified an invalid email address for the invited account owner. *

                                                    *
                                                  • *
                                                  • *

                                                    * INVALID_ENUM: You specified an invalid value. *

                                                    *
                                                  • *
                                                  • *

                                                    * INVALID_ENUM_POLICY_TYPE: You specified an invalid policy type string. *

                                                    *
                                                  • *
                                                  • *

                                                    * INVALID_FULL_NAME_TARGET: You specified a full name that contains invalid characters. *

                                                    *
                                                  • *
                                                  • *

                                                    * INVALID_LIST_MEMBER: You provided a list to a parameter that contains at least one invalid value. *

                                                    *
                                                  • *
                                                  • *

                                                    * INVALID_PAGINATION_TOKEN: Get the value for the NextToken parameter from the response to a * previous call of the operation. *

                                                    *
                                                  • *
                                                  • *

                                                    * INVALID_PARTY_TYPE_TARGET: You specified the wrong type of entity (account, organization, or email) as a * party. *

                                                    *
                                                  • *
                                                  • *

                                                    * INVALID_PATTERN: You provided a value that doesn't match the required pattern. *

                                                    *
                                                  • *
                                                  • *

                                                    * INVALID_PATTERN_TARGET_ID: You specified a policy target ID that doesn't match the required pattern. *

                                                    *
                                                  • *
                                                  • *

                                                    * INVALID_PRINCIPAL: You specified an invalid principal element in the policy. *

                                                    *
                                                  • *
                                                  • *

                                                    * INVALID_ROLE_NAME: You provided a role name that isn't valid. A role name can't begin with the reserved * prefix AWSServiceRoleFor. *

                                                    *
                                                  • *
                                                  • *

                                                    * INVALID_SYNTAX_ORGANIZATION_ARN: You specified an invalid Amazon Resource Name (ARN) for the * organization. *

                                                    *
                                                  • *
                                                  • *

                                                    * INVALID_SYNTAX_POLICY_ID: You specified an invalid policy ID. *

                                                    *
                                                  • *
                                                  • *

                                                    * INVALID_SYSTEM_TAGS_PARAMETER: You specified a tag key that is a system tag. You can’t add, edit, or * delete system tag keys because they're reserved for Amazon Web Services use. System tags don’t count * against your tags per resource limit. *

                                                    *
                                                  • *
                                                  • *

                                                    * MAX_FILTER_LIMIT_EXCEEDED: You can specify only one filter parameter for the operation. *

                                                    *
                                                  • *
                                                  • *

                                                    * MAX_LENGTH_EXCEEDED: You provided a string parameter that is longer than allowed. *

                                                    *
                                                  • *
                                                  • *

                                                    * MAX_VALUE_EXCEEDED: You provided a numeric parameter that has a larger value than allowed. *

                                                    *
                                                  • *
                                                  • *

                                                    * MIN_LENGTH_EXCEEDED: You provided a string parameter that is shorter than allowed. *

                                                    *
                                                  • *
                                                  • *

                                                    * MIN_VALUE_EXCEEDED: You provided a numeric parameter that has a smaller value than allowed. *

                                                    *
                                                  • *
                                                  • *

                                                    * MOVING_ACCOUNT_BETWEEN_DIFFERENT_ROOTS: You can move an account only between entities in the same root. *

                                                    *
                                                  • *
                                                  • *

                                                    * NON_DETACHABLE_POLICY: You can't detach this Amazon Web Services Managed Policy. *

                                                    *
                                                  • *
                                                  • *

                                                    * TARGET_NOT_SUPPORTED: You can't perform the specified operation on that target entity. *

                                                    *
                                                  • *
                                                  • *

                                                    * UNRECOGNIZED_SERVICE_PRINCIPAL: You specified a service principal that isn't recognized. *

                                                    *
                                                  • * @throws ServiceException * Organizations can't complete your request because of an internal service error. Try again later. * @throws TooManyRequestsException * You have sent too many requests in too short a period of time. The quota helps protect against * denial-of-service attacks. Try again later.

                                                    *

                                                    * For information about quotas that affect Organizations, see Quotas for * Organizations in the Organizations User Guide. * @throws SdkException * Base class for all exceptions that can be thrown by the SDK (both service and client). Can be used for * catch all scenarios. * @throws SdkClientException * If any client side error occurs such as an IO related failure, failure to get credentials, etc. * @throws OrganizationsException * Base class for all service exceptions. Unknown exceptions will be thrown as an instance of this type. * @sample OrganizationsClient.DescribeAccount * @see AWS * API Documentation */ @Override public DescribeAccountResponse describeAccount(DescribeAccountRequest describeAccountRequest) throws AccessDeniedException, AccountNotFoundException, AwsOrganizationsNotInUseException, InvalidInputException, ServiceException, TooManyRequestsException, AwsServiceException, SdkClientException, OrganizationsException { JsonOperationMetadata operationMetadata = JsonOperationMetadata.builder().hasStreamingSuccessResponse(false) .isPayloadJson(true).build(); HttpResponseHandler responseHandler = protocolFactory.createResponseHandler(operationMetadata, DescribeAccountResponse::builder); HttpResponseHandler errorResponseHandler = createErrorResponseHandler(protocolFactory, operationMetadata); SdkClientConfiguration clientConfiguration = updateSdkClientConfiguration(describeAccountRequest, this.clientConfiguration); List metricPublishers = resolveMetricPublishers(clientConfiguration, describeAccountRequest .overrideConfiguration().orElse(null)); MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector .create("ApiCall"); try { apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "Organizations"); apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "DescribeAccount"); return clientHandler.execute(new ClientExecutionParams() .withOperationName("DescribeAccount").withProtocolMetadata(protocolMetadata) .withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler) .withRequestConfiguration(clientConfiguration).withInput(describeAccountRequest) .withMetricCollector(apiCallMetricCollector) .withMarshaller(new DescribeAccountRequestMarshaller(protocolFactory))); } finally { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); } } /** *

                                                    * Retrieves the current status of an asynchronous request to create an account. *

                                                    *

                                                    * This operation can be called only from the organization's management account or by a member account that is a * delegated administrator for an Amazon Web Services service. *

                                                    * * @param describeCreateAccountStatusRequest * @return Result of the DescribeCreateAccountStatus operation returned by the service. * @throws AccessDeniedException * You don't have permissions to perform the requested operation. The user or role that is making the * request must have at least one IAM permissions policy attached that grants the required permissions. For * more information, see Access * Management in the IAM User Guide. * @throws AwsOrganizationsNotInUseException * Your account isn't a member of an organization. To make this request, you must use the credentials of an * account that belongs to an organization. * @throws CreateAccountStatusNotFoundException * We can't find an create account request with the CreateAccountRequestId that you specified. * @throws InvalidInputException * The requested operation failed because you provided invalid values for one or more of the request * parameters. This exception includes a reason that contains additional information about the violated * limit:

                                                    *

                                                    * Some of the reasons in the following list might not be applicable to this specific API or operation. *

                                                    *
                                                    *
                                                      *
                                                    • *

                                                      * DUPLICATE_TAG_KEY: Tag keys must be unique among the tags attached to the same entity. *

                                                      *
                                                    • *
                                                    • *

                                                      * IMMUTABLE_POLICY: You specified a policy that is managed by Amazon Web Services and can't be modified. *

                                                      *
                                                    • *
                                                    • *

                                                      * INPUT_REQUIRED: You must include a value for all required parameters. *

                                                      *
                                                    • *
                                                    • *

                                                      * INVALID_EMAIL_ADDRESS_TARGET: You specified an invalid email address for the invited account owner. *

                                                      *
                                                    • *
                                                    • *

                                                      * INVALID_ENUM: You specified an invalid value. *

                                                      *
                                                    • *
                                                    • *

                                                      * INVALID_ENUM_POLICY_TYPE: You specified an invalid policy type string. *

                                                      *
                                                    • *
                                                    • *

                                                      * INVALID_FULL_NAME_TARGET: You specified a full name that contains invalid characters. *

                                                      *
                                                    • *
                                                    • *

                                                      * INVALID_LIST_MEMBER: You provided a list to a parameter that contains at least one invalid value. *

                                                      *
                                                    • *
                                                    • *

                                                      * INVALID_PAGINATION_TOKEN: Get the value for the NextToken parameter from the response to a * previous call of the operation. *

                                                      *
                                                    • *
                                                    • *

                                                      * INVALID_PARTY_TYPE_TARGET: You specified the wrong type of entity (account, organization, or email) as a * party. *

                                                      *
                                                    • *
                                                    • *

                                                      * INVALID_PATTERN: You provided a value that doesn't match the required pattern. *

                                                      *
                                                    • *
                                                    • *

                                                      * INVALID_PATTERN_TARGET_ID: You specified a policy target ID that doesn't match the required pattern. *

                                                      *
                                                    • *
                                                    • *

                                                      * INVALID_PRINCIPAL: You specified an invalid principal element in the policy. *

                                                      *
                                                    • *
                                                    • *

                                                      * INVALID_ROLE_NAME: You provided a role name that isn't valid. A role name can't begin with the reserved * prefix AWSServiceRoleFor. *

                                                      *
                                                    • *
                                                    • *

                                                      * INVALID_SYNTAX_ORGANIZATION_ARN: You specified an invalid Amazon Resource Name (ARN) for the * organization. *

                                                      *
                                                    • *
                                                    • *

                                                      * INVALID_SYNTAX_POLICY_ID: You specified an invalid policy ID. *

                                                      *
                                                    • *
                                                    • *

                                                      * INVALID_SYSTEM_TAGS_PARAMETER: You specified a tag key that is a system tag. You can’t add, edit, or * delete system tag keys because they're reserved for Amazon Web Services use. System tags don’t count * against your tags per resource limit. *

                                                      *
                                                    • *
                                                    • *

                                                      * MAX_FILTER_LIMIT_EXCEEDED: You can specify only one filter parameter for the operation. *

                                                      *
                                                    • *
                                                    • *

                                                      * MAX_LENGTH_EXCEEDED: You provided a string parameter that is longer than allowed. *

                                                      *
                                                    • *
                                                    • *

                                                      * MAX_VALUE_EXCEEDED: You provided a numeric parameter that has a larger value than allowed. *

                                                      *
                                                    • *
                                                    • *

                                                      * MIN_LENGTH_EXCEEDED: You provided a string parameter that is shorter than allowed. *

                                                      *
                                                    • *
                                                    • *

                                                      * MIN_VALUE_EXCEEDED: You provided a numeric parameter that has a smaller value than allowed. *

                                                      *
                                                    • *
                                                    • *

                                                      * MOVING_ACCOUNT_BETWEEN_DIFFERENT_ROOTS: You can move an account only between entities in the same root. *

                                                      *
                                                    • *
                                                    • *

                                                      * NON_DETACHABLE_POLICY: You can't detach this Amazon Web Services Managed Policy. *

                                                      *
                                                    • *
                                                    • *

                                                      * TARGET_NOT_SUPPORTED: You can't perform the specified operation on that target entity. *

                                                      *
                                                    • *
                                                    • *

                                                      * UNRECOGNIZED_SERVICE_PRINCIPAL: You specified a service principal that isn't recognized. *

                                                      *
                                                    • * @throws ServiceException * Organizations can't complete your request because of an internal service error. Try again later. * @throws TooManyRequestsException * You have sent too many requests in too short a period of time. The quota helps protect against * denial-of-service attacks. Try again later.

                                                      *

                                                      * For information about quotas that affect Organizations, see Quotas for * Organizations in the Organizations User Guide. * @throws UnsupportedApiEndpointException * This action isn't available in the current Amazon Web Services Region. * @throws SdkException * Base class for all exceptions that can be thrown by the SDK (both service and client). Can be used for * catch all scenarios. * @throws SdkClientException * If any client side error occurs such as an IO related failure, failure to get credentials, etc. * @throws OrganizationsException * Base class for all service exceptions. Unknown exceptions will be thrown as an instance of this type. * @sample OrganizationsClient.DescribeCreateAccountStatus * @see AWS API Documentation */ @Override public DescribeCreateAccountStatusResponse describeCreateAccountStatus( DescribeCreateAccountStatusRequest describeCreateAccountStatusRequest) throws AccessDeniedException, AwsOrganizationsNotInUseException, CreateAccountStatusNotFoundException, InvalidInputException, ServiceException, TooManyRequestsException, UnsupportedApiEndpointException, AwsServiceException, SdkClientException, OrganizationsException { JsonOperationMetadata operationMetadata = JsonOperationMetadata.builder().hasStreamingSuccessResponse(false) .isPayloadJson(true).build(); HttpResponseHandler responseHandler = protocolFactory.createResponseHandler( operationMetadata, DescribeCreateAccountStatusResponse::builder); HttpResponseHandler errorResponseHandler = createErrorResponseHandler(protocolFactory, operationMetadata); SdkClientConfiguration clientConfiguration = updateSdkClientConfiguration(describeCreateAccountStatusRequest, this.clientConfiguration); List metricPublishers = resolveMetricPublishers(clientConfiguration, describeCreateAccountStatusRequest .overrideConfiguration().orElse(null)); MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector .create("ApiCall"); try { apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "Organizations"); apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "DescribeCreateAccountStatus"); return clientHandler .execute(new ClientExecutionParams() .withOperationName("DescribeCreateAccountStatus").withProtocolMetadata(protocolMetadata) .withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler) .withRequestConfiguration(clientConfiguration).withInput(describeCreateAccountStatusRequest) .withMetricCollector(apiCallMetricCollector) .withMarshaller(new DescribeCreateAccountStatusRequestMarshaller(protocolFactory))); } finally { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); } } /** *

                                                      * Returns the contents of the effective policy for specified policy type and account. The effective policy is the * aggregation of any policies of the specified type that the account inherits, plus any policy of that type that is * directly attached to the account. *

                                                      *

                                                      * This operation applies only to policy types other than service control policies (SCPs). *

                                                      *

                                                      * For more information about policy inheritance, see Understanding management policy inheritance in the Organizations User Guide. *

                                                      *

                                                      * This operation can be called from any account in the organization. *

                                                      * * @param describeEffectivePolicyRequest * @return Result of the DescribeEffectivePolicy operation returned by the service. * @throws AccessDeniedException * You don't have permissions to perform the requested operation. The user or role that is making the * request must have at least one IAM permissions policy attached that grants the required permissions. For * more information, see Access * Management in the IAM User Guide. * @throws AwsOrganizationsNotInUseException * Your account isn't a member of an organization. To make this request, you must use the credentials of an * account that belongs to an organization. * @throws ConstraintViolationException * Performing this operation violates a minimum or maximum value limit. For example, attempting to remove * the last service control policy (SCP) from an OU or root, inviting or creating too many accounts to the * organization, or attaching too many policies to an account, OU, or root. This exception includes a reason * that contains additional information about the violated limit:

                                                      *

                                                      * Some of the reasons in the following list might not be applicable to this specific API or operation. *

                                                      *
                                                      *
                                                        *
                                                      • *

                                                        * ACCOUNT_CANNOT_LEAVE_ORGANIZATION: You attempted to remove the management account from the organization. * You can't remove the management account. Instead, after you remove all member accounts, delete the * organization itself. *

                                                        *
                                                      • *
                                                      • *

                                                        * ACCOUNT_CANNOT_LEAVE_WITHOUT_PHONE_VERIFICATION: You attempted to remove an account from the organization * that doesn't yet have enough information to exist as a standalone account. This account requires you to * first complete phone verification. Follow the steps at Removing a member account from your organization in the Organizations User Guide. *

                                                        *
                                                      • *
                                                      • *

                                                        * ACCOUNT_CREATION_RATE_LIMIT_EXCEEDED: You attempted to exceed the number of accounts that you can create * in one day. *

                                                        *
                                                      • *
                                                      • *

                                                        * ACCOUNT_CREATION_NOT_COMPLETE: Your account setup isn't complete or your account isn't fully active. You * must complete the account setup before you create an organization. *

                                                        *
                                                      • *
                                                      • *

                                                        * ACCOUNT_NUMBER_LIMIT_EXCEEDED: You attempted to exceed the limit on the number of accounts in an * organization. If you need more accounts, contact Amazon Web Services Support to request an * increase in your limit. *

                                                        *

                                                        * Or the number of invitations that you tried to send would cause you to exceed the limit of accounts in * your organization. Send fewer invitations or contact Amazon Web Services Support to request an increase * in the number of accounts. *

                                                        * *

                                                        * Deleted and closed accounts still count toward your limit. *

                                                        *
                                                        *

                                                        * If you get this exception when running a command immediately after creating the organization, wait one * hour and try again. After an hour, if the command continues to fail with this error, contact Amazon Web Services Support. *

                                                        *
                                                      • *
                                                      • *

                                                        * CANNOT_REGISTER_SUSPENDED_ACCOUNT_AS_DELEGATED_ADMINISTRATOR: You cannot register a suspended account as * a delegated administrator. *

                                                        *
                                                      • *
                                                      • *

                                                        * CANNOT_REGISTER_MASTER_AS_DELEGATED_ADMINISTRATOR: You attempted to register the management account of * the organization as a delegated administrator for an Amazon Web Services service integrated with * Organizations. You can designate only a member account as a delegated administrator. *

                                                        *
                                                      • *
                                                      • *

                                                        * CANNOT_CLOSE_MANAGEMENT_ACCOUNT: You attempted to close the management account. To close the management * account for the organization, you must first either remove or close all member accounts in the * organization. Follow standard account closure process using root credentials.​ *

                                                        *
                                                      • *
                                                      • *

                                                        * CANNOT_REMOVE_DELEGATED_ADMINISTRATOR_FROM_ORG: You attempted to remove an account that is registered as * a delegated administrator for a service integrated with your organization. To complete this operation, * you must first deregister this account as a delegated administrator. *

                                                        *
                                                      • *
                                                      • *

                                                        * CLOSE_ACCOUNT_QUOTA_EXCEEDED: You have exceeded close account quota for the past 30 days. *

                                                        *
                                                      • *
                                                      • *

                                                        * CLOSE_ACCOUNT_REQUESTS_LIMIT_EXCEEDED: You attempted to exceed the number of accounts that you can close * at a time. ​ *

                                                        *
                                                      • *
                                                      • *

                                                        * CREATE_ORGANIZATION_IN_BILLING_MODE_UNSUPPORTED_REGION: To create an organization in the specified * region, you must enable all features mode. *

                                                        *
                                                      • *
                                                      • *

                                                        * DELEGATED_ADMINISTRATOR_EXISTS_FOR_THIS_SERVICE: You attempted to register an Amazon Web Services account * as a delegated administrator for an Amazon Web Services service that already has a delegated * administrator. To complete this operation, you must first deregister any existing delegated * administrators for this service. *

                                                        *
                                                      • *
                                                      • *

                                                        * EMAIL_VERIFICATION_CODE_EXPIRED: The email verification code is only valid for a limited period of time. * You must resubmit the request and generate a new verfication code. *

                                                        *
                                                      • *
                                                      • *

                                                        * HANDSHAKE_RATE_LIMIT_EXCEEDED: You attempted to exceed the number of handshakes that you can send in one * day. *

                                                        *
                                                      • *
                                                      • *

                                                        * INVALID_PAYMENT_INSTRUMENT: You cannot remove an account because no supported payment method is * associated with the account. Amazon Web Services does not support cards issued by financial institutions * in Russia or Belarus. For more information, see Managing your * Amazon Web Services payments. *

                                                        *
                                                      • *
                                                      • *

                                                        * MASTER_ACCOUNT_ADDRESS_DOES_NOT_MATCH_MARKETPLACE: To create an account in this organization, you first * must migrate the organization's management account to the marketplace that corresponds to the management * account's address. All accounts in an organization must be associated with the same marketplace. *

                                                        *
                                                      • *
                                                      • *

                                                        * MASTER_ACCOUNT_MISSING_BUSINESS_LICENSE: Applies only to the Amazon Web Services Regions in China. To * create an organization, the master must have a valid business license. For more information, contact * customer support. *

                                                        *
                                                      • *
                                                      • *

                                                        * MASTER_ACCOUNT_MISSING_CONTACT_INFO: To complete this operation, you must first provide a valid contact * address and phone number for the management account. Then try the operation again. *

                                                        *
                                                      • *
                                                      • *

                                                        * MASTER_ACCOUNT_NOT_GOVCLOUD_ENABLED: To complete this operation, the management account must have an * associated account in the Amazon Web Services GovCloud (US-West) Region. For more information, see Organizations * in the Amazon Web Services GovCloud User Guide. *

                                                        *
                                                      • *
                                                      • *

                                                        * MASTER_ACCOUNT_PAYMENT_INSTRUMENT_REQUIRED: To create an organization with this management account, you * first must associate a valid payment instrument, such as a credit card, with the account. For more * information, see Considerations before removing an account from an organization in the Organizations User * Guide. *

                                                        *
                                                      • *
                                                      • *

                                                        * MAX_DELEGATED_ADMINISTRATORS_FOR_SERVICE_LIMIT_EXCEEDED: You attempted to register more delegated * administrators than allowed for the service principal. *

                                                        *
                                                      • *
                                                      • *

                                                        * MAX_POLICY_TYPE_ATTACHMENT_LIMIT_EXCEEDED: You attempted to exceed the number of policies of a certain * type that can be attached to an entity at one time. *

                                                        *
                                                      • *
                                                      • *

                                                        * MAX_TAG_LIMIT_EXCEEDED: You have exceeded the number of tags allowed on this resource. *

                                                        *
                                                      • *
                                                      • *

                                                        * MEMBER_ACCOUNT_PAYMENT_INSTRUMENT_REQUIRED: To complete this operation with this member account, you * first must associate a valid payment instrument, such as a credit card, with the account. For more * information, see Considerations before removing an account from an organization in the Organizations User * Guide. *

                                                        *
                                                      • *
                                                      • *

                                                        * MIN_POLICY_TYPE_ATTACHMENT_LIMIT_EXCEEDED: You attempted to detach a policy from an entity that would * cause the entity to have fewer than the minimum number of policies of a certain type required. *

                                                        *
                                                      • *
                                                      • *

                                                        * ORGANIZATION_NOT_IN_ALL_FEATURES_MODE: You attempted to perform an operation that requires the * organization to be configured to support all features. An organization that supports only consolidated * billing features can't perform this operation. *

                                                        *
                                                      • *
                                                      • *

                                                        * OU_DEPTH_LIMIT_EXCEEDED: You attempted to create an OU tree that is too many levels deep. *

                                                        *
                                                      • *
                                                      • *

                                                        * OU_NUMBER_LIMIT_EXCEEDED: You attempted to exceed the number of OUs that you can have in an organization. *

                                                        *
                                                      • *
                                                      • *

                                                        * POLICY_CONTENT_LIMIT_EXCEEDED: You attempted to create a policy that is larger than the maximum size. *

                                                        *
                                                      • *
                                                      • *

                                                        * POLICY_NUMBER_LIMIT_EXCEEDED: You attempted to exceed the number of policies that you can have in an * organization. *

                                                        *
                                                      • *
                                                      • *

                                                        * SERVICE_ACCESS_NOT_ENABLED: You attempted to register a delegated administrator before you enabled * service access. Call the EnableAWSServiceAccess API first. *

                                                        *
                                                      • *
                                                      • *

                                                        * TAG_POLICY_VIOLATION: You attempted to create or update a resource with tags that are not compliant with * the tag policy requirements for this account. *

                                                        *
                                                      • *
                                                      • *

                                                        * WAIT_PERIOD_ACTIVE: After you create an Amazon Web Services account, you must wait until at least seven * days after the account was created. Invited accounts aren't subject to this waiting period. *

                                                        *
                                                      • * @throws ServiceException * Organizations can't complete your request because of an internal service error. Try again later. * @throws TooManyRequestsException * You have sent too many requests in too short a period of time. The quota helps protect against * denial-of-service attacks. Try again later.

                                                        *

                                                        * For information about quotas that affect Organizations, see Quotas for * Organizations in the Organizations User Guide. * @throws TargetNotFoundException * We can't find a root, OU, account, or policy with the TargetId that you specified. * @throws EffectivePolicyNotFoundException * If you ran this action on the management account, this policy type is not enabled. If you ran the action * on a member account, the account doesn't have an effective policy of this type. Contact the administrator * of your organization about attaching a policy of this type to the account. * @throws InvalidInputException * The requested operation failed because you provided invalid values for one or more of the request * parameters. This exception includes a reason that contains additional information about the violated * limit: *

                                                        * *

                                                        * Some of the reasons in the following list might not be applicable to this specific API or operation. *

                                                        *
                                                        *
                                                          *
                                                        • *

                                                          * DUPLICATE_TAG_KEY: Tag keys must be unique among the tags attached to the same entity. *

                                                          *
                                                        • *
                                                        • *

                                                          * IMMUTABLE_POLICY: You specified a policy that is managed by Amazon Web Services and can't be modified. *

                                                          *
                                                        • *
                                                        • *

                                                          * INPUT_REQUIRED: You must include a value for all required parameters. *

                                                          *
                                                        • *
                                                        • *

                                                          * INVALID_EMAIL_ADDRESS_TARGET: You specified an invalid email address for the invited account owner. *

                                                          *
                                                        • *
                                                        • *

                                                          * INVALID_ENUM: You specified an invalid value. *

                                                          *
                                                        • *
                                                        • *

                                                          * INVALID_ENUM_POLICY_TYPE: You specified an invalid policy type string. *

                                                          *
                                                        • *
                                                        • *

                                                          * INVALID_FULL_NAME_TARGET: You specified a full name that contains invalid characters. *

                                                          *
                                                        • *
                                                        • *

                                                          * INVALID_LIST_MEMBER: You provided a list to a parameter that contains at least one invalid value. *

                                                          *
                                                        • *
                                                        • *

                                                          * INVALID_PAGINATION_TOKEN: Get the value for the NextToken parameter from the response to a * previous call of the operation. *

                                                          *
                                                        • *
                                                        • *

                                                          * INVALID_PARTY_TYPE_TARGET: You specified the wrong type of entity (account, organization, or email) as a * party. *

                                                          *
                                                        • *
                                                        • *

                                                          * INVALID_PATTERN: You provided a value that doesn't match the required pattern. *

                                                          *
                                                        • *
                                                        • *

                                                          * INVALID_PATTERN_TARGET_ID: You specified a policy target ID that doesn't match the required pattern. *

                                                          *
                                                        • *
                                                        • *

                                                          * INVALID_PRINCIPAL: You specified an invalid principal element in the policy. *

                                                          *
                                                        • *
                                                        • *

                                                          * INVALID_ROLE_NAME: You provided a role name that isn't valid. A role name can't begin with the reserved * prefix AWSServiceRoleFor. *

                                                          *
                                                        • *
                                                        • *

                                                          * INVALID_SYNTAX_ORGANIZATION_ARN: You specified an invalid Amazon Resource Name (ARN) for the * organization. *

                                                          *
                                                        • *
                                                        • *

                                                          * INVALID_SYNTAX_POLICY_ID: You specified an invalid policy ID. *

                                                          *
                                                        • *
                                                        • *

                                                          * INVALID_SYSTEM_TAGS_PARAMETER: You specified a tag key that is a system tag. You can’t add, edit, or * delete system tag keys because they're reserved for Amazon Web Services use. System tags don’t count * against your tags per resource limit. *

                                                          *
                                                        • *
                                                        • *

                                                          * MAX_FILTER_LIMIT_EXCEEDED: You can specify only one filter parameter for the operation. *

                                                          *
                                                        • *
                                                        • *

                                                          * MAX_LENGTH_EXCEEDED: You provided a string parameter that is longer than allowed. *

                                                          *
                                                        • *
                                                        • *

                                                          * MAX_VALUE_EXCEEDED: You provided a numeric parameter that has a larger value than allowed. *

                                                          *
                                                        • *
                                                        • *

                                                          * MIN_LENGTH_EXCEEDED: You provided a string parameter that is shorter than allowed. *

                                                          *
                                                        • *
                                                        • *

                                                          * MIN_VALUE_EXCEEDED: You provided a numeric parameter that has a smaller value than allowed. *

                                                          *
                                                        • *
                                                        • *

                                                          * MOVING_ACCOUNT_BETWEEN_DIFFERENT_ROOTS: You can move an account only between entities in the same root. *

                                                          *
                                                        • *
                                                        • *

                                                          * NON_DETACHABLE_POLICY: You can't detach this Amazon Web Services Managed Policy. *

                                                          *
                                                        • *
                                                        • *

                                                          * TARGET_NOT_SUPPORTED: You can't perform the specified operation on that target entity. *

                                                          *
                                                        • *
                                                        • *

                                                          * UNRECOGNIZED_SERVICE_PRINCIPAL: You specified a service principal that isn't recognized. *

                                                          *
                                                        • * @throws UnsupportedApiEndpointException * This action isn't available in the current Amazon Web Services Region. * @throws SdkException * Base class for all exceptions that can be thrown by the SDK (both service and client). Can be used for * catch all scenarios. * @throws SdkClientException * If any client side error occurs such as an IO related failure, failure to get credentials, etc. * @throws OrganizationsException * Base class for all service exceptions. Unknown exceptions will be thrown as an instance of this type. * @sample OrganizationsClient.DescribeEffectivePolicy * @see AWS API Documentation */ @Override public DescribeEffectivePolicyResponse describeEffectivePolicy(DescribeEffectivePolicyRequest describeEffectivePolicyRequest) throws AccessDeniedException, AwsOrganizationsNotInUseException, ConstraintViolationException, ServiceException, TooManyRequestsException, TargetNotFoundException, EffectivePolicyNotFoundException, InvalidInputException, UnsupportedApiEndpointException, AwsServiceException, SdkClientException, OrganizationsException { JsonOperationMetadata operationMetadata = JsonOperationMetadata.builder().hasStreamingSuccessResponse(false) .isPayloadJson(true).build(); HttpResponseHandler responseHandler = protocolFactory.createResponseHandler( operationMetadata, DescribeEffectivePolicyResponse::builder); HttpResponseHandler errorResponseHandler = createErrorResponseHandler(protocolFactory, operationMetadata); SdkClientConfiguration clientConfiguration = updateSdkClientConfiguration(describeEffectivePolicyRequest, this.clientConfiguration); List metricPublishers = resolveMetricPublishers(clientConfiguration, describeEffectivePolicyRequest .overrideConfiguration().orElse(null)); MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector .create("ApiCall"); try { apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "Organizations"); apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "DescribeEffectivePolicy"); return clientHandler .execute(new ClientExecutionParams() .withOperationName("DescribeEffectivePolicy").withProtocolMetadata(protocolMetadata) .withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler) .withRequestConfiguration(clientConfiguration).withInput(describeEffectivePolicyRequest) .withMetricCollector(apiCallMetricCollector) .withMarshaller(new DescribeEffectivePolicyRequestMarshaller(protocolFactory))); } finally { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); } } /** *

                                                          * Retrieves information about a previously requested handshake. The handshake ID comes from the response to the * original InviteAccountToOrganization operation that generated the handshake. *

                                                          *

                                                          * You can access handshakes that are ACCEPTED, DECLINED, or CANCELED for * only 30 days after they change to that state. They're then deleted and no longer accessible. *

                                                          *

                                                          * This operation can be called from any account in the organization. *

                                                          * * @param describeHandshakeRequest * @return Result of the DescribeHandshake operation returned by the service. * @throws AccessDeniedException * You don't have permissions to perform the requested operation. The user or role that is making the * request must have at least one IAM permissions policy attached that grants the required permissions. For * more information, see Access * Management in the IAM User Guide. * @throws ConcurrentModificationException * The target of the operation is currently being modified by a different request. Try again later. * @throws HandshakeNotFoundException * We can't find a handshake with the HandshakeId that you specified. * @throws InvalidInputException * The requested operation failed because you provided invalid values for one or more of the request * parameters. This exception includes a reason that contains additional information about the violated * limit:

                                                          *

                                                          * Some of the reasons in the following list might not be applicable to this specific API or operation. *

                                                          *
                                                          *
                                                            *
                                                          • *

                                                            * DUPLICATE_TAG_KEY: Tag keys must be unique among the tags attached to the same entity. *

                                                            *
                                                          • *
                                                          • *

                                                            * IMMUTABLE_POLICY: You specified a policy that is managed by Amazon Web Services and can't be modified. *

                                                            *
                                                          • *
                                                          • *

                                                            * INPUT_REQUIRED: You must include a value for all required parameters. *

                                                            *
                                                          • *
                                                          • *

                                                            * INVALID_EMAIL_ADDRESS_TARGET: You specified an invalid email address for the invited account owner. *

                                                            *
                                                          • *
                                                          • *

                                                            * INVALID_ENUM: You specified an invalid value. *

                                                            *
                                                          • *
                                                          • *

                                                            * INVALID_ENUM_POLICY_TYPE: You specified an invalid policy type string. *

                                                            *
                                                          • *
                                                          • *

                                                            * INVALID_FULL_NAME_TARGET: You specified a full name that contains invalid characters. *

                                                            *
                                                          • *
                                                          • *

                                                            * INVALID_LIST_MEMBER: You provided a list to a parameter that contains at least one invalid value. *

                                                            *
                                                          • *
                                                          • *

                                                            * INVALID_PAGINATION_TOKEN: Get the value for the NextToken parameter from the response to a * previous call of the operation. *

                                                            *
                                                          • *
                                                          • *

                                                            * INVALID_PARTY_TYPE_TARGET: You specified the wrong type of entity (account, organization, or email) as a * party. *

                                                            *
                                                          • *
                                                          • *

                                                            * INVALID_PATTERN: You provided a value that doesn't match the required pattern. *

                                                            *
                                                          • *
                                                          • *

                                                            * INVALID_PATTERN_TARGET_ID: You specified a policy target ID that doesn't match the required pattern. *

                                                            *
                                                          • *
                                                          • *

                                                            * INVALID_PRINCIPAL: You specified an invalid principal element in the policy. *

                                                            *
                                                          • *
                                                          • *

                                                            * INVALID_ROLE_NAME: You provided a role name that isn't valid. A role name can't begin with the reserved * prefix AWSServiceRoleFor. *

                                                            *
                                                          • *
                                                          • *

                                                            * INVALID_SYNTAX_ORGANIZATION_ARN: You specified an invalid Amazon Resource Name (ARN) for the * organization. *

                                                            *
                                                          • *
                                                          • *

                                                            * INVALID_SYNTAX_POLICY_ID: You specified an invalid policy ID. *

                                                            *
                                                          • *
                                                          • *

                                                            * INVALID_SYSTEM_TAGS_PARAMETER: You specified a tag key that is a system tag. You can’t add, edit, or * delete system tag keys because they're reserved for Amazon Web Services use. System tags don’t count * against your tags per resource limit. *

                                                            *
                                                          • *
                                                          • *

                                                            * MAX_FILTER_LIMIT_EXCEEDED: You can specify only one filter parameter for the operation. *

                                                            *
                                                          • *
                                                          • *

                                                            * MAX_LENGTH_EXCEEDED: You provided a string parameter that is longer than allowed. *

                                                            *
                                                          • *
                                                          • *

                                                            * MAX_VALUE_EXCEEDED: You provided a numeric parameter that has a larger value than allowed. *

                                                            *
                                                          • *
                                                          • *

                                                            * MIN_LENGTH_EXCEEDED: You provided a string parameter that is shorter than allowed. *

                                                            *
                                                          • *
                                                          • *

                                                            * MIN_VALUE_EXCEEDED: You provided a numeric parameter that has a smaller value than allowed. *

                                                            *
                                                          • *
                                                          • *

                                                            * MOVING_ACCOUNT_BETWEEN_DIFFERENT_ROOTS: You can move an account only between entities in the same root. *

                                                            *
                                                          • *
                                                          • *

                                                            * NON_DETACHABLE_POLICY: You can't detach this Amazon Web Services Managed Policy. *

                                                            *
                                                          • *
                                                          • *

                                                            * TARGET_NOT_SUPPORTED: You can't perform the specified operation on that target entity. *

                                                            *
                                                          • *
                                                          • *

                                                            * UNRECOGNIZED_SERVICE_PRINCIPAL: You specified a service principal that isn't recognized. *

                                                            *
                                                          • * @throws ServiceException * Organizations can't complete your request because of an internal service error. Try again later. * @throws TooManyRequestsException * You have sent too many requests in too short a period of time. The quota helps protect against * denial-of-service attacks. Try again later.

                                                            *

                                                            * For information about quotas that affect Organizations, see Quotas for * Organizations in the Organizations User Guide. * @throws SdkException * Base class for all exceptions that can be thrown by the SDK (both service and client). Can be used for * catch all scenarios. * @throws SdkClientException * If any client side error occurs such as an IO related failure, failure to get credentials, etc. * @throws OrganizationsException * Base class for all service exceptions. Unknown exceptions will be thrown as an instance of this type. * @sample OrganizationsClient.DescribeHandshake * @see AWS API Documentation */ @Override public DescribeHandshakeResponse describeHandshake(DescribeHandshakeRequest describeHandshakeRequest) throws AccessDeniedException, ConcurrentModificationException, HandshakeNotFoundException, InvalidInputException, ServiceException, TooManyRequestsException, AwsServiceException, SdkClientException, OrganizationsException { JsonOperationMetadata operationMetadata = JsonOperationMetadata.builder().hasStreamingSuccessResponse(false) .isPayloadJson(true).build(); HttpResponseHandler responseHandler = protocolFactory.createResponseHandler(operationMetadata, DescribeHandshakeResponse::builder); HttpResponseHandler errorResponseHandler = createErrorResponseHandler(protocolFactory, operationMetadata); SdkClientConfiguration clientConfiguration = updateSdkClientConfiguration(describeHandshakeRequest, this.clientConfiguration); List metricPublishers = resolveMetricPublishers(clientConfiguration, describeHandshakeRequest .overrideConfiguration().orElse(null)); MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector .create("ApiCall"); try { apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "Organizations"); apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "DescribeHandshake"); return clientHandler.execute(new ClientExecutionParams() .withOperationName("DescribeHandshake").withProtocolMetadata(protocolMetadata) .withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler) .withRequestConfiguration(clientConfiguration).withInput(describeHandshakeRequest) .withMetricCollector(apiCallMetricCollector) .withMarshaller(new DescribeHandshakeRequestMarshaller(protocolFactory))); } finally { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); } } /** *

                                                            * Retrieves information about the organization that the user's account belongs to. *

                                                            *

                                                            * This operation can be called from any account in the organization. *

                                                            * *

                                                            * Even if a policy type is shown as available in the organization, you can disable it separately at the root level * with DisablePolicyType. Use ListRoots to see the status of policy types for a specified root. *

                                                            *
                                                            * * @param describeOrganizationRequest * @return Result of the DescribeOrganization operation returned by the service. * @throws AccessDeniedException * You don't have permissions to perform the requested operation. The user or role that is making the * request must have at least one IAM permissions policy attached that grants the required permissions. For * more information, see Access * Management in the IAM User Guide. * @throws AwsOrganizationsNotInUseException * Your account isn't a member of an organization. To make this request, you must use the credentials of an * account that belongs to an organization. * @throws ConcurrentModificationException * The target of the operation is currently being modified by a different request. Try again later. * @throws ServiceException * Organizations can't complete your request because of an internal service error. Try again later. * @throws TooManyRequestsException * You have sent too many requests in too short a period of time. The quota helps protect against * denial-of-service attacks. Try again later.

                                                            *

                                                            * For information about quotas that affect Organizations, see Quotas for * Organizations in the Organizations User Guide. * @throws SdkException * Base class for all exceptions that can be thrown by the SDK (both service and client). Can be used for * catch all scenarios. * @throws SdkClientException * If any client side error occurs such as an IO related failure, failure to get credentials, etc. * @throws OrganizationsException * Base class for all service exceptions. Unknown exceptions will be thrown as an instance of this type. * @sample OrganizationsClient.DescribeOrganization * @see AWS API Documentation */ @Override public DescribeOrganizationResponse describeOrganization(DescribeOrganizationRequest describeOrganizationRequest) throws AccessDeniedException, AwsOrganizationsNotInUseException, ConcurrentModificationException, ServiceException, TooManyRequestsException, AwsServiceException, SdkClientException, OrganizationsException { JsonOperationMetadata operationMetadata = JsonOperationMetadata.builder().hasStreamingSuccessResponse(false) .isPayloadJson(true).build(); HttpResponseHandler responseHandler = protocolFactory.createResponseHandler( operationMetadata, DescribeOrganizationResponse::builder); HttpResponseHandler errorResponseHandler = createErrorResponseHandler(protocolFactory, operationMetadata); SdkClientConfiguration clientConfiguration = updateSdkClientConfiguration(describeOrganizationRequest, this.clientConfiguration); List metricPublishers = resolveMetricPublishers(clientConfiguration, describeOrganizationRequest .overrideConfiguration().orElse(null)); MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector .create("ApiCall"); try { apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "Organizations"); apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "DescribeOrganization"); return clientHandler.execute(new ClientExecutionParams() .withOperationName("DescribeOrganization").withProtocolMetadata(protocolMetadata) .withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler) .withRequestConfiguration(clientConfiguration).withInput(describeOrganizationRequest) .withMetricCollector(apiCallMetricCollector) .withMarshaller(new DescribeOrganizationRequestMarshaller(protocolFactory))); } finally { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); } } /** *

                                                            * Retrieves information about an organizational unit (OU). *

                                                            *

                                                            * This operation can be called only from the organization's management account or by a member account that is a * delegated administrator for an Amazon Web Services service. *

                                                            * * @param describeOrganizationalUnitRequest * @return Result of the DescribeOrganizationalUnit operation returned by the service. * @throws AccessDeniedException * You don't have permissions to perform the requested operation. The user or role that is making the * request must have at least one IAM permissions policy attached that grants the required permissions. For * more information, see Access * Management in the IAM User Guide. * @throws AwsOrganizationsNotInUseException * Your account isn't a member of an organization. To make this request, you must use the credentials of an * account that belongs to an organization. * @throws InvalidInputException * The requested operation failed because you provided invalid values for one or more of the request * parameters. This exception includes a reason that contains additional information about the violated * limit:

                                                            *

                                                            * Some of the reasons in the following list might not be applicable to this specific API or operation. *

                                                            *
                                                            *
                                                              *
                                                            • *

                                                              * DUPLICATE_TAG_KEY: Tag keys must be unique among the tags attached to the same entity. *

                                                              *
                                                            • *
                                                            • *

                                                              * IMMUTABLE_POLICY: You specified a policy that is managed by Amazon Web Services and can't be modified. *

                                                              *
                                                            • *
                                                            • *

                                                              * INPUT_REQUIRED: You must include a value for all required parameters. *

                                                              *
                                                            • *
                                                            • *

                                                              * INVALID_EMAIL_ADDRESS_TARGET: You specified an invalid email address for the invited account owner. *

                                                              *
                                                            • *
                                                            • *

                                                              * INVALID_ENUM: You specified an invalid value. *

                                                              *
                                                            • *
                                                            • *

                                                              * INVALID_ENUM_POLICY_TYPE: You specified an invalid policy type string. *

                                                              *
                                                            • *
                                                            • *

                                                              * INVALID_FULL_NAME_TARGET: You specified a full name that contains invalid characters. *

                                                              *
                                                            • *
                                                            • *

                                                              * INVALID_LIST_MEMBER: You provided a list to a parameter that contains at least one invalid value. *

                                                              *
                                                            • *
                                                            • *

                                                              * INVALID_PAGINATION_TOKEN: Get the value for the NextToken parameter from the response to a * previous call of the operation. *

                                                              *
                                                            • *
                                                            • *

                                                              * INVALID_PARTY_TYPE_TARGET: You specified the wrong type of entity (account, organization, or email) as a * party. *

                                                              *
                                                            • *
                                                            • *

                                                              * INVALID_PATTERN: You provided a value that doesn't match the required pattern. *

                                                              *
                                                            • *
                                                            • *

                                                              * INVALID_PATTERN_TARGET_ID: You specified a policy target ID that doesn't match the required pattern. *

                                                              *
                                                            • *
                                                            • *

                                                              * INVALID_PRINCIPAL: You specified an invalid principal element in the policy. *

                                                              *
                                                            • *
                                                            • *

                                                              * INVALID_ROLE_NAME: You provided a role name that isn't valid. A role name can't begin with the reserved * prefix AWSServiceRoleFor. *

                                                              *
                                                            • *
                                                            • *

                                                              * INVALID_SYNTAX_ORGANIZATION_ARN: You specified an invalid Amazon Resource Name (ARN) for the * organization. *

                                                              *
                                                            • *
                                                            • *

                                                              * INVALID_SYNTAX_POLICY_ID: You specified an invalid policy ID. *

                                                              *
                                                            • *
                                                            • *

                                                              * INVALID_SYSTEM_TAGS_PARAMETER: You specified a tag key that is a system tag. You can’t add, edit, or * delete system tag keys because they're reserved for Amazon Web Services use. System tags don’t count * against your tags per resource limit. *

                                                              *
                                                            • *
                                                            • *

                                                              * MAX_FILTER_LIMIT_EXCEEDED: You can specify only one filter parameter for the operation. *

                                                              *
                                                            • *
                                                            • *

                                                              * MAX_LENGTH_EXCEEDED: You provided a string parameter that is longer than allowed. *

                                                              *
                                                            • *
                                                            • *

                                                              * MAX_VALUE_EXCEEDED: You provided a numeric parameter that has a larger value than allowed. *

                                                              *
                                                            • *
                                                            • *

                                                              * MIN_LENGTH_EXCEEDED: You provided a string parameter that is shorter than allowed. *

                                                              *
                                                            • *
                                                            • *

                                                              * MIN_VALUE_EXCEEDED: You provided a numeric parameter that has a smaller value than allowed. *

                                                              *
                                                            • *
                                                            • *

                                                              * MOVING_ACCOUNT_BETWEEN_DIFFERENT_ROOTS: You can move an account only between entities in the same root. *

                                                              *
                                                            • *
                                                            • *

                                                              * NON_DETACHABLE_POLICY: You can't detach this Amazon Web Services Managed Policy. *

                                                              *
                                                            • *
                                                            • *

                                                              * TARGET_NOT_SUPPORTED: You can't perform the specified operation on that target entity. *

                                                              *
                                                            • *
                                                            • *

                                                              * UNRECOGNIZED_SERVICE_PRINCIPAL: You specified a service principal that isn't recognized. *

                                                              *
                                                            • * @throws OrganizationalUnitNotFoundException * We can't find an OU with the OrganizationalUnitId that you specified. * @throws ServiceException * Organizations can't complete your request because of an internal service error. Try again later. * @throws TooManyRequestsException * You have sent too many requests in too short a period of time. The quota helps protect against * denial-of-service attacks. Try again later.

                                                              *

                                                              * For information about quotas that affect Organizations, see Quotas for * Organizations in the Organizations User Guide. * @throws SdkException * Base class for all exceptions that can be thrown by the SDK (both service and client). Can be used for * catch all scenarios. * @throws SdkClientException * If any client side error occurs such as an IO related failure, failure to get credentials, etc. * @throws OrganizationsException * Base class for all service exceptions. Unknown exceptions will be thrown as an instance of this type. * @sample OrganizationsClient.DescribeOrganizationalUnit * @see AWS API Documentation */ @Override public DescribeOrganizationalUnitResponse describeOrganizationalUnit( DescribeOrganizationalUnitRequest describeOrganizationalUnitRequest) throws AccessDeniedException, AwsOrganizationsNotInUseException, InvalidInputException, OrganizationalUnitNotFoundException, ServiceException, TooManyRequestsException, AwsServiceException, SdkClientException, OrganizationsException { JsonOperationMetadata operationMetadata = JsonOperationMetadata.builder().hasStreamingSuccessResponse(false) .isPayloadJson(true).build(); HttpResponseHandler responseHandler = protocolFactory.createResponseHandler( operationMetadata, DescribeOrganizationalUnitResponse::builder); HttpResponseHandler errorResponseHandler = createErrorResponseHandler(protocolFactory, operationMetadata); SdkClientConfiguration clientConfiguration = updateSdkClientConfiguration(describeOrganizationalUnitRequest, this.clientConfiguration); List metricPublishers = resolveMetricPublishers(clientConfiguration, describeOrganizationalUnitRequest .overrideConfiguration().orElse(null)); MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector .create("ApiCall"); try { apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "Organizations"); apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "DescribeOrganizationalUnit"); return clientHandler .execute(new ClientExecutionParams() .withOperationName("DescribeOrganizationalUnit").withProtocolMetadata(protocolMetadata) .withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler) .withRequestConfiguration(clientConfiguration).withInput(describeOrganizationalUnitRequest) .withMetricCollector(apiCallMetricCollector) .withMarshaller(new DescribeOrganizationalUnitRequestMarshaller(protocolFactory))); } finally { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); } } /** *

                                                              * Retrieves information about a policy. *

                                                              *

                                                              * This operation can be called only from the organization's management account or by a member account that is a * delegated administrator for an Amazon Web Services service. *

                                                              * * @param describePolicyRequest * @return Result of the DescribePolicy operation returned by the service. * @throws AccessDeniedException * You don't have permissions to perform the requested operation. The user or role that is making the * request must have at least one IAM permissions policy attached that grants the required permissions. For * more information, see Access * Management in the IAM User Guide. * @throws AwsOrganizationsNotInUseException * Your account isn't a member of an organization. To make this request, you must use the credentials of an * account that belongs to an organization. * @throws InvalidInputException * The requested operation failed because you provided invalid values for one or more of the request * parameters. This exception includes a reason that contains additional information about the violated * limit:

                                                              *

                                                              * Some of the reasons in the following list might not be applicable to this specific API or operation. *

                                                              *
                                                              *
                                                                *
                                                              • *

                                                                * DUPLICATE_TAG_KEY: Tag keys must be unique among the tags attached to the same entity. *

                                                                *
                                                              • *
                                                              • *

                                                                * IMMUTABLE_POLICY: You specified a policy that is managed by Amazon Web Services and can't be modified. *

                                                                *
                                                              • *
                                                              • *

                                                                * INPUT_REQUIRED: You must include a value for all required parameters. *

                                                                *
                                                              • *
                                                              • *

                                                                * INVALID_EMAIL_ADDRESS_TARGET: You specified an invalid email address for the invited account owner. *

                                                                *
                                                              • *
                                                              • *

                                                                * INVALID_ENUM: You specified an invalid value. *

                                                                *
                                                              • *
                                                              • *

                                                                * INVALID_ENUM_POLICY_TYPE: You specified an invalid policy type string. *

                                                                *
                                                              • *
                                                              • *

                                                                * INVALID_FULL_NAME_TARGET: You specified a full name that contains invalid characters. *

                                                                *
                                                              • *
                                                              • *

                                                                * INVALID_LIST_MEMBER: You provided a list to a parameter that contains at least one invalid value. *

                                                                *
                                                              • *
                                                              • *

                                                                * INVALID_PAGINATION_TOKEN: Get the value for the NextToken parameter from the response to a * previous call of the operation. *

                                                                *
                                                              • *
                                                              • *

                                                                * INVALID_PARTY_TYPE_TARGET: You specified the wrong type of entity (account, organization, or email) as a * party. *

                                                                *
                                                              • *
                                                              • *

                                                                * INVALID_PATTERN: You provided a value that doesn't match the required pattern. *

                                                                *
                                                              • *
                                                              • *

                                                                * INVALID_PATTERN_TARGET_ID: You specified a policy target ID that doesn't match the required pattern. *

                                                                *
                                                              • *
                                                              • *

                                                                * INVALID_PRINCIPAL: You specified an invalid principal element in the policy. *

                                                                *
                                                              • *
                                                              • *

                                                                * INVALID_ROLE_NAME: You provided a role name that isn't valid. A role name can't begin with the reserved * prefix AWSServiceRoleFor. *

                                                                *
                                                              • *
                                                              • *

                                                                * INVALID_SYNTAX_ORGANIZATION_ARN: You specified an invalid Amazon Resource Name (ARN) for the * organization. *

                                                                *
                                                              • *
                                                              • *

                                                                * INVALID_SYNTAX_POLICY_ID: You specified an invalid policy ID. *

                                                                *
                                                              • *
                                                              • *

                                                                * INVALID_SYSTEM_TAGS_PARAMETER: You specified a tag key that is a system tag. You can’t add, edit, or * delete system tag keys because they're reserved for Amazon Web Services use. System tags don’t count * against your tags per resource limit. *

                                                                *
                                                              • *
                                                              • *

                                                                * MAX_FILTER_LIMIT_EXCEEDED: You can specify only one filter parameter for the operation. *

                                                                *
                                                              • *
                                                              • *

                                                                * MAX_LENGTH_EXCEEDED: You provided a string parameter that is longer than allowed. *

                                                                *
                                                              • *
                                                              • *

                                                                * MAX_VALUE_EXCEEDED: You provided a numeric parameter that has a larger value than allowed. *

                                                                *
                                                              • *
                                                              • *

                                                                * MIN_LENGTH_EXCEEDED: You provided a string parameter that is shorter than allowed. *

                                                                *
                                                              • *
                                                              • *

                                                                * MIN_VALUE_EXCEEDED: You provided a numeric parameter that has a smaller value than allowed. *

                                                                *
                                                              • *
                                                              • *

                                                                * MOVING_ACCOUNT_BETWEEN_DIFFERENT_ROOTS: You can move an account only between entities in the same root. *

                                                                *
                                                              • *
                                                              • *

                                                                * NON_DETACHABLE_POLICY: You can't detach this Amazon Web Services Managed Policy. *

                                                                *
                                                              • *
                                                              • *

                                                                * TARGET_NOT_SUPPORTED: You can't perform the specified operation on that target entity. *

                                                                *
                                                              • *
                                                              • *

                                                                * UNRECOGNIZED_SERVICE_PRINCIPAL: You specified a service principal that isn't recognized. *

                                                                *
                                                              • * @throws PolicyNotFoundException * We can't find a policy with the PolicyId that you specified. * @throws ServiceException * Organizations can't complete your request because of an internal service error. Try again later. * @throws TooManyRequestsException * You have sent too many requests in too short a period of time. The quota helps protect against * denial-of-service attacks. Try again later.

                                                                *

                                                                * For information about quotas that affect Organizations, see Quotas for * Organizations in the Organizations User Guide. * @throws UnsupportedApiEndpointException * This action isn't available in the current Amazon Web Services Region. * @throws SdkException * Base class for all exceptions that can be thrown by the SDK (both service and client). Can be used for * catch all scenarios. * @throws SdkClientException * If any client side error occurs such as an IO related failure, failure to get credentials, etc. * @throws OrganizationsException * Base class for all service exceptions. Unknown exceptions will be thrown as an instance of this type. * @sample OrganizationsClient.DescribePolicy * @see AWS * API Documentation */ @Override public DescribePolicyResponse describePolicy(DescribePolicyRequest describePolicyRequest) throws AccessDeniedException, AwsOrganizationsNotInUseException, InvalidInputException, PolicyNotFoundException, ServiceException, TooManyRequestsException, UnsupportedApiEndpointException, AwsServiceException, SdkClientException, OrganizationsException { JsonOperationMetadata operationMetadata = JsonOperationMetadata.builder().hasStreamingSuccessResponse(false) .isPayloadJson(true).build(); HttpResponseHandler responseHandler = protocolFactory.createResponseHandler(operationMetadata, DescribePolicyResponse::builder); HttpResponseHandler errorResponseHandler = createErrorResponseHandler(protocolFactory, operationMetadata); SdkClientConfiguration clientConfiguration = updateSdkClientConfiguration(describePolicyRequest, this.clientConfiguration); List metricPublishers = resolveMetricPublishers(clientConfiguration, describePolicyRequest .overrideConfiguration().orElse(null)); MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector .create("ApiCall"); try { apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "Organizations"); apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "DescribePolicy"); return clientHandler.execute(new ClientExecutionParams() .withOperationName("DescribePolicy").withProtocolMetadata(protocolMetadata) .withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler) .withRequestConfiguration(clientConfiguration).withInput(describePolicyRequest) .withMetricCollector(apiCallMetricCollector) .withMarshaller(new DescribePolicyRequestMarshaller(protocolFactory))); } finally { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); } } /** *

                                                                * Retrieves information about a resource policy. *

                                                                *

                                                                * This operation can be called only from the organization's management account or by a member account that is a * delegated administrator for an Amazon Web Services service. *

                                                                * * @param describeResourcePolicyRequest * @return Result of the DescribeResourcePolicy operation returned by the service. * @throws AccessDeniedException * You don't have permissions to perform the requested operation. The user or role that is making the * request must have at least one IAM permissions policy attached that grants the required permissions. For * more information, see Access * Management in the IAM User Guide. * @throws ServiceException * Organizations can't complete your request because of an internal service error. Try again later. * @throws UnsupportedApiEndpointException * This action isn't available in the current Amazon Web Services Region. * @throws TooManyRequestsException * You have sent too many requests in too short a period of time. The quota helps protect against * denial-of-service attacks. Try again later.

                                                                *

                                                                * For information about quotas that affect Organizations, see Quotas for * Organizations in the Organizations User Guide. * @throws AwsOrganizationsNotInUseException * Your account isn't a member of an organization. To make this request, you must use the credentials of an * account that belongs to an organization. * @throws ResourcePolicyNotFoundException * We can't find a resource policy request with the parameter that you specified. * @throws ConstraintViolationException * Performing this operation violates a minimum or maximum value limit. For example, attempting to remove * the last service control policy (SCP) from an OU or root, inviting or creating too many accounts to the * organization, or attaching too many policies to an account, OU, or root. This exception includes a reason * that contains additional information about the violated limit: *

                                                                * *

                                                                * Some of the reasons in the following list might not be applicable to this specific API or operation. *

                                                                *
                                                                *
                                                                  *
                                                                • *

                                                                  * ACCOUNT_CANNOT_LEAVE_ORGANIZATION: You attempted to remove the management account from the organization. * You can't remove the management account. Instead, after you remove all member accounts, delete the * organization itself. *

                                                                  *
                                                                • *
                                                                • *

                                                                  * ACCOUNT_CANNOT_LEAVE_WITHOUT_PHONE_VERIFICATION: You attempted to remove an account from the organization * that doesn't yet have enough information to exist as a standalone account. This account requires you to * first complete phone verification. Follow the steps at Removing a member account from your organization in the Organizations User Guide. *

                                                                  *
                                                                • *
                                                                • *

                                                                  * ACCOUNT_CREATION_RATE_LIMIT_EXCEEDED: You attempted to exceed the number of accounts that you can create * in one day. *

                                                                  *
                                                                • *
                                                                • *

                                                                  * ACCOUNT_CREATION_NOT_COMPLETE: Your account setup isn't complete or your account isn't fully active. You * must complete the account setup before you create an organization. *

                                                                  *
                                                                • *
                                                                • *

                                                                  * ACCOUNT_NUMBER_LIMIT_EXCEEDED: You attempted to exceed the limit on the number of accounts in an * organization. If you need more accounts, contact Amazon Web Services Support to request an * increase in your limit. *

                                                                  *

                                                                  * Or the number of invitations that you tried to send would cause you to exceed the limit of accounts in * your organization. Send fewer invitations or contact Amazon Web Services Support to request an increase * in the number of accounts. *

                                                                  * *

                                                                  * Deleted and closed accounts still count toward your limit. *

                                                                  *
                                                                  *

                                                                  * If you get this exception when running a command immediately after creating the organization, wait one * hour and try again. After an hour, if the command continues to fail with this error, contact Amazon Web Services Support. *

                                                                  *
                                                                • *
                                                                • *

                                                                  * CANNOT_REGISTER_SUSPENDED_ACCOUNT_AS_DELEGATED_ADMINISTRATOR: You cannot register a suspended account as * a delegated administrator. *

                                                                  *
                                                                • *
                                                                • *

                                                                  * CANNOT_REGISTER_MASTER_AS_DELEGATED_ADMINISTRATOR: You attempted to register the management account of * the organization as a delegated administrator for an Amazon Web Services service integrated with * Organizations. You can designate only a member account as a delegated administrator. *

                                                                  *
                                                                • *
                                                                • *

                                                                  * CANNOT_CLOSE_MANAGEMENT_ACCOUNT: You attempted to close the management account. To close the management * account for the organization, you must first either remove or close all member accounts in the * organization. Follow standard account closure process using root credentials.​ *

                                                                  *
                                                                • *
                                                                • *

                                                                  * CANNOT_REMOVE_DELEGATED_ADMINISTRATOR_FROM_ORG: You attempted to remove an account that is registered as * a delegated administrator for a service integrated with your organization. To complete this operation, * you must first deregister this account as a delegated administrator. *

                                                                  *
                                                                • *
                                                                • *

                                                                  * CLOSE_ACCOUNT_QUOTA_EXCEEDED: You have exceeded close account quota for the past 30 days. *

                                                                  *
                                                                • *
                                                                • *

                                                                  * CLOSE_ACCOUNT_REQUESTS_LIMIT_EXCEEDED: You attempted to exceed the number of accounts that you can close * at a time. ​ *

                                                                  *
                                                                • *
                                                                • *

                                                                  * CREATE_ORGANIZATION_IN_BILLING_MODE_UNSUPPORTED_REGION: To create an organization in the specified * region, you must enable all features mode. *

                                                                  *
                                                                • *
                                                                • *

                                                                  * DELEGATED_ADMINISTRATOR_EXISTS_FOR_THIS_SERVICE: You attempted to register an Amazon Web Services account * as a delegated administrator for an Amazon Web Services service that already has a delegated * administrator. To complete this operation, you must first deregister any existing delegated * administrators for this service. *

                                                                  *
                                                                • *
                                                                • *

                                                                  * EMAIL_VERIFICATION_CODE_EXPIRED: The email verification code is only valid for a limited period of time. * You must resubmit the request and generate a new verfication code. *

                                                                  *
                                                                • *
                                                                • *

                                                                  * HANDSHAKE_RATE_LIMIT_EXCEEDED: You attempted to exceed the number of handshakes that you can send in one * day. *

                                                                  *
                                                                • *
                                                                • *

                                                                  * INVALID_PAYMENT_INSTRUMENT: You cannot remove an account because no supported payment method is * associated with the account. Amazon Web Services does not support cards issued by financial institutions * in Russia or Belarus. For more information, see Managing your * Amazon Web Services payments. *

                                                                  *
                                                                • *
                                                                • *

                                                                  * MASTER_ACCOUNT_ADDRESS_DOES_NOT_MATCH_MARKETPLACE: To create an account in this organization, you first * must migrate the organization's management account to the marketplace that corresponds to the management * account's address. All accounts in an organization must be associated with the same marketplace. *

                                                                  *
                                                                • *
                                                                • *

                                                                  * MASTER_ACCOUNT_MISSING_BUSINESS_LICENSE: Applies only to the Amazon Web Services Regions in China. To * create an organization, the master must have a valid business license. For more information, contact * customer support. *

                                                                  *
                                                                • *
                                                                • *

                                                                  * MASTER_ACCOUNT_MISSING_CONTACT_INFO: To complete this operation, you must first provide a valid contact * address and phone number for the management account. Then try the operation again. *

                                                                  *
                                                                • *
                                                                • *

                                                                  * MASTER_ACCOUNT_NOT_GOVCLOUD_ENABLED: To complete this operation, the management account must have an * associated account in the Amazon Web Services GovCloud (US-West) Region. For more information, see Organizations * in the Amazon Web Services GovCloud User Guide. *

                                                                  *
                                                                • *
                                                                • *

                                                                  * MASTER_ACCOUNT_PAYMENT_INSTRUMENT_REQUIRED: To create an organization with this management account, you * first must associate a valid payment instrument, such as a credit card, with the account. For more * information, see Considerations before removing an account from an organization in the Organizations User * Guide. *

                                                                  *
                                                                • *
                                                                • *

                                                                  * MAX_DELEGATED_ADMINISTRATORS_FOR_SERVICE_LIMIT_EXCEEDED: You attempted to register more delegated * administrators than allowed for the service principal. *

                                                                  *
                                                                • *
                                                                • *

                                                                  * MAX_POLICY_TYPE_ATTACHMENT_LIMIT_EXCEEDED: You attempted to exceed the number of policies of a certain * type that can be attached to an entity at one time. *

                                                                  *
                                                                • *
                                                                • *

                                                                  * MAX_TAG_LIMIT_EXCEEDED: You have exceeded the number of tags allowed on this resource. *

                                                                  *
                                                                • *
                                                                • *

                                                                  * MEMBER_ACCOUNT_PAYMENT_INSTRUMENT_REQUIRED: To complete this operation with this member account, you * first must associate a valid payment instrument, such as a credit card, with the account. For more * information, see Considerations before removing an account from an organization in the Organizations User * Guide. *

                                                                  *
                                                                • *
                                                                • *

                                                                  * MIN_POLICY_TYPE_ATTACHMENT_LIMIT_EXCEEDED: You attempted to detach a policy from an entity that would * cause the entity to have fewer than the minimum number of policies of a certain type required. *

                                                                  *
                                                                • *
                                                                • *

                                                                  * ORGANIZATION_NOT_IN_ALL_FEATURES_MODE: You attempted to perform an operation that requires the * organization to be configured to support all features. An organization that supports only consolidated * billing features can't perform this operation. *

                                                                  *
                                                                • *
                                                                • *

                                                                  * OU_DEPTH_LIMIT_EXCEEDED: You attempted to create an OU tree that is too many levels deep. *

                                                                  *
                                                                • *
                                                                • *

                                                                  * OU_NUMBER_LIMIT_EXCEEDED: You attempted to exceed the number of OUs that you can have in an organization. *

                                                                  *
                                                                • *
                                                                • *

                                                                  * POLICY_CONTENT_LIMIT_EXCEEDED: You attempted to create a policy that is larger than the maximum size. *

                                                                  *
                                                                • *
                                                                • *

                                                                  * POLICY_NUMBER_LIMIT_EXCEEDED: You attempted to exceed the number of policies that you can have in an * organization. *

                                                                  *
                                                                • *
                                                                • *

                                                                  * SERVICE_ACCESS_NOT_ENABLED: You attempted to register a delegated administrator before you enabled * service access. Call the EnableAWSServiceAccess API first. *

                                                                  *
                                                                • *
                                                                • *

                                                                  * TAG_POLICY_VIOLATION: You attempted to create or update a resource with tags that are not compliant with * the tag policy requirements for this account. *

                                                                  *
                                                                • *
                                                                • *

                                                                  * WAIT_PERIOD_ACTIVE: After you create an Amazon Web Services account, you must wait until at least seven * days after the account was created. Invited accounts aren't subject to this waiting period. *

                                                                  *
                                                                • * @throws SdkException * Base class for all exceptions that can be thrown by the SDK (both service and client). Can be used for * catch all scenarios. * @throws SdkClientException * If any client side error occurs such as an IO related failure, failure to get credentials, etc. * @throws OrganizationsException * Base class for all service exceptions. Unknown exceptions will be thrown as an instance of this type. * @sample OrganizationsClient.DescribeResourcePolicy * @see AWS API Documentation */ @Override public DescribeResourcePolicyResponse describeResourcePolicy(DescribeResourcePolicyRequest describeResourcePolicyRequest) throws AccessDeniedException, ServiceException, UnsupportedApiEndpointException, TooManyRequestsException, AwsOrganizationsNotInUseException, ResourcePolicyNotFoundException, ConstraintViolationException, AwsServiceException, SdkClientException, OrganizationsException { JsonOperationMetadata operationMetadata = JsonOperationMetadata.builder().hasStreamingSuccessResponse(false) .isPayloadJson(true).build(); HttpResponseHandler responseHandler = protocolFactory.createResponseHandler( operationMetadata, DescribeResourcePolicyResponse::builder); HttpResponseHandler errorResponseHandler = createErrorResponseHandler(protocolFactory, operationMetadata); SdkClientConfiguration clientConfiguration = updateSdkClientConfiguration(describeResourcePolicyRequest, this.clientConfiguration); List metricPublishers = resolveMetricPublishers(clientConfiguration, describeResourcePolicyRequest .overrideConfiguration().orElse(null)); MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector .create("ApiCall"); try { apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "Organizations"); apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "DescribeResourcePolicy"); return clientHandler .execute(new ClientExecutionParams() .withOperationName("DescribeResourcePolicy").withProtocolMetadata(protocolMetadata) .withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler) .withRequestConfiguration(clientConfiguration).withInput(describeResourcePolicyRequest) .withMetricCollector(apiCallMetricCollector) .withMarshaller(new DescribeResourcePolicyRequestMarshaller(protocolFactory))); } finally { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); } } /** *

                                                                  * Detaches a policy from a target root, organizational unit (OU), or account. *

                                                                  * *

                                                                  * If the policy being detached is a service control policy (SCP), the changes to permissions for Identity and * Access Management (IAM) users and roles in affected accounts are immediate. *

                                                                  *
                                                                  *

                                                                  * Every root, OU, and account must have at least one SCP attached. If you want to replace the default * FullAWSAccess policy with an SCP that limits the permissions that can be delegated, you must attach * the replacement SCP before you can remove the default SCP. This is the authorization strategy of an * "allow list". If you instead attach a second SCP and leave the FullAWSAccess SCP still * attached, and specify "Effect": "Deny" in the second SCP to override the * "Effect": "Allow" in the FullAWSAccess policy (or any other attached SCP), you're using * the authorization strategy of a * "deny list". *

                                                                  *

                                                                  * This operation can be called only from the organization's management account or by a member account that is a * delegated administrator for an Amazon Web Services service. *

                                                                  * * @param detachPolicyRequest * @return Result of the DetachPolicy operation returned by the service. * @throws AccessDeniedException * You don't have permissions to perform the requested operation. The user or role that is making the * request must have at least one IAM permissions policy attached that grants the required permissions. For * more information, see Access * Management in the IAM User Guide. * @throws AwsOrganizationsNotInUseException * Your account isn't a member of an organization. To make this request, you must use the credentials of an * account that belongs to an organization. * @throws ConcurrentModificationException * The target of the operation is currently being modified by a different request. Try again later. * @throws ConstraintViolationException * Performing this operation violates a minimum or maximum value limit. For example, attempting to remove * the last service control policy (SCP) from an OU or root, inviting or creating too many accounts to the * organization, or attaching too many policies to an account, OU, or root. This exception includes a reason * that contains additional information about the violated limit:

                                                                  *

                                                                  * Some of the reasons in the following list might not be applicable to this specific API or operation. *

                                                                  *
                                                                  *
                                                                    *
                                                                  • *

                                                                    * ACCOUNT_CANNOT_LEAVE_ORGANIZATION: You attempted to remove the management account from the organization. * You can't remove the management account. Instead, after you remove all member accounts, delete the * organization itself. *

                                                                    *
                                                                  • *
                                                                  • *

                                                                    * ACCOUNT_CANNOT_LEAVE_WITHOUT_PHONE_VERIFICATION: You attempted to remove an account from the organization * that doesn't yet have enough information to exist as a standalone account. This account requires you to * first complete phone verification. Follow the steps at Removing a member account from your organization in the Organizations User Guide. *

                                                                    *
                                                                  • *
                                                                  • *

                                                                    * ACCOUNT_CREATION_RATE_LIMIT_EXCEEDED: You attempted to exceed the number of accounts that you can create * in one day. *

                                                                    *
                                                                  • *
                                                                  • *

                                                                    * ACCOUNT_CREATION_NOT_COMPLETE: Your account setup isn't complete or your account isn't fully active. You * must complete the account setup before you create an organization. *

                                                                    *
                                                                  • *
                                                                  • *

                                                                    * ACCOUNT_NUMBER_LIMIT_EXCEEDED: You attempted to exceed the limit on the number of accounts in an * organization. If you need more accounts, contact Amazon Web Services Support to request an * increase in your limit. *

                                                                    *

                                                                    * Or the number of invitations that you tried to send would cause you to exceed the limit of accounts in * your organization. Send fewer invitations or contact Amazon Web Services Support to request an increase * in the number of accounts. *

                                                                    * *

                                                                    * Deleted and closed accounts still count toward your limit. *

                                                                    *
                                                                    *

                                                                    * If you get this exception when running a command immediately after creating the organization, wait one * hour and try again. After an hour, if the command continues to fail with this error, contact Amazon Web Services Support. *

                                                                    *
                                                                  • *
                                                                  • *

                                                                    * CANNOT_REGISTER_SUSPENDED_ACCOUNT_AS_DELEGATED_ADMINISTRATOR: You cannot register a suspended account as * a delegated administrator. *

                                                                    *
                                                                  • *
                                                                  • *

                                                                    * CANNOT_REGISTER_MASTER_AS_DELEGATED_ADMINISTRATOR: You attempted to register the management account of * the organization as a delegated administrator for an Amazon Web Services service integrated with * Organizations. You can designate only a member account as a delegated administrator. *

                                                                    *
                                                                  • *
                                                                  • *

                                                                    * CANNOT_CLOSE_MANAGEMENT_ACCOUNT: You attempted to close the management account. To close the management * account for the organization, you must first either remove or close all member accounts in the * organization. Follow standard account closure process using root credentials.​ *

                                                                    *
                                                                  • *
                                                                  • *

                                                                    * CANNOT_REMOVE_DELEGATED_ADMINISTRATOR_FROM_ORG: You attempted to remove an account that is registered as * a delegated administrator for a service integrated with your organization. To complete this operation, * you must first deregister this account as a delegated administrator. *

                                                                    *
                                                                  • *
                                                                  • *

                                                                    * CLOSE_ACCOUNT_QUOTA_EXCEEDED: You have exceeded close account quota for the past 30 days. *

                                                                    *
                                                                  • *
                                                                  • *

                                                                    * CLOSE_ACCOUNT_REQUESTS_LIMIT_EXCEEDED: You attempted to exceed the number of accounts that you can close * at a time. ​ *

                                                                    *
                                                                  • *
                                                                  • *

                                                                    * CREATE_ORGANIZATION_IN_BILLING_MODE_UNSUPPORTED_REGION: To create an organization in the specified * region, you must enable all features mode. *

                                                                    *
                                                                  • *
                                                                  • *

                                                                    * DELEGATED_ADMINISTRATOR_EXISTS_FOR_THIS_SERVICE: You attempted to register an Amazon Web Services account * as a delegated administrator for an Amazon Web Services service that already has a delegated * administrator. To complete this operation, you must first deregister any existing delegated * administrators for this service. *

                                                                    *
                                                                  • *
                                                                  • *

                                                                    * EMAIL_VERIFICATION_CODE_EXPIRED: The email verification code is only valid for a limited period of time. * You must resubmit the request and generate a new verfication code. *

                                                                    *
                                                                  • *
                                                                  • *

                                                                    * HANDSHAKE_RATE_LIMIT_EXCEEDED: You attempted to exceed the number of handshakes that you can send in one * day. *

                                                                    *
                                                                  • *
                                                                  • *

                                                                    * INVALID_PAYMENT_INSTRUMENT: You cannot remove an account because no supported payment method is * associated with the account. Amazon Web Services does not support cards issued by financial institutions * in Russia or Belarus. For more information, see Managing your * Amazon Web Services payments. *

                                                                    *
                                                                  • *
                                                                  • *

                                                                    * MASTER_ACCOUNT_ADDRESS_DOES_NOT_MATCH_MARKETPLACE: To create an account in this organization, you first * must migrate the organization's management account to the marketplace that corresponds to the management * account's address. All accounts in an organization must be associated with the same marketplace. *

                                                                    *
                                                                  • *
                                                                  • *

                                                                    * MASTER_ACCOUNT_MISSING_BUSINESS_LICENSE: Applies only to the Amazon Web Services Regions in China. To * create an organization, the master must have a valid business license. For more information, contact * customer support. *

                                                                    *
                                                                  • *
                                                                  • *

                                                                    * MASTER_ACCOUNT_MISSING_CONTACT_INFO: To complete this operation, you must first provide a valid contact * address and phone number for the management account. Then try the operation again. *

                                                                    *
                                                                  • *
                                                                  • *

                                                                    * MASTER_ACCOUNT_NOT_GOVCLOUD_ENABLED: To complete this operation, the management account must have an * associated account in the Amazon Web Services GovCloud (US-West) Region. For more information, see Organizations * in the Amazon Web Services GovCloud User Guide. *

                                                                    *
                                                                  • *
                                                                  • *

                                                                    * MASTER_ACCOUNT_PAYMENT_INSTRUMENT_REQUIRED: To create an organization with this management account, you * first must associate a valid payment instrument, such as a credit card, with the account. For more * information, see Considerations before removing an account from an organization in the Organizations User * Guide. *

                                                                    *
                                                                  • *
                                                                  • *

                                                                    * MAX_DELEGATED_ADMINISTRATORS_FOR_SERVICE_LIMIT_EXCEEDED: You attempted to register more delegated * administrators than allowed for the service principal. *

                                                                    *
                                                                  • *
                                                                  • *

                                                                    * MAX_POLICY_TYPE_ATTACHMENT_LIMIT_EXCEEDED: You attempted to exceed the number of policies of a certain * type that can be attached to an entity at one time. *

                                                                    *
                                                                  • *
                                                                  • *

                                                                    * MAX_TAG_LIMIT_EXCEEDED: You have exceeded the number of tags allowed on this resource. *

                                                                    *
                                                                  • *
                                                                  • *

                                                                    * MEMBER_ACCOUNT_PAYMENT_INSTRUMENT_REQUIRED: To complete this operation with this member account, you * first must associate a valid payment instrument, such as a credit card, with the account. For more * information, see Considerations before removing an account from an organization in the Organizations User * Guide. *

                                                                    *
                                                                  • *
                                                                  • *

                                                                    * MIN_POLICY_TYPE_ATTACHMENT_LIMIT_EXCEEDED: You attempted to detach a policy from an entity that would * cause the entity to have fewer than the minimum number of policies of a certain type required. *

                                                                    *
                                                                  • *
                                                                  • *

                                                                    * ORGANIZATION_NOT_IN_ALL_FEATURES_MODE: You attempted to perform an operation that requires the * organization to be configured to support all features. An organization that supports only consolidated * billing features can't perform this operation. *

                                                                    *
                                                                  • *
                                                                  • *

                                                                    * OU_DEPTH_LIMIT_EXCEEDED: You attempted to create an OU tree that is too many levels deep. *

                                                                    *
                                                                  • *
                                                                  • *

                                                                    * OU_NUMBER_LIMIT_EXCEEDED: You attempted to exceed the number of OUs that you can have in an organization. *

                                                                    *
                                                                  • *
                                                                  • *

                                                                    * POLICY_CONTENT_LIMIT_EXCEEDED: You attempted to create a policy that is larger than the maximum size. *

                                                                    *
                                                                  • *
                                                                  • *

                                                                    * POLICY_NUMBER_LIMIT_EXCEEDED: You attempted to exceed the number of policies that you can have in an * organization. *

                                                                    *
                                                                  • *
                                                                  • *

                                                                    * SERVICE_ACCESS_NOT_ENABLED: You attempted to register a delegated administrator before you enabled * service access. Call the EnableAWSServiceAccess API first. *

                                                                    *
                                                                  • *
                                                                  • *

                                                                    * TAG_POLICY_VIOLATION: You attempted to create or update a resource with tags that are not compliant with * the tag policy requirements for this account. *

                                                                    *
                                                                  • *
                                                                  • *

                                                                    * WAIT_PERIOD_ACTIVE: After you create an Amazon Web Services account, you must wait until at least seven * days after the account was created. Invited accounts aren't subject to this waiting period. *

                                                                    *
                                                                  • * @throws InvalidInputException * The requested operation failed because you provided invalid values for one or more of the request * parameters. This exception includes a reason that contains additional information about the violated * limit:

                                                                    *

                                                                    * Some of the reasons in the following list might not be applicable to this specific API or operation. *

                                                                    *
                                                                    *
                                                                      *
                                                                    • *

                                                                      * DUPLICATE_TAG_KEY: Tag keys must be unique among the tags attached to the same entity. *

                                                                      *
                                                                    • *
                                                                    • *

                                                                      * IMMUTABLE_POLICY: You specified a policy that is managed by Amazon Web Services and can't be modified. *

                                                                      *
                                                                    • *
                                                                    • *

                                                                      * INPUT_REQUIRED: You must include a value for all required parameters. *

                                                                      *
                                                                    • *
                                                                    • *

                                                                      * INVALID_EMAIL_ADDRESS_TARGET: You specified an invalid email address for the invited account owner. *

                                                                      *
                                                                    • *
                                                                    • *

                                                                      * INVALID_ENUM: You specified an invalid value. *

                                                                      *
                                                                    • *
                                                                    • *

                                                                      * INVALID_ENUM_POLICY_TYPE: You specified an invalid policy type string. *

                                                                      *
                                                                    • *
                                                                    • *

                                                                      * INVALID_FULL_NAME_TARGET: You specified a full name that contains invalid characters. *

                                                                      *
                                                                    • *
                                                                    • *

                                                                      * INVALID_LIST_MEMBER: You provided a list to a parameter that contains at least one invalid value. *

                                                                      *
                                                                    • *
                                                                    • *

                                                                      * INVALID_PAGINATION_TOKEN: Get the value for the NextToken parameter from the response to a * previous call of the operation. *

                                                                      *
                                                                    • *
                                                                    • *

                                                                      * INVALID_PARTY_TYPE_TARGET: You specified the wrong type of entity (account, organization, or email) as a * party. *

                                                                      *
                                                                    • *
                                                                    • *

                                                                      * INVALID_PATTERN: You provided a value that doesn't match the required pattern. *

                                                                      *
                                                                    • *
                                                                    • *

                                                                      * INVALID_PATTERN_TARGET_ID: You specified a policy target ID that doesn't match the required pattern. *

                                                                      *
                                                                    • *
                                                                    • *

                                                                      * INVALID_PRINCIPAL: You specified an invalid principal element in the policy. *

                                                                      *
                                                                    • *
                                                                    • *

                                                                      * INVALID_ROLE_NAME: You provided a role name that isn't valid. A role name can't begin with the reserved * prefix AWSServiceRoleFor. *

                                                                      *
                                                                    • *
                                                                    • *

                                                                      * INVALID_SYNTAX_ORGANIZATION_ARN: You specified an invalid Amazon Resource Name (ARN) for the * organization. *

                                                                      *
                                                                    • *
                                                                    • *

                                                                      * INVALID_SYNTAX_POLICY_ID: You specified an invalid policy ID. *

                                                                      *
                                                                    • *
                                                                    • *

                                                                      * INVALID_SYSTEM_TAGS_PARAMETER: You specified a tag key that is a system tag. You can’t add, edit, or * delete system tag keys because they're reserved for Amazon Web Services use. System tags don’t count * against your tags per resource limit. *

                                                                      *
                                                                    • *
                                                                    • *

                                                                      * MAX_FILTER_LIMIT_EXCEEDED: You can specify only one filter parameter for the operation. *

                                                                      *
                                                                    • *
                                                                    • *

                                                                      * MAX_LENGTH_EXCEEDED: You provided a string parameter that is longer than allowed. *

                                                                      *
                                                                    • *
                                                                    • *

                                                                      * MAX_VALUE_EXCEEDED: You provided a numeric parameter that has a larger value than allowed. *

                                                                      *
                                                                    • *
                                                                    • *

                                                                      * MIN_LENGTH_EXCEEDED: You provided a string parameter that is shorter than allowed. *

                                                                      *
                                                                    • *
                                                                    • *

                                                                      * MIN_VALUE_EXCEEDED: You provided a numeric parameter that has a smaller value than allowed. *

                                                                      *
                                                                    • *
                                                                    • *

                                                                      * MOVING_ACCOUNT_BETWEEN_DIFFERENT_ROOTS: You can move an account only between entities in the same root. *

                                                                      *
                                                                    • *
                                                                    • *

                                                                      * NON_DETACHABLE_POLICY: You can't detach this Amazon Web Services Managed Policy. *

                                                                      *
                                                                    • *
                                                                    • *

                                                                      * TARGET_NOT_SUPPORTED: You can't perform the specified operation on that target entity. *

                                                                      *
                                                                    • *
                                                                    • *

                                                                      * UNRECOGNIZED_SERVICE_PRINCIPAL: You specified a service principal that isn't recognized. *

                                                                      *
                                                                    • * @throws PolicyNotAttachedException * The policy isn't attached to the specified target in the specified root. * @throws PolicyNotFoundException * We can't find a policy with the PolicyId that you specified. * @throws ServiceException * Organizations can't complete your request because of an internal service error. Try again later. * @throws TargetNotFoundException * We can't find a root, OU, account, or policy with the TargetId that you specified. * @throws TooManyRequestsException * You have sent too many requests in too short a period of time. The quota helps protect against * denial-of-service attacks. Try again later.

                                                                      *

                                                                      * For information about quotas that affect Organizations, see Quotas for * Organizations in the Organizations User Guide. * @throws UnsupportedApiEndpointException * This action isn't available in the current Amazon Web Services Region. * @throws PolicyChangesInProgressException * Changes to the effective policy are in progress, and its contents can't be returned. Try the operation * again later. * @throws SdkException * Base class for all exceptions that can be thrown by the SDK (both service and client). Can be used for * catch all scenarios. * @throws SdkClientException * If any client side error occurs such as an IO related failure, failure to get credentials, etc. * @throws OrganizationsException * Base class for all service exceptions. Unknown exceptions will be thrown as an instance of this type. * @sample OrganizationsClient.DetachPolicy * @see AWS * API Documentation */ @Override public DetachPolicyResponse detachPolicy(DetachPolicyRequest detachPolicyRequest) throws AccessDeniedException, AwsOrganizationsNotInUseException, ConcurrentModificationException, ConstraintViolationException, InvalidInputException, PolicyNotAttachedException, PolicyNotFoundException, ServiceException, TargetNotFoundException, TooManyRequestsException, UnsupportedApiEndpointException, PolicyChangesInProgressException, AwsServiceException, SdkClientException, OrganizationsException { JsonOperationMetadata operationMetadata = JsonOperationMetadata.builder().hasStreamingSuccessResponse(false) .isPayloadJson(true).build(); HttpResponseHandler responseHandler = protocolFactory.createResponseHandler(operationMetadata, DetachPolicyResponse::builder); HttpResponseHandler errorResponseHandler = createErrorResponseHandler(protocolFactory, operationMetadata); SdkClientConfiguration clientConfiguration = updateSdkClientConfiguration(detachPolicyRequest, this.clientConfiguration); List metricPublishers = resolveMetricPublishers(clientConfiguration, detachPolicyRequest .overrideConfiguration().orElse(null)); MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector .create("ApiCall"); try { apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "Organizations"); apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "DetachPolicy"); return clientHandler.execute(new ClientExecutionParams() .withOperationName("DetachPolicy").withProtocolMetadata(protocolMetadata) .withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler) .withRequestConfiguration(clientConfiguration).withInput(detachPolicyRequest) .withMetricCollector(apiCallMetricCollector) .withMarshaller(new DetachPolicyRequestMarshaller(protocolFactory))); } finally { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); } } /** *

                                                                      * Disables the integration of an Amazon Web Services service (the service that is specified by * ServicePrincipal) with Organizations. When you disable integration, the specified service no longer * can create a service-linked role * in new accounts in your organization. This means the service can't perform operations on your behalf on * any new accounts in your organization. The service can still perform operations in older accounts until the * service completes its clean-up from Organizations. *

                                                                      * *

                                                                      * We strongly recommend that you don't use this command to disable integration between * Organizations and the specified Amazon Web Services service. Instead, use the console or commands that are * provided by the specified service. This lets the trusted service perform any required initialization when * enabling trusted access, such as creating any required resources and any required clean up of resources when * disabling trusted access. *

                                                                      *

                                                                      * For information about how to disable trusted service access to your organization using the trusted service, see * the Learn more link under the Supports Trusted Access column at Amazon Web * Services services that you can use with Organizations. on this page. *

                                                                      *

                                                                      * If you disable access by using this command, it causes the following actions to occur: *

                                                                      *
                                                                        *
                                                                      • *

                                                                        * The service can no longer create a service-linked role in the accounts in your organization. This means that the * service can't perform operations on your behalf on any new accounts in your organization. The service can still * perform operations in older accounts until the service completes its clean-up from Organizations. *

                                                                        *
                                                                      • *
                                                                      • *

                                                                        * The service can no longer perform tasks in the member accounts in the organization, unless those operations are * explicitly permitted by the IAM policies that are attached to your roles. This includes any data aggregation from * the member accounts to the management account, or to a delegated administrator account, where relevant. *

                                                                        *
                                                                      • *
                                                                      • *

                                                                        * Some services detect this and clean up any remaining data or resources related to the integration, while other * services stop accessing the organization but leave any historical data and configuration in place to support a * possible re-enabling of the integration. *

                                                                        *
                                                                      • *
                                                                      *

                                                                      * Using the other service's console or commands to disable the integration ensures that the other service is aware * that it can clean up any resources that are required only for the integration. How the service cleans up its * resources in the organization's accounts depends on that service. For more information, see the documentation for * the other Amazon Web Services service. *

                                                                      *
                                                                      *

                                                                      * After you perform the DisableAWSServiceAccess operation, the specified service can no longer perform * operations in your organization's accounts *

                                                                      *

                                                                      * For more information about integrating other services with Organizations, including the list of services that * work with Organizations, see Using * Organizations with other Amazon Web Services services in the Organizations User Guide. *

                                                                      *

                                                                      * This operation can be called only from the organization's management account. *

                                                                      * * @param disableAwsServiceAccessRequest * @return Result of the DisableAWSServiceAccess operation returned by the service. * @throws AccessDeniedException * You don't have permissions to perform the requested operation. The user or role that is making the * request must have at least one IAM permissions policy attached that grants the required permissions. For * more information, see Access * Management in the IAM User Guide. * @throws AwsOrganizationsNotInUseException * Your account isn't a member of an organization. To make this request, you must use the credentials of an * account that belongs to an organization. * @throws ConcurrentModificationException * The target of the operation is currently being modified by a different request. Try again later. * @throws ConstraintViolationException * Performing this operation violates a minimum or maximum value limit. For example, attempting to remove * the last service control policy (SCP) from an OU or root, inviting or creating too many accounts to the * organization, or attaching too many policies to an account, OU, or root. This exception includes a reason * that contains additional information about the violated limit:

                                                                      *

                                                                      * Some of the reasons in the following list might not be applicable to this specific API or operation. *

                                                                      *
                                                                      *
                                                                        *
                                                                      • *

                                                                        * ACCOUNT_CANNOT_LEAVE_ORGANIZATION: You attempted to remove the management account from the organization. * You can't remove the management account. Instead, after you remove all member accounts, delete the * organization itself. *

                                                                        *
                                                                      • *
                                                                      • *

                                                                        * ACCOUNT_CANNOT_LEAVE_WITHOUT_PHONE_VERIFICATION: You attempted to remove an account from the organization * that doesn't yet have enough information to exist as a standalone account. This account requires you to * first complete phone verification. Follow the steps at Removing a member account from your organization in the Organizations User Guide. *

                                                                        *
                                                                      • *
                                                                      • *

                                                                        * ACCOUNT_CREATION_RATE_LIMIT_EXCEEDED: You attempted to exceed the number of accounts that you can create * in one day. *

                                                                        *
                                                                      • *
                                                                      • *

                                                                        * ACCOUNT_CREATION_NOT_COMPLETE: Your account setup isn't complete or your account isn't fully active. You * must complete the account setup before you create an organization. *

                                                                        *
                                                                      • *
                                                                      • *

                                                                        * ACCOUNT_NUMBER_LIMIT_EXCEEDED: You attempted to exceed the limit on the number of accounts in an * organization. If you need more accounts, contact Amazon Web Services Support to request an * increase in your limit. *

                                                                        *

                                                                        * Or the number of invitations that you tried to send would cause you to exceed the limit of accounts in * your organization. Send fewer invitations or contact Amazon Web Services Support to request an increase * in the number of accounts. *

                                                                        * *

                                                                        * Deleted and closed accounts still count toward your limit. *

                                                                        *
                                                                        *

                                                                        * If you get this exception when running a command immediately after creating the organization, wait one * hour and try again. After an hour, if the command continues to fail with this error, contact Amazon Web Services Support. *

                                                                        *
                                                                      • *
                                                                      • *

                                                                        * CANNOT_REGISTER_SUSPENDED_ACCOUNT_AS_DELEGATED_ADMINISTRATOR: You cannot register a suspended account as * a delegated administrator. *

                                                                        *
                                                                      • *
                                                                      • *

                                                                        * CANNOT_REGISTER_MASTER_AS_DELEGATED_ADMINISTRATOR: You attempted to register the management account of * the organization as a delegated administrator for an Amazon Web Services service integrated with * Organizations. You can designate only a member account as a delegated administrator. *

                                                                        *
                                                                      • *
                                                                      • *

                                                                        * CANNOT_CLOSE_MANAGEMENT_ACCOUNT: You attempted to close the management account. To close the management * account for the organization, you must first either remove or close all member accounts in the * organization. Follow standard account closure process using root credentials.​ *

                                                                        *
                                                                      • *
                                                                      • *

                                                                        * CANNOT_REMOVE_DELEGATED_ADMINISTRATOR_FROM_ORG: You attempted to remove an account that is registered as * a delegated administrator for a service integrated with your organization. To complete this operation, * you must first deregister this account as a delegated administrator. *

                                                                        *
                                                                      • *
                                                                      • *

                                                                        * CLOSE_ACCOUNT_QUOTA_EXCEEDED: You have exceeded close account quota for the past 30 days. *

                                                                        *
                                                                      • *
                                                                      • *

                                                                        * CLOSE_ACCOUNT_REQUESTS_LIMIT_EXCEEDED: You attempted to exceed the number of accounts that you can close * at a time. ​ *

                                                                        *
                                                                      • *
                                                                      • *

                                                                        * CREATE_ORGANIZATION_IN_BILLING_MODE_UNSUPPORTED_REGION: To create an organization in the specified * region, you must enable all features mode. *

                                                                        *
                                                                      • *
                                                                      • *

                                                                        * DELEGATED_ADMINISTRATOR_EXISTS_FOR_THIS_SERVICE: You attempted to register an Amazon Web Services account * as a delegated administrator for an Amazon Web Services service that already has a delegated * administrator. To complete this operation, you must first deregister any existing delegated * administrators for this service. *

                                                                        *
                                                                      • *
                                                                      • *

                                                                        * EMAIL_VERIFICATION_CODE_EXPIRED: The email verification code is only valid for a limited period of time. * You must resubmit the request and generate a new verfication code. *

                                                                        *
                                                                      • *
                                                                      • *

                                                                        * HANDSHAKE_RATE_LIMIT_EXCEEDED: You attempted to exceed the number of handshakes that you can send in one * day. *

                                                                        *
                                                                      • *
                                                                      • *

                                                                        * INVALID_PAYMENT_INSTRUMENT: You cannot remove an account because no supported payment method is * associated with the account. Amazon Web Services does not support cards issued by financial institutions * in Russia or Belarus. For more information, see Managing your * Amazon Web Services payments. *

                                                                        *
                                                                      • *
                                                                      • *

                                                                        * MASTER_ACCOUNT_ADDRESS_DOES_NOT_MATCH_MARKETPLACE: To create an account in this organization, you first * must migrate the organization's management account to the marketplace that corresponds to the management * account's address. All accounts in an organization must be associated with the same marketplace. *

                                                                        *
                                                                      • *
                                                                      • *

                                                                        * MASTER_ACCOUNT_MISSING_BUSINESS_LICENSE: Applies only to the Amazon Web Services Regions in China. To * create an organization, the master must have a valid business license. For more information, contact * customer support. *

                                                                        *
                                                                      • *
                                                                      • *

                                                                        * MASTER_ACCOUNT_MISSING_CONTACT_INFO: To complete this operation, you must first provide a valid contact * address and phone number for the management account. Then try the operation again. *

                                                                        *
                                                                      • *
                                                                      • *

                                                                        * MASTER_ACCOUNT_NOT_GOVCLOUD_ENABLED: To complete this operation, the management account must have an * associated account in the Amazon Web Services GovCloud (US-West) Region. For more information, see Organizations * in the Amazon Web Services GovCloud User Guide. *

                                                                        *
                                                                      • *
                                                                      • *

                                                                        * MASTER_ACCOUNT_PAYMENT_INSTRUMENT_REQUIRED: To create an organization with this management account, you * first must associate a valid payment instrument, such as a credit card, with the account. For more * information, see Considerations before removing an account from an organization in the Organizations User * Guide. *

                                                                        *
                                                                      • *
                                                                      • *

                                                                        * MAX_DELEGATED_ADMINISTRATORS_FOR_SERVICE_LIMIT_EXCEEDED: You attempted to register more delegated * administrators than allowed for the service principal. *

                                                                        *
                                                                      • *
                                                                      • *

                                                                        * MAX_POLICY_TYPE_ATTACHMENT_LIMIT_EXCEEDED: You attempted to exceed the number of policies of a certain * type that can be attached to an entity at one time. *

                                                                        *
                                                                      • *
                                                                      • *

                                                                        * MAX_TAG_LIMIT_EXCEEDED: You have exceeded the number of tags allowed on this resource. *

                                                                        *
                                                                      • *
                                                                      • *

                                                                        * MEMBER_ACCOUNT_PAYMENT_INSTRUMENT_REQUIRED: To complete this operation with this member account, you * first must associate a valid payment instrument, such as a credit card, with the account. For more * information, see Considerations before removing an account from an organization in the Organizations User * Guide. *

                                                                        *
                                                                      • *
                                                                      • *

                                                                        * MIN_POLICY_TYPE_ATTACHMENT_LIMIT_EXCEEDED: You attempted to detach a policy from an entity that would * cause the entity to have fewer than the minimum number of policies of a certain type required. *

                                                                        *
                                                                      • *
                                                                      • *

                                                                        * ORGANIZATION_NOT_IN_ALL_FEATURES_MODE: You attempted to perform an operation that requires the * organization to be configured to support all features. An organization that supports only consolidated * billing features can't perform this operation. *

                                                                        *
                                                                      • *
                                                                      • *

                                                                        * OU_DEPTH_LIMIT_EXCEEDED: You attempted to create an OU tree that is too many levels deep. *

                                                                        *
                                                                      • *
                                                                      • *

                                                                        * OU_NUMBER_LIMIT_EXCEEDED: You attempted to exceed the number of OUs that you can have in an organization. *

                                                                        *
                                                                      • *
                                                                      • *

                                                                        * POLICY_CONTENT_LIMIT_EXCEEDED: You attempted to create a policy that is larger than the maximum size. *

                                                                        *
                                                                      • *
                                                                      • *

                                                                        * POLICY_NUMBER_LIMIT_EXCEEDED: You attempted to exceed the number of policies that you can have in an * organization. *

                                                                        *
                                                                      • *
                                                                      • *

                                                                        * SERVICE_ACCESS_NOT_ENABLED: You attempted to register a delegated administrator before you enabled * service access. Call the EnableAWSServiceAccess API first. *

                                                                        *
                                                                      • *
                                                                      • *

                                                                        * TAG_POLICY_VIOLATION: You attempted to create or update a resource with tags that are not compliant with * the tag policy requirements for this account. *

                                                                        *
                                                                      • *
                                                                      • *

                                                                        * WAIT_PERIOD_ACTIVE: After you create an Amazon Web Services account, you must wait until at least seven * days after the account was created. Invited accounts aren't subject to this waiting period. *

                                                                        *
                                                                      • * @throws InvalidInputException * The requested operation failed because you provided invalid values for one or more of the request * parameters. This exception includes a reason that contains additional information about the violated * limit:

                                                                        *

                                                                        * Some of the reasons in the following list might not be applicable to this specific API or operation. *

                                                                        *
                                                                        *
                                                                          *
                                                                        • *

                                                                          * DUPLICATE_TAG_KEY: Tag keys must be unique among the tags attached to the same entity. *

                                                                          *
                                                                        • *
                                                                        • *

                                                                          * IMMUTABLE_POLICY: You specified a policy that is managed by Amazon Web Services and can't be modified. *

                                                                          *
                                                                        • *
                                                                        • *

                                                                          * INPUT_REQUIRED: You must include a value for all required parameters. *

                                                                          *
                                                                        • *
                                                                        • *

                                                                          * INVALID_EMAIL_ADDRESS_TARGET: You specified an invalid email address for the invited account owner. *

                                                                          *
                                                                        • *
                                                                        • *

                                                                          * INVALID_ENUM: You specified an invalid value. *

                                                                          *
                                                                        • *
                                                                        • *

                                                                          * INVALID_ENUM_POLICY_TYPE: You specified an invalid policy type string. *

                                                                          *
                                                                        • *
                                                                        • *

                                                                          * INVALID_FULL_NAME_TARGET: You specified a full name that contains invalid characters. *

                                                                          *
                                                                        • *
                                                                        • *

                                                                          * INVALID_LIST_MEMBER: You provided a list to a parameter that contains at least one invalid value. *

                                                                          *
                                                                        • *
                                                                        • *

                                                                          * INVALID_PAGINATION_TOKEN: Get the value for the NextToken parameter from the response to a * previous call of the operation. *

                                                                          *
                                                                        • *
                                                                        • *

                                                                          * INVALID_PARTY_TYPE_TARGET: You specified the wrong type of entity (account, organization, or email) as a * party. *

                                                                          *
                                                                        • *
                                                                        • *

                                                                          * INVALID_PATTERN: You provided a value that doesn't match the required pattern. *

                                                                          *
                                                                        • *
                                                                        • *

                                                                          * INVALID_PATTERN_TARGET_ID: You specified a policy target ID that doesn't match the required pattern. *

                                                                          *
                                                                        • *
                                                                        • *

                                                                          * INVALID_PRINCIPAL: You specified an invalid principal element in the policy. *

                                                                          *
                                                                        • *
                                                                        • *

                                                                          * INVALID_ROLE_NAME: You provided a role name that isn't valid. A role name can't begin with the reserved * prefix AWSServiceRoleFor. *

                                                                          *
                                                                        • *
                                                                        • *

                                                                          * INVALID_SYNTAX_ORGANIZATION_ARN: You specified an invalid Amazon Resource Name (ARN) for the * organization. *

                                                                          *
                                                                        • *
                                                                        • *

                                                                          * INVALID_SYNTAX_POLICY_ID: You specified an invalid policy ID. *

                                                                          *
                                                                        • *
                                                                        • *

                                                                          * INVALID_SYSTEM_TAGS_PARAMETER: You specified a tag key that is a system tag. You can’t add, edit, or * delete system tag keys because they're reserved for Amazon Web Services use. System tags don’t count * against your tags per resource limit. *

                                                                          *
                                                                        • *
                                                                        • *

                                                                          * MAX_FILTER_LIMIT_EXCEEDED: You can specify only one filter parameter for the operation. *

                                                                          *
                                                                        • *
                                                                        • *

                                                                          * MAX_LENGTH_EXCEEDED: You provided a string parameter that is longer than allowed. *

                                                                          *
                                                                        • *
                                                                        • *

                                                                          * MAX_VALUE_EXCEEDED: You provided a numeric parameter that has a larger value than allowed. *

                                                                          *
                                                                        • *
                                                                        • *

                                                                          * MIN_LENGTH_EXCEEDED: You provided a string parameter that is shorter than allowed. *

                                                                          *
                                                                        • *
                                                                        • *

                                                                          * MIN_VALUE_EXCEEDED: You provided a numeric parameter that has a smaller value than allowed. *

                                                                          *
                                                                        • *
                                                                        • *

                                                                          * MOVING_ACCOUNT_BETWEEN_DIFFERENT_ROOTS: You can move an account only between entities in the same root. *

                                                                          *
                                                                        • *
                                                                        • *

                                                                          * NON_DETACHABLE_POLICY: You can't detach this Amazon Web Services Managed Policy. *

                                                                          *
                                                                        • *
                                                                        • *

                                                                          * TARGET_NOT_SUPPORTED: You can't perform the specified operation on that target entity. *

                                                                          *
                                                                        • *
                                                                        • *

                                                                          * UNRECOGNIZED_SERVICE_PRINCIPAL: You specified a service principal that isn't recognized. *

                                                                          *
                                                                        • * @throws ServiceException * Organizations can't complete your request because of an internal service error. Try again later. * @throws TooManyRequestsException * You have sent too many requests in too short a period of time. The quota helps protect against * denial-of-service attacks. Try again later.

                                                                          *

                                                                          * For information about quotas that affect Organizations, see Quotas for * Organizations in the Organizations User Guide. * @throws UnsupportedApiEndpointException * This action isn't available in the current Amazon Web Services Region. * @throws SdkException * Base class for all exceptions that can be thrown by the SDK (both service and client). Can be used for * catch all scenarios. * @throws SdkClientException * If any client side error occurs such as an IO related failure, failure to get credentials, etc. * @throws OrganizationsException * Base class for all service exceptions. Unknown exceptions will be thrown as an instance of this type. * @sample OrganizationsClient.DisableAWSServiceAccess * @see AWS API Documentation */ @Override public DisableAwsServiceAccessResponse disableAWSServiceAccess(DisableAwsServiceAccessRequest disableAwsServiceAccessRequest) throws AccessDeniedException, AwsOrganizationsNotInUseException, ConcurrentModificationException, ConstraintViolationException, InvalidInputException, ServiceException, TooManyRequestsException, UnsupportedApiEndpointException, AwsServiceException, SdkClientException, OrganizationsException { JsonOperationMetadata operationMetadata = JsonOperationMetadata.builder().hasStreamingSuccessResponse(false) .isPayloadJson(true).build(); HttpResponseHandler responseHandler = protocolFactory.createResponseHandler( operationMetadata, DisableAwsServiceAccessResponse::builder); HttpResponseHandler errorResponseHandler = createErrorResponseHandler(protocolFactory, operationMetadata); SdkClientConfiguration clientConfiguration = updateSdkClientConfiguration(disableAwsServiceAccessRequest, this.clientConfiguration); List metricPublishers = resolveMetricPublishers(clientConfiguration, disableAwsServiceAccessRequest .overrideConfiguration().orElse(null)); MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector .create("ApiCall"); try { apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "Organizations"); apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "DisableAWSServiceAccess"); return clientHandler .execute(new ClientExecutionParams() .withOperationName("DisableAWSServiceAccess").withProtocolMetadata(protocolMetadata) .withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler) .withRequestConfiguration(clientConfiguration).withInput(disableAwsServiceAccessRequest) .withMetricCollector(apiCallMetricCollector) .withMarshaller(new DisableAwsServiceAccessRequestMarshaller(protocolFactory))); } finally { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); } } /** *

                                                                          * Disables an organizational policy type in a root. A policy of a certain type can be attached to entities in a * root only if that type is enabled in the root. After you perform this operation, you no longer can attach * policies of the specified type to that root or to any organizational unit (OU) or account in that root. You can * undo this by using the EnablePolicyType operation. *

                                                                          *

                                                                          * This is an asynchronous request that Amazon Web Services performs in the background. If you disable a policy type * for a root, it still appears enabled for the organization if all * features are enabled for the organization. Amazon Web Services recommends that you first use ListRoots * to see the status of policy types for a specified root, and then use this operation. *

                                                                          *

                                                                          * This operation can be called only from the organization's management account or by a member account that is a * delegated administrator for an Amazon Web Services service. *

                                                                          *

                                                                          * To view the status of available policy types in the organization, use DescribeOrganization. *

                                                                          * * @param disablePolicyTypeRequest * @return Result of the DisablePolicyType operation returned by the service. * @throws AccessDeniedException * You don't have permissions to perform the requested operation. The user or role that is making the * request must have at least one IAM permissions policy attached that grants the required permissions. For * more information, see Access * Management in the IAM User Guide. * @throws AwsOrganizationsNotInUseException * Your account isn't a member of an organization. To make this request, you must use the credentials of an * account that belongs to an organization. * @throws ConcurrentModificationException * The target of the operation is currently being modified by a different request. Try again later. * @throws ConstraintViolationException * Performing this operation violates a minimum or maximum value limit. For example, attempting to remove * the last service control policy (SCP) from an OU or root, inviting or creating too many accounts to the * organization, or attaching too many policies to an account, OU, or root. This exception includes a reason * that contains additional information about the violated limit:

                                                                          *

                                                                          * Some of the reasons in the following list might not be applicable to this specific API or operation. *

                                                                          *
                                                                          *
                                                                            *
                                                                          • *

                                                                            * ACCOUNT_CANNOT_LEAVE_ORGANIZATION: You attempted to remove the management account from the organization. * You can't remove the management account. Instead, after you remove all member accounts, delete the * organization itself. *

                                                                            *
                                                                          • *
                                                                          • *

                                                                            * ACCOUNT_CANNOT_LEAVE_WITHOUT_PHONE_VERIFICATION: You attempted to remove an account from the organization * that doesn't yet have enough information to exist as a standalone account. This account requires you to * first complete phone verification. Follow the steps at Removing a member account from your organization in the Organizations User Guide. *

                                                                            *
                                                                          • *
                                                                          • *

                                                                            * ACCOUNT_CREATION_RATE_LIMIT_EXCEEDED: You attempted to exceed the number of accounts that you can create * in one day. *

                                                                            *
                                                                          • *
                                                                          • *

                                                                            * ACCOUNT_CREATION_NOT_COMPLETE: Your account setup isn't complete or your account isn't fully active. You * must complete the account setup before you create an organization. *

                                                                            *
                                                                          • *
                                                                          • *

                                                                            * ACCOUNT_NUMBER_LIMIT_EXCEEDED: You attempted to exceed the limit on the number of accounts in an * organization. If you need more accounts, contact Amazon Web Services Support to request an * increase in your limit. *

                                                                            *

                                                                            * Or the number of invitations that you tried to send would cause you to exceed the limit of accounts in * your organization. Send fewer invitations or contact Amazon Web Services Support to request an increase * in the number of accounts. *

                                                                            * *

                                                                            * Deleted and closed accounts still count toward your limit. *

                                                                            *
                                                                            *

                                                                            * If you get this exception when running a command immediately after creating the organization, wait one * hour and try again. After an hour, if the command continues to fail with this error, contact Amazon Web Services Support. *

                                                                            *
                                                                          • *
                                                                          • *

                                                                            * CANNOT_REGISTER_SUSPENDED_ACCOUNT_AS_DELEGATED_ADMINISTRATOR: You cannot register a suspended account as * a delegated administrator. *

                                                                            *
                                                                          • *
                                                                          • *

                                                                            * CANNOT_REGISTER_MASTER_AS_DELEGATED_ADMINISTRATOR: You attempted to register the management account of * the organization as a delegated administrator for an Amazon Web Services service integrated with * Organizations. You can designate only a member account as a delegated administrator. *

                                                                            *
                                                                          • *
                                                                          • *

                                                                            * CANNOT_CLOSE_MANAGEMENT_ACCOUNT: You attempted to close the management account. To close the management * account for the organization, you must first either remove or close all member accounts in the * organization. Follow standard account closure process using root credentials.​ *

                                                                            *
                                                                          • *
                                                                          • *

                                                                            * CANNOT_REMOVE_DELEGATED_ADMINISTRATOR_FROM_ORG: You attempted to remove an account that is registered as * a delegated administrator for a service integrated with your organization. To complete this operation, * you must first deregister this account as a delegated administrator. *

                                                                            *
                                                                          • *
                                                                          • *

                                                                            * CLOSE_ACCOUNT_QUOTA_EXCEEDED: You have exceeded close account quota for the past 30 days. *

                                                                            *
                                                                          • *
                                                                          • *

                                                                            * CLOSE_ACCOUNT_REQUESTS_LIMIT_EXCEEDED: You attempted to exceed the number of accounts that you can close * at a time. ​ *

                                                                            *
                                                                          • *
                                                                          • *

                                                                            * CREATE_ORGANIZATION_IN_BILLING_MODE_UNSUPPORTED_REGION: To create an organization in the specified * region, you must enable all features mode. *

                                                                            *
                                                                          • *
                                                                          • *

                                                                            * DELEGATED_ADMINISTRATOR_EXISTS_FOR_THIS_SERVICE: You attempted to register an Amazon Web Services account * as a delegated administrator for an Amazon Web Services service that already has a delegated * administrator. To complete this operation, you must first deregister any existing delegated * administrators for this service. *

                                                                            *
                                                                          • *
                                                                          • *

                                                                            * EMAIL_VERIFICATION_CODE_EXPIRED: The email verification code is only valid for a limited period of time. * You must resubmit the request and generate a new verfication code. *

                                                                            *
                                                                          • *
                                                                          • *

                                                                            * HANDSHAKE_RATE_LIMIT_EXCEEDED: You attempted to exceed the number of handshakes that you can send in one * day. *

                                                                            *
                                                                          • *
                                                                          • *

                                                                            * INVALID_PAYMENT_INSTRUMENT: You cannot remove an account because no supported payment method is * associated with the account. Amazon Web Services does not support cards issued by financial institutions * in Russia or Belarus. For more information, see Managing your * Amazon Web Services payments. *

                                                                            *
                                                                          • *
                                                                          • *

                                                                            * MASTER_ACCOUNT_ADDRESS_DOES_NOT_MATCH_MARKETPLACE: To create an account in this organization, you first * must migrate the organization's management account to the marketplace that corresponds to the management * account's address. All accounts in an organization must be associated with the same marketplace. *

                                                                            *
                                                                          • *
                                                                          • *

                                                                            * MASTER_ACCOUNT_MISSING_BUSINESS_LICENSE: Applies only to the Amazon Web Services Regions in China. To * create an organization, the master must have a valid business license. For more information, contact * customer support. *

                                                                            *
                                                                          • *
                                                                          • *

                                                                            * MASTER_ACCOUNT_MISSING_CONTACT_INFO: To complete this operation, you must first provide a valid contact * address and phone number for the management account. Then try the operation again. *

                                                                            *
                                                                          • *
                                                                          • *

                                                                            * MASTER_ACCOUNT_NOT_GOVCLOUD_ENABLED: To complete this operation, the management account must have an * associated account in the Amazon Web Services GovCloud (US-West) Region. For more information, see Organizations * in the Amazon Web Services GovCloud User Guide. *

                                                                            *
                                                                          • *
                                                                          • *

                                                                            * MASTER_ACCOUNT_PAYMENT_INSTRUMENT_REQUIRED: To create an organization with this management account, you * first must associate a valid payment instrument, such as a credit card, with the account. For more * information, see Considerations before removing an account from an organization in the Organizations User * Guide. *

                                                                            *
                                                                          • *
                                                                          • *

                                                                            * MAX_DELEGATED_ADMINISTRATORS_FOR_SERVICE_LIMIT_EXCEEDED: You attempted to register more delegated * administrators than allowed for the service principal. *

                                                                            *
                                                                          • *
                                                                          • *

                                                                            * MAX_POLICY_TYPE_ATTACHMENT_LIMIT_EXCEEDED: You attempted to exceed the number of policies of a certain * type that can be attached to an entity at one time. *

                                                                            *
                                                                          • *
                                                                          • *

                                                                            * MAX_TAG_LIMIT_EXCEEDED: You have exceeded the number of tags allowed on this resource. *

                                                                            *
                                                                          • *
                                                                          • *

                                                                            * MEMBER_ACCOUNT_PAYMENT_INSTRUMENT_REQUIRED: To complete this operation with this member account, you * first must associate a valid payment instrument, such as a credit card, with the account. For more * information, see Considerations before removing an account from an organization in the Organizations User * Guide. *

                                                                            *
                                                                          • *
                                                                          • *

                                                                            * MIN_POLICY_TYPE_ATTACHMENT_LIMIT_EXCEEDED: You attempted to detach a policy from an entity that would * cause the entity to have fewer than the minimum number of policies of a certain type required. *

                                                                            *
                                                                          • *
                                                                          • *

                                                                            * ORGANIZATION_NOT_IN_ALL_FEATURES_MODE: You attempted to perform an operation that requires the * organization to be configured to support all features. An organization that supports only consolidated * billing features can't perform this operation. *

                                                                            *
                                                                          • *
                                                                          • *

                                                                            * OU_DEPTH_LIMIT_EXCEEDED: You attempted to create an OU tree that is too many levels deep. *

                                                                            *
                                                                          • *
                                                                          • *

                                                                            * OU_NUMBER_LIMIT_EXCEEDED: You attempted to exceed the number of OUs that you can have in an organization. *

                                                                            *
                                                                          • *
                                                                          • *

                                                                            * POLICY_CONTENT_LIMIT_EXCEEDED: You attempted to create a policy that is larger than the maximum size. *

                                                                            *
                                                                          • *
                                                                          • *

                                                                            * POLICY_NUMBER_LIMIT_EXCEEDED: You attempted to exceed the number of policies that you can have in an * organization. *

                                                                            *
                                                                          • *
                                                                          • *

                                                                            * SERVICE_ACCESS_NOT_ENABLED: You attempted to register a delegated administrator before you enabled * service access. Call the EnableAWSServiceAccess API first. *

                                                                            *
                                                                          • *
                                                                          • *

                                                                            * TAG_POLICY_VIOLATION: You attempted to create or update a resource with tags that are not compliant with * the tag policy requirements for this account. *

                                                                            *
                                                                          • *
                                                                          • *

                                                                            * WAIT_PERIOD_ACTIVE: After you create an Amazon Web Services account, you must wait until at least seven * days after the account was created. Invited accounts aren't subject to this waiting period. *

                                                                            *
                                                                          • * @throws InvalidInputException * The requested operation failed because you provided invalid values for one or more of the request * parameters. This exception includes a reason that contains additional information about the violated * limit:

                                                                            *

                                                                            * Some of the reasons in the following list might not be applicable to this specific API or operation. *

                                                                            *
                                                                            *
                                                                              *
                                                                            • *

                                                                              * DUPLICATE_TAG_KEY: Tag keys must be unique among the tags attached to the same entity. *

                                                                              *
                                                                            • *
                                                                            • *

                                                                              * IMMUTABLE_POLICY: You specified a policy that is managed by Amazon Web Services and can't be modified. *

                                                                              *
                                                                            • *
                                                                            • *

                                                                              * INPUT_REQUIRED: You must include a value for all required parameters. *

                                                                              *
                                                                            • *
                                                                            • *

                                                                              * INVALID_EMAIL_ADDRESS_TARGET: You specified an invalid email address for the invited account owner. *

                                                                              *
                                                                            • *
                                                                            • *

                                                                              * INVALID_ENUM: You specified an invalid value. *

                                                                              *
                                                                            • *
                                                                            • *

                                                                              * INVALID_ENUM_POLICY_TYPE: You specified an invalid policy type string. *

                                                                              *
                                                                            • *
                                                                            • *

                                                                              * INVALID_FULL_NAME_TARGET: You specified a full name that contains invalid characters. *

                                                                              *
                                                                            • *
                                                                            • *

                                                                              * INVALID_LIST_MEMBER: You provided a list to a parameter that contains at least one invalid value. *

                                                                              *
                                                                            • *
                                                                            • *

                                                                              * INVALID_PAGINATION_TOKEN: Get the value for the NextToken parameter from the response to a * previous call of the operation. *

                                                                              *
                                                                            • *
                                                                            • *

                                                                              * INVALID_PARTY_TYPE_TARGET: You specified the wrong type of entity (account, organization, or email) as a * party. *

                                                                              *
                                                                            • *
                                                                            • *

                                                                              * INVALID_PATTERN: You provided a value that doesn't match the required pattern. *

                                                                              *
                                                                            • *
                                                                            • *

                                                                              * INVALID_PATTERN_TARGET_ID: You specified a policy target ID that doesn't match the required pattern. *

                                                                              *
                                                                            • *
                                                                            • *

                                                                              * INVALID_PRINCIPAL: You specified an invalid principal element in the policy. *

                                                                              *
                                                                            • *
                                                                            • *

                                                                              * INVALID_ROLE_NAME: You provided a role name that isn't valid. A role name can't begin with the reserved * prefix AWSServiceRoleFor. *

                                                                              *
                                                                            • *
                                                                            • *

                                                                              * INVALID_SYNTAX_ORGANIZATION_ARN: You specified an invalid Amazon Resource Name (ARN) for the * organization. *

                                                                              *
                                                                            • *
                                                                            • *

                                                                              * INVALID_SYNTAX_POLICY_ID: You specified an invalid policy ID. *

                                                                              *
                                                                            • *
                                                                            • *

                                                                              * INVALID_SYSTEM_TAGS_PARAMETER: You specified a tag key that is a system tag. You can’t add, edit, or * delete system tag keys because they're reserved for Amazon Web Services use. System tags don’t count * against your tags per resource limit. *

                                                                              *
                                                                            • *
                                                                            • *

                                                                              * MAX_FILTER_LIMIT_EXCEEDED: You can specify only one filter parameter for the operation. *

                                                                              *
                                                                            • *
                                                                            • *

                                                                              * MAX_LENGTH_EXCEEDED: You provided a string parameter that is longer than allowed. *

                                                                              *
                                                                            • *
                                                                            • *

                                                                              * MAX_VALUE_EXCEEDED: You provided a numeric parameter that has a larger value than allowed. *

                                                                              *
                                                                            • *
                                                                            • *

                                                                              * MIN_LENGTH_EXCEEDED: You provided a string parameter that is shorter than allowed. *

                                                                              *
                                                                            • *
                                                                            • *

                                                                              * MIN_VALUE_EXCEEDED: You provided a numeric parameter that has a smaller value than allowed. *

                                                                              *
                                                                            • *
                                                                            • *

                                                                              * MOVING_ACCOUNT_BETWEEN_DIFFERENT_ROOTS: You can move an account only between entities in the same root. *

                                                                              *
                                                                            • *
                                                                            • *

                                                                              * NON_DETACHABLE_POLICY: You can't detach this Amazon Web Services Managed Policy. *

                                                                              *
                                                                            • *
                                                                            • *

                                                                              * TARGET_NOT_SUPPORTED: You can't perform the specified operation on that target entity. *

                                                                              *
                                                                            • *
                                                                            • *

                                                                              * UNRECOGNIZED_SERVICE_PRINCIPAL: You specified a service principal that isn't recognized. *

                                                                              *
                                                                            • * @throws PolicyTypeNotEnabledException * The specified policy type isn't currently enabled in this root. You can't attach policies of the * specified type to entities in a root until you enable that type in the root. For more information, see Enabling all features in your organization in the Organizations User Guide. * @throws RootNotFoundException * We can't find a root with the RootId that you specified. * @throws ServiceException * Organizations can't complete your request because of an internal service error. Try again later. * @throws TooManyRequestsException * You have sent too many requests in too short a period of time. The quota helps protect against * denial-of-service attacks. Try again later.

                                                                              *

                                                                              * For information about quotas that affect Organizations, see Quotas for * Organizations in the Organizations User Guide. * @throws UnsupportedApiEndpointException * This action isn't available in the current Amazon Web Services Region. * @throws PolicyChangesInProgressException * Changes to the effective policy are in progress, and its contents can't be returned. Try the operation * again later. * @throws SdkException * Base class for all exceptions that can be thrown by the SDK (both service and client). Can be used for * catch all scenarios. * @throws SdkClientException * If any client side error occurs such as an IO related failure, failure to get credentials, etc. * @throws OrganizationsException * Base class for all service exceptions. Unknown exceptions will be thrown as an instance of this type. * @sample OrganizationsClient.DisablePolicyType * @see AWS API Documentation */ @Override public DisablePolicyTypeResponse disablePolicyType(DisablePolicyTypeRequest disablePolicyTypeRequest) throws AccessDeniedException, AwsOrganizationsNotInUseException, ConcurrentModificationException, ConstraintViolationException, InvalidInputException, PolicyTypeNotEnabledException, RootNotFoundException, ServiceException, TooManyRequestsException, UnsupportedApiEndpointException, PolicyChangesInProgressException, AwsServiceException, SdkClientException, OrganizationsException { JsonOperationMetadata operationMetadata = JsonOperationMetadata.builder().hasStreamingSuccessResponse(false) .isPayloadJson(true).build(); HttpResponseHandler responseHandler = protocolFactory.createResponseHandler(operationMetadata, DisablePolicyTypeResponse::builder); HttpResponseHandler errorResponseHandler = createErrorResponseHandler(protocolFactory, operationMetadata); SdkClientConfiguration clientConfiguration = updateSdkClientConfiguration(disablePolicyTypeRequest, this.clientConfiguration); List metricPublishers = resolveMetricPublishers(clientConfiguration, disablePolicyTypeRequest .overrideConfiguration().orElse(null)); MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector .create("ApiCall"); try { apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "Organizations"); apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "DisablePolicyType"); return clientHandler.execute(new ClientExecutionParams() .withOperationName("DisablePolicyType").withProtocolMetadata(protocolMetadata) .withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler) .withRequestConfiguration(clientConfiguration).withInput(disablePolicyTypeRequest) .withMetricCollector(apiCallMetricCollector) .withMarshaller(new DisablePolicyTypeRequestMarshaller(protocolFactory))); } finally { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); } } /** *

                                                                              * Provides an Amazon Web Services service (the service that is specified by ServicePrincipal) with * permissions to view the structure of an organization, create a service-linked role * in all the accounts in the organization, and allow the service to perform operations on behalf of the * organization and its accounts. Establishing these permissions can be a first step in enabling the integration of * an Amazon Web Services service with Organizations. *

                                                                              * *

                                                                              * We recommend that you enable integration between Organizations and the specified Amazon Web Services service by * using the console or commands that are provided by the specified service. Doing so ensures that the service is * aware that it can create the resources that are required for the integration. How the service creates those * resources in the organization's accounts depends on that service. For more information, see the documentation for * the other Amazon Web Services service. *

                                                                              *
                                                                              *

                                                                              * For more information about enabling services to integrate with Organizations, see Using * Organizations with other Amazon Web Services services in the Organizations User Guide. *

                                                                              *

                                                                              * You can only call this operation from the organization's management account and only if the organization has enabled * all features. *

                                                                              * * @param enableAwsServiceAccessRequest * @return Result of the EnableAWSServiceAccess operation returned by the service. * @throws AccessDeniedException * You don't have permissions to perform the requested operation. The user or role that is making the * request must have at least one IAM permissions policy attached that grants the required permissions. For * more information, see Access * Management in the IAM User Guide. * @throws AwsOrganizationsNotInUseException * Your account isn't a member of an organization. To make this request, you must use the credentials of an * account that belongs to an organization. * @throws ConcurrentModificationException * The target of the operation is currently being modified by a different request. Try again later. * @throws ConstraintViolationException * Performing this operation violates a minimum or maximum value limit. For example, attempting to remove * the last service control policy (SCP) from an OU or root, inviting or creating too many accounts to the * organization, or attaching too many policies to an account, OU, or root. This exception includes a reason * that contains additional information about the violated limit:

                                                                              *

                                                                              * Some of the reasons in the following list might not be applicable to this specific API or operation. *

                                                                              *
                                                                              *
                                                                                *
                                                                              • *

                                                                                * ACCOUNT_CANNOT_LEAVE_ORGANIZATION: You attempted to remove the management account from the organization. * You can't remove the management account. Instead, after you remove all member accounts, delete the * organization itself. *

                                                                                *
                                                                              • *
                                                                              • *

                                                                                * ACCOUNT_CANNOT_LEAVE_WITHOUT_PHONE_VERIFICATION: You attempted to remove an account from the organization * that doesn't yet have enough information to exist as a standalone account. This account requires you to * first complete phone verification. Follow the steps at Removing a member account from your organization in the Organizations User Guide. *

                                                                                *
                                                                              • *
                                                                              • *

                                                                                * ACCOUNT_CREATION_RATE_LIMIT_EXCEEDED: You attempted to exceed the number of accounts that you can create * in one day. *

                                                                                *
                                                                              • *
                                                                              • *

                                                                                * ACCOUNT_CREATION_NOT_COMPLETE: Your account setup isn't complete or your account isn't fully active. You * must complete the account setup before you create an organization. *

                                                                                *
                                                                              • *
                                                                              • *

                                                                                * ACCOUNT_NUMBER_LIMIT_EXCEEDED: You attempted to exceed the limit on the number of accounts in an * organization. If you need more accounts, contact Amazon Web Services Support to request an * increase in your limit. *

                                                                                *

                                                                                * Or the number of invitations that you tried to send would cause you to exceed the limit of accounts in * your organization. Send fewer invitations or contact Amazon Web Services Support to request an increase * in the number of accounts. *

                                                                                * *

                                                                                * Deleted and closed accounts still count toward your limit. *

                                                                                *
                                                                                *

                                                                                * If you get this exception when running a command immediately after creating the organization, wait one * hour and try again. After an hour, if the command continues to fail with this error, contact Amazon Web Services Support. *

                                                                                *
                                                                              • *
                                                                              • *

                                                                                * CANNOT_REGISTER_SUSPENDED_ACCOUNT_AS_DELEGATED_ADMINISTRATOR: You cannot register a suspended account as * a delegated administrator. *

                                                                                *
                                                                              • *
                                                                              • *

                                                                                * CANNOT_REGISTER_MASTER_AS_DELEGATED_ADMINISTRATOR: You attempted to register the management account of * the organization as a delegated administrator for an Amazon Web Services service integrated with * Organizations. You can designate only a member account as a delegated administrator. *

                                                                                *
                                                                              • *
                                                                              • *

                                                                                * CANNOT_CLOSE_MANAGEMENT_ACCOUNT: You attempted to close the management account. To close the management * account for the organization, you must first either remove or close all member accounts in the * organization. Follow standard account closure process using root credentials.​ *

                                                                                *
                                                                              • *
                                                                              • *

                                                                                * CANNOT_REMOVE_DELEGATED_ADMINISTRATOR_FROM_ORG: You attempted to remove an account that is registered as * a delegated administrator for a service integrated with your organization. To complete this operation, * you must first deregister this account as a delegated administrator. *

                                                                                *
                                                                              • *
                                                                              • *

                                                                                * CLOSE_ACCOUNT_QUOTA_EXCEEDED: You have exceeded close account quota for the past 30 days. *

                                                                                *
                                                                              • *
                                                                              • *

                                                                                * CLOSE_ACCOUNT_REQUESTS_LIMIT_EXCEEDED: You attempted to exceed the number of accounts that you can close * at a time. ​ *

                                                                                *
                                                                              • *
                                                                              • *

                                                                                * CREATE_ORGANIZATION_IN_BILLING_MODE_UNSUPPORTED_REGION: To create an organization in the specified * region, you must enable all features mode. *

                                                                                *
                                                                              • *
                                                                              • *

                                                                                * DELEGATED_ADMINISTRATOR_EXISTS_FOR_THIS_SERVICE: You attempted to register an Amazon Web Services account * as a delegated administrator for an Amazon Web Services service that already has a delegated * administrator. To complete this operation, you must first deregister any existing delegated * administrators for this service. *

                                                                                *
                                                                              • *
                                                                              • *

                                                                                * EMAIL_VERIFICATION_CODE_EXPIRED: The email verification code is only valid for a limited period of time. * You must resubmit the request and generate a new verfication code. *

                                                                                *
                                                                              • *
                                                                              • *

                                                                                * HANDSHAKE_RATE_LIMIT_EXCEEDED: You attempted to exceed the number of handshakes that you can send in one * day. *

                                                                                *
                                                                              • *
                                                                              • *

                                                                                * INVALID_PAYMENT_INSTRUMENT: You cannot remove an account because no supported payment method is * associated with the account. Amazon Web Services does not support cards issued by financial institutions * in Russia or Belarus. For more information, see Managing your * Amazon Web Services payments. *

                                                                                *
                                                                              • *
                                                                              • *

                                                                                * MASTER_ACCOUNT_ADDRESS_DOES_NOT_MATCH_MARKETPLACE: To create an account in this organization, you first * must migrate the organization's management account to the marketplace that corresponds to the management * account's address. All accounts in an organization must be associated with the same marketplace. *

                                                                                *
                                                                              • *
                                                                              • *

                                                                                * MASTER_ACCOUNT_MISSING_BUSINESS_LICENSE: Applies only to the Amazon Web Services Regions in China. To * create an organization, the master must have a valid business license. For more information, contact * customer support. *

                                                                                *
                                                                              • *
                                                                              • *

                                                                                * MASTER_ACCOUNT_MISSING_CONTACT_INFO: To complete this operation, you must first provide a valid contact * address and phone number for the management account. Then try the operation again. *

                                                                                *
                                                                              • *
                                                                              • *

                                                                                * MASTER_ACCOUNT_NOT_GOVCLOUD_ENABLED: To complete this operation, the management account must have an * associated account in the Amazon Web Services GovCloud (US-West) Region. For more information, see Organizations * in the Amazon Web Services GovCloud User Guide. *

                                                                                *
                                                                              • *
                                                                              • *

                                                                                * MASTER_ACCOUNT_PAYMENT_INSTRUMENT_REQUIRED: To create an organization with this management account, you * first must associate a valid payment instrument, such as a credit card, with the account. For more * information, see Considerations before removing an account from an organization in the Organizations User * Guide. *

                                                                                *
                                                                              • *
                                                                              • *

                                                                                * MAX_DELEGATED_ADMINISTRATORS_FOR_SERVICE_LIMIT_EXCEEDED: You attempted to register more delegated * administrators than allowed for the service principal. *

                                                                                *
                                                                              • *
                                                                              • *

                                                                                * MAX_POLICY_TYPE_ATTACHMENT_LIMIT_EXCEEDED: You attempted to exceed the number of policies of a certain * type that can be attached to an entity at one time. *

                                                                                *
                                                                              • *
                                                                              • *

                                                                                * MAX_TAG_LIMIT_EXCEEDED: You have exceeded the number of tags allowed on this resource. *

                                                                                *
                                                                              • *
                                                                              • *

                                                                                * MEMBER_ACCOUNT_PAYMENT_INSTRUMENT_REQUIRED: To complete this operation with this member account, you * first must associate a valid payment instrument, such as a credit card, with the account. For more * information, see Considerations before removing an account from an organization in the Organizations User * Guide. *

                                                                                *
                                                                              • *
                                                                              • *

                                                                                * MIN_POLICY_TYPE_ATTACHMENT_LIMIT_EXCEEDED: You attempted to detach a policy from an entity that would * cause the entity to have fewer than the minimum number of policies of a certain type required. *

                                                                                *
                                                                              • *
                                                                              • *

                                                                                * ORGANIZATION_NOT_IN_ALL_FEATURES_MODE: You attempted to perform an operation that requires the * organization to be configured to support all features. An organization that supports only consolidated * billing features can't perform this operation. *

                                                                                *
                                                                              • *
                                                                              • *

                                                                                * OU_DEPTH_LIMIT_EXCEEDED: You attempted to create an OU tree that is too many levels deep. *

                                                                                *
                                                                              • *
                                                                              • *

                                                                                * OU_NUMBER_LIMIT_EXCEEDED: You attempted to exceed the number of OUs that you can have in an organization. *

                                                                                *
                                                                              • *
                                                                              • *

                                                                                * POLICY_CONTENT_LIMIT_EXCEEDED: You attempted to create a policy that is larger than the maximum size. *

                                                                                *
                                                                              • *
                                                                              • *

                                                                                * POLICY_NUMBER_LIMIT_EXCEEDED: You attempted to exceed the number of policies that you can have in an * organization. *

                                                                                *
                                                                              • *
                                                                              • *

                                                                                * SERVICE_ACCESS_NOT_ENABLED: You attempted to register a delegated administrator before you enabled * service access. Call the EnableAWSServiceAccess API first. *

                                                                                *
                                                                              • *
                                                                              • *

                                                                                * TAG_POLICY_VIOLATION: You attempted to create or update a resource with tags that are not compliant with * the tag policy requirements for this account. *

                                                                                *
                                                                              • *
                                                                              • *

                                                                                * WAIT_PERIOD_ACTIVE: After you create an Amazon Web Services account, you must wait until at least seven * days after the account was created. Invited accounts aren't subject to this waiting period. *

                                                                                *
                                                                              • * @throws InvalidInputException * The requested operation failed because you provided invalid values for one or more of the request * parameters. This exception includes a reason that contains additional information about the violated * limit:

                                                                                *

                                                                                * Some of the reasons in the following list might not be applicable to this specific API or operation. *

                                                                                *
                                                                                *
                                                                                  *
                                                                                • *

                                                                                  * DUPLICATE_TAG_KEY: Tag keys must be unique among the tags attached to the same entity. *

                                                                                  *
                                                                                • *
                                                                                • *

                                                                                  * IMMUTABLE_POLICY: You specified a policy that is managed by Amazon Web Services and can't be modified. *

                                                                                  *
                                                                                • *
                                                                                • *

                                                                                  * INPUT_REQUIRED: You must include a value for all required parameters. *

                                                                                  *
                                                                                • *
                                                                                • *

                                                                                  * INVALID_EMAIL_ADDRESS_TARGET: You specified an invalid email address for the invited account owner. *

                                                                                  *
                                                                                • *
                                                                                • *

                                                                                  * INVALID_ENUM: You specified an invalid value. *

                                                                                  *
                                                                                • *
                                                                                • *

                                                                                  * INVALID_ENUM_POLICY_TYPE: You specified an invalid policy type string. *

                                                                                  *
                                                                                • *
                                                                                • *

                                                                                  * INVALID_FULL_NAME_TARGET: You specified a full name that contains invalid characters. *

                                                                                  *
                                                                                • *
                                                                                • *

                                                                                  * INVALID_LIST_MEMBER: You provided a list to a parameter that contains at least one invalid value. *

                                                                                  *
                                                                                • *
                                                                                • *

                                                                                  * INVALID_PAGINATION_TOKEN: Get the value for the NextToken parameter from the response to a * previous call of the operation. *

                                                                                  *
                                                                                • *
                                                                                • *

                                                                                  * INVALID_PARTY_TYPE_TARGET: You specified the wrong type of entity (account, organization, or email) as a * party. *

                                                                                  *
                                                                                • *
                                                                                • *

                                                                                  * INVALID_PATTERN: You provided a value that doesn't match the required pattern. *

                                                                                  *
                                                                                • *
                                                                                • *

                                                                                  * INVALID_PATTERN_TARGET_ID: You specified a policy target ID that doesn't match the required pattern. *

                                                                                  *
                                                                                • *
                                                                                • *

                                                                                  * INVALID_PRINCIPAL: You specified an invalid principal element in the policy. *

                                                                                  *
                                                                                • *
                                                                                • *

                                                                                  * INVALID_ROLE_NAME: You provided a role name that isn't valid. A role name can't begin with the reserved * prefix AWSServiceRoleFor. *

                                                                                  *
                                                                                • *
                                                                                • *

                                                                                  * INVALID_SYNTAX_ORGANIZATION_ARN: You specified an invalid Amazon Resource Name (ARN) for the * organization. *

                                                                                  *
                                                                                • *
                                                                                • *

                                                                                  * INVALID_SYNTAX_POLICY_ID: You specified an invalid policy ID. *

                                                                                  *
                                                                                • *
                                                                                • *

                                                                                  * INVALID_SYSTEM_TAGS_PARAMETER: You specified a tag key that is a system tag. You can’t add, edit, or * delete system tag keys because they're reserved for Amazon Web Services use. System tags don’t count * against your tags per resource limit. *

                                                                                  *
                                                                                • *
                                                                                • *

                                                                                  * MAX_FILTER_LIMIT_EXCEEDED: You can specify only one filter parameter for the operation. *

                                                                                  *
                                                                                • *
                                                                                • *

                                                                                  * MAX_LENGTH_EXCEEDED: You provided a string parameter that is longer than allowed. *

                                                                                  *
                                                                                • *
                                                                                • *

                                                                                  * MAX_VALUE_EXCEEDED: You provided a numeric parameter that has a larger value than allowed. *

                                                                                  *
                                                                                • *
                                                                                • *

                                                                                  * MIN_LENGTH_EXCEEDED: You provided a string parameter that is shorter than allowed. *

                                                                                  *
                                                                                • *
                                                                                • *

                                                                                  * MIN_VALUE_EXCEEDED: You provided a numeric parameter that has a smaller value than allowed. *

                                                                                  *
                                                                                • *
                                                                                • *

                                                                                  * MOVING_ACCOUNT_BETWEEN_DIFFERENT_ROOTS: You can move an account only between entities in the same root. *

                                                                                  *
                                                                                • *
                                                                                • *

                                                                                  * NON_DETACHABLE_POLICY: You can't detach this Amazon Web Services Managed Policy. *

                                                                                  *
                                                                                • *
                                                                                • *

                                                                                  * TARGET_NOT_SUPPORTED: You can't perform the specified operation on that target entity. *

                                                                                  *
                                                                                • *
                                                                                • *

                                                                                  * UNRECOGNIZED_SERVICE_PRINCIPAL: You specified a service principal that isn't recognized. *

                                                                                  *
                                                                                • * @throws ServiceException * Organizations can't complete your request because of an internal service error. Try again later. * @throws TooManyRequestsException * You have sent too many requests in too short a period of time. The quota helps protect against * denial-of-service attacks. Try again later.

                                                                                  *

                                                                                  * For information about quotas that affect Organizations, see Quotas for * Organizations in the Organizations User Guide. * @throws UnsupportedApiEndpointException * This action isn't available in the current Amazon Web Services Region. * @throws SdkException * Base class for all exceptions that can be thrown by the SDK (both service and client). Can be used for * catch all scenarios. * @throws SdkClientException * If any client side error occurs such as an IO related failure, failure to get credentials, etc. * @throws OrganizationsException * Base class for all service exceptions. Unknown exceptions will be thrown as an instance of this type. * @sample OrganizationsClient.EnableAWSServiceAccess * @see AWS API Documentation */ @Override public EnableAwsServiceAccessResponse enableAWSServiceAccess(EnableAwsServiceAccessRequest enableAwsServiceAccessRequest) throws AccessDeniedException, AwsOrganizationsNotInUseException, ConcurrentModificationException, ConstraintViolationException, InvalidInputException, ServiceException, TooManyRequestsException, UnsupportedApiEndpointException, AwsServiceException, SdkClientException, OrganizationsException { JsonOperationMetadata operationMetadata = JsonOperationMetadata.builder().hasStreamingSuccessResponse(false) .isPayloadJson(true).build(); HttpResponseHandler responseHandler = protocolFactory.createResponseHandler( operationMetadata, EnableAwsServiceAccessResponse::builder); HttpResponseHandler errorResponseHandler = createErrorResponseHandler(protocolFactory, operationMetadata); SdkClientConfiguration clientConfiguration = updateSdkClientConfiguration(enableAwsServiceAccessRequest, this.clientConfiguration); List metricPublishers = resolveMetricPublishers(clientConfiguration, enableAwsServiceAccessRequest .overrideConfiguration().orElse(null)); MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector .create("ApiCall"); try { apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "Organizations"); apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "EnableAWSServiceAccess"); return clientHandler .execute(new ClientExecutionParams() .withOperationName("EnableAWSServiceAccess").withProtocolMetadata(protocolMetadata) .withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler) .withRequestConfiguration(clientConfiguration).withInput(enableAwsServiceAccessRequest) .withMetricCollector(apiCallMetricCollector) .withMarshaller(new EnableAwsServiceAccessRequestMarshaller(protocolFactory))); } finally { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); } } /** *

                                                                                  * Enables all features in an organization. This enables the use of organization policies that can restrict the * services and actions that can be called in each account. Until you enable all features, you have access only to * consolidated billing, and you can't use any of the advanced account administration features that Organizations * supports. For more information, see Enabling all features in your organization in the Organizations User Guide. *

                                                                                  * *

                                                                                  * This operation is required only for organizations that were created explicitly with only the consolidated billing * features enabled. Calling this operation sends a handshake to every invited account in the organization. The * feature set change can be finalized and the additional features enabled only after all administrators in the * invited accounts approve the change by accepting the handshake. *

                                                                                  *
                                                                                  *

                                                                                  * After you enable all features, you can separately enable or disable individual policy types in a root using * EnablePolicyType and DisablePolicyType. To see the status of policy types in a root, use * ListRoots. *

                                                                                  *

                                                                                  * After all invited member accounts accept the handshake, you finalize the feature set change by accepting the * handshake that contains "Action": "ENABLE_ALL_FEATURES". This completes the change. *

                                                                                  *

                                                                                  * After you enable all features in your organization, the management account in the organization can apply policies * on all member accounts. These policies can restrict what users and even administrators in those accounts can do. * The management account can apply policies that prevent accounts from leaving the organization. Ensure that your * account administrators are aware of this. *

                                                                                  *

                                                                                  * This operation can be called only from the organization's management account. *

                                                                                  * * @param enableAllFeaturesRequest * @return Result of the EnableAllFeatures operation returned by the service. * @throws AccessDeniedException * You don't have permissions to perform the requested operation. The user or role that is making the * request must have at least one IAM permissions policy attached that grants the required permissions. For * more information, see Access * Management in the IAM User Guide. * @throws AwsOrganizationsNotInUseException * Your account isn't a member of an organization. To make this request, you must use the credentials of an * account that belongs to an organization. * @throws ConcurrentModificationException * The target of the operation is currently being modified by a different request. Try again later. * @throws HandshakeConstraintViolationException * The requested operation would violate the constraint identified in the reason code.

                                                                                  *

                                                                                  * Some of the reasons in the following list might not be applicable to this specific API or operation: *

                                                                                  *
                                                                                  *
                                                                                    *
                                                                                  • *

                                                                                    * ACCOUNT_NUMBER_LIMIT_EXCEEDED: You attempted to exceed the limit on the number of accounts in an * organization. Note that deleted and closed accounts still count toward your limit. *

                                                                                    * *

                                                                                    * If you get this exception immediately after creating the organization, wait one hour and try again. If * after an hour it continues to fail with this error, contact Amazon Web Services Support. *

                                                                                    *
                                                                                  • *
                                                                                  • *

                                                                                    * ALREADY_IN_AN_ORGANIZATION: The handshake request is invalid because the invited account is already a * member of an organization. *

                                                                                    *
                                                                                  • *
                                                                                  • *

                                                                                    * HANDSHAKE_RATE_LIMIT_EXCEEDED: You attempted to exceed the number of handshakes that you can send in one * day. *

                                                                                    *
                                                                                  • *
                                                                                  • *

                                                                                    * INVITE_DISABLED_DURING_ENABLE_ALL_FEATURES: You can't issue new invitations to join an organization while * it's in the process of enabling all features. You can resume inviting accounts after you finalize the * process when all accounts have agreed to the change. *

                                                                                    *
                                                                                  • *
                                                                                  • *

                                                                                    * ORGANIZATION_ALREADY_HAS_ALL_FEATURES: The handshake request is invalid because the organization has * already enabled all features. *

                                                                                    *
                                                                                  • *
                                                                                  • *

                                                                                    * ORGANIZATION_IS_ALREADY_PENDING_ALL_FEATURES_MIGRATION: The handshake request is invalid because the * organization has already started the process to enable all features. *

                                                                                    *
                                                                                  • *
                                                                                  • *

                                                                                    * ORGANIZATION_FROM_DIFFERENT_SELLER_OF_RECORD: The request failed because the account is from a different * marketplace than the accounts in the organization. For example, accounts with India addresses must be * associated with the AISPL marketplace. All accounts in an organization must be from the same marketplace. *

                                                                                    *
                                                                                  • *
                                                                                  • *

                                                                                    * ORGANIZATION_MEMBERSHIP_CHANGE_RATE_LIMIT_EXCEEDED: You attempted to change the membership of an account * too quickly after its previous change. *

                                                                                    *
                                                                                  • *
                                                                                  • *

                                                                                    * PAYMENT_INSTRUMENT_REQUIRED: You can't complete the operation with an account that doesn't have a payment * instrument, such as a credit card, associated with it. *

                                                                                    *
                                                                                  • * @throws InvalidInputException * The requested operation failed because you provided invalid values for one or more of the request * parameters. This exception includes a reason that contains additional information about the violated * limit:

                                                                                    *

                                                                                    * Some of the reasons in the following list might not be applicable to this specific API or operation. *

                                                                                    *
                                                                                    *
                                                                                      *
                                                                                    • *

                                                                                      * DUPLICATE_TAG_KEY: Tag keys must be unique among the tags attached to the same entity. *

                                                                                      *
                                                                                    • *
                                                                                    • *

                                                                                      * IMMUTABLE_POLICY: You specified a policy that is managed by Amazon Web Services and can't be modified. *

                                                                                      *
                                                                                    • *
                                                                                    • *

                                                                                      * INPUT_REQUIRED: You must include a value for all required parameters. *

                                                                                      *
                                                                                    • *
                                                                                    • *

                                                                                      * INVALID_EMAIL_ADDRESS_TARGET: You specified an invalid email address for the invited account owner. *

                                                                                      *
                                                                                    • *
                                                                                    • *

                                                                                      * INVALID_ENUM: You specified an invalid value. *

                                                                                      *
                                                                                    • *
                                                                                    • *

                                                                                      * INVALID_ENUM_POLICY_TYPE: You specified an invalid policy type string. *

                                                                                      *
                                                                                    • *
                                                                                    • *

                                                                                      * INVALID_FULL_NAME_TARGET: You specified a full name that contains invalid characters. *

                                                                                      *
                                                                                    • *
                                                                                    • *

                                                                                      * INVALID_LIST_MEMBER: You provided a list to a parameter that contains at least one invalid value. *

                                                                                      *
                                                                                    • *
                                                                                    • *

                                                                                      * INVALID_PAGINATION_TOKEN: Get the value for the NextToken parameter from the response to a * previous call of the operation. *

                                                                                      *
                                                                                    • *
                                                                                    • *

                                                                                      * INVALID_PARTY_TYPE_TARGET: You specified the wrong type of entity (account, organization, or email) as a * party. *

                                                                                      *
                                                                                    • *
                                                                                    • *

                                                                                      * INVALID_PATTERN: You provided a value that doesn't match the required pattern. *

                                                                                      *
                                                                                    • *
                                                                                    • *

                                                                                      * INVALID_PATTERN_TARGET_ID: You specified a policy target ID that doesn't match the required pattern. *

                                                                                      *
                                                                                    • *
                                                                                    • *

                                                                                      * INVALID_PRINCIPAL: You specified an invalid principal element in the policy. *

                                                                                      *
                                                                                    • *
                                                                                    • *

                                                                                      * INVALID_ROLE_NAME: You provided a role name that isn't valid. A role name can't begin with the reserved * prefix AWSServiceRoleFor. *

                                                                                      *
                                                                                    • *
                                                                                    • *

                                                                                      * INVALID_SYNTAX_ORGANIZATION_ARN: You specified an invalid Amazon Resource Name (ARN) for the * organization. *

                                                                                      *
                                                                                    • *
                                                                                    • *

                                                                                      * INVALID_SYNTAX_POLICY_ID: You specified an invalid policy ID. *

                                                                                      *
                                                                                    • *
                                                                                    • *

                                                                                      * INVALID_SYSTEM_TAGS_PARAMETER: You specified a tag key that is a system tag. You can’t add, edit, or * delete system tag keys because they're reserved for Amazon Web Services use. System tags don’t count * against your tags per resource limit. *

                                                                                      *
                                                                                    • *
                                                                                    • *

                                                                                      * MAX_FILTER_LIMIT_EXCEEDED: You can specify only one filter parameter for the operation. *

                                                                                      *
                                                                                    • *
                                                                                    • *

                                                                                      * MAX_LENGTH_EXCEEDED: You provided a string parameter that is longer than allowed. *

                                                                                      *
                                                                                    • *
                                                                                    • *

                                                                                      * MAX_VALUE_EXCEEDED: You provided a numeric parameter that has a larger value than allowed. *

                                                                                      *
                                                                                    • *
                                                                                    • *

                                                                                      * MIN_LENGTH_EXCEEDED: You provided a string parameter that is shorter than allowed. *

                                                                                      *
                                                                                    • *
                                                                                    • *

                                                                                      * MIN_VALUE_EXCEEDED: You provided a numeric parameter that has a smaller value than allowed. *

                                                                                      *
                                                                                    • *
                                                                                    • *

                                                                                      * MOVING_ACCOUNT_BETWEEN_DIFFERENT_ROOTS: You can move an account only between entities in the same root. *

                                                                                      *
                                                                                    • *
                                                                                    • *

                                                                                      * NON_DETACHABLE_POLICY: You can't detach this Amazon Web Services Managed Policy. *

                                                                                      *
                                                                                    • *
                                                                                    • *

                                                                                      * TARGET_NOT_SUPPORTED: You can't perform the specified operation on that target entity. *

                                                                                      *
                                                                                    • *
                                                                                    • *

                                                                                      * UNRECOGNIZED_SERVICE_PRINCIPAL: You specified a service principal that isn't recognized. *

                                                                                      *
                                                                                    • * @throws ServiceException * Organizations can't complete your request because of an internal service error. Try again later. * @throws TooManyRequestsException * You have sent too many requests in too short a period of time. The quota helps protect against * denial-of-service attacks. Try again later.

                                                                                      *

                                                                                      * For information about quotas that affect Organizations, see Quotas for * Organizations in the Organizations User Guide. * @throws SdkException * Base class for all exceptions that can be thrown by the SDK (both service and client). Can be used for * catch all scenarios. * @throws SdkClientException * If any client side error occurs such as an IO related failure, failure to get credentials, etc. * @throws OrganizationsException * Base class for all service exceptions. Unknown exceptions will be thrown as an instance of this type. * @sample OrganizationsClient.EnableAllFeatures * @see AWS API Documentation */ @Override public EnableAllFeaturesResponse enableAllFeatures(EnableAllFeaturesRequest enableAllFeaturesRequest) throws AccessDeniedException, AwsOrganizationsNotInUseException, ConcurrentModificationException, HandshakeConstraintViolationException, InvalidInputException, ServiceException, TooManyRequestsException, AwsServiceException, SdkClientException, OrganizationsException { JsonOperationMetadata operationMetadata = JsonOperationMetadata.builder().hasStreamingSuccessResponse(false) .isPayloadJson(true).build(); HttpResponseHandler responseHandler = protocolFactory.createResponseHandler(operationMetadata, EnableAllFeaturesResponse::builder); HttpResponseHandler errorResponseHandler = createErrorResponseHandler(protocolFactory, operationMetadata); SdkClientConfiguration clientConfiguration = updateSdkClientConfiguration(enableAllFeaturesRequest, this.clientConfiguration); List metricPublishers = resolveMetricPublishers(clientConfiguration, enableAllFeaturesRequest .overrideConfiguration().orElse(null)); MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector .create("ApiCall"); try { apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "Organizations"); apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "EnableAllFeatures"); return clientHandler.execute(new ClientExecutionParams() .withOperationName("EnableAllFeatures").withProtocolMetadata(protocolMetadata) .withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler) .withRequestConfiguration(clientConfiguration).withInput(enableAllFeaturesRequest) .withMetricCollector(apiCallMetricCollector) .withMarshaller(new EnableAllFeaturesRequestMarshaller(protocolFactory))); } finally { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); } } /** *

                                                                                      * Enables a policy type in a root. After you enable a policy type in a root, you can attach policies of that type * to the root, any organizational unit (OU), or account in that root. You can undo this by using the * DisablePolicyType operation. *

                                                                                      *

                                                                                      * This is an asynchronous request that Amazon Web Services performs in the background. Amazon Web Services * recommends that you first use ListRoots to see the status of policy types for a specified root, and then * use this operation. *

                                                                                      *

                                                                                      * This operation can be called only from the organization's management account or by a member account that is a * delegated administrator for an Amazon Web Services service. *

                                                                                      *

                                                                                      * You can enable a policy type in a root only if that policy type is available in the organization. To view the * status of available policy types in the organization, use DescribeOrganization. *

                                                                                      * * @param enablePolicyTypeRequest * @return Result of the EnablePolicyType operation returned by the service. * @throws AccessDeniedException * You don't have permissions to perform the requested operation. The user or role that is making the * request must have at least one IAM permissions policy attached that grants the required permissions. For * more information, see Access * Management in the IAM User Guide. * @throws AwsOrganizationsNotInUseException * Your account isn't a member of an organization. To make this request, you must use the credentials of an * account that belongs to an organization. * @throws ConcurrentModificationException * The target of the operation is currently being modified by a different request. Try again later. * @throws ConstraintViolationException * Performing this operation violates a minimum or maximum value limit. For example, attempting to remove * the last service control policy (SCP) from an OU or root, inviting or creating too many accounts to the * organization, or attaching too many policies to an account, OU, or root. This exception includes a reason * that contains additional information about the violated limit:

                                                                                      *

                                                                                      * Some of the reasons in the following list might not be applicable to this specific API or operation. *

                                                                                      *
                                                                                      *
                                                                                        *
                                                                                      • *

                                                                                        * ACCOUNT_CANNOT_LEAVE_ORGANIZATION: You attempted to remove the management account from the organization. * You can't remove the management account. Instead, after you remove all member accounts, delete the * organization itself. *

                                                                                        *
                                                                                      • *
                                                                                      • *

                                                                                        * ACCOUNT_CANNOT_LEAVE_WITHOUT_PHONE_VERIFICATION: You attempted to remove an account from the organization * that doesn't yet have enough information to exist as a standalone account. This account requires you to * first complete phone verification. Follow the steps at Removing a member account from your organization in the Organizations User Guide. *

                                                                                        *
                                                                                      • *
                                                                                      • *

                                                                                        * ACCOUNT_CREATION_RATE_LIMIT_EXCEEDED: You attempted to exceed the number of accounts that you can create * in one day. *

                                                                                        *
                                                                                      • *
                                                                                      • *

                                                                                        * ACCOUNT_CREATION_NOT_COMPLETE: Your account setup isn't complete or your account isn't fully active. You * must complete the account setup before you create an organization. *

                                                                                        *
                                                                                      • *
                                                                                      • *

                                                                                        * ACCOUNT_NUMBER_LIMIT_EXCEEDED: You attempted to exceed the limit on the number of accounts in an * organization. If you need more accounts, contact Amazon Web Services Support to request an * increase in your limit. *

                                                                                        *

                                                                                        * Or the number of invitations that you tried to send would cause you to exceed the limit of accounts in * your organization. Send fewer invitations or contact Amazon Web Services Support to request an increase * in the number of accounts. *

                                                                                        * *

                                                                                        * Deleted and closed accounts still count toward your limit. *

                                                                                        *
                                                                                        *

                                                                                        * If you get this exception when running a command immediately after creating the organization, wait one * hour and try again. After an hour, if the command continues to fail with this error, contact Amazon Web Services Support. *

                                                                                        *
                                                                                      • *
                                                                                      • *

                                                                                        * CANNOT_REGISTER_SUSPENDED_ACCOUNT_AS_DELEGATED_ADMINISTRATOR: You cannot register a suspended account as * a delegated administrator. *

                                                                                        *
                                                                                      • *
                                                                                      • *

                                                                                        * CANNOT_REGISTER_MASTER_AS_DELEGATED_ADMINISTRATOR: You attempted to register the management account of * the organization as a delegated administrator for an Amazon Web Services service integrated with * Organizations. You can designate only a member account as a delegated administrator. *

                                                                                        *
                                                                                      • *
                                                                                      • *

                                                                                        * CANNOT_CLOSE_MANAGEMENT_ACCOUNT: You attempted to close the management account. To close the management * account for the organization, you must first either remove or close all member accounts in the * organization. Follow standard account closure process using root credentials.​ *

                                                                                        *
                                                                                      • *
                                                                                      • *

                                                                                        * CANNOT_REMOVE_DELEGATED_ADMINISTRATOR_FROM_ORG: You attempted to remove an account that is registered as * a delegated administrator for a service integrated with your organization. To complete this operation, * you must first deregister this account as a delegated administrator. *

                                                                                        *
                                                                                      • *
                                                                                      • *

                                                                                        * CLOSE_ACCOUNT_QUOTA_EXCEEDED: You have exceeded close account quota for the past 30 days. *

                                                                                        *
                                                                                      • *
                                                                                      • *

                                                                                        * CLOSE_ACCOUNT_REQUESTS_LIMIT_EXCEEDED: You attempted to exceed the number of accounts that you can close * at a time. ​ *

                                                                                        *
                                                                                      • *
                                                                                      • *

                                                                                        * CREATE_ORGANIZATION_IN_BILLING_MODE_UNSUPPORTED_REGION: To create an organization in the specified * region, you must enable all features mode. *

                                                                                        *
                                                                                      • *
                                                                                      • *

                                                                                        * DELEGATED_ADMINISTRATOR_EXISTS_FOR_THIS_SERVICE: You attempted to register an Amazon Web Services account * as a delegated administrator for an Amazon Web Services service that already has a delegated * administrator. To complete this operation, you must first deregister any existing delegated * administrators for this service. *

                                                                                        *
                                                                                      • *
                                                                                      • *

                                                                                        * EMAIL_VERIFICATION_CODE_EXPIRED: The email verification code is only valid for a limited period of time. * You must resubmit the request and generate a new verfication code. *

                                                                                        *
                                                                                      • *
                                                                                      • *

                                                                                        * HANDSHAKE_RATE_LIMIT_EXCEEDED: You attempted to exceed the number of handshakes that you can send in one * day. *

                                                                                        *
                                                                                      • *
                                                                                      • *

                                                                                        * INVALID_PAYMENT_INSTRUMENT: You cannot remove an account because no supported payment method is * associated with the account. Amazon Web Services does not support cards issued by financial institutions * in Russia or Belarus. For more information, see Managing your * Amazon Web Services payments. *

                                                                                        *
                                                                                      • *
                                                                                      • *

                                                                                        * MASTER_ACCOUNT_ADDRESS_DOES_NOT_MATCH_MARKETPLACE: To create an account in this organization, you first * must migrate the organization's management account to the marketplace that corresponds to the management * account's address. All accounts in an organization must be associated with the same marketplace. *

                                                                                        *
                                                                                      • *
                                                                                      • *

                                                                                        * MASTER_ACCOUNT_MISSING_BUSINESS_LICENSE: Applies only to the Amazon Web Services Regions in China. To * create an organization, the master must have a valid business license. For more information, contact * customer support. *

                                                                                        *
                                                                                      • *
                                                                                      • *

                                                                                        * MASTER_ACCOUNT_MISSING_CONTACT_INFO: To complete this operation, you must first provide a valid contact * address and phone number for the management account. Then try the operation again. *

                                                                                        *
                                                                                      • *
                                                                                      • *

                                                                                        * MASTER_ACCOUNT_NOT_GOVCLOUD_ENABLED: To complete this operation, the management account must have an * associated account in the Amazon Web Services GovCloud (US-West) Region. For more information, see Organizations * in the Amazon Web Services GovCloud User Guide. *

                                                                                        *
                                                                                      • *
                                                                                      • *

                                                                                        * MASTER_ACCOUNT_PAYMENT_INSTRUMENT_REQUIRED: To create an organization with this management account, you * first must associate a valid payment instrument, such as a credit card, with the account. For more * information, see Considerations before removing an account from an organization in the Organizations User * Guide. *

                                                                                        *
                                                                                      • *
                                                                                      • *

                                                                                        * MAX_DELEGATED_ADMINISTRATORS_FOR_SERVICE_LIMIT_EXCEEDED: You attempted to register more delegated * administrators than allowed for the service principal. *

                                                                                        *
                                                                                      • *
                                                                                      • *

                                                                                        * MAX_POLICY_TYPE_ATTACHMENT_LIMIT_EXCEEDED: You attempted to exceed the number of policies of a certain * type that can be attached to an entity at one time. *

                                                                                        *
                                                                                      • *
                                                                                      • *

                                                                                        * MAX_TAG_LIMIT_EXCEEDED: You have exceeded the number of tags allowed on this resource. *

                                                                                        *
                                                                                      • *
                                                                                      • *

                                                                                        * MEMBER_ACCOUNT_PAYMENT_INSTRUMENT_REQUIRED: To complete this operation with this member account, you * first must associate a valid payment instrument, such as a credit card, with the account. For more * information, see Considerations before removing an account from an organization in the Organizations User * Guide. *

                                                                                        *
                                                                                      • *
                                                                                      • *

                                                                                        * MIN_POLICY_TYPE_ATTACHMENT_LIMIT_EXCEEDED: You attempted to detach a policy from an entity that would * cause the entity to have fewer than the minimum number of policies of a certain type required. *

                                                                                        *
                                                                                      • *
                                                                                      • *

                                                                                        * ORGANIZATION_NOT_IN_ALL_FEATURES_MODE: You attempted to perform an operation that requires the * organization to be configured to support all features. An organization that supports only consolidated * billing features can't perform this operation. *

                                                                                        *
                                                                                      • *
                                                                                      • *

                                                                                        * OU_DEPTH_LIMIT_EXCEEDED: You attempted to create an OU tree that is too many levels deep. *

                                                                                        *
                                                                                      • *
                                                                                      • *

                                                                                        * OU_NUMBER_LIMIT_EXCEEDED: You attempted to exceed the number of OUs that you can have in an organization. *

                                                                                        *
                                                                                      • *
                                                                                      • *

                                                                                        * POLICY_CONTENT_LIMIT_EXCEEDED: You attempted to create a policy that is larger than the maximum size. *

                                                                                        *
                                                                                      • *
                                                                                      • *

                                                                                        * POLICY_NUMBER_LIMIT_EXCEEDED: You attempted to exceed the number of policies that you can have in an * organization. *

                                                                                        *
                                                                                      • *
                                                                                      • *

                                                                                        * SERVICE_ACCESS_NOT_ENABLED: You attempted to register a delegated administrator before you enabled * service access. Call the EnableAWSServiceAccess API first. *

                                                                                        *
                                                                                      • *
                                                                                      • *

                                                                                        * TAG_POLICY_VIOLATION: You attempted to create or update a resource with tags that are not compliant with * the tag policy requirements for this account. *

                                                                                        *
                                                                                      • *
                                                                                      • *

                                                                                        * WAIT_PERIOD_ACTIVE: After you create an Amazon Web Services account, you must wait until at least seven * days after the account was created. Invited accounts aren't subject to this waiting period. *

                                                                                        *
                                                                                      • * @throws InvalidInputException * The requested operation failed because you provided invalid values for one or more of the request * parameters. This exception includes a reason that contains additional information about the violated * limit:

                                                                                        *

                                                                                        * Some of the reasons in the following list might not be applicable to this specific API or operation. *

                                                                                        *
                                                                                        *
                                                                                          *
                                                                                        • *

                                                                                          * DUPLICATE_TAG_KEY: Tag keys must be unique among the tags attached to the same entity. *

                                                                                          *
                                                                                        • *
                                                                                        • *

                                                                                          * IMMUTABLE_POLICY: You specified a policy that is managed by Amazon Web Services and can't be modified. *

                                                                                          *
                                                                                        • *
                                                                                        • *

                                                                                          * INPUT_REQUIRED: You must include a value for all required parameters. *

                                                                                          *
                                                                                        • *
                                                                                        • *

                                                                                          * INVALID_EMAIL_ADDRESS_TARGET: You specified an invalid email address for the invited account owner. *

                                                                                          *
                                                                                        • *
                                                                                        • *

                                                                                          * INVALID_ENUM: You specified an invalid value. *

                                                                                          *
                                                                                        • *
                                                                                        • *

                                                                                          * INVALID_ENUM_POLICY_TYPE: You specified an invalid policy type string. *

                                                                                          *
                                                                                        • *
                                                                                        • *

                                                                                          * INVALID_FULL_NAME_TARGET: You specified a full name that contains invalid characters. *

                                                                                          *
                                                                                        • *
                                                                                        • *

                                                                                          * INVALID_LIST_MEMBER: You provided a list to a parameter that contains at least one invalid value. *

                                                                                          *
                                                                                        • *
                                                                                        • *

                                                                                          * INVALID_PAGINATION_TOKEN: Get the value for the NextToken parameter from the response to a * previous call of the operation. *

                                                                                          *
                                                                                        • *
                                                                                        • *

                                                                                          * INVALID_PARTY_TYPE_TARGET: You specified the wrong type of entity (account, organization, or email) as a * party. *

                                                                                          *
                                                                                        • *
                                                                                        • *

                                                                                          * INVALID_PATTERN: You provided a value that doesn't match the required pattern. *

                                                                                          *
                                                                                        • *
                                                                                        • *

                                                                                          * INVALID_PATTERN_TARGET_ID: You specified a policy target ID that doesn't match the required pattern. *

                                                                                          *
                                                                                        • *
                                                                                        • *

                                                                                          * INVALID_PRINCIPAL: You specified an invalid principal element in the policy. *

                                                                                          *
                                                                                        • *
                                                                                        • *

                                                                                          * INVALID_ROLE_NAME: You provided a role name that isn't valid. A role name can't begin with the reserved * prefix AWSServiceRoleFor. *

                                                                                          *
                                                                                        • *
                                                                                        • *

                                                                                          * INVALID_SYNTAX_ORGANIZATION_ARN: You specified an invalid Amazon Resource Name (ARN) for the * organization. *

                                                                                          *
                                                                                        • *
                                                                                        • *

                                                                                          * INVALID_SYNTAX_POLICY_ID: You specified an invalid policy ID. *

                                                                                          *
                                                                                        • *
                                                                                        • *

                                                                                          * INVALID_SYSTEM_TAGS_PARAMETER: You specified a tag key that is a system tag. You can’t add, edit, or * delete system tag keys because they're reserved for Amazon Web Services use. System tags don’t count * against your tags per resource limit. *

                                                                                          *
                                                                                        • *
                                                                                        • *

                                                                                          * MAX_FILTER_LIMIT_EXCEEDED: You can specify only one filter parameter for the operation. *

                                                                                          *
                                                                                        • *
                                                                                        • *

                                                                                          * MAX_LENGTH_EXCEEDED: You provided a string parameter that is longer than allowed. *

                                                                                          *
                                                                                        • *
                                                                                        • *

                                                                                          * MAX_VALUE_EXCEEDED: You provided a numeric parameter that has a larger value than allowed. *

                                                                                          *
                                                                                        • *
                                                                                        • *

                                                                                          * MIN_LENGTH_EXCEEDED: You provided a string parameter that is shorter than allowed. *

                                                                                          *
                                                                                        • *
                                                                                        • *

                                                                                          * MIN_VALUE_EXCEEDED: You provided a numeric parameter that has a smaller value than allowed. *

                                                                                          *
                                                                                        • *
                                                                                        • *

                                                                                          * MOVING_ACCOUNT_BETWEEN_DIFFERENT_ROOTS: You can move an account only between entities in the same root. *

                                                                                          *
                                                                                        • *
                                                                                        • *

                                                                                          * NON_DETACHABLE_POLICY: You can't detach this Amazon Web Services Managed Policy. *

                                                                                          *
                                                                                        • *
                                                                                        • *

                                                                                          * TARGET_NOT_SUPPORTED: You can't perform the specified operation on that target entity. *

                                                                                          *
                                                                                        • *
                                                                                        • *

                                                                                          * UNRECOGNIZED_SERVICE_PRINCIPAL: You specified a service principal that isn't recognized. *

                                                                                          *
                                                                                        • * @throws PolicyTypeAlreadyEnabledException * The specified policy type is already enabled in the specified root. * @throws RootNotFoundException * We can't find a root with the RootId that you specified. * @throws ServiceException * Organizations can't complete your request because of an internal service error. Try again later. * @throws TooManyRequestsException * You have sent too many requests in too short a period of time. The quota helps protect against * denial-of-service attacks. Try again later.

                                                                                          *

                                                                                          * For information about quotas that affect Organizations, see Quotas for * Organizations in the Organizations User Guide. * @throws PolicyTypeNotAvailableForOrganizationException * You can't use the specified policy type with the feature set currently enabled for this organization. For * example, you can enable SCPs only after you enable all features in the organization. For more * information, see Managing Organizations policiesin the Organizations User Guide. * @throws UnsupportedApiEndpointException * This action isn't available in the current Amazon Web Services Region. * @throws PolicyChangesInProgressException * Changes to the effective policy are in progress, and its contents can't be returned. Try the operation * again later. * @throws SdkException * Base class for all exceptions that can be thrown by the SDK (both service and client). Can be used for * catch all scenarios. * @throws SdkClientException * If any client side error occurs such as an IO related failure, failure to get credentials, etc. * @throws OrganizationsException * Base class for all service exceptions. Unknown exceptions will be thrown as an instance of this type. * @sample OrganizationsClient.EnablePolicyType * @see AWS API Documentation */ @Override public EnablePolicyTypeResponse enablePolicyType(EnablePolicyTypeRequest enablePolicyTypeRequest) throws AccessDeniedException, AwsOrganizationsNotInUseException, ConcurrentModificationException, ConstraintViolationException, InvalidInputException, PolicyTypeAlreadyEnabledException, RootNotFoundException, ServiceException, TooManyRequestsException, PolicyTypeNotAvailableForOrganizationException, UnsupportedApiEndpointException, PolicyChangesInProgressException, AwsServiceException, SdkClientException, OrganizationsException { JsonOperationMetadata operationMetadata = JsonOperationMetadata.builder().hasStreamingSuccessResponse(false) .isPayloadJson(true).build(); HttpResponseHandler responseHandler = protocolFactory.createResponseHandler(operationMetadata, EnablePolicyTypeResponse::builder); HttpResponseHandler errorResponseHandler = createErrorResponseHandler(protocolFactory, operationMetadata); SdkClientConfiguration clientConfiguration = updateSdkClientConfiguration(enablePolicyTypeRequest, this.clientConfiguration); List metricPublishers = resolveMetricPublishers(clientConfiguration, enablePolicyTypeRequest .overrideConfiguration().orElse(null)); MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector .create("ApiCall"); try { apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "Organizations"); apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "EnablePolicyType"); return clientHandler.execute(new ClientExecutionParams() .withOperationName("EnablePolicyType").withProtocolMetadata(protocolMetadata) .withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler) .withRequestConfiguration(clientConfiguration).withInput(enablePolicyTypeRequest) .withMetricCollector(apiCallMetricCollector) .withMarshaller(new EnablePolicyTypeRequestMarshaller(protocolFactory))); } finally { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); } } /** *

                                                                                          * Sends an invitation to another account to join your organization as a member account. Organizations sends email * on your behalf to the email address that is associated with the other account's owner. The invitation is * implemented as a Handshake whose details are in the response. *

                                                                                          * *
                                                                                            *
                                                                                          • *

                                                                                            * You can invite Amazon Web Services accounts only from the same seller as the management account. For example, if * your organization's management account was created by Amazon Internet Services Pvt. Ltd (AISPL), an Amazon Web * Services seller in India, you can invite only other AISPL accounts to your organization. You can't combine * accounts from AISPL and Amazon Web Services or from any other Amazon Web Services seller. For more information, * see * Consolidated billing in India. *

                                                                                            *
                                                                                          • *
                                                                                          • *

                                                                                            * If you receive an exception that indicates that you exceeded your account limits for the organization or that the * operation failed because your organization is still initializing, wait one hour and then try again. If the error * persists after an hour, contact Amazon Web Services * Support. *

                                                                                            *
                                                                                          • *
                                                                                          *
                                                                                          *

                                                                                          * If the request includes tags, then the requester must have the organizations:TagResource permission. *

                                                                                          *

                                                                                          * This operation can be called only from the organization's management account. *

                                                                                          * * @param inviteAccountToOrganizationRequest * @return Result of the InviteAccountToOrganization operation returned by the service. * @throws AccessDeniedException * You don't have permissions to perform the requested operation. The user or role that is making the * request must have at least one IAM permissions policy attached that grants the required permissions. For * more information, see Access * Management in the IAM User Guide. * @throws AwsOrganizationsNotInUseException * Your account isn't a member of an organization. To make this request, you must use the credentials of an * account that belongs to an organization. * @throws AccountOwnerNotVerifiedException * You can't invite an existing account to your organization until you verify that you own the email address * associated with the management account. For more information, see Email address verification in the Organizations User Guide. * @throws ConcurrentModificationException * The target of the operation is currently being modified by a different request. Try again later. * @throws HandshakeConstraintViolationException * The requested operation would violate the constraint identified in the reason code.

                                                                                          *

                                                                                          * Some of the reasons in the following list might not be applicable to this specific API or operation: *

                                                                                          *
                                                                                          *
                                                                                            *
                                                                                          • *

                                                                                            * ACCOUNT_NUMBER_LIMIT_EXCEEDED: You attempted to exceed the limit on the number of accounts in an * organization. Note that deleted and closed accounts still count toward your limit. *

                                                                                            * *

                                                                                            * If you get this exception immediately after creating the organization, wait one hour and try again. If * after an hour it continues to fail with this error, contact Amazon Web Services Support. *

                                                                                            *
                                                                                          • *
                                                                                          • *

                                                                                            * ALREADY_IN_AN_ORGANIZATION: The handshake request is invalid because the invited account is already a * member of an organization. *

                                                                                            *
                                                                                          • *
                                                                                          • *

                                                                                            * HANDSHAKE_RATE_LIMIT_EXCEEDED: You attempted to exceed the number of handshakes that you can send in one * day. *

                                                                                            *
                                                                                          • *
                                                                                          • *

                                                                                            * INVITE_DISABLED_DURING_ENABLE_ALL_FEATURES: You can't issue new invitations to join an organization while * it's in the process of enabling all features. You can resume inviting accounts after you finalize the * process when all accounts have agreed to the change. *

                                                                                            *
                                                                                          • *
                                                                                          • *

                                                                                            * ORGANIZATION_ALREADY_HAS_ALL_FEATURES: The handshake request is invalid because the organization has * already enabled all features. *

                                                                                            *
                                                                                          • *
                                                                                          • *

                                                                                            * ORGANIZATION_IS_ALREADY_PENDING_ALL_FEATURES_MIGRATION: The handshake request is invalid because the * organization has already started the process to enable all features. *

                                                                                            *
                                                                                          • *
                                                                                          • *

                                                                                            * ORGANIZATION_FROM_DIFFERENT_SELLER_OF_RECORD: The request failed because the account is from a different * marketplace than the accounts in the organization. For example, accounts with India addresses must be * associated with the AISPL marketplace. All accounts in an organization must be from the same marketplace. *

                                                                                            *
                                                                                          • *
                                                                                          • *

                                                                                            * ORGANIZATION_MEMBERSHIP_CHANGE_RATE_LIMIT_EXCEEDED: You attempted to change the membership of an account * too quickly after its previous change. *

                                                                                            *
                                                                                          • *
                                                                                          • *

                                                                                            * PAYMENT_INSTRUMENT_REQUIRED: You can't complete the operation with an account that doesn't have a payment * instrument, such as a credit card, associated with it. *

                                                                                            *
                                                                                          • * @throws DuplicateHandshakeException * A handshake with the same action and target already exists. For example, if you invited an account to * join your organization, the invited account might already have a pending invitation from this * organization. If you intend to resend an invitation to an account, ensure that existing handshakes that * might be considered duplicates are canceled or declined. * @throws ConstraintViolationException * Performing this operation violates a minimum or maximum value limit. For example, attempting to remove * the last service control policy (SCP) from an OU or root, inviting or creating too many accounts to the * organization, or attaching too many policies to an account, OU, or root. This exception includes a reason * that contains additional information about the violated limit:

                                                                                            *

                                                                                            * Some of the reasons in the following list might not be applicable to this specific API or operation. *

                                                                                            *
                                                                                            *
                                                                                              *
                                                                                            • *

                                                                                              * ACCOUNT_CANNOT_LEAVE_ORGANIZATION: You attempted to remove the management account from the organization. * You can't remove the management account. Instead, after you remove all member accounts, delete the * organization itself. *

                                                                                              *
                                                                                            • *
                                                                                            • *

                                                                                              * ACCOUNT_CANNOT_LEAVE_WITHOUT_PHONE_VERIFICATION: You attempted to remove an account from the organization * that doesn't yet have enough information to exist as a standalone account. This account requires you to * first complete phone verification. Follow the steps at Removing a member account from your organization in the Organizations User Guide. *

                                                                                              *
                                                                                            • *
                                                                                            • *

                                                                                              * ACCOUNT_CREATION_RATE_LIMIT_EXCEEDED: You attempted to exceed the number of accounts that you can create * in one day. *

                                                                                              *
                                                                                            • *
                                                                                            • *

                                                                                              * ACCOUNT_CREATION_NOT_COMPLETE: Your account setup isn't complete or your account isn't fully active. You * must complete the account setup before you create an organization. *

                                                                                              *
                                                                                            • *
                                                                                            • *

                                                                                              * ACCOUNT_NUMBER_LIMIT_EXCEEDED: You attempted to exceed the limit on the number of accounts in an * organization. If you need more accounts, contact Amazon Web Services Support to request an * increase in your limit. *

                                                                                              *

                                                                                              * Or the number of invitations that you tried to send would cause you to exceed the limit of accounts in * your organization. Send fewer invitations or contact Amazon Web Services Support to request an increase * in the number of accounts. *

                                                                                              * *

                                                                                              * Deleted and closed accounts still count toward your limit. *

                                                                                              *
                                                                                              *

                                                                                              * If you get this exception when running a command immediately after creating the organization, wait one * hour and try again. After an hour, if the command continues to fail with this error, contact Amazon Web Services Support. *

                                                                                              *
                                                                                            • *
                                                                                            • *

                                                                                              * CANNOT_REGISTER_SUSPENDED_ACCOUNT_AS_DELEGATED_ADMINISTRATOR: You cannot register a suspended account as * a delegated administrator. *

                                                                                              *
                                                                                            • *
                                                                                            • *

                                                                                              * CANNOT_REGISTER_MASTER_AS_DELEGATED_ADMINISTRATOR: You attempted to register the management account of * the organization as a delegated administrator for an Amazon Web Services service integrated with * Organizations. You can designate only a member account as a delegated administrator. *

                                                                                              *
                                                                                            • *
                                                                                            • *

                                                                                              * CANNOT_CLOSE_MANAGEMENT_ACCOUNT: You attempted to close the management account. To close the management * account for the organization, you must first either remove or close all member accounts in the * organization. Follow standard account closure process using root credentials.​ *

                                                                                              *
                                                                                            • *
                                                                                            • *

                                                                                              * CANNOT_REMOVE_DELEGATED_ADMINISTRATOR_FROM_ORG: You attempted to remove an account that is registered as * a delegated administrator for a service integrated with your organization. To complete this operation, * you must first deregister this account as a delegated administrator. *

                                                                                              *
                                                                                            • *
                                                                                            • *

                                                                                              * CLOSE_ACCOUNT_QUOTA_EXCEEDED: You have exceeded close account quota for the past 30 days. *

                                                                                              *
                                                                                            • *
                                                                                            • *

                                                                                              * CLOSE_ACCOUNT_REQUESTS_LIMIT_EXCEEDED: You attempted to exceed the number of accounts that you can close * at a time. ​ *

                                                                                              *
                                                                                            • *
                                                                                            • *

                                                                                              * CREATE_ORGANIZATION_IN_BILLING_MODE_UNSUPPORTED_REGION: To create an organization in the specified * region, you must enable all features mode. *

                                                                                              *
                                                                                            • *
                                                                                            • *

                                                                                              * DELEGATED_ADMINISTRATOR_EXISTS_FOR_THIS_SERVICE: You attempted to register an Amazon Web Services account * as a delegated administrator for an Amazon Web Services service that already has a delegated * administrator. To complete this operation, you must first deregister any existing delegated * administrators for this service. *

                                                                                              *
                                                                                            • *
                                                                                            • *

                                                                                              * EMAIL_VERIFICATION_CODE_EXPIRED: The email verification code is only valid for a limited period of time. * You must resubmit the request and generate a new verfication code. *

                                                                                              *
                                                                                            • *
                                                                                            • *

                                                                                              * HANDSHAKE_RATE_LIMIT_EXCEEDED: You attempted to exceed the number of handshakes that you can send in one * day. *

                                                                                              *
                                                                                            • *
                                                                                            • *

                                                                                              * INVALID_PAYMENT_INSTRUMENT: You cannot remove an account because no supported payment method is * associated with the account. Amazon Web Services does not support cards issued by financial institutions * in Russia or Belarus. For more information, see Managing your * Amazon Web Services payments. *

                                                                                              *
                                                                                            • *
                                                                                            • *

                                                                                              * MASTER_ACCOUNT_ADDRESS_DOES_NOT_MATCH_MARKETPLACE: To create an account in this organization, you first * must migrate the organization's management account to the marketplace that corresponds to the management * account's address. All accounts in an organization must be associated with the same marketplace. *

                                                                                              *
                                                                                            • *
                                                                                            • *

                                                                                              * MASTER_ACCOUNT_MISSING_BUSINESS_LICENSE: Applies only to the Amazon Web Services Regions in China. To * create an organization, the master must have a valid business license. For more information, contact * customer support. *

                                                                                              *
                                                                                            • *
                                                                                            • *

                                                                                              * MASTER_ACCOUNT_MISSING_CONTACT_INFO: To complete this operation, you must first provide a valid contact * address and phone number for the management account. Then try the operation again. *

                                                                                              *
                                                                                            • *
                                                                                            • *

                                                                                              * MASTER_ACCOUNT_NOT_GOVCLOUD_ENABLED: To complete this operation, the management account must have an * associated account in the Amazon Web Services GovCloud (US-West) Region. For more information, see Organizations * in the Amazon Web Services GovCloud User Guide. *

                                                                                              *
                                                                                            • *
                                                                                            • *

                                                                                              * MASTER_ACCOUNT_PAYMENT_INSTRUMENT_REQUIRED: To create an organization with this management account, you * first must associate a valid payment instrument, such as a credit card, with the account. For more * information, see Considerations before removing an account from an organization in the Organizations User * Guide. *

                                                                                              *
                                                                                            • *
                                                                                            • *

                                                                                              * MAX_DELEGATED_ADMINISTRATORS_FOR_SERVICE_LIMIT_EXCEEDED: You attempted to register more delegated * administrators than allowed for the service principal. *

                                                                                              *
                                                                                            • *
                                                                                            • *

                                                                                              * MAX_POLICY_TYPE_ATTACHMENT_LIMIT_EXCEEDED: You attempted to exceed the number of policies of a certain * type that can be attached to an entity at one time. *

                                                                                              *
                                                                                            • *
                                                                                            • *

                                                                                              * MAX_TAG_LIMIT_EXCEEDED: You have exceeded the number of tags allowed on this resource. *

                                                                                              *
                                                                                            • *
                                                                                            • *

                                                                                              * MEMBER_ACCOUNT_PAYMENT_INSTRUMENT_REQUIRED: To complete this operation with this member account, you * first must associate a valid payment instrument, such as a credit card, with the account. For more * information, see Considerations before removing an account from an organization in the Organizations User * Guide. *

                                                                                              *
                                                                                            • *
                                                                                            • *

                                                                                              * MIN_POLICY_TYPE_ATTACHMENT_LIMIT_EXCEEDED: You attempted to detach a policy from an entity that would * cause the entity to have fewer than the minimum number of policies of a certain type required. *

                                                                                              *
                                                                                            • *
                                                                                            • *

                                                                                              * ORGANIZATION_NOT_IN_ALL_FEATURES_MODE: You attempted to perform an operation that requires the * organization to be configured to support all features. An organization that supports only consolidated * billing features can't perform this operation. *

                                                                                              *
                                                                                            • *
                                                                                            • *

                                                                                              * OU_DEPTH_LIMIT_EXCEEDED: You attempted to create an OU tree that is too many levels deep. *

                                                                                              *
                                                                                            • *
                                                                                            • *

                                                                                              * OU_NUMBER_LIMIT_EXCEEDED: You attempted to exceed the number of OUs that you can have in an organization. *

                                                                                              *
                                                                                            • *
                                                                                            • *

                                                                                              * POLICY_CONTENT_LIMIT_EXCEEDED: You attempted to create a policy that is larger than the maximum size. *

                                                                                              *
                                                                                            • *
                                                                                            • *

                                                                                              * POLICY_NUMBER_LIMIT_EXCEEDED: You attempted to exceed the number of policies that you can have in an * organization. *

                                                                                              *
                                                                                            • *
                                                                                            • *

                                                                                              * SERVICE_ACCESS_NOT_ENABLED: You attempted to register a delegated administrator before you enabled * service access. Call the EnableAWSServiceAccess API first. *

                                                                                              *
                                                                                            • *
                                                                                            • *

                                                                                              * TAG_POLICY_VIOLATION: You attempted to create or update a resource with tags that are not compliant with * the tag policy requirements for this account. *

                                                                                              *
                                                                                            • *
                                                                                            • *

                                                                                              * WAIT_PERIOD_ACTIVE: After you create an Amazon Web Services account, you must wait until at least seven * days after the account was created. Invited accounts aren't subject to this waiting period. *

                                                                                              *
                                                                                            • * @throws InvalidInputException * The requested operation failed because you provided invalid values for one or more of the request * parameters. This exception includes a reason that contains additional information about the violated * limit:

                                                                                              *

                                                                                              * Some of the reasons in the following list might not be applicable to this specific API or operation. *

                                                                                              *
                                                                                              *
                                                                                                *
                                                                                              • *

                                                                                                * DUPLICATE_TAG_KEY: Tag keys must be unique among the tags attached to the same entity. *

                                                                                                *
                                                                                              • *
                                                                                              • *

                                                                                                * IMMUTABLE_POLICY: You specified a policy that is managed by Amazon Web Services and can't be modified. *

                                                                                                *
                                                                                              • *
                                                                                              • *

                                                                                                * INPUT_REQUIRED: You must include a value for all required parameters. *

                                                                                                *
                                                                                              • *
                                                                                              • *

                                                                                                * INVALID_EMAIL_ADDRESS_TARGET: You specified an invalid email address for the invited account owner. *

                                                                                                *
                                                                                              • *
                                                                                              • *

                                                                                                * INVALID_ENUM: You specified an invalid value. *

                                                                                                *
                                                                                              • *
                                                                                              • *

                                                                                                * INVALID_ENUM_POLICY_TYPE: You specified an invalid policy type string. *

                                                                                                *
                                                                                              • *
                                                                                              • *

                                                                                                * INVALID_FULL_NAME_TARGET: You specified a full name that contains invalid characters. *

                                                                                                *
                                                                                              • *
                                                                                              • *

                                                                                                * INVALID_LIST_MEMBER: You provided a list to a parameter that contains at least one invalid value. *

                                                                                                *
                                                                                              • *
                                                                                              • *

                                                                                                * INVALID_PAGINATION_TOKEN: Get the value for the NextToken parameter from the response to a * previous call of the operation. *

                                                                                                *
                                                                                              • *
                                                                                              • *

                                                                                                * INVALID_PARTY_TYPE_TARGET: You specified the wrong type of entity (account, organization, or email) as a * party. *

                                                                                                *
                                                                                              • *
                                                                                              • *

                                                                                                * INVALID_PATTERN: You provided a value that doesn't match the required pattern. *

                                                                                                *
                                                                                              • *
                                                                                              • *

                                                                                                * INVALID_PATTERN_TARGET_ID: You specified a policy target ID that doesn't match the required pattern. *

                                                                                                *
                                                                                              • *
                                                                                              • *

                                                                                                * INVALID_PRINCIPAL: You specified an invalid principal element in the policy. *

                                                                                                *
                                                                                              • *
                                                                                              • *

                                                                                                * INVALID_ROLE_NAME: You provided a role name that isn't valid. A role name can't begin with the reserved * prefix AWSServiceRoleFor. *

                                                                                                *
                                                                                              • *
                                                                                              • *

                                                                                                * INVALID_SYNTAX_ORGANIZATION_ARN: You specified an invalid Amazon Resource Name (ARN) for the * organization. *

                                                                                                *
                                                                                              • *
                                                                                              • *

                                                                                                * INVALID_SYNTAX_POLICY_ID: You specified an invalid policy ID. *

                                                                                                *
                                                                                              • *
                                                                                              • *

                                                                                                * INVALID_SYSTEM_TAGS_PARAMETER: You specified a tag key that is a system tag. You can’t add, edit, or * delete system tag keys because they're reserved for Amazon Web Services use. System tags don’t count * against your tags per resource limit. *

                                                                                                *
                                                                                              • *
                                                                                              • *

                                                                                                * MAX_FILTER_LIMIT_EXCEEDED: You can specify only one filter parameter for the operation. *

                                                                                                *
                                                                                              • *
                                                                                              • *

                                                                                                * MAX_LENGTH_EXCEEDED: You provided a string parameter that is longer than allowed. *

                                                                                                *
                                                                                              • *
                                                                                              • *

                                                                                                * MAX_VALUE_EXCEEDED: You provided a numeric parameter that has a larger value than allowed. *

                                                                                                *
                                                                                              • *
                                                                                              • *

                                                                                                * MIN_LENGTH_EXCEEDED: You provided a string parameter that is shorter than allowed. *

                                                                                                *
                                                                                              • *
                                                                                              • *

                                                                                                * MIN_VALUE_EXCEEDED: You provided a numeric parameter that has a smaller value than allowed. *

                                                                                                *
                                                                                              • *
                                                                                              • *

                                                                                                * MOVING_ACCOUNT_BETWEEN_DIFFERENT_ROOTS: You can move an account only between entities in the same root. *

                                                                                                *
                                                                                              • *
                                                                                              • *

                                                                                                * NON_DETACHABLE_POLICY: You can't detach this Amazon Web Services Managed Policy. *

                                                                                                *
                                                                                              • *
                                                                                              • *

                                                                                                * TARGET_NOT_SUPPORTED: You can't perform the specified operation on that target entity. *

                                                                                                *
                                                                                              • *
                                                                                              • *

                                                                                                * UNRECOGNIZED_SERVICE_PRINCIPAL: You specified a service principal that isn't recognized. *

                                                                                                *
                                                                                              • * @throws FinalizingOrganizationException * Organizations couldn't perform the operation because your organization hasn't finished initializing. This * can take up to an hour. Try again later. If after one hour you continue to receive this error, contact Amazon Web Services Support. * @throws ServiceException * Organizations can't complete your request because of an internal service error. Try again later. * @throws TooManyRequestsException * You have sent too many requests in too short a period of time. The quota helps protect against * denial-of-service attacks. Try again later.

                                                                                                *

                                                                                                * For information about quotas that affect Organizations, see Quotas for * Organizations in the Organizations User Guide. * @throws SdkException * Base class for all exceptions that can be thrown by the SDK (both service and client). Can be used for * catch all scenarios. * @throws SdkClientException * If any client side error occurs such as an IO related failure, failure to get credentials, etc. * @throws OrganizationsException * Base class for all service exceptions. Unknown exceptions will be thrown as an instance of this type. * @sample OrganizationsClient.InviteAccountToOrganization * @see AWS API Documentation */ @Override public InviteAccountToOrganizationResponse inviteAccountToOrganization( InviteAccountToOrganizationRequest inviteAccountToOrganizationRequest) throws AccessDeniedException, AwsOrganizationsNotInUseException, AccountOwnerNotVerifiedException, ConcurrentModificationException, HandshakeConstraintViolationException, DuplicateHandshakeException, ConstraintViolationException, InvalidInputException, FinalizingOrganizationException, ServiceException, TooManyRequestsException, AwsServiceException, SdkClientException, OrganizationsException { JsonOperationMetadata operationMetadata = JsonOperationMetadata.builder().hasStreamingSuccessResponse(false) .isPayloadJson(true).build(); HttpResponseHandler responseHandler = protocolFactory.createResponseHandler( operationMetadata, InviteAccountToOrganizationResponse::builder); HttpResponseHandler errorResponseHandler = createErrorResponseHandler(protocolFactory, operationMetadata); SdkClientConfiguration clientConfiguration = updateSdkClientConfiguration(inviteAccountToOrganizationRequest, this.clientConfiguration); List metricPublishers = resolveMetricPublishers(clientConfiguration, inviteAccountToOrganizationRequest .overrideConfiguration().orElse(null)); MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector .create("ApiCall"); try { apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "Organizations"); apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "InviteAccountToOrganization"); return clientHandler .execute(new ClientExecutionParams() .withOperationName("InviteAccountToOrganization").withProtocolMetadata(protocolMetadata) .withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler) .withRequestConfiguration(clientConfiguration).withInput(inviteAccountToOrganizationRequest) .withMetricCollector(apiCallMetricCollector) .withMarshaller(new InviteAccountToOrganizationRequestMarshaller(protocolFactory))); } finally { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); } } /** *

                                                                                                * Removes a member account from its parent organization. This version of the operation is performed by the account * that wants to leave. To remove a member account as a user in the management account, use * RemoveAccountFromOrganization instead. *

                                                                                                *

                                                                                                * This operation can be called only from a member account in the organization. *

                                                                                                * *
                                                                                                  *
                                                                                                • *

                                                                                                  * The management account in an organization with all features enabled can set service control policies (SCPs) that * can restrict what administrators of member accounts can do. This includes preventing them from successfully * calling LeaveOrganization and leaving the organization. *

                                                                                                  *
                                                                                                • *
                                                                                                • *

                                                                                                  * You can leave an organization as a member account only if the account is configured with the information required * to operate as a standalone account. When you create an account in an organization using the Organizations * console, API, or CLI commands, the information required of standalone accounts is not automatically * collected. For each account that you want to make standalone, you must perform the following steps. If any of the * steps are already completed for this account, that step doesn't appear. *

                                                                                                  *
                                                                                                    *
                                                                                                  • *

                                                                                                    * Choose a support plan *

                                                                                                    *
                                                                                                  • *
                                                                                                  • *

                                                                                                    * Provide and verify the required contact information *

                                                                                                    *
                                                                                                  • *
                                                                                                  • *

                                                                                                    * Provide a current payment method *

                                                                                                    *
                                                                                                  • *
                                                                                                  *

                                                                                                  * Amazon Web Services uses the payment method to charge for any billable (not free tier) Amazon Web Services * activity that occurs while the account isn't attached to an organization. For more information, see Considerations before removing an account from an organization in the Organizations User Guide. *

                                                                                                  *
                                                                                                • *
                                                                                                • *

                                                                                                  * The account that you want to leave must not be a delegated administrator account for any Amazon Web Services * service enabled for your organization. If the account is a delegated administrator, you must first change the * delegated administrator account to another account that is remaining in the organization. *

                                                                                                  *
                                                                                                • *
                                                                                                • *

                                                                                                  * You can leave an organization only after you enable IAM user access to billing in your account. For more * information, see About IAM access to the Billing and Cost Management console in the Amazon Web Services Billing and Cost * Management User Guide. *

                                                                                                  *
                                                                                                • *
                                                                                                • *

                                                                                                  * After the account leaves the organization, all tags that were attached to the account object in the organization * are deleted. Amazon Web Services accounts outside of an organization do not support tags. *

                                                                                                  *
                                                                                                • *
                                                                                                • *

                                                                                                  * A newly created account has a waiting period before it can be removed from its organization. You must wait until * at least seven days after the account was created. Invited accounts aren't subject to this waiting period. *

                                                                                                  *
                                                                                                • *
                                                                                                • *

                                                                                                  * If you are using an organization principal to call LeaveOrganization across multiple accounts, you * can only do this up to 5 accounts per second in a single organization. *

                                                                                                  *
                                                                                                • *
                                                                                                *
                                                                                                * * @param leaveOrganizationRequest * @return Result of the LeaveOrganization operation returned by the service. * @throws AccessDeniedException * You don't have permissions to perform the requested operation. The user or role that is making the * request must have at least one IAM permissions policy attached that grants the required permissions. For * more information, see Access * Management in the IAM User Guide. * @throws AccountNotFoundException * We can't find an Amazon Web Services account with the AccountId that you specified, or the * account whose credentials you used to make this request isn't a member of an organization. * @throws AwsOrganizationsNotInUseException * Your account isn't a member of an organization. To make this request, you must use the credentials of an * account that belongs to an organization. * @throws ConcurrentModificationException * The target of the operation is currently being modified by a different request. Try again later. * @throws ConstraintViolationException * Performing this operation violates a minimum or maximum value limit. For example, attempting to remove * the last service control policy (SCP) from an OU or root, inviting or creating too many accounts to the * organization, or attaching too many policies to an account, OU, or root. This exception includes a reason * that contains additional information about the violated limit:

                                                                                                *

                                                                                                * Some of the reasons in the following list might not be applicable to this specific API or operation. *

                                                                                                *
                                                                                                *
                                                                                                  *
                                                                                                • *

                                                                                                  * ACCOUNT_CANNOT_LEAVE_ORGANIZATION: You attempted to remove the management account from the organization. * You can't remove the management account. Instead, after you remove all member accounts, delete the * organization itself. *

                                                                                                  *
                                                                                                • *
                                                                                                • *

                                                                                                  * ACCOUNT_CANNOT_LEAVE_WITHOUT_PHONE_VERIFICATION: You attempted to remove an account from the organization * that doesn't yet have enough information to exist as a standalone account. This account requires you to * first complete phone verification. Follow the steps at Removing a member account from your organization in the Organizations User Guide. *

                                                                                                  *
                                                                                                • *
                                                                                                • *

                                                                                                  * ACCOUNT_CREATION_RATE_LIMIT_EXCEEDED: You attempted to exceed the number of accounts that you can create * in one day. *

                                                                                                  *
                                                                                                • *
                                                                                                • *

                                                                                                  * ACCOUNT_CREATION_NOT_COMPLETE: Your account setup isn't complete or your account isn't fully active. You * must complete the account setup before you create an organization. *

                                                                                                  *
                                                                                                • *
                                                                                                • *

                                                                                                  * ACCOUNT_NUMBER_LIMIT_EXCEEDED: You attempted to exceed the limit on the number of accounts in an * organization. If you need more accounts, contact Amazon Web Services Support to request an * increase in your limit. *

                                                                                                  *

                                                                                                  * Or the number of invitations that you tried to send would cause you to exceed the limit of accounts in * your organization. Send fewer invitations or contact Amazon Web Services Support to request an increase * in the number of accounts. *

                                                                                                  * *

                                                                                                  * Deleted and closed accounts still count toward your limit. *

                                                                                                  *
                                                                                                  *

                                                                                                  * If you get this exception when running a command immediately after creating the organization, wait one * hour and try again. After an hour, if the command continues to fail with this error, contact Amazon Web Services Support. *

                                                                                                  *
                                                                                                • *
                                                                                                • *

                                                                                                  * CANNOT_REGISTER_SUSPENDED_ACCOUNT_AS_DELEGATED_ADMINISTRATOR: You cannot register a suspended account as * a delegated administrator. *

                                                                                                  *
                                                                                                • *
                                                                                                • *

                                                                                                  * CANNOT_REGISTER_MASTER_AS_DELEGATED_ADMINISTRATOR: You attempted to register the management account of * the organization as a delegated administrator for an Amazon Web Services service integrated with * Organizations. You can designate only a member account as a delegated administrator. *

                                                                                                  *
                                                                                                • *
                                                                                                • *

                                                                                                  * CANNOT_CLOSE_MANAGEMENT_ACCOUNT: You attempted to close the management account. To close the management * account for the organization, you must first either remove or close all member accounts in the * organization. Follow standard account closure process using root credentials.​ *

                                                                                                  *
                                                                                                • *
                                                                                                • *

                                                                                                  * CANNOT_REMOVE_DELEGATED_ADMINISTRATOR_FROM_ORG: You attempted to remove an account that is registered as * a delegated administrator for a service integrated with your organization. To complete this operation, * you must first deregister this account as a delegated administrator. *

                                                                                                  *
                                                                                                • *
                                                                                                • *

                                                                                                  * CLOSE_ACCOUNT_QUOTA_EXCEEDED: You have exceeded close account quota for the past 30 days. *

                                                                                                  *
                                                                                                • *
                                                                                                • *

                                                                                                  * CLOSE_ACCOUNT_REQUESTS_LIMIT_EXCEEDED: You attempted to exceed the number of accounts that you can close * at a time. ​ *

                                                                                                  *
                                                                                                • *
                                                                                                • *

                                                                                                  * CREATE_ORGANIZATION_IN_BILLING_MODE_UNSUPPORTED_REGION: To create an organization in the specified * region, you must enable all features mode. *

                                                                                                  *
                                                                                                • *
                                                                                                • *

                                                                                                  * DELEGATED_ADMINISTRATOR_EXISTS_FOR_THIS_SERVICE: You attempted to register an Amazon Web Services account * as a delegated administrator for an Amazon Web Services service that already has a delegated * administrator. To complete this operation, you must first deregister any existing delegated * administrators for this service. *

                                                                                                  *
                                                                                                • *
                                                                                                • *

                                                                                                  * EMAIL_VERIFICATION_CODE_EXPIRED: The email verification code is only valid for a limited period of time. * You must resubmit the request and generate a new verfication code. *

                                                                                                  *
                                                                                                • *
                                                                                                • *

                                                                                                  * HANDSHAKE_RATE_LIMIT_EXCEEDED: You attempted to exceed the number of handshakes that you can send in one * day. *

                                                                                                  *
                                                                                                • *
                                                                                                • *

                                                                                                  * INVALID_PAYMENT_INSTRUMENT: You cannot remove an account because no supported payment method is * associated with the account. Amazon Web Services does not support cards issued by financial institutions * in Russia or Belarus. For more information, see Managing your * Amazon Web Services payments. *

                                                                                                  *
                                                                                                • *
                                                                                                • *

                                                                                                  * MASTER_ACCOUNT_ADDRESS_DOES_NOT_MATCH_MARKETPLACE: To create an account in this organization, you first * must migrate the organization's management account to the marketplace that corresponds to the management * account's address. All accounts in an organization must be associated with the same marketplace. *

                                                                                                  *
                                                                                                • *
                                                                                                • *

                                                                                                  * MASTER_ACCOUNT_MISSING_BUSINESS_LICENSE: Applies only to the Amazon Web Services Regions in China. To * create an organization, the master must have a valid business license. For more information, contact * customer support. *

                                                                                                  *
                                                                                                • *
                                                                                                • *

                                                                                                  * MASTER_ACCOUNT_MISSING_CONTACT_INFO: To complete this operation, you must first provide a valid contact * address and phone number for the management account. Then try the operation again. *

                                                                                                  *
                                                                                                • *
                                                                                                • *

                                                                                                  * MASTER_ACCOUNT_NOT_GOVCLOUD_ENABLED: To complete this operation, the management account must have an * associated account in the Amazon Web Services GovCloud (US-West) Region. For more information, see Organizations * in the Amazon Web Services GovCloud User Guide. *

                                                                                                  *
                                                                                                • *
                                                                                                • *

                                                                                                  * MASTER_ACCOUNT_PAYMENT_INSTRUMENT_REQUIRED: To create an organization with this management account, you * first must associate a valid payment instrument, such as a credit card, with the account. For more * information, see Considerations before removing an account from an organization in the Organizations User * Guide. *

                                                                                                  *
                                                                                                • *
                                                                                                • *

                                                                                                  * MAX_DELEGATED_ADMINISTRATORS_FOR_SERVICE_LIMIT_EXCEEDED: You attempted to register more delegated * administrators than allowed for the service principal. *

                                                                                                  *
                                                                                                • *
                                                                                                • *

                                                                                                  * MAX_POLICY_TYPE_ATTACHMENT_LIMIT_EXCEEDED: You attempted to exceed the number of policies of a certain * type that can be attached to an entity at one time. *

                                                                                                  *
                                                                                                • *
                                                                                                • *

                                                                                                  * MAX_TAG_LIMIT_EXCEEDED: You have exceeded the number of tags allowed on this resource. *

                                                                                                  *
                                                                                                • *
                                                                                                • *

                                                                                                  * MEMBER_ACCOUNT_PAYMENT_INSTRUMENT_REQUIRED: To complete this operation with this member account, you * first must associate a valid payment instrument, such as a credit card, with the account. For more * information, see Considerations before removing an account from an organization in the Organizations User * Guide. *

                                                                                                  *
                                                                                                • *
                                                                                                • *

                                                                                                  * MIN_POLICY_TYPE_ATTACHMENT_LIMIT_EXCEEDED: You attempted to detach a policy from an entity that would * cause the entity to have fewer than the minimum number of policies of a certain type required. *

                                                                                                  *
                                                                                                • *
                                                                                                • *

                                                                                                  * ORGANIZATION_NOT_IN_ALL_FEATURES_MODE: You attempted to perform an operation that requires the * organization to be configured to support all features. An organization that supports only consolidated * billing features can't perform this operation. *

                                                                                                  *
                                                                                                • *
                                                                                                • *

                                                                                                  * OU_DEPTH_LIMIT_EXCEEDED: You attempted to create an OU tree that is too many levels deep. *

                                                                                                  *
                                                                                                • *
                                                                                                • *

                                                                                                  * OU_NUMBER_LIMIT_EXCEEDED: You attempted to exceed the number of OUs that you can have in an organization. *

                                                                                                  *
                                                                                                • *
                                                                                                • *

                                                                                                  * POLICY_CONTENT_LIMIT_EXCEEDED: You attempted to create a policy that is larger than the maximum size. *

                                                                                                  *
                                                                                                • *
                                                                                                • *

                                                                                                  * POLICY_NUMBER_LIMIT_EXCEEDED: You attempted to exceed the number of policies that you can have in an * organization. *

                                                                                                  *
                                                                                                • *
                                                                                                • *

                                                                                                  * SERVICE_ACCESS_NOT_ENABLED: You attempted to register a delegated administrator before you enabled * service access. Call the EnableAWSServiceAccess API first. *

                                                                                                  *
                                                                                                • *
                                                                                                • *

                                                                                                  * TAG_POLICY_VIOLATION: You attempted to create or update a resource with tags that are not compliant with * the tag policy requirements for this account. *

                                                                                                  *
                                                                                                • *
                                                                                                • *

                                                                                                  * WAIT_PERIOD_ACTIVE: After you create an Amazon Web Services account, you must wait until at least seven * days after the account was created. Invited accounts aren't subject to this waiting period. *

                                                                                                  *
                                                                                                • * @throws InvalidInputException * The requested operation failed because you provided invalid values for one or more of the request * parameters. This exception includes a reason that contains additional information about the violated * limit:

                                                                                                  *

                                                                                                  * Some of the reasons in the following list might not be applicable to this specific API or operation. *

                                                                                                  *
                                                                                                  *
                                                                                                    *
                                                                                                  • *

                                                                                                    * DUPLICATE_TAG_KEY: Tag keys must be unique among the tags attached to the same entity. *

                                                                                                    *
                                                                                                  • *
                                                                                                  • *

                                                                                                    * IMMUTABLE_POLICY: You specified a policy that is managed by Amazon Web Services and can't be modified. *

                                                                                                    *
                                                                                                  • *
                                                                                                  • *

                                                                                                    * INPUT_REQUIRED: You must include a value for all required parameters. *

                                                                                                    *
                                                                                                  • *
                                                                                                  • *

                                                                                                    * INVALID_EMAIL_ADDRESS_TARGET: You specified an invalid email address for the invited account owner. *

                                                                                                    *
                                                                                                  • *
                                                                                                  • *

                                                                                                    * INVALID_ENUM: You specified an invalid value. *

                                                                                                    *
                                                                                                  • *
                                                                                                  • *

                                                                                                    * INVALID_ENUM_POLICY_TYPE: You specified an invalid policy type string. *

                                                                                                    *
                                                                                                  • *
                                                                                                  • *

                                                                                                    * INVALID_FULL_NAME_TARGET: You specified a full name that contains invalid characters. *

                                                                                                    *
                                                                                                  • *
                                                                                                  • *

                                                                                                    * INVALID_LIST_MEMBER: You provided a list to a parameter that contains at least one invalid value. *

                                                                                                    *
                                                                                                  • *
                                                                                                  • *

                                                                                                    * INVALID_PAGINATION_TOKEN: Get the value for the NextToken parameter from the response to a * previous call of the operation. *

                                                                                                    *
                                                                                                  • *
                                                                                                  • *

                                                                                                    * INVALID_PARTY_TYPE_TARGET: You specified the wrong type of entity (account, organization, or email) as a * party. *

                                                                                                    *
                                                                                                  • *
                                                                                                  • *

                                                                                                    * INVALID_PATTERN: You provided a value that doesn't match the required pattern. *

                                                                                                    *
                                                                                                  • *
                                                                                                  • *

                                                                                                    * INVALID_PATTERN_TARGET_ID: You specified a policy target ID that doesn't match the required pattern. *

                                                                                                    *
                                                                                                  • *
                                                                                                  • *

                                                                                                    * INVALID_PRINCIPAL: You specified an invalid principal element in the policy. *

                                                                                                    *
                                                                                                  • *
                                                                                                  • *

                                                                                                    * INVALID_ROLE_NAME: You provided a role name that isn't valid. A role name can't begin with the reserved * prefix AWSServiceRoleFor. *

                                                                                                    *
                                                                                                  • *
                                                                                                  • *

                                                                                                    * INVALID_SYNTAX_ORGANIZATION_ARN: You specified an invalid Amazon Resource Name (ARN) for the * organization. *

                                                                                                    *
                                                                                                  • *
                                                                                                  • *

                                                                                                    * INVALID_SYNTAX_POLICY_ID: You specified an invalid policy ID. *

                                                                                                    *
                                                                                                  • *
                                                                                                  • *

                                                                                                    * INVALID_SYSTEM_TAGS_PARAMETER: You specified a tag key that is a system tag. You can’t add, edit, or * delete system tag keys because they're reserved for Amazon Web Services use. System tags don’t count * against your tags per resource limit. *

                                                                                                    *
                                                                                                  • *
                                                                                                  • *

                                                                                                    * MAX_FILTER_LIMIT_EXCEEDED: You can specify only one filter parameter for the operation. *

                                                                                                    *
                                                                                                  • *
                                                                                                  • *

                                                                                                    * MAX_LENGTH_EXCEEDED: You provided a string parameter that is longer than allowed. *

                                                                                                    *
                                                                                                  • *
                                                                                                  • *

                                                                                                    * MAX_VALUE_EXCEEDED: You provided a numeric parameter that has a larger value than allowed. *

                                                                                                    *
                                                                                                  • *
                                                                                                  • *

                                                                                                    * MIN_LENGTH_EXCEEDED: You provided a string parameter that is shorter than allowed. *

                                                                                                    *
                                                                                                  • *
                                                                                                  • *

                                                                                                    * MIN_VALUE_EXCEEDED: You provided a numeric parameter that has a smaller value than allowed. *

                                                                                                    *
                                                                                                  • *
                                                                                                  • *

                                                                                                    * MOVING_ACCOUNT_BETWEEN_DIFFERENT_ROOTS: You can move an account only between entities in the same root. *

                                                                                                    *
                                                                                                  • *
                                                                                                  • *

                                                                                                    * NON_DETACHABLE_POLICY: You can't detach this Amazon Web Services Managed Policy. *

                                                                                                    *
                                                                                                  • *
                                                                                                  • *

                                                                                                    * TARGET_NOT_SUPPORTED: You can't perform the specified operation on that target entity. *

                                                                                                    *
                                                                                                  • *
                                                                                                  • *

                                                                                                    * UNRECOGNIZED_SERVICE_PRINCIPAL: You specified a service principal that isn't recognized. *

                                                                                                    *
                                                                                                  • * @throws MasterCannotLeaveOrganizationException * You can't remove a management account from an organization. If you want the management account to become * a member account in another organization, you must first delete the current organization of the * management account. * @throws ServiceException * Organizations can't complete your request because of an internal service error. Try again later. * @throws TooManyRequestsException * You have sent too many requests in too short a period of time. The quota helps protect against * denial-of-service attacks. Try again later.

                                                                                                    *

                                                                                                    * For information about quotas that affect Organizations, see Quotas for * Organizations in the Organizations User Guide. * @throws SdkException * Base class for all exceptions that can be thrown by the SDK (both service and client). Can be used for * catch all scenarios. * @throws SdkClientException * If any client side error occurs such as an IO related failure, failure to get credentials, etc. * @throws OrganizationsException * Base class for all service exceptions. Unknown exceptions will be thrown as an instance of this type. * @sample OrganizationsClient.LeaveOrganization * @see AWS API Documentation */ @Override public LeaveOrganizationResponse leaveOrganization(LeaveOrganizationRequest leaveOrganizationRequest) throws AccessDeniedException, AccountNotFoundException, AwsOrganizationsNotInUseException, ConcurrentModificationException, ConstraintViolationException, InvalidInputException, MasterCannotLeaveOrganizationException, ServiceException, TooManyRequestsException, AwsServiceException, SdkClientException, OrganizationsException { JsonOperationMetadata operationMetadata = JsonOperationMetadata.builder().hasStreamingSuccessResponse(false) .isPayloadJson(true).build(); HttpResponseHandler responseHandler = protocolFactory.createResponseHandler(operationMetadata, LeaveOrganizationResponse::builder); HttpResponseHandler errorResponseHandler = createErrorResponseHandler(protocolFactory, operationMetadata); SdkClientConfiguration clientConfiguration = updateSdkClientConfiguration(leaveOrganizationRequest, this.clientConfiguration); List metricPublishers = resolveMetricPublishers(clientConfiguration, leaveOrganizationRequest .overrideConfiguration().orElse(null)); MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector .create("ApiCall"); try { apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "Organizations"); apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "LeaveOrganization"); return clientHandler.execute(new ClientExecutionParams() .withOperationName("LeaveOrganization").withProtocolMetadata(protocolMetadata) .withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler) .withRequestConfiguration(clientConfiguration).withInput(leaveOrganizationRequest) .withMetricCollector(apiCallMetricCollector) .withMarshaller(new LeaveOrganizationRequestMarshaller(protocolFactory))); } finally { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); } } /** *

                                                                                                    * Returns a list of the Amazon Web Services services that you enabled to integrate with your organization. After a * service on this list creates the resources that it requires for the integration, it can perform operations on * your organization and its accounts. *

                                                                                                    *

                                                                                                    * For more information about integrating other services with Organizations, including the list of services that * currently work with Organizations, see Using * Organizations with other Amazon Web Services services in the Organizations User Guide. *

                                                                                                    *

                                                                                                    * This operation can be called only from the organization's management account or by a member account that is a * delegated administrator for an Amazon Web Services service. *

                                                                                                    * * @param listAwsServiceAccessForOrganizationRequest * @return Result of the ListAWSServiceAccessForOrganization operation returned by the service. * @throws AccessDeniedException * You don't have permissions to perform the requested operation. The user or role that is making the * request must have at least one IAM permissions policy attached that grants the required permissions. For * more information, see Access * Management in the IAM User Guide. * @throws AwsOrganizationsNotInUseException * Your account isn't a member of an organization. To make this request, you must use the credentials of an * account that belongs to an organization. * @throws ConstraintViolationException * Performing this operation violates a minimum or maximum value limit. For example, attempting to remove * the last service control policy (SCP) from an OU or root, inviting or creating too many accounts to the * organization, or attaching too many policies to an account, OU, or root. This exception includes a reason * that contains additional information about the violated limit:

                                                                                                    *

                                                                                                    * Some of the reasons in the following list might not be applicable to this specific API or operation. *

                                                                                                    *
                                                                                                    *
                                                                                                      *
                                                                                                    • *

                                                                                                      * ACCOUNT_CANNOT_LEAVE_ORGANIZATION: You attempted to remove the management account from the organization. * You can't remove the management account. Instead, after you remove all member accounts, delete the * organization itself. *

                                                                                                      *
                                                                                                    • *
                                                                                                    • *

                                                                                                      * ACCOUNT_CANNOT_LEAVE_WITHOUT_PHONE_VERIFICATION: You attempted to remove an account from the organization * that doesn't yet have enough information to exist as a standalone account. This account requires you to * first complete phone verification. Follow the steps at Removing a member account from your organization in the Organizations User Guide. *

                                                                                                      *
                                                                                                    • *
                                                                                                    • *

                                                                                                      * ACCOUNT_CREATION_RATE_LIMIT_EXCEEDED: You attempted to exceed the number of accounts that you can create * in one day. *

                                                                                                      *
                                                                                                    • *
                                                                                                    • *

                                                                                                      * ACCOUNT_CREATION_NOT_COMPLETE: Your account setup isn't complete or your account isn't fully active. You * must complete the account setup before you create an organization. *

                                                                                                      *
                                                                                                    • *
                                                                                                    • *

                                                                                                      * ACCOUNT_NUMBER_LIMIT_EXCEEDED: You attempted to exceed the limit on the number of accounts in an * organization. If you need more accounts, contact Amazon Web Services Support to request an * increase in your limit. *

                                                                                                      *

                                                                                                      * Or the number of invitations that you tried to send would cause you to exceed the limit of accounts in * your organization. Send fewer invitations or contact Amazon Web Services Support to request an increase * in the number of accounts. *

                                                                                                      * *

                                                                                                      * Deleted and closed accounts still count toward your limit. *

                                                                                                      *
                                                                                                      *

                                                                                                      * If you get this exception when running a command immediately after creating the organization, wait one * hour and try again. After an hour, if the command continues to fail with this error, contact Amazon Web Services Support. *

                                                                                                      *
                                                                                                    • *
                                                                                                    • *

                                                                                                      * CANNOT_REGISTER_SUSPENDED_ACCOUNT_AS_DELEGATED_ADMINISTRATOR: You cannot register a suspended account as * a delegated administrator. *

                                                                                                      *
                                                                                                    • *
                                                                                                    • *

                                                                                                      * CANNOT_REGISTER_MASTER_AS_DELEGATED_ADMINISTRATOR: You attempted to register the management account of * the organization as a delegated administrator for an Amazon Web Services service integrated with * Organizations. You can designate only a member account as a delegated administrator. *

                                                                                                      *
                                                                                                    • *
                                                                                                    • *

                                                                                                      * CANNOT_CLOSE_MANAGEMENT_ACCOUNT: You attempted to close the management account. To close the management * account for the organization, you must first either remove or close all member accounts in the * organization. Follow standard account closure process using root credentials.​ *

                                                                                                      *
                                                                                                    • *
                                                                                                    • *

                                                                                                      * CANNOT_REMOVE_DELEGATED_ADMINISTRATOR_FROM_ORG: You attempted to remove an account that is registered as * a delegated administrator for a service integrated with your organization. To complete this operation, * you must first deregister this account as a delegated administrator. *

                                                                                                      *
                                                                                                    • *
                                                                                                    • *

                                                                                                      * CLOSE_ACCOUNT_QUOTA_EXCEEDED: You have exceeded close account quota for the past 30 days. *

                                                                                                      *
                                                                                                    • *
                                                                                                    • *

                                                                                                      * CLOSE_ACCOUNT_REQUESTS_LIMIT_EXCEEDED: You attempted to exceed the number of accounts that you can close * at a time. ​ *

                                                                                                      *
                                                                                                    • *
                                                                                                    • *

                                                                                                      * CREATE_ORGANIZATION_IN_BILLING_MODE_UNSUPPORTED_REGION: To create an organization in the specified * region, you must enable all features mode. *

                                                                                                      *
                                                                                                    • *
                                                                                                    • *

                                                                                                      * DELEGATED_ADMINISTRATOR_EXISTS_FOR_THIS_SERVICE: You attempted to register an Amazon Web Services account * as a delegated administrator for an Amazon Web Services service that already has a delegated * administrator. To complete this operation, you must first deregister any existing delegated * administrators for this service. *

                                                                                                      *
                                                                                                    • *
                                                                                                    • *

                                                                                                      * EMAIL_VERIFICATION_CODE_EXPIRED: The email verification code is only valid for a limited period of time. * You must resubmit the request and generate a new verfication code. *

                                                                                                      *
                                                                                                    • *
                                                                                                    • *

                                                                                                      * HANDSHAKE_RATE_LIMIT_EXCEEDED: You attempted to exceed the number of handshakes that you can send in one * day. *

                                                                                                      *
                                                                                                    • *
                                                                                                    • *

                                                                                                      * INVALID_PAYMENT_INSTRUMENT: You cannot remove an account because no supported payment method is * associated with the account. Amazon Web Services does not support cards issued by financial institutions * in Russia or Belarus. For more information, see Managing your * Amazon Web Services payments. *

                                                                                                      *
                                                                                                    • *
                                                                                                    • *

                                                                                                      * MASTER_ACCOUNT_ADDRESS_DOES_NOT_MATCH_MARKETPLACE: To create an account in this organization, you first * must migrate the organization's management account to the marketplace that corresponds to the management * account's address. All accounts in an organization must be associated with the same marketplace. *

                                                                                                      *
                                                                                                    • *
                                                                                                    • *

                                                                                                      * MASTER_ACCOUNT_MISSING_BUSINESS_LICENSE: Applies only to the Amazon Web Services Regions in China. To * create an organization, the master must have a valid business license. For more information, contact * customer support. *

                                                                                                      *
                                                                                                    • *
                                                                                                    • *

                                                                                                      * MASTER_ACCOUNT_MISSING_CONTACT_INFO: To complete this operation, you must first provide a valid contact * address and phone number for the management account. Then try the operation again. *

                                                                                                      *
                                                                                                    • *
                                                                                                    • *

                                                                                                      * MASTER_ACCOUNT_NOT_GOVCLOUD_ENABLED: To complete this operation, the management account must have an * associated account in the Amazon Web Services GovCloud (US-West) Region. For more information, see Organizations * in the Amazon Web Services GovCloud User Guide. *

                                                                                                      *
                                                                                                    • *
                                                                                                    • *

                                                                                                      * MASTER_ACCOUNT_PAYMENT_INSTRUMENT_REQUIRED: To create an organization with this management account, you * first must associate a valid payment instrument, such as a credit card, with the account. For more * information, see Considerations before removing an account from an organization in the Organizations User * Guide. *

                                                                                                      *
                                                                                                    • *
                                                                                                    • *

                                                                                                      * MAX_DELEGATED_ADMINISTRATORS_FOR_SERVICE_LIMIT_EXCEEDED: You attempted to register more delegated * administrators than allowed for the service principal. *

                                                                                                      *
                                                                                                    • *
                                                                                                    • *

                                                                                                      * MAX_POLICY_TYPE_ATTACHMENT_LIMIT_EXCEEDED: You attempted to exceed the number of policies of a certain * type that can be attached to an entity at one time. *

                                                                                                      *
                                                                                                    • *
                                                                                                    • *

                                                                                                      * MAX_TAG_LIMIT_EXCEEDED: You have exceeded the number of tags allowed on this resource. *

                                                                                                      *
                                                                                                    • *
                                                                                                    • *

                                                                                                      * MEMBER_ACCOUNT_PAYMENT_INSTRUMENT_REQUIRED: To complete this operation with this member account, you * first must associate a valid payment instrument, such as a credit card, with the account. For more * information, see Considerations before removing an account from an organization in the Organizations User * Guide. *

                                                                                                      *
                                                                                                    • *
                                                                                                    • *

                                                                                                      * MIN_POLICY_TYPE_ATTACHMENT_LIMIT_EXCEEDED: You attempted to detach a policy from an entity that would * cause the entity to have fewer than the minimum number of policies of a certain type required. *

                                                                                                      *
                                                                                                    • *
                                                                                                    • *

                                                                                                      * ORGANIZATION_NOT_IN_ALL_FEATURES_MODE: You attempted to perform an operation that requires the * organization to be configured to support all features. An organization that supports only consolidated * billing features can't perform this operation. *

                                                                                                      *
                                                                                                    • *
                                                                                                    • *

                                                                                                      * OU_DEPTH_LIMIT_EXCEEDED: You attempted to create an OU tree that is too many levels deep. *

                                                                                                      *
                                                                                                    • *
                                                                                                    • *

                                                                                                      * OU_NUMBER_LIMIT_EXCEEDED: You attempted to exceed the number of OUs that you can have in an organization. *

                                                                                                      *
                                                                                                    • *
                                                                                                    • *

                                                                                                      * POLICY_CONTENT_LIMIT_EXCEEDED: You attempted to create a policy that is larger than the maximum size. *

                                                                                                      *
                                                                                                    • *
                                                                                                    • *

                                                                                                      * POLICY_NUMBER_LIMIT_EXCEEDED: You attempted to exceed the number of policies that you can have in an * organization. *

                                                                                                      *
                                                                                                    • *
                                                                                                    • *

                                                                                                      * SERVICE_ACCESS_NOT_ENABLED: You attempted to register a delegated administrator before you enabled * service access. Call the EnableAWSServiceAccess API first. *

                                                                                                      *
                                                                                                    • *
                                                                                                    • *

                                                                                                      * TAG_POLICY_VIOLATION: You attempted to create or update a resource with tags that are not compliant with * the tag policy requirements for this account. *

                                                                                                      *
                                                                                                    • *
                                                                                                    • *

                                                                                                      * WAIT_PERIOD_ACTIVE: After you create an Amazon Web Services account, you must wait until at least seven * days after the account was created. Invited accounts aren't subject to this waiting period. *

                                                                                                      *
                                                                                                    • * @throws InvalidInputException * The requested operation failed because you provided invalid values for one or more of the request * parameters. This exception includes a reason that contains additional information about the violated * limit:

                                                                                                      *

                                                                                                      * Some of the reasons in the following list might not be applicable to this specific API or operation. *

                                                                                                      *
                                                                                                      *
                                                                                                        *
                                                                                                      • *

                                                                                                        * DUPLICATE_TAG_KEY: Tag keys must be unique among the tags attached to the same entity. *

                                                                                                        *
                                                                                                      • *
                                                                                                      • *

                                                                                                        * IMMUTABLE_POLICY: You specified a policy that is managed by Amazon Web Services and can't be modified. *

                                                                                                        *
                                                                                                      • *
                                                                                                      • *

                                                                                                        * INPUT_REQUIRED: You must include a value for all required parameters. *

                                                                                                        *
                                                                                                      • *
                                                                                                      • *

                                                                                                        * INVALID_EMAIL_ADDRESS_TARGET: You specified an invalid email address for the invited account owner. *

                                                                                                        *
                                                                                                      • *
                                                                                                      • *

                                                                                                        * INVALID_ENUM: You specified an invalid value. *

                                                                                                        *
                                                                                                      • *
                                                                                                      • *

                                                                                                        * INVALID_ENUM_POLICY_TYPE: You specified an invalid policy type string. *

                                                                                                        *
                                                                                                      • *
                                                                                                      • *

                                                                                                        * INVALID_FULL_NAME_TARGET: You specified a full name that contains invalid characters. *

                                                                                                        *
                                                                                                      • *
                                                                                                      • *

                                                                                                        * INVALID_LIST_MEMBER: You provided a list to a parameter that contains at least one invalid value. *

                                                                                                        *
                                                                                                      • *
                                                                                                      • *

                                                                                                        * INVALID_PAGINATION_TOKEN: Get the value for the NextToken parameter from the response to a * previous call of the operation. *

                                                                                                        *
                                                                                                      • *
                                                                                                      • *

                                                                                                        * INVALID_PARTY_TYPE_TARGET: You specified the wrong type of entity (account, organization, or email) as a * party. *

                                                                                                        *
                                                                                                      • *
                                                                                                      • *

                                                                                                        * INVALID_PATTERN: You provided a value that doesn't match the required pattern. *

                                                                                                        *
                                                                                                      • *
                                                                                                      • *

                                                                                                        * INVALID_PATTERN_TARGET_ID: You specified a policy target ID that doesn't match the required pattern. *

                                                                                                        *
                                                                                                      • *
                                                                                                      • *

                                                                                                        * INVALID_PRINCIPAL: You specified an invalid principal element in the policy. *

                                                                                                        *
                                                                                                      • *
                                                                                                      • *

                                                                                                        * INVALID_ROLE_NAME: You provided a role name that isn't valid. A role name can't begin with the reserved * prefix AWSServiceRoleFor. *

                                                                                                        *
                                                                                                      • *
                                                                                                      • *

                                                                                                        * INVALID_SYNTAX_ORGANIZATION_ARN: You specified an invalid Amazon Resource Name (ARN) for the * organization. *

                                                                                                        *
                                                                                                      • *
                                                                                                      • *

                                                                                                        * INVALID_SYNTAX_POLICY_ID: You specified an invalid policy ID. *

                                                                                                        *
                                                                                                      • *
                                                                                                      • *

                                                                                                        * INVALID_SYSTEM_TAGS_PARAMETER: You specified a tag key that is a system tag. You can’t add, edit, or * delete system tag keys because they're reserved for Amazon Web Services use. System tags don’t count * against your tags per resource limit. *

                                                                                                        *
                                                                                                      • *
                                                                                                      • *

                                                                                                        * MAX_FILTER_LIMIT_EXCEEDED: You can specify only one filter parameter for the operation. *

                                                                                                        *
                                                                                                      • *
                                                                                                      • *

                                                                                                        * MAX_LENGTH_EXCEEDED: You provided a string parameter that is longer than allowed. *

                                                                                                        *
                                                                                                      • *
                                                                                                      • *

                                                                                                        * MAX_VALUE_EXCEEDED: You provided a numeric parameter that has a larger value than allowed. *

                                                                                                        *
                                                                                                      • *
                                                                                                      • *

                                                                                                        * MIN_LENGTH_EXCEEDED: You provided a string parameter that is shorter than allowed. *

                                                                                                        *
                                                                                                      • *
                                                                                                      • *

                                                                                                        * MIN_VALUE_EXCEEDED: You provided a numeric parameter that has a smaller value than allowed. *

                                                                                                        *
                                                                                                      • *
                                                                                                      • *

                                                                                                        * MOVING_ACCOUNT_BETWEEN_DIFFERENT_ROOTS: You can move an account only between entities in the same root. *

                                                                                                        *
                                                                                                      • *
                                                                                                      • *

                                                                                                        * NON_DETACHABLE_POLICY: You can't detach this Amazon Web Services Managed Policy. *

                                                                                                        *
                                                                                                      • *
                                                                                                      • *

                                                                                                        * TARGET_NOT_SUPPORTED: You can't perform the specified operation on that target entity. *

                                                                                                        *
                                                                                                      • *
                                                                                                      • *

                                                                                                        * UNRECOGNIZED_SERVICE_PRINCIPAL: You specified a service principal that isn't recognized. *

                                                                                                        *
                                                                                                      • * @throws ServiceException * Organizations can't complete your request because of an internal service error. Try again later. * @throws TooManyRequestsException * You have sent too many requests in too short a period of time. The quota helps protect against * denial-of-service attacks. Try again later.

                                                                                                        *

                                                                                                        * For information about quotas that affect Organizations, see Quotas for * Organizations in the Organizations User Guide. * @throws UnsupportedApiEndpointException * This action isn't available in the current Amazon Web Services Region. * @throws SdkException * Base class for all exceptions that can be thrown by the SDK (both service and client). Can be used for * catch all scenarios. * @throws SdkClientException * If any client side error occurs such as an IO related failure, failure to get credentials, etc. * @throws OrganizationsException * Base class for all service exceptions. Unknown exceptions will be thrown as an instance of this type. * @sample OrganizationsClient.ListAWSServiceAccessForOrganization * @see AWS API Documentation */ @Override public ListAwsServiceAccessForOrganizationResponse listAWSServiceAccessForOrganization( ListAwsServiceAccessForOrganizationRequest listAwsServiceAccessForOrganizationRequest) throws AccessDeniedException, AwsOrganizationsNotInUseException, ConstraintViolationException, InvalidInputException, ServiceException, TooManyRequestsException, UnsupportedApiEndpointException, AwsServiceException, SdkClientException, OrganizationsException { JsonOperationMetadata operationMetadata = JsonOperationMetadata.builder().hasStreamingSuccessResponse(false) .isPayloadJson(true).build(); HttpResponseHandler responseHandler = protocolFactory.createResponseHandler( operationMetadata, ListAwsServiceAccessForOrganizationResponse::builder); HttpResponseHandler errorResponseHandler = createErrorResponseHandler(protocolFactory, operationMetadata); SdkClientConfiguration clientConfiguration = updateSdkClientConfiguration(listAwsServiceAccessForOrganizationRequest, this.clientConfiguration); List metricPublishers = resolveMetricPublishers(clientConfiguration, listAwsServiceAccessForOrganizationRequest.overrideConfiguration().orElse(null)); MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector .create("ApiCall"); try { apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "Organizations"); apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "ListAWSServiceAccessForOrganization"); return clientHandler .execute(new ClientExecutionParams() .withOperationName("ListAWSServiceAccessForOrganization").withProtocolMetadata(protocolMetadata) .withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler) .withRequestConfiguration(clientConfiguration).withInput(listAwsServiceAccessForOrganizationRequest) .withMetricCollector(apiCallMetricCollector) .withMarshaller(new ListAwsServiceAccessForOrganizationRequestMarshaller(protocolFactory))); } finally { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); } } /** *

                                                                                                        * Lists all the accounts in the organization. To request only the accounts in a specified root or organizational * unit (OU), use the ListAccountsForParent operation instead. *

                                                                                                        * *

                                                                                                        * Always check the NextToken response parameter for a null value when calling a * List* operation. These operations can occasionally return an empty set of results even when there * are more results available. The NextToken response parameter value is null only * when there are no more results to display. *

                                                                                                        *
                                                                                                        *

                                                                                                        * This operation can be called only from the organization's management account or by a member account that is a * delegated administrator for an Amazon Web Services service. *

                                                                                                        * * @param listAccountsRequest * @return Result of the ListAccounts operation returned by the service. * @throws AccessDeniedException * You don't have permissions to perform the requested operation. The user or role that is making the * request must have at least one IAM permissions policy attached that grants the required permissions. For * more information, see Access * Management in the IAM User Guide. * @throws AwsOrganizationsNotInUseException * Your account isn't a member of an organization. To make this request, you must use the credentials of an * account that belongs to an organization. * @throws InvalidInputException * The requested operation failed because you provided invalid values for one or more of the request * parameters. This exception includes a reason that contains additional information about the violated * limit:

                                                                                                        *

                                                                                                        * Some of the reasons in the following list might not be applicable to this specific API or operation. *

                                                                                                        *
                                                                                                        *
                                                                                                          *
                                                                                                        • *

                                                                                                          * DUPLICATE_TAG_KEY: Tag keys must be unique among the tags attached to the same entity. *

                                                                                                          *
                                                                                                        • *
                                                                                                        • *

                                                                                                          * IMMUTABLE_POLICY: You specified a policy that is managed by Amazon Web Services and can't be modified. *

                                                                                                          *
                                                                                                        • *
                                                                                                        • *

                                                                                                          * INPUT_REQUIRED: You must include a value for all required parameters. *

                                                                                                          *
                                                                                                        • *
                                                                                                        • *

                                                                                                          * INVALID_EMAIL_ADDRESS_TARGET: You specified an invalid email address for the invited account owner. *

                                                                                                          *
                                                                                                        • *
                                                                                                        • *

                                                                                                          * INVALID_ENUM: You specified an invalid value. *

                                                                                                          *
                                                                                                        • *
                                                                                                        • *

                                                                                                          * INVALID_ENUM_POLICY_TYPE: You specified an invalid policy type string. *

                                                                                                          *
                                                                                                        • *
                                                                                                        • *

                                                                                                          * INVALID_FULL_NAME_TARGET: You specified a full name that contains invalid characters. *

                                                                                                          *
                                                                                                        • *
                                                                                                        • *

                                                                                                          * INVALID_LIST_MEMBER: You provided a list to a parameter that contains at least one invalid value. *

                                                                                                          *
                                                                                                        • *
                                                                                                        • *

                                                                                                          * INVALID_PAGINATION_TOKEN: Get the value for the NextToken parameter from the response to a * previous call of the operation. *

                                                                                                          *
                                                                                                        • *
                                                                                                        • *

                                                                                                          * INVALID_PARTY_TYPE_TARGET: You specified the wrong type of entity (account, organization, or email) as a * party. *

                                                                                                          *
                                                                                                        • *
                                                                                                        • *

                                                                                                          * INVALID_PATTERN: You provided a value that doesn't match the required pattern. *

                                                                                                          *
                                                                                                        • *
                                                                                                        • *

                                                                                                          * INVALID_PATTERN_TARGET_ID: You specified a policy target ID that doesn't match the required pattern. *

                                                                                                          *
                                                                                                        • *
                                                                                                        • *

                                                                                                          * INVALID_PRINCIPAL: You specified an invalid principal element in the policy. *

                                                                                                          *
                                                                                                        • *
                                                                                                        • *

                                                                                                          * INVALID_ROLE_NAME: You provided a role name that isn't valid. A role name can't begin with the reserved * prefix AWSServiceRoleFor. *

                                                                                                          *
                                                                                                        • *
                                                                                                        • *

                                                                                                          * INVALID_SYNTAX_ORGANIZATION_ARN: You specified an invalid Amazon Resource Name (ARN) for the * organization. *

                                                                                                          *
                                                                                                        • *
                                                                                                        • *

                                                                                                          * INVALID_SYNTAX_POLICY_ID: You specified an invalid policy ID. *

                                                                                                          *
                                                                                                        • *
                                                                                                        • *

                                                                                                          * INVALID_SYSTEM_TAGS_PARAMETER: You specified a tag key that is a system tag. You can’t add, edit, or * delete system tag keys because they're reserved for Amazon Web Services use. System tags don’t count * against your tags per resource limit. *

                                                                                                          *
                                                                                                        • *
                                                                                                        • *

                                                                                                          * MAX_FILTER_LIMIT_EXCEEDED: You can specify only one filter parameter for the operation. *

                                                                                                          *
                                                                                                        • *
                                                                                                        • *

                                                                                                          * MAX_LENGTH_EXCEEDED: You provided a string parameter that is longer than allowed. *

                                                                                                          *
                                                                                                        • *
                                                                                                        • *

                                                                                                          * MAX_VALUE_EXCEEDED: You provided a numeric parameter that has a larger value than allowed. *

                                                                                                          *
                                                                                                        • *
                                                                                                        • *

                                                                                                          * MIN_LENGTH_EXCEEDED: You provided a string parameter that is shorter than allowed. *

                                                                                                          *
                                                                                                        • *
                                                                                                        • *

                                                                                                          * MIN_VALUE_EXCEEDED: You provided a numeric parameter that has a smaller value than allowed. *

                                                                                                          *
                                                                                                        • *
                                                                                                        • *

                                                                                                          * MOVING_ACCOUNT_BETWEEN_DIFFERENT_ROOTS: You can move an account only between entities in the same root. *

                                                                                                          *
                                                                                                        • *
                                                                                                        • *

                                                                                                          * NON_DETACHABLE_POLICY: You can't detach this Amazon Web Services Managed Policy. *

                                                                                                          *
                                                                                                        • *
                                                                                                        • *

                                                                                                          * TARGET_NOT_SUPPORTED: You can't perform the specified operation on that target entity. *

                                                                                                          *
                                                                                                        • *
                                                                                                        • *

                                                                                                          * UNRECOGNIZED_SERVICE_PRINCIPAL: You specified a service principal that isn't recognized. *

                                                                                                          *
                                                                                                        • * @throws ServiceException * Organizations can't complete your request because of an internal service error. Try again later. * @throws TooManyRequestsException * You have sent too many requests in too short a period of time. The quota helps protect against * denial-of-service attacks. Try again later.

                                                                                                          *

                                                                                                          * For information about quotas that affect Organizations, see Quotas for * Organizations in the Organizations User Guide. * @throws SdkException * Base class for all exceptions that can be thrown by the SDK (both service and client). Can be used for * catch all scenarios. * @throws SdkClientException * If any client side error occurs such as an IO related failure, failure to get credentials, etc. * @throws OrganizationsException * Base class for all service exceptions. Unknown exceptions will be thrown as an instance of this type. * @sample OrganizationsClient.ListAccounts * @see AWS * API Documentation */ @Override public ListAccountsResponse listAccounts(ListAccountsRequest listAccountsRequest) throws AccessDeniedException, AwsOrganizationsNotInUseException, InvalidInputException, ServiceException, TooManyRequestsException, AwsServiceException, SdkClientException, OrganizationsException { JsonOperationMetadata operationMetadata = JsonOperationMetadata.builder().hasStreamingSuccessResponse(false) .isPayloadJson(true).build(); HttpResponseHandler responseHandler = protocolFactory.createResponseHandler(operationMetadata, ListAccountsResponse::builder); HttpResponseHandler errorResponseHandler = createErrorResponseHandler(protocolFactory, operationMetadata); SdkClientConfiguration clientConfiguration = updateSdkClientConfiguration(listAccountsRequest, this.clientConfiguration); List metricPublishers = resolveMetricPublishers(clientConfiguration, listAccountsRequest .overrideConfiguration().orElse(null)); MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector .create("ApiCall"); try { apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "Organizations"); apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "ListAccounts"); return clientHandler.execute(new ClientExecutionParams() .withOperationName("ListAccounts").withProtocolMetadata(protocolMetadata) .withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler) .withRequestConfiguration(clientConfiguration).withInput(listAccountsRequest) .withMetricCollector(apiCallMetricCollector) .withMarshaller(new ListAccountsRequestMarshaller(protocolFactory))); } finally { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); } } /** *

                                                                                                          * Lists the accounts in an organization that are contained by the specified target root or organizational unit * (OU). If you specify the root, you get a list of all the accounts that aren't in any OU. If you specify an OU, * you get a list of all the accounts in only that OU and not in any child OUs. To get a list of all accounts in the * organization, use the ListAccounts operation. *

                                                                                                          * *

                                                                                                          * Always check the NextToken response parameter for a null value when calling a * List* operation. These operations can occasionally return an empty set of results even when there * are more results available. The NextToken response parameter value is null only * when there are no more results to display. *

                                                                                                          *
                                                                                                          *

                                                                                                          * This operation can be called only from the organization's management account or by a member account that is a * delegated administrator for an Amazon Web Services service. *

                                                                                                          * * @param listAccountsForParentRequest * @return Result of the ListAccountsForParent operation returned by the service. * @throws AccessDeniedException * You don't have permissions to perform the requested operation. The user or role that is making the * request must have at least one IAM permissions policy attached that grants the required permissions. For * more information, see Access * Management in the IAM User Guide. * @throws AwsOrganizationsNotInUseException * Your account isn't a member of an organization. To make this request, you must use the credentials of an * account that belongs to an organization. * @throws InvalidInputException * The requested operation failed because you provided invalid values for one or more of the request * parameters. This exception includes a reason that contains additional information about the violated * limit:

                                                                                                          *

                                                                                                          * Some of the reasons in the following list might not be applicable to this specific API or operation. *

                                                                                                          *
                                                                                                          *
                                                                                                            *
                                                                                                          • *

                                                                                                            * DUPLICATE_TAG_KEY: Tag keys must be unique among the tags attached to the same entity. *

                                                                                                            *
                                                                                                          • *
                                                                                                          • *

                                                                                                            * IMMUTABLE_POLICY: You specified a policy that is managed by Amazon Web Services and can't be modified. *

                                                                                                            *
                                                                                                          • *
                                                                                                          • *

                                                                                                            * INPUT_REQUIRED: You must include a value for all required parameters. *

                                                                                                            *
                                                                                                          • *
                                                                                                          • *

                                                                                                            * INVALID_EMAIL_ADDRESS_TARGET: You specified an invalid email address for the invited account owner. *

                                                                                                            *
                                                                                                          • *
                                                                                                          • *

                                                                                                            * INVALID_ENUM: You specified an invalid value. *

                                                                                                            *
                                                                                                          • *
                                                                                                          • *

                                                                                                            * INVALID_ENUM_POLICY_TYPE: You specified an invalid policy type string. *

                                                                                                            *
                                                                                                          • *
                                                                                                          • *

                                                                                                            * INVALID_FULL_NAME_TARGET: You specified a full name that contains invalid characters. *

                                                                                                            *
                                                                                                          • *
                                                                                                          • *

                                                                                                            * INVALID_LIST_MEMBER: You provided a list to a parameter that contains at least one invalid value. *

                                                                                                            *
                                                                                                          • *
                                                                                                          • *

                                                                                                            * INVALID_PAGINATION_TOKEN: Get the value for the NextToken parameter from the response to a * previous call of the operation. *

                                                                                                            *
                                                                                                          • *
                                                                                                          • *

                                                                                                            * INVALID_PARTY_TYPE_TARGET: You specified the wrong type of entity (account, organization, or email) as a * party. *

                                                                                                            *
                                                                                                          • *
                                                                                                          • *

                                                                                                            * INVALID_PATTERN: You provided a value that doesn't match the required pattern. *

                                                                                                            *
                                                                                                          • *
                                                                                                          • *

                                                                                                            * INVALID_PATTERN_TARGET_ID: You specified a policy target ID that doesn't match the required pattern. *

                                                                                                            *
                                                                                                          • *
                                                                                                          • *

                                                                                                            * INVALID_PRINCIPAL: You specified an invalid principal element in the policy. *

                                                                                                            *
                                                                                                          • *
                                                                                                          • *

                                                                                                            * INVALID_ROLE_NAME: You provided a role name that isn't valid. A role name can't begin with the reserved * prefix AWSServiceRoleFor. *

                                                                                                            *
                                                                                                          • *
                                                                                                          • *

                                                                                                            * INVALID_SYNTAX_ORGANIZATION_ARN: You specified an invalid Amazon Resource Name (ARN) for the * organization. *

                                                                                                            *
                                                                                                          • *
                                                                                                          • *

                                                                                                            * INVALID_SYNTAX_POLICY_ID: You specified an invalid policy ID. *

                                                                                                            *
                                                                                                          • *
                                                                                                          • *

                                                                                                            * INVALID_SYSTEM_TAGS_PARAMETER: You specified a tag key that is a system tag. You can’t add, edit, or * delete system tag keys because they're reserved for Amazon Web Services use. System tags don’t count * against your tags per resource limit. *

                                                                                                            *
                                                                                                          • *
                                                                                                          • *

                                                                                                            * MAX_FILTER_LIMIT_EXCEEDED: You can specify only one filter parameter for the operation. *

                                                                                                            *
                                                                                                          • *
                                                                                                          • *

                                                                                                            * MAX_LENGTH_EXCEEDED: You provided a string parameter that is longer than allowed. *

                                                                                                            *
                                                                                                          • *
                                                                                                          • *

                                                                                                            * MAX_VALUE_EXCEEDED: You provided a numeric parameter that has a larger value than allowed. *

                                                                                                            *
                                                                                                          • *
                                                                                                          • *

                                                                                                            * MIN_LENGTH_EXCEEDED: You provided a string parameter that is shorter than allowed. *

                                                                                                            *
                                                                                                          • *
                                                                                                          • *

                                                                                                            * MIN_VALUE_EXCEEDED: You provided a numeric parameter that has a smaller value than allowed. *

                                                                                                            *
                                                                                                          • *
                                                                                                          • *

                                                                                                            * MOVING_ACCOUNT_BETWEEN_DIFFERENT_ROOTS: You can move an account only between entities in the same root. *

                                                                                                            *
                                                                                                          • *
                                                                                                          • *

                                                                                                            * NON_DETACHABLE_POLICY: You can't detach this Amazon Web Services Managed Policy. *

                                                                                                            *
                                                                                                          • *
                                                                                                          • *

                                                                                                            * TARGET_NOT_SUPPORTED: You can't perform the specified operation on that target entity. *

                                                                                                            *
                                                                                                          • *
                                                                                                          • *

                                                                                                            * UNRECOGNIZED_SERVICE_PRINCIPAL: You specified a service principal that isn't recognized. *

                                                                                                            *
                                                                                                          • * @throws ParentNotFoundException * We can't find a root or OU with the ParentId that you specified. * @throws ServiceException * Organizations can't complete your request because of an internal service error. Try again later. * @throws TooManyRequestsException * You have sent too many requests in too short a period of time. The quota helps protect against * denial-of-service attacks. Try again later.

                                                                                                            *

                                                                                                            * For information about quotas that affect Organizations, see Quotas for * Organizations in the Organizations User Guide. * @throws SdkException * Base class for all exceptions that can be thrown by the SDK (both service and client). Can be used for * catch all scenarios. * @throws SdkClientException * If any client side error occurs such as an IO related failure, failure to get credentials, etc. * @throws OrganizationsException * Base class for all service exceptions. Unknown exceptions will be thrown as an instance of this type. * @sample OrganizationsClient.ListAccountsForParent * @see AWS API Documentation */ @Override public ListAccountsForParentResponse listAccountsForParent(ListAccountsForParentRequest listAccountsForParentRequest) throws AccessDeniedException, AwsOrganizationsNotInUseException, InvalidInputException, ParentNotFoundException, ServiceException, TooManyRequestsException, AwsServiceException, SdkClientException, OrganizationsException { JsonOperationMetadata operationMetadata = JsonOperationMetadata.builder().hasStreamingSuccessResponse(false) .isPayloadJson(true).build(); HttpResponseHandler responseHandler = protocolFactory.createResponseHandler( operationMetadata, ListAccountsForParentResponse::builder); HttpResponseHandler errorResponseHandler = createErrorResponseHandler(protocolFactory, operationMetadata); SdkClientConfiguration clientConfiguration = updateSdkClientConfiguration(listAccountsForParentRequest, this.clientConfiguration); List metricPublishers = resolveMetricPublishers(clientConfiguration, listAccountsForParentRequest .overrideConfiguration().orElse(null)); MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector .create("ApiCall"); try { apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "Organizations"); apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "ListAccountsForParent"); return clientHandler.execute(new ClientExecutionParams() .withOperationName("ListAccountsForParent").withProtocolMetadata(protocolMetadata) .withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler) .withRequestConfiguration(clientConfiguration).withInput(listAccountsForParentRequest) .withMetricCollector(apiCallMetricCollector) .withMarshaller(new ListAccountsForParentRequestMarshaller(protocolFactory))); } finally { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); } } /** *

                                                                                                            * Lists all of the organizational units (OUs) or accounts that are contained in the specified parent OU or root. * This operation, along with ListParents enables you to traverse the tree structure that makes up this root. *

                                                                                                            * *

                                                                                                            * Always check the NextToken response parameter for a null value when calling a * List* operation. These operations can occasionally return an empty set of results even when there * are more results available. The NextToken response parameter value is null only * when there are no more results to display. *

                                                                                                            *
                                                                                                            *

                                                                                                            * This operation can be called only from the organization's management account or by a member account that is a * delegated administrator for an Amazon Web Services service. *

                                                                                                            * * @param listChildrenRequest * @return Result of the ListChildren operation returned by the service. * @throws AccessDeniedException * You don't have permissions to perform the requested operation. The user or role that is making the * request must have at least one IAM permissions policy attached that grants the required permissions. For * more information, see Access * Management in the IAM User Guide. * @throws AwsOrganizationsNotInUseException * Your account isn't a member of an organization. To make this request, you must use the credentials of an * account that belongs to an organization. * @throws InvalidInputException * The requested operation failed because you provided invalid values for one or more of the request * parameters. This exception includes a reason that contains additional information about the violated * limit:

                                                                                                            *

                                                                                                            * Some of the reasons in the following list might not be applicable to this specific API or operation. *

                                                                                                            *
                                                                                                            *
                                                                                                              *
                                                                                                            • *

                                                                                                              * DUPLICATE_TAG_KEY: Tag keys must be unique among the tags attached to the same entity. *

                                                                                                              *
                                                                                                            • *
                                                                                                            • *

                                                                                                              * IMMUTABLE_POLICY: You specified a policy that is managed by Amazon Web Services and can't be modified. *

                                                                                                              *
                                                                                                            • *
                                                                                                            • *

                                                                                                              * INPUT_REQUIRED: You must include a value for all required parameters. *

                                                                                                              *
                                                                                                            • *
                                                                                                            • *

                                                                                                              * INVALID_EMAIL_ADDRESS_TARGET: You specified an invalid email address for the invited account owner. *

                                                                                                              *
                                                                                                            • *
                                                                                                            • *

                                                                                                              * INVALID_ENUM: You specified an invalid value. *

                                                                                                              *
                                                                                                            • *
                                                                                                            • *

                                                                                                              * INVALID_ENUM_POLICY_TYPE: You specified an invalid policy type string. *

                                                                                                              *
                                                                                                            • *
                                                                                                            • *

                                                                                                              * INVALID_FULL_NAME_TARGET: You specified a full name that contains invalid characters. *

                                                                                                              *
                                                                                                            • *
                                                                                                            • *

                                                                                                              * INVALID_LIST_MEMBER: You provided a list to a parameter that contains at least one invalid value. *

                                                                                                              *
                                                                                                            • *
                                                                                                            • *

                                                                                                              * INVALID_PAGINATION_TOKEN: Get the value for the NextToken parameter from the response to a * previous call of the operation. *

                                                                                                              *
                                                                                                            • *
                                                                                                            • *

                                                                                                              * INVALID_PARTY_TYPE_TARGET: You specified the wrong type of entity (account, organization, or email) as a * party. *

                                                                                                              *
                                                                                                            • *
                                                                                                            • *

                                                                                                              * INVALID_PATTERN: You provided a value that doesn't match the required pattern. *

                                                                                                              *
                                                                                                            • *
                                                                                                            • *

                                                                                                              * INVALID_PATTERN_TARGET_ID: You specified a policy target ID that doesn't match the required pattern. *

                                                                                                              *
                                                                                                            • *
                                                                                                            • *

                                                                                                              * INVALID_PRINCIPAL: You specified an invalid principal element in the policy. *

                                                                                                              *
                                                                                                            • *
                                                                                                            • *

                                                                                                              * INVALID_ROLE_NAME: You provided a role name that isn't valid. A role name can't begin with the reserved * prefix AWSServiceRoleFor. *

                                                                                                              *
                                                                                                            • *
                                                                                                            • *

                                                                                                              * INVALID_SYNTAX_ORGANIZATION_ARN: You specified an invalid Amazon Resource Name (ARN) for the * organization. *

                                                                                                              *
                                                                                                            • *
                                                                                                            • *

                                                                                                              * INVALID_SYNTAX_POLICY_ID: You specified an invalid policy ID. *

                                                                                                              *
                                                                                                            • *
                                                                                                            • *

                                                                                                              * INVALID_SYSTEM_TAGS_PARAMETER: You specified a tag key that is a system tag. You can’t add, edit, or * delete system tag keys because they're reserved for Amazon Web Services use. System tags don’t count * against your tags per resource limit. *

                                                                                                              *
                                                                                                            • *
                                                                                                            • *

                                                                                                              * MAX_FILTER_LIMIT_EXCEEDED: You can specify only one filter parameter for the operation. *

                                                                                                              *
                                                                                                            • *
                                                                                                            • *

                                                                                                              * MAX_LENGTH_EXCEEDED: You provided a string parameter that is longer than allowed. *

                                                                                                              *
                                                                                                            • *
                                                                                                            • *

                                                                                                              * MAX_VALUE_EXCEEDED: You provided a numeric parameter that has a larger value than allowed. *

                                                                                                              *
                                                                                                            • *
                                                                                                            • *

                                                                                                              * MIN_LENGTH_EXCEEDED: You provided a string parameter that is shorter than allowed. *

                                                                                                              *
                                                                                                            • *
                                                                                                            • *

                                                                                                              * MIN_VALUE_EXCEEDED: You provided a numeric parameter that has a smaller value than allowed. *

                                                                                                              *
                                                                                                            • *
                                                                                                            • *

                                                                                                              * MOVING_ACCOUNT_BETWEEN_DIFFERENT_ROOTS: You can move an account only between entities in the same root. *

                                                                                                              *
                                                                                                            • *
                                                                                                            • *

                                                                                                              * NON_DETACHABLE_POLICY: You can't detach this Amazon Web Services Managed Policy. *

                                                                                                              *
                                                                                                            • *
                                                                                                            • *

                                                                                                              * TARGET_NOT_SUPPORTED: You can't perform the specified operation on that target entity. *

                                                                                                              *
                                                                                                            • *
                                                                                                            • *

                                                                                                              * UNRECOGNIZED_SERVICE_PRINCIPAL: You specified a service principal that isn't recognized. *

                                                                                                              *
                                                                                                            • * @throws ParentNotFoundException * We can't find a root or OU with the ParentId that you specified. * @throws ServiceException * Organizations can't complete your request because of an internal service error. Try again later. * @throws TooManyRequestsException * You have sent too many requests in too short a period of time. The quota helps protect against * denial-of-service attacks. Try again later.

                                                                                                              *

                                                                                                              * For information about quotas that affect Organizations, see Quotas for * Organizations in the Organizations User Guide. * @throws SdkException * Base class for all exceptions that can be thrown by the SDK (both service and client). Can be used for * catch all scenarios. * @throws SdkClientException * If any client side error occurs such as an IO related failure, failure to get credentials, etc. * @throws OrganizationsException * Base class for all service exceptions. Unknown exceptions will be thrown as an instance of this type. * @sample OrganizationsClient.ListChildren * @see AWS * API Documentation */ @Override public ListChildrenResponse listChildren(ListChildrenRequest listChildrenRequest) throws AccessDeniedException, AwsOrganizationsNotInUseException, InvalidInputException, ParentNotFoundException, ServiceException, TooManyRequestsException, AwsServiceException, SdkClientException, OrganizationsException { JsonOperationMetadata operationMetadata = JsonOperationMetadata.builder().hasStreamingSuccessResponse(false) .isPayloadJson(true).build(); HttpResponseHandler responseHandler = protocolFactory.createResponseHandler(operationMetadata, ListChildrenResponse::builder); HttpResponseHandler errorResponseHandler = createErrorResponseHandler(protocolFactory, operationMetadata); SdkClientConfiguration clientConfiguration = updateSdkClientConfiguration(listChildrenRequest, this.clientConfiguration); List metricPublishers = resolveMetricPublishers(clientConfiguration, listChildrenRequest .overrideConfiguration().orElse(null)); MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector .create("ApiCall"); try { apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "Organizations"); apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "ListChildren"); return clientHandler.execute(new ClientExecutionParams() .withOperationName("ListChildren").withProtocolMetadata(protocolMetadata) .withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler) .withRequestConfiguration(clientConfiguration).withInput(listChildrenRequest) .withMetricCollector(apiCallMetricCollector) .withMarshaller(new ListChildrenRequestMarshaller(protocolFactory))); } finally { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); } } /** *

                                                                                                              * Lists the account creation requests that match the specified status that is currently being tracked for the * organization. *

                                                                                                              * *

                                                                                                              * Always check the NextToken response parameter for a null value when calling a * List* operation. These operations can occasionally return an empty set of results even when there * are more results available. The NextToken response parameter value is null only * when there are no more results to display. *

                                                                                                              *
                                                                                                              *

                                                                                                              * This operation can be called only from the organization's management account or by a member account that is a * delegated administrator for an Amazon Web Services service. *

                                                                                                              * * @param listCreateAccountStatusRequest * @return Result of the ListCreateAccountStatus operation returned by the service. * @throws AccessDeniedException * You don't have permissions to perform the requested operation. The user or role that is making the * request must have at least one IAM permissions policy attached that grants the required permissions. For * more information, see Access * Management in the IAM User Guide. * @throws AwsOrganizationsNotInUseException * Your account isn't a member of an organization. To make this request, you must use the credentials of an * account that belongs to an organization. * @throws InvalidInputException * The requested operation failed because you provided invalid values for one or more of the request * parameters. This exception includes a reason that contains additional information about the violated * limit:

                                                                                                              *

                                                                                                              * Some of the reasons in the following list might not be applicable to this specific API or operation. *

                                                                                                              *
                                                                                                              *
                                                                                                                *
                                                                                                              • *

                                                                                                                * DUPLICATE_TAG_KEY: Tag keys must be unique among the tags attached to the same entity. *

                                                                                                                *
                                                                                                              • *
                                                                                                              • *

                                                                                                                * IMMUTABLE_POLICY: You specified a policy that is managed by Amazon Web Services and can't be modified. *

                                                                                                                *
                                                                                                              • *
                                                                                                              • *

                                                                                                                * INPUT_REQUIRED: You must include a value for all required parameters. *

                                                                                                                *
                                                                                                              • *
                                                                                                              • *

                                                                                                                * INVALID_EMAIL_ADDRESS_TARGET: You specified an invalid email address for the invited account owner. *

                                                                                                                *
                                                                                                              • *
                                                                                                              • *

                                                                                                                * INVALID_ENUM: You specified an invalid value. *

                                                                                                                *
                                                                                                              • *
                                                                                                              • *

                                                                                                                * INVALID_ENUM_POLICY_TYPE: You specified an invalid policy type string. *

                                                                                                                *
                                                                                                              • *
                                                                                                              • *

                                                                                                                * INVALID_FULL_NAME_TARGET: You specified a full name that contains invalid characters. *

                                                                                                                *
                                                                                                              • *
                                                                                                              • *

                                                                                                                * INVALID_LIST_MEMBER: You provided a list to a parameter that contains at least one invalid value. *

                                                                                                                *
                                                                                                              • *
                                                                                                              • *

                                                                                                                * INVALID_PAGINATION_TOKEN: Get the value for the NextToken parameter from the response to a * previous call of the operation. *

                                                                                                                *
                                                                                                              • *
                                                                                                              • *

                                                                                                                * INVALID_PARTY_TYPE_TARGET: You specified the wrong type of entity (account, organization, or email) as a * party. *

                                                                                                                *
                                                                                                              • *
                                                                                                              • *

                                                                                                                * INVALID_PATTERN: You provided a value that doesn't match the required pattern. *

                                                                                                                *
                                                                                                              • *
                                                                                                              • *

                                                                                                                * INVALID_PATTERN_TARGET_ID: You specified a policy target ID that doesn't match the required pattern. *

                                                                                                                *
                                                                                                              • *
                                                                                                              • *

                                                                                                                * INVALID_PRINCIPAL: You specified an invalid principal element in the policy. *

                                                                                                                *
                                                                                                              • *
                                                                                                              • *

                                                                                                                * INVALID_ROLE_NAME: You provided a role name that isn't valid. A role name can't begin with the reserved * prefix AWSServiceRoleFor. *

                                                                                                                *
                                                                                                              • *
                                                                                                              • *

                                                                                                                * INVALID_SYNTAX_ORGANIZATION_ARN: You specified an invalid Amazon Resource Name (ARN) for the * organization. *

                                                                                                                *
                                                                                                              • *
                                                                                                              • *

                                                                                                                * INVALID_SYNTAX_POLICY_ID: You specified an invalid policy ID. *

                                                                                                                *
                                                                                                              • *
                                                                                                              • *

                                                                                                                * INVALID_SYSTEM_TAGS_PARAMETER: You specified a tag key that is a system tag. You can’t add, edit, or * delete system tag keys because they're reserved for Amazon Web Services use. System tags don’t count * against your tags per resource limit. *

                                                                                                                *
                                                                                                              • *
                                                                                                              • *

                                                                                                                * MAX_FILTER_LIMIT_EXCEEDED: You can specify only one filter parameter for the operation. *

                                                                                                                *
                                                                                                              • *
                                                                                                              • *

                                                                                                                * MAX_LENGTH_EXCEEDED: You provided a string parameter that is longer than allowed. *

                                                                                                                *
                                                                                                              • *
                                                                                                              • *

                                                                                                                * MAX_VALUE_EXCEEDED: You provided a numeric parameter that has a larger value than allowed. *

                                                                                                                *
                                                                                                              • *
                                                                                                              • *

                                                                                                                * MIN_LENGTH_EXCEEDED: You provided a string parameter that is shorter than allowed. *

                                                                                                                *
                                                                                                              • *
                                                                                                              • *

                                                                                                                * MIN_VALUE_EXCEEDED: You provided a numeric parameter that has a smaller value than allowed. *

                                                                                                                *
                                                                                                              • *
                                                                                                              • *

                                                                                                                * MOVING_ACCOUNT_BETWEEN_DIFFERENT_ROOTS: You can move an account only between entities in the same root. *

                                                                                                                *
                                                                                                              • *
                                                                                                              • *

                                                                                                                * NON_DETACHABLE_POLICY: You can't detach this Amazon Web Services Managed Policy. *

                                                                                                                *
                                                                                                              • *
                                                                                                              • *

                                                                                                                * TARGET_NOT_SUPPORTED: You can't perform the specified operation on that target entity. *

                                                                                                                *
                                                                                                              • *
                                                                                                              • *

                                                                                                                * UNRECOGNIZED_SERVICE_PRINCIPAL: You specified a service principal that isn't recognized. *

                                                                                                                *
                                                                                                              • * @throws ServiceException * Organizations can't complete your request because of an internal service error. Try again later. * @throws TooManyRequestsException * You have sent too many requests in too short a period of time. The quota helps protect against * denial-of-service attacks. Try again later.

                                                                                                                *

                                                                                                                * For information about quotas that affect Organizations, see Quotas for * Organizations in the Organizations User Guide. * @throws UnsupportedApiEndpointException * This action isn't available in the current Amazon Web Services Region. * @throws SdkException * Base class for all exceptions that can be thrown by the SDK (both service and client). Can be used for * catch all scenarios. * @throws SdkClientException * If any client side error occurs such as an IO related failure, failure to get credentials, etc. * @throws OrganizationsException * Base class for all service exceptions. Unknown exceptions will be thrown as an instance of this type. * @sample OrganizationsClient.ListCreateAccountStatus * @see AWS API Documentation */ @Override public ListCreateAccountStatusResponse listCreateAccountStatus(ListCreateAccountStatusRequest listCreateAccountStatusRequest) throws AccessDeniedException, AwsOrganizationsNotInUseException, InvalidInputException, ServiceException, TooManyRequestsException, UnsupportedApiEndpointException, AwsServiceException, SdkClientException, OrganizationsException { JsonOperationMetadata operationMetadata = JsonOperationMetadata.builder().hasStreamingSuccessResponse(false) .isPayloadJson(true).build(); HttpResponseHandler responseHandler = protocolFactory.createResponseHandler( operationMetadata, ListCreateAccountStatusResponse::builder); HttpResponseHandler errorResponseHandler = createErrorResponseHandler(protocolFactory, operationMetadata); SdkClientConfiguration clientConfiguration = updateSdkClientConfiguration(listCreateAccountStatusRequest, this.clientConfiguration); List metricPublishers = resolveMetricPublishers(clientConfiguration, listCreateAccountStatusRequest .overrideConfiguration().orElse(null)); MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector .create("ApiCall"); try { apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "Organizations"); apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "ListCreateAccountStatus"); return clientHandler .execute(new ClientExecutionParams() .withOperationName("ListCreateAccountStatus").withProtocolMetadata(protocolMetadata) .withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler) .withRequestConfiguration(clientConfiguration).withInput(listCreateAccountStatusRequest) .withMetricCollector(apiCallMetricCollector) .withMarshaller(new ListCreateAccountStatusRequestMarshaller(protocolFactory))); } finally { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); } } /** *

                                                                                                                * Lists the Amazon Web Services accounts that are designated as delegated administrators in this organization. *

                                                                                                                *

                                                                                                                * This operation can be called only from the organization's management account or by a member account that is a * delegated administrator for an Amazon Web Services service. *

                                                                                                                * * @param listDelegatedAdministratorsRequest * @return Result of the ListDelegatedAdministrators operation returned by the service. * @throws AccessDeniedException * You don't have permissions to perform the requested operation. The user or role that is making the * request must have at least one IAM permissions policy attached that grants the required permissions. For * more information, see Access * Management in the IAM User Guide. * @throws AwsOrganizationsNotInUseException * Your account isn't a member of an organization. To make this request, you must use the credentials of an * account that belongs to an organization. * @throws ConstraintViolationException * Performing this operation violates a minimum or maximum value limit. For example, attempting to remove * the last service control policy (SCP) from an OU or root, inviting or creating too many accounts to the * organization, or attaching too many policies to an account, OU, or root. This exception includes a reason * that contains additional information about the violated limit:

                                                                                                                *

                                                                                                                * Some of the reasons in the following list might not be applicable to this specific API or operation. *

                                                                                                                *
                                                                                                                *
                                                                                                                  *
                                                                                                                • *

                                                                                                                  * ACCOUNT_CANNOT_LEAVE_ORGANIZATION: You attempted to remove the management account from the organization. * You can't remove the management account. Instead, after you remove all member accounts, delete the * organization itself. *

                                                                                                                  *
                                                                                                                • *
                                                                                                                • *

                                                                                                                  * ACCOUNT_CANNOT_LEAVE_WITHOUT_PHONE_VERIFICATION: You attempted to remove an account from the organization * that doesn't yet have enough information to exist as a standalone account. This account requires you to * first complete phone verification. Follow the steps at Removing a member account from your organization in the Organizations User Guide. *

                                                                                                                  *
                                                                                                                • *
                                                                                                                • *

                                                                                                                  * ACCOUNT_CREATION_RATE_LIMIT_EXCEEDED: You attempted to exceed the number of accounts that you can create * in one day. *

                                                                                                                  *
                                                                                                                • *
                                                                                                                • *

                                                                                                                  * ACCOUNT_CREATION_NOT_COMPLETE: Your account setup isn't complete or your account isn't fully active. You * must complete the account setup before you create an organization. *

                                                                                                                  *
                                                                                                                • *
                                                                                                                • *

                                                                                                                  * ACCOUNT_NUMBER_LIMIT_EXCEEDED: You attempted to exceed the limit on the number of accounts in an * organization. If you need more accounts, contact Amazon Web Services Support to request an * increase in your limit. *

                                                                                                                  *

                                                                                                                  * Or the number of invitations that you tried to send would cause you to exceed the limit of accounts in * your organization. Send fewer invitations or contact Amazon Web Services Support to request an increase * in the number of accounts. *

                                                                                                                  * *

                                                                                                                  * Deleted and closed accounts still count toward your limit. *

                                                                                                                  *
                                                                                                                  *

                                                                                                                  * If you get this exception when running a command immediately after creating the organization, wait one * hour and try again. After an hour, if the command continues to fail with this error, contact Amazon Web Services Support. *

                                                                                                                  *
                                                                                                                • *
                                                                                                                • *

                                                                                                                  * CANNOT_REGISTER_SUSPENDED_ACCOUNT_AS_DELEGATED_ADMINISTRATOR: You cannot register a suspended account as * a delegated administrator. *

                                                                                                                  *
                                                                                                                • *
                                                                                                                • *

                                                                                                                  * CANNOT_REGISTER_MASTER_AS_DELEGATED_ADMINISTRATOR: You attempted to register the management account of * the organization as a delegated administrator for an Amazon Web Services service integrated with * Organizations. You can designate only a member account as a delegated administrator. *

                                                                                                                  *
                                                                                                                • *
                                                                                                                • *

                                                                                                                  * CANNOT_CLOSE_MANAGEMENT_ACCOUNT: You attempted to close the management account. To close the management * account for the organization, you must first either remove or close all member accounts in the * organization. Follow standard account closure process using root credentials.​ *

                                                                                                                  *
                                                                                                                • *
                                                                                                                • *

                                                                                                                  * CANNOT_REMOVE_DELEGATED_ADMINISTRATOR_FROM_ORG: You attempted to remove an account that is registered as * a delegated administrator for a service integrated with your organization. To complete this operation, * you must first deregister this account as a delegated administrator. *

                                                                                                                  *
                                                                                                                • *
                                                                                                                • *

                                                                                                                  * CLOSE_ACCOUNT_QUOTA_EXCEEDED: You have exceeded close account quota for the past 30 days. *

                                                                                                                  *
                                                                                                                • *
                                                                                                                • *

                                                                                                                  * CLOSE_ACCOUNT_REQUESTS_LIMIT_EXCEEDED: You attempted to exceed the number of accounts that you can close * at a time. ​ *

                                                                                                                  *
                                                                                                                • *
                                                                                                                • *

                                                                                                                  * CREATE_ORGANIZATION_IN_BILLING_MODE_UNSUPPORTED_REGION: To create an organization in the specified * region, you must enable all features mode. *

                                                                                                                  *
                                                                                                                • *
                                                                                                                • *

                                                                                                                  * DELEGATED_ADMINISTRATOR_EXISTS_FOR_THIS_SERVICE: You attempted to register an Amazon Web Services account * as a delegated administrator for an Amazon Web Services service that already has a delegated * administrator. To complete this operation, you must first deregister any existing delegated * administrators for this service. *

                                                                                                                  *
                                                                                                                • *
                                                                                                                • *

                                                                                                                  * EMAIL_VERIFICATION_CODE_EXPIRED: The email verification code is only valid for a limited period of time. * You must resubmit the request and generate a new verfication code. *

                                                                                                                  *
                                                                                                                • *
                                                                                                                • *

                                                                                                                  * HANDSHAKE_RATE_LIMIT_EXCEEDED: You attempted to exceed the number of handshakes that you can send in one * day. *

                                                                                                                  *
                                                                                                                • *
                                                                                                                • *

                                                                                                                  * INVALID_PAYMENT_INSTRUMENT: You cannot remove an account because no supported payment method is * associated with the account. Amazon Web Services does not support cards issued by financial institutions * in Russia or Belarus. For more information, see Managing your * Amazon Web Services payments. *

                                                                                                                  *
                                                                                                                • *
                                                                                                                • *

                                                                                                                  * MASTER_ACCOUNT_ADDRESS_DOES_NOT_MATCH_MARKETPLACE: To create an account in this organization, you first * must migrate the organization's management account to the marketplace that corresponds to the management * account's address. All accounts in an organization must be associated with the same marketplace. *

                                                                                                                  *
                                                                                                                • *
                                                                                                                • *

                                                                                                                  * MASTER_ACCOUNT_MISSING_BUSINESS_LICENSE: Applies only to the Amazon Web Services Regions in China. To * create an organization, the master must have a valid business license. For more information, contact * customer support. *

                                                                                                                  *
                                                                                                                • *
                                                                                                                • *

                                                                                                                  * MASTER_ACCOUNT_MISSING_CONTACT_INFO: To complete this operation, you must first provide a valid contact * address and phone number for the management account. Then try the operation again. *

                                                                                                                  *
                                                                                                                • *
                                                                                                                • *

                                                                                                                  * MASTER_ACCOUNT_NOT_GOVCLOUD_ENABLED: To complete this operation, the management account must have an * associated account in the Amazon Web Services GovCloud (US-West) Region. For more information, see Organizations * in the Amazon Web Services GovCloud User Guide. *

                                                                                                                  *
                                                                                                                • *
                                                                                                                • *

                                                                                                                  * MASTER_ACCOUNT_PAYMENT_INSTRUMENT_REQUIRED: To create an organization with this management account, you * first must associate a valid payment instrument, such as a credit card, with the account. For more * information, see Considerations before removing an account from an organization in the Organizations User * Guide. *

                                                                                                                  *
                                                                                                                • *
                                                                                                                • *

                                                                                                                  * MAX_DELEGATED_ADMINISTRATORS_FOR_SERVICE_LIMIT_EXCEEDED: You attempted to register more delegated * administrators than allowed for the service principal. *

                                                                                                                  *
                                                                                                                • *
                                                                                                                • *

                                                                                                                  * MAX_POLICY_TYPE_ATTACHMENT_LIMIT_EXCEEDED: You attempted to exceed the number of policies of a certain * type that can be attached to an entity at one time. *

                                                                                                                  *
                                                                                                                • *
                                                                                                                • *

                                                                                                                  * MAX_TAG_LIMIT_EXCEEDED: You have exceeded the number of tags allowed on this resource. *

                                                                                                                  *
                                                                                                                • *
                                                                                                                • *

                                                                                                                  * MEMBER_ACCOUNT_PAYMENT_INSTRUMENT_REQUIRED: To complete this operation with this member account, you * first must associate a valid payment instrument, such as a credit card, with the account. For more * information, see Considerations before removing an account from an organization in the Organizations User * Guide. *

                                                                                                                  *
                                                                                                                • *
                                                                                                                • *

                                                                                                                  * MIN_POLICY_TYPE_ATTACHMENT_LIMIT_EXCEEDED: You attempted to detach a policy from an entity that would * cause the entity to have fewer than the minimum number of policies of a certain type required. *

                                                                                                                  *
                                                                                                                • *
                                                                                                                • *

                                                                                                                  * ORGANIZATION_NOT_IN_ALL_FEATURES_MODE: You attempted to perform an operation that requires the * organization to be configured to support all features. An organization that supports only consolidated * billing features can't perform this operation. *

                                                                                                                  *
                                                                                                                • *
                                                                                                                • *

                                                                                                                  * OU_DEPTH_LIMIT_EXCEEDED: You attempted to create an OU tree that is too many levels deep. *

                                                                                                                  *
                                                                                                                • *
                                                                                                                • *

                                                                                                                  * OU_NUMBER_LIMIT_EXCEEDED: You attempted to exceed the number of OUs that you can have in an organization. *

                                                                                                                  *
                                                                                                                • *
                                                                                                                • *

                                                                                                                  * POLICY_CONTENT_LIMIT_EXCEEDED: You attempted to create a policy that is larger than the maximum size. *

                                                                                                                  *
                                                                                                                • *
                                                                                                                • *

                                                                                                                  * POLICY_NUMBER_LIMIT_EXCEEDED: You attempted to exceed the number of policies that you can have in an * organization. *

                                                                                                                  *
                                                                                                                • *
                                                                                                                • *

                                                                                                                  * SERVICE_ACCESS_NOT_ENABLED: You attempted to register a delegated administrator before you enabled * service access. Call the EnableAWSServiceAccess API first. *

                                                                                                                  *
                                                                                                                • *
                                                                                                                • *

                                                                                                                  * TAG_POLICY_VIOLATION: You attempted to create or update a resource with tags that are not compliant with * the tag policy requirements for this account. *

                                                                                                                  *
                                                                                                                • *
                                                                                                                • *

                                                                                                                  * WAIT_PERIOD_ACTIVE: After you create an Amazon Web Services account, you must wait until at least seven * days after the account was created. Invited accounts aren't subject to this waiting period. *

                                                                                                                  *
                                                                                                                • * @throws InvalidInputException * The requested operation failed because you provided invalid values for one or more of the request * parameters. This exception includes a reason that contains additional information about the violated * limit:

                                                                                                                  *

                                                                                                                  * Some of the reasons in the following list might not be applicable to this specific API or operation. *

                                                                                                                  *
                                                                                                                  *
                                                                                                                    *
                                                                                                                  • *

                                                                                                                    * DUPLICATE_TAG_KEY: Tag keys must be unique among the tags attached to the same entity. *

                                                                                                                    *
                                                                                                                  • *
                                                                                                                  • *

                                                                                                                    * IMMUTABLE_POLICY: You specified a policy that is managed by Amazon Web Services and can't be modified. *

                                                                                                                    *
                                                                                                                  • *
                                                                                                                  • *

                                                                                                                    * INPUT_REQUIRED: You must include a value for all required parameters. *

                                                                                                                    *
                                                                                                                  • *
                                                                                                                  • *

                                                                                                                    * INVALID_EMAIL_ADDRESS_TARGET: You specified an invalid email address for the invited account owner. *

                                                                                                                    *
                                                                                                                  • *
                                                                                                                  • *

                                                                                                                    * INVALID_ENUM: You specified an invalid value. *

                                                                                                                    *
                                                                                                                  • *
                                                                                                                  • *

                                                                                                                    * INVALID_ENUM_POLICY_TYPE: You specified an invalid policy type string. *

                                                                                                                    *
                                                                                                                  • *
                                                                                                                  • *

                                                                                                                    * INVALID_FULL_NAME_TARGET: You specified a full name that contains invalid characters. *

                                                                                                                    *
                                                                                                                  • *
                                                                                                                  • *

                                                                                                                    * INVALID_LIST_MEMBER: You provided a list to a parameter that contains at least one invalid value. *

                                                                                                                    *
                                                                                                                  • *
                                                                                                                  • *

                                                                                                                    * INVALID_PAGINATION_TOKEN: Get the value for the NextToken parameter from the response to a * previous call of the operation. *

                                                                                                                    *
                                                                                                                  • *
                                                                                                                  • *

                                                                                                                    * INVALID_PARTY_TYPE_TARGET: You specified the wrong type of entity (account, organization, or email) as a * party. *

                                                                                                                    *
                                                                                                                  • *
                                                                                                                  • *

                                                                                                                    * INVALID_PATTERN: You provided a value that doesn't match the required pattern. *

                                                                                                                    *
                                                                                                                  • *
                                                                                                                  • *

                                                                                                                    * INVALID_PATTERN_TARGET_ID: You specified a policy target ID that doesn't match the required pattern. *

                                                                                                                    *
                                                                                                                  • *
                                                                                                                  • *

                                                                                                                    * INVALID_PRINCIPAL: You specified an invalid principal element in the policy. *

                                                                                                                    *
                                                                                                                  • *
                                                                                                                  • *

                                                                                                                    * INVALID_ROLE_NAME: You provided a role name that isn't valid. A role name can't begin with the reserved * prefix AWSServiceRoleFor. *

                                                                                                                    *
                                                                                                                  • *
                                                                                                                  • *

                                                                                                                    * INVALID_SYNTAX_ORGANIZATION_ARN: You specified an invalid Amazon Resource Name (ARN) for the * organization. *

                                                                                                                    *
                                                                                                                  • *
                                                                                                                  • *

                                                                                                                    * INVALID_SYNTAX_POLICY_ID: You specified an invalid policy ID. *

                                                                                                                    *
                                                                                                                  • *
                                                                                                                  • *

                                                                                                                    * INVALID_SYSTEM_TAGS_PARAMETER: You specified a tag key that is a system tag. You can’t add, edit, or * delete system tag keys because they're reserved for Amazon Web Services use. System tags don’t count * against your tags per resource limit. *

                                                                                                                    *
                                                                                                                  • *
                                                                                                                  • *

                                                                                                                    * MAX_FILTER_LIMIT_EXCEEDED: You can specify only one filter parameter for the operation. *

                                                                                                                    *
                                                                                                                  • *
                                                                                                                  • *

                                                                                                                    * MAX_LENGTH_EXCEEDED: You provided a string parameter that is longer than allowed. *

                                                                                                                    *
                                                                                                                  • *
                                                                                                                  • *

                                                                                                                    * MAX_VALUE_EXCEEDED: You provided a numeric parameter that has a larger value than allowed. *

                                                                                                                    *
                                                                                                                  • *
                                                                                                                  • *

                                                                                                                    * MIN_LENGTH_EXCEEDED: You provided a string parameter that is shorter than allowed. *

                                                                                                                    *
                                                                                                                  • *
                                                                                                                  • *

                                                                                                                    * MIN_VALUE_EXCEEDED: You provided a numeric parameter that has a smaller value than allowed. *

                                                                                                                    *
                                                                                                                  • *
                                                                                                                  • *

                                                                                                                    * MOVING_ACCOUNT_BETWEEN_DIFFERENT_ROOTS: You can move an account only between entities in the same root. *

                                                                                                                    *
                                                                                                                  • *
                                                                                                                  • *

                                                                                                                    * NON_DETACHABLE_POLICY: You can't detach this Amazon Web Services Managed Policy. *

                                                                                                                    *
                                                                                                                  • *
                                                                                                                  • *

                                                                                                                    * TARGET_NOT_SUPPORTED: You can't perform the specified operation on that target entity. *

                                                                                                                    *
                                                                                                                  • *
                                                                                                                  • *

                                                                                                                    * UNRECOGNIZED_SERVICE_PRINCIPAL: You specified a service principal that isn't recognized. *

                                                                                                                    *
                                                                                                                  • * @throws TooManyRequestsException * You have sent too many requests in too short a period of time. The quota helps protect against * denial-of-service attacks. Try again later.

                                                                                                                    *

                                                                                                                    * For information about quotas that affect Organizations, see Quotas for * Organizations in the Organizations User Guide. * @throws ServiceException * Organizations can't complete your request because of an internal service error. Try again later. * @throws UnsupportedApiEndpointException * This action isn't available in the current Amazon Web Services Region. * @throws SdkException * Base class for all exceptions that can be thrown by the SDK (both service and client). Can be used for * catch all scenarios. * @throws SdkClientException * If any client side error occurs such as an IO related failure, failure to get credentials, etc. * @throws OrganizationsException * Base class for all service exceptions. Unknown exceptions will be thrown as an instance of this type. * @sample OrganizationsClient.ListDelegatedAdministrators * @see AWS API Documentation */ @Override public ListDelegatedAdministratorsResponse listDelegatedAdministrators( ListDelegatedAdministratorsRequest listDelegatedAdministratorsRequest) throws AccessDeniedException, AwsOrganizationsNotInUseException, ConstraintViolationException, InvalidInputException, TooManyRequestsException, ServiceException, UnsupportedApiEndpointException, AwsServiceException, SdkClientException, OrganizationsException { JsonOperationMetadata operationMetadata = JsonOperationMetadata.builder().hasStreamingSuccessResponse(false) .isPayloadJson(true).build(); HttpResponseHandler responseHandler = protocolFactory.createResponseHandler( operationMetadata, ListDelegatedAdministratorsResponse::builder); HttpResponseHandler errorResponseHandler = createErrorResponseHandler(protocolFactory, operationMetadata); SdkClientConfiguration clientConfiguration = updateSdkClientConfiguration(listDelegatedAdministratorsRequest, this.clientConfiguration); List metricPublishers = resolveMetricPublishers(clientConfiguration, listDelegatedAdministratorsRequest .overrideConfiguration().orElse(null)); MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector .create("ApiCall"); try { apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "Organizations"); apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "ListDelegatedAdministrators"); return clientHandler .execute(new ClientExecutionParams() .withOperationName("ListDelegatedAdministrators").withProtocolMetadata(protocolMetadata) .withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler) .withRequestConfiguration(clientConfiguration).withInput(listDelegatedAdministratorsRequest) .withMetricCollector(apiCallMetricCollector) .withMarshaller(new ListDelegatedAdministratorsRequestMarshaller(protocolFactory))); } finally { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); } } /** *

                                                                                                                    * List the Amazon Web Services services for which the specified account is a delegated administrator. *

                                                                                                                    *

                                                                                                                    * This operation can be called only from the organization's management account or by a member account that is a * delegated administrator for an Amazon Web Services service. *

                                                                                                                    * * @param listDelegatedServicesForAccountRequest * @return Result of the ListDelegatedServicesForAccount operation returned by the service. * @throws AccessDeniedException * You don't have permissions to perform the requested operation. The user or role that is making the * request must have at least one IAM permissions policy attached that grants the required permissions. For * more information, see Access * Management in the IAM User Guide. * @throws AccountNotFoundException * We can't find an Amazon Web Services account with the AccountId that you specified, or the * account whose credentials you used to make this request isn't a member of an organization. * @throws AccountNotRegisteredException * The specified account is not a delegated administrator for this Amazon Web Services service. * @throws AwsOrganizationsNotInUseException * Your account isn't a member of an organization. To make this request, you must use the credentials of an * account that belongs to an organization. * @throws ConstraintViolationException * Performing this operation violates a minimum or maximum value limit. For example, attempting to remove * the last service control policy (SCP) from an OU or root, inviting or creating too many accounts to the * organization, or attaching too many policies to an account, OU, or root. This exception includes a reason * that contains additional information about the violated limit:

                                                                                                                    *

                                                                                                                    * Some of the reasons in the following list might not be applicable to this specific API or operation. *

                                                                                                                    *
                                                                                                                    *
                                                                                                                      *
                                                                                                                    • *

                                                                                                                      * ACCOUNT_CANNOT_LEAVE_ORGANIZATION: You attempted to remove the management account from the organization. * You can't remove the management account. Instead, after you remove all member accounts, delete the * organization itself. *

                                                                                                                      *
                                                                                                                    • *
                                                                                                                    • *

                                                                                                                      * ACCOUNT_CANNOT_LEAVE_WITHOUT_PHONE_VERIFICATION: You attempted to remove an account from the organization * that doesn't yet have enough information to exist as a standalone account. This account requires you to * first complete phone verification. Follow the steps at Removing a member account from your organization in the Organizations User Guide. *

                                                                                                                      *
                                                                                                                    • *
                                                                                                                    • *

                                                                                                                      * ACCOUNT_CREATION_RATE_LIMIT_EXCEEDED: You attempted to exceed the number of accounts that you can create * in one day. *

                                                                                                                      *
                                                                                                                    • *
                                                                                                                    • *

                                                                                                                      * ACCOUNT_CREATION_NOT_COMPLETE: Your account setup isn't complete or your account isn't fully active. You * must complete the account setup before you create an organization. *

                                                                                                                      *
                                                                                                                    • *
                                                                                                                    • *

                                                                                                                      * ACCOUNT_NUMBER_LIMIT_EXCEEDED: You attempted to exceed the limit on the number of accounts in an * organization. If you need more accounts, contact Amazon Web Services Support to request an * increase in your limit. *

                                                                                                                      *

                                                                                                                      * Or the number of invitations that you tried to send would cause you to exceed the limit of accounts in * your organization. Send fewer invitations or contact Amazon Web Services Support to request an increase * in the number of accounts. *

                                                                                                                      * *

                                                                                                                      * Deleted and closed accounts still count toward your limit. *

                                                                                                                      *
                                                                                                                      *

                                                                                                                      * If you get this exception when running a command immediately after creating the organization, wait one * hour and try again. After an hour, if the command continues to fail with this error, contact Amazon Web Services Support. *

                                                                                                                      *
                                                                                                                    • *
                                                                                                                    • *

                                                                                                                      * CANNOT_REGISTER_SUSPENDED_ACCOUNT_AS_DELEGATED_ADMINISTRATOR: You cannot register a suspended account as * a delegated administrator. *

                                                                                                                      *
                                                                                                                    • *
                                                                                                                    • *

                                                                                                                      * CANNOT_REGISTER_MASTER_AS_DELEGATED_ADMINISTRATOR: You attempted to register the management account of * the organization as a delegated administrator for an Amazon Web Services service integrated with * Organizations. You can designate only a member account as a delegated administrator. *

                                                                                                                      *
                                                                                                                    • *
                                                                                                                    • *

                                                                                                                      * CANNOT_CLOSE_MANAGEMENT_ACCOUNT: You attempted to close the management account. To close the management * account for the organization, you must first either remove or close all member accounts in the * organization. Follow standard account closure process using root credentials.​ *

                                                                                                                      *
                                                                                                                    • *
                                                                                                                    • *

                                                                                                                      * CANNOT_REMOVE_DELEGATED_ADMINISTRATOR_FROM_ORG: You attempted to remove an account that is registered as * a delegated administrator for a service integrated with your organization. To complete this operation, * you must first deregister this account as a delegated administrator. *

                                                                                                                      *
                                                                                                                    • *
                                                                                                                    • *

                                                                                                                      * CLOSE_ACCOUNT_QUOTA_EXCEEDED: You have exceeded close account quota for the past 30 days. *

                                                                                                                      *
                                                                                                                    • *
                                                                                                                    • *

                                                                                                                      * CLOSE_ACCOUNT_REQUESTS_LIMIT_EXCEEDED: You attempted to exceed the number of accounts that you can close * at a time. ​ *

                                                                                                                      *
                                                                                                                    • *
                                                                                                                    • *

                                                                                                                      * CREATE_ORGANIZATION_IN_BILLING_MODE_UNSUPPORTED_REGION: To create an organization in the specified * region, you must enable all features mode. *

                                                                                                                      *
                                                                                                                    • *
                                                                                                                    • *

                                                                                                                      * DELEGATED_ADMINISTRATOR_EXISTS_FOR_THIS_SERVICE: You attempted to register an Amazon Web Services account * as a delegated administrator for an Amazon Web Services service that already has a delegated * administrator. To complete this operation, you must first deregister any existing delegated * administrators for this service. *

                                                                                                                      *
                                                                                                                    • *
                                                                                                                    • *

                                                                                                                      * EMAIL_VERIFICATION_CODE_EXPIRED: The email verification code is only valid for a limited period of time. * You must resubmit the request and generate a new verfication code. *

                                                                                                                      *
                                                                                                                    • *
                                                                                                                    • *

                                                                                                                      * HANDSHAKE_RATE_LIMIT_EXCEEDED: You attempted to exceed the number of handshakes that you can send in one * day. *

                                                                                                                      *
                                                                                                                    • *
                                                                                                                    • *

                                                                                                                      * INVALID_PAYMENT_INSTRUMENT: You cannot remove an account because no supported payment method is * associated with the account. Amazon Web Services does not support cards issued by financial institutions * in Russia or Belarus. For more information, see Managing your * Amazon Web Services payments. *

                                                                                                                      *
                                                                                                                    • *
                                                                                                                    • *

                                                                                                                      * MASTER_ACCOUNT_ADDRESS_DOES_NOT_MATCH_MARKETPLACE: To create an account in this organization, you first * must migrate the organization's management account to the marketplace that corresponds to the management * account's address. All accounts in an organization must be associated with the same marketplace. *

                                                                                                                      *
                                                                                                                    • *
                                                                                                                    • *

                                                                                                                      * MASTER_ACCOUNT_MISSING_BUSINESS_LICENSE: Applies only to the Amazon Web Services Regions in China. To * create an organization, the master must have a valid business license. For more information, contact * customer support. *

                                                                                                                      *
                                                                                                                    • *
                                                                                                                    • *

                                                                                                                      * MASTER_ACCOUNT_MISSING_CONTACT_INFO: To complete this operation, you must first provide a valid contact * address and phone number for the management account. Then try the operation again. *

                                                                                                                      *
                                                                                                                    • *
                                                                                                                    • *

                                                                                                                      * MASTER_ACCOUNT_NOT_GOVCLOUD_ENABLED: To complete this operation, the management account must have an * associated account in the Amazon Web Services GovCloud (US-West) Region. For more information, see Organizations * in the Amazon Web Services GovCloud User Guide. *

                                                                                                                      *
                                                                                                                    • *
                                                                                                                    • *

                                                                                                                      * MASTER_ACCOUNT_PAYMENT_INSTRUMENT_REQUIRED: To create an organization with this management account, you * first must associate a valid payment instrument, such as a credit card, with the account. For more * information, see Considerations before removing an account from an organization in the Organizations User * Guide. *

                                                                                                                      *
                                                                                                                    • *
                                                                                                                    • *

                                                                                                                      * MAX_DELEGATED_ADMINISTRATORS_FOR_SERVICE_LIMIT_EXCEEDED: You attempted to register more delegated * administrators than allowed for the service principal. *

                                                                                                                      *
                                                                                                                    • *
                                                                                                                    • *

                                                                                                                      * MAX_POLICY_TYPE_ATTACHMENT_LIMIT_EXCEEDED: You attempted to exceed the number of policies of a certain * type that can be attached to an entity at one time. *

                                                                                                                      *
                                                                                                                    • *
                                                                                                                    • *

                                                                                                                      * MAX_TAG_LIMIT_EXCEEDED: You have exceeded the number of tags allowed on this resource. *

                                                                                                                      *
                                                                                                                    • *
                                                                                                                    • *

                                                                                                                      * MEMBER_ACCOUNT_PAYMENT_INSTRUMENT_REQUIRED: To complete this operation with this member account, you * first must associate a valid payment instrument, such as a credit card, with the account. For more * information, see Considerations before removing an account from an organization in the Organizations User * Guide. *

                                                                                                                      *
                                                                                                                    • *
                                                                                                                    • *

                                                                                                                      * MIN_POLICY_TYPE_ATTACHMENT_LIMIT_EXCEEDED: You attempted to detach a policy from an entity that would * cause the entity to have fewer than the minimum number of policies of a certain type required. *

                                                                                                                      *
                                                                                                                    • *
                                                                                                                    • *

                                                                                                                      * ORGANIZATION_NOT_IN_ALL_FEATURES_MODE: You attempted to perform an operation that requires the * organization to be configured to support all features. An organization that supports only consolidated * billing features can't perform this operation. *

                                                                                                                      *
                                                                                                                    • *
                                                                                                                    • *

                                                                                                                      * OU_DEPTH_LIMIT_EXCEEDED: You attempted to create an OU tree that is too many levels deep. *

                                                                                                                      *
                                                                                                                    • *
                                                                                                                    • *

                                                                                                                      * OU_NUMBER_LIMIT_EXCEEDED: You attempted to exceed the number of OUs that you can have in an organization. *

                                                                                                                      *
                                                                                                                    • *
                                                                                                                    • *

                                                                                                                      * POLICY_CONTENT_LIMIT_EXCEEDED: You attempted to create a policy that is larger than the maximum size. *

                                                                                                                      *
                                                                                                                    • *
                                                                                                                    • *

                                                                                                                      * POLICY_NUMBER_LIMIT_EXCEEDED: You attempted to exceed the number of policies that you can have in an * organization. *

                                                                                                                      *
                                                                                                                    • *
                                                                                                                    • *

                                                                                                                      * SERVICE_ACCESS_NOT_ENABLED: You attempted to register a delegated administrator before you enabled * service access. Call the EnableAWSServiceAccess API first. *

                                                                                                                      *
                                                                                                                    • *
                                                                                                                    • *

                                                                                                                      * TAG_POLICY_VIOLATION: You attempted to create or update a resource with tags that are not compliant with * the tag policy requirements for this account. *

                                                                                                                      *
                                                                                                                    • *
                                                                                                                    • *

                                                                                                                      * WAIT_PERIOD_ACTIVE: After you create an Amazon Web Services account, you must wait until at least seven * days after the account was created. Invited accounts aren't subject to this waiting period. *

                                                                                                                      *
                                                                                                                    • * @throws InvalidInputException * The requested operation failed because you provided invalid values for one or more of the request * parameters. This exception includes a reason that contains additional information about the violated * limit:

                                                                                                                      *

                                                                                                                      * Some of the reasons in the following list might not be applicable to this specific API or operation. *

                                                                                                                      *
                                                                                                                      *
                                                                                                                        *
                                                                                                                      • *

                                                                                                                        * DUPLICATE_TAG_KEY: Tag keys must be unique among the tags attached to the same entity. *

                                                                                                                        *
                                                                                                                      • *
                                                                                                                      • *

                                                                                                                        * IMMUTABLE_POLICY: You specified a policy that is managed by Amazon Web Services and can't be modified. *

                                                                                                                        *
                                                                                                                      • *
                                                                                                                      • *

                                                                                                                        * INPUT_REQUIRED: You must include a value for all required parameters. *

                                                                                                                        *
                                                                                                                      • *
                                                                                                                      • *

                                                                                                                        * INVALID_EMAIL_ADDRESS_TARGET: You specified an invalid email address for the invited account owner. *

                                                                                                                        *
                                                                                                                      • *
                                                                                                                      • *

                                                                                                                        * INVALID_ENUM: You specified an invalid value. *

                                                                                                                        *
                                                                                                                      • *
                                                                                                                      • *

                                                                                                                        * INVALID_ENUM_POLICY_TYPE: You specified an invalid policy type string. *

                                                                                                                        *
                                                                                                                      • *
                                                                                                                      • *

                                                                                                                        * INVALID_FULL_NAME_TARGET: You specified a full name that contains invalid characters. *

                                                                                                                        *
                                                                                                                      • *
                                                                                                                      • *

                                                                                                                        * INVALID_LIST_MEMBER: You provided a list to a parameter that contains at least one invalid value. *

                                                                                                                        *
                                                                                                                      • *
                                                                                                                      • *

                                                                                                                        * INVALID_PAGINATION_TOKEN: Get the value for the NextToken parameter from the response to a * previous call of the operation. *

                                                                                                                        *
                                                                                                                      • *
                                                                                                                      • *

                                                                                                                        * INVALID_PARTY_TYPE_TARGET: You specified the wrong type of entity (account, organization, or email) as a * party. *

                                                                                                                        *
                                                                                                                      • *
                                                                                                                      • *

                                                                                                                        * INVALID_PATTERN: You provided a value that doesn't match the required pattern. *

                                                                                                                        *
                                                                                                                      • *
                                                                                                                      • *

                                                                                                                        * INVALID_PATTERN_TARGET_ID: You specified a policy target ID that doesn't match the required pattern. *

                                                                                                                        *
                                                                                                                      • *
                                                                                                                      • *

                                                                                                                        * INVALID_PRINCIPAL: You specified an invalid principal element in the policy. *

                                                                                                                        *
                                                                                                                      • *
                                                                                                                      • *

                                                                                                                        * INVALID_ROLE_NAME: You provided a role name that isn't valid. A role name can't begin with the reserved * prefix AWSServiceRoleFor. *

                                                                                                                        *
                                                                                                                      • *
                                                                                                                      • *

                                                                                                                        * INVALID_SYNTAX_ORGANIZATION_ARN: You specified an invalid Amazon Resource Name (ARN) for the * organization. *

                                                                                                                        *
                                                                                                                      • *
                                                                                                                      • *

                                                                                                                        * INVALID_SYNTAX_POLICY_ID: You specified an invalid policy ID. *

                                                                                                                        *
                                                                                                                      • *
                                                                                                                      • *

                                                                                                                        * INVALID_SYSTEM_TAGS_PARAMETER: You specified a tag key that is a system tag. You can’t add, edit, or * delete system tag keys because they're reserved for Amazon Web Services use. System tags don’t count * against your tags per resource limit. *

                                                                                                                        *
                                                                                                                      • *
                                                                                                                      • *

                                                                                                                        * MAX_FILTER_LIMIT_EXCEEDED: You can specify only one filter parameter for the operation. *

                                                                                                                        *
                                                                                                                      • *
                                                                                                                      • *

                                                                                                                        * MAX_LENGTH_EXCEEDED: You provided a string parameter that is longer than allowed. *

                                                                                                                        *
                                                                                                                      • *
                                                                                                                      • *

                                                                                                                        * MAX_VALUE_EXCEEDED: You provided a numeric parameter that has a larger value than allowed. *

                                                                                                                        *
                                                                                                                      • *
                                                                                                                      • *

                                                                                                                        * MIN_LENGTH_EXCEEDED: You provided a string parameter that is shorter than allowed. *

                                                                                                                        *
                                                                                                                      • *
                                                                                                                      • *

                                                                                                                        * MIN_VALUE_EXCEEDED: You provided a numeric parameter that has a smaller value than allowed. *

                                                                                                                        *
                                                                                                                      • *
                                                                                                                      • *

                                                                                                                        * MOVING_ACCOUNT_BETWEEN_DIFFERENT_ROOTS: You can move an account only between entities in the same root. *

                                                                                                                        *
                                                                                                                      • *
                                                                                                                      • *

                                                                                                                        * NON_DETACHABLE_POLICY: You can't detach this Amazon Web Services Managed Policy. *

                                                                                                                        *
                                                                                                                      • *
                                                                                                                      • *

                                                                                                                        * TARGET_NOT_SUPPORTED: You can't perform the specified operation on that target entity. *

                                                                                                                        *
                                                                                                                      • *
                                                                                                                      • *

                                                                                                                        * UNRECOGNIZED_SERVICE_PRINCIPAL: You specified a service principal that isn't recognized. *

                                                                                                                        *
                                                                                                                      • * @throws TooManyRequestsException * You have sent too many requests in too short a period of time. The quota helps protect against * denial-of-service attacks. Try again later.

                                                                                                                        *

                                                                                                                        * For information about quotas that affect Organizations, see Quotas for * Organizations in the Organizations User Guide. * @throws ServiceException * Organizations can't complete your request because of an internal service error. Try again later. * @throws UnsupportedApiEndpointException * This action isn't available in the current Amazon Web Services Region. * @throws SdkException * Base class for all exceptions that can be thrown by the SDK (both service and client). Can be used for * catch all scenarios. * @throws SdkClientException * If any client side error occurs such as an IO related failure, failure to get credentials, etc. * @throws OrganizationsException * Base class for all service exceptions. Unknown exceptions will be thrown as an instance of this type. * @sample OrganizationsClient.ListDelegatedServicesForAccount * @see AWS API Documentation */ @Override public ListDelegatedServicesForAccountResponse listDelegatedServicesForAccount( ListDelegatedServicesForAccountRequest listDelegatedServicesForAccountRequest) throws AccessDeniedException, AccountNotFoundException, AccountNotRegisteredException, AwsOrganizationsNotInUseException, ConstraintViolationException, InvalidInputException, TooManyRequestsException, ServiceException, UnsupportedApiEndpointException, AwsServiceException, SdkClientException, OrganizationsException { JsonOperationMetadata operationMetadata = JsonOperationMetadata.builder().hasStreamingSuccessResponse(false) .isPayloadJson(true).build(); HttpResponseHandler responseHandler = protocolFactory.createResponseHandler( operationMetadata, ListDelegatedServicesForAccountResponse::builder); HttpResponseHandler errorResponseHandler = createErrorResponseHandler(protocolFactory, operationMetadata); SdkClientConfiguration clientConfiguration = updateSdkClientConfiguration(listDelegatedServicesForAccountRequest, this.clientConfiguration); List metricPublishers = resolveMetricPublishers(clientConfiguration, listDelegatedServicesForAccountRequest.overrideConfiguration().orElse(null)); MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector .create("ApiCall"); try { apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "Organizations"); apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "ListDelegatedServicesForAccount"); return clientHandler .execute(new ClientExecutionParams() .withOperationName("ListDelegatedServicesForAccount").withProtocolMetadata(protocolMetadata) .withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler) .withRequestConfiguration(clientConfiguration).withInput(listDelegatedServicesForAccountRequest) .withMetricCollector(apiCallMetricCollector) .withMarshaller(new ListDelegatedServicesForAccountRequestMarshaller(protocolFactory))); } finally { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); } } /** *

                                                                                                                        * Lists the current handshakes that are associated with the account of the requesting user. *

                                                                                                                        *

                                                                                                                        * Handshakes that are ACCEPTED, DECLINED, CANCELED, or EXPIRED * appear in the results of this API for only 30 days after changing to that state. After that, they're deleted and * no longer accessible. *

                                                                                                                        * *

                                                                                                                        * Always check the NextToken response parameter for a null value when calling a * List* operation. These operations can occasionally return an empty set of results even when there * are more results available. The NextToken response parameter value is null only * when there are no more results to display. *

                                                                                                                        *
                                                                                                                        *

                                                                                                                        * This operation can be called from any account in the organization. *

                                                                                                                        * * @param listHandshakesForAccountRequest * @return Result of the ListHandshakesForAccount operation returned by the service. * @throws AccessDeniedException * You don't have permissions to perform the requested operation. The user or role that is making the * request must have at least one IAM permissions policy attached that grants the required permissions. For * more information, see Access * Management in the IAM User Guide. * @throws ConcurrentModificationException * The target of the operation is currently being modified by a different request. Try again later. * @throws InvalidInputException * The requested operation failed because you provided invalid values for one or more of the request * parameters. This exception includes a reason that contains additional information about the violated * limit:

                                                                                                                        *

                                                                                                                        * Some of the reasons in the following list might not be applicable to this specific API or operation. *

                                                                                                                        *
                                                                                                                        *
                                                                                                                          *
                                                                                                                        • *

                                                                                                                          * DUPLICATE_TAG_KEY: Tag keys must be unique among the tags attached to the same entity. *

                                                                                                                          *
                                                                                                                        • *
                                                                                                                        • *

                                                                                                                          * IMMUTABLE_POLICY: You specified a policy that is managed by Amazon Web Services and can't be modified. *

                                                                                                                          *
                                                                                                                        • *
                                                                                                                        • *

                                                                                                                          * INPUT_REQUIRED: You must include a value for all required parameters. *

                                                                                                                          *
                                                                                                                        • *
                                                                                                                        • *

                                                                                                                          * INVALID_EMAIL_ADDRESS_TARGET: You specified an invalid email address for the invited account owner. *

                                                                                                                          *
                                                                                                                        • *
                                                                                                                        • *

                                                                                                                          * INVALID_ENUM: You specified an invalid value. *

                                                                                                                          *
                                                                                                                        • *
                                                                                                                        • *

                                                                                                                          * INVALID_ENUM_POLICY_TYPE: You specified an invalid policy type string. *

                                                                                                                          *
                                                                                                                        • *
                                                                                                                        • *

                                                                                                                          * INVALID_FULL_NAME_TARGET: You specified a full name that contains invalid characters. *

                                                                                                                          *
                                                                                                                        • *
                                                                                                                        • *

                                                                                                                          * INVALID_LIST_MEMBER: You provided a list to a parameter that contains at least one invalid value. *

                                                                                                                          *
                                                                                                                        • *
                                                                                                                        • *

                                                                                                                          * INVALID_PAGINATION_TOKEN: Get the value for the NextToken parameter from the response to a * previous call of the operation. *

                                                                                                                          *
                                                                                                                        • *
                                                                                                                        • *

                                                                                                                          * INVALID_PARTY_TYPE_TARGET: You specified the wrong type of entity (account, organization, or email) as a * party. *

                                                                                                                          *
                                                                                                                        • *
                                                                                                                        • *

                                                                                                                          * INVALID_PATTERN: You provided a value that doesn't match the required pattern. *

                                                                                                                          *
                                                                                                                        • *
                                                                                                                        • *

                                                                                                                          * INVALID_PATTERN_TARGET_ID: You specified a policy target ID that doesn't match the required pattern. *

                                                                                                                          *
                                                                                                                        • *
                                                                                                                        • *

                                                                                                                          * INVALID_PRINCIPAL: You specified an invalid principal element in the policy. *

                                                                                                                          *
                                                                                                                        • *
                                                                                                                        • *

                                                                                                                          * INVALID_ROLE_NAME: You provided a role name that isn't valid. A role name can't begin with the reserved * prefix AWSServiceRoleFor. *

                                                                                                                          *
                                                                                                                        • *
                                                                                                                        • *

                                                                                                                          * INVALID_SYNTAX_ORGANIZATION_ARN: You specified an invalid Amazon Resource Name (ARN) for the * organization. *

                                                                                                                          *
                                                                                                                        • *
                                                                                                                        • *

                                                                                                                          * INVALID_SYNTAX_POLICY_ID: You specified an invalid policy ID. *

                                                                                                                          *
                                                                                                                        • *
                                                                                                                        • *

                                                                                                                          * INVALID_SYSTEM_TAGS_PARAMETER: You specified a tag key that is a system tag. You can’t add, edit, or * delete system tag keys because they're reserved for Amazon Web Services use. System tags don’t count * against your tags per resource limit. *

                                                                                                                          *
                                                                                                                        • *
                                                                                                                        • *

                                                                                                                          * MAX_FILTER_LIMIT_EXCEEDED: You can specify only one filter parameter for the operation. *

                                                                                                                          *
                                                                                                                        • *
                                                                                                                        • *

                                                                                                                          * MAX_LENGTH_EXCEEDED: You provided a string parameter that is longer than allowed. *

                                                                                                                          *
                                                                                                                        • *
                                                                                                                        • *

                                                                                                                          * MAX_VALUE_EXCEEDED: You provided a numeric parameter that has a larger value than allowed. *

                                                                                                                          *
                                                                                                                        • *
                                                                                                                        • *

                                                                                                                          * MIN_LENGTH_EXCEEDED: You provided a string parameter that is shorter than allowed. *

                                                                                                                          *
                                                                                                                        • *
                                                                                                                        • *

                                                                                                                          * MIN_VALUE_EXCEEDED: You provided a numeric parameter that has a smaller value than allowed. *

                                                                                                                          *
                                                                                                                        • *
                                                                                                                        • *

                                                                                                                          * MOVING_ACCOUNT_BETWEEN_DIFFERENT_ROOTS: You can move an account only between entities in the same root. *

                                                                                                                          *
                                                                                                                        • *
                                                                                                                        • *

                                                                                                                          * NON_DETACHABLE_POLICY: You can't detach this Amazon Web Services Managed Policy. *

                                                                                                                          *
                                                                                                                        • *
                                                                                                                        • *

                                                                                                                          * TARGET_NOT_SUPPORTED: You can't perform the specified operation on that target entity. *

                                                                                                                          *
                                                                                                                        • *
                                                                                                                        • *

                                                                                                                          * UNRECOGNIZED_SERVICE_PRINCIPAL: You specified a service principal that isn't recognized. *

                                                                                                                          *
                                                                                                                        • * @throws ServiceException * Organizations can't complete your request because of an internal service error. Try again later. * @throws TooManyRequestsException * You have sent too many requests in too short a period of time. The quota helps protect against * denial-of-service attacks. Try again later.

                                                                                                                          *

                                                                                                                          * For information about quotas that affect Organizations, see Quotas for * Organizations in the Organizations User Guide. * @throws SdkException * Base class for all exceptions that can be thrown by the SDK (both service and client). Can be used for * catch all scenarios. * @throws SdkClientException * If any client side error occurs such as an IO related failure, failure to get credentials, etc. * @throws OrganizationsException * Base class for all service exceptions. Unknown exceptions will be thrown as an instance of this type. * @sample OrganizationsClient.ListHandshakesForAccount * @see AWS API Documentation */ @Override public ListHandshakesForAccountResponse listHandshakesForAccount( ListHandshakesForAccountRequest listHandshakesForAccountRequest) throws AccessDeniedException, ConcurrentModificationException, InvalidInputException, ServiceException, TooManyRequestsException, AwsServiceException, SdkClientException, OrganizationsException { JsonOperationMetadata operationMetadata = JsonOperationMetadata.builder().hasStreamingSuccessResponse(false) .isPayloadJson(true).build(); HttpResponseHandler responseHandler = protocolFactory.createResponseHandler( operationMetadata, ListHandshakesForAccountResponse::builder); HttpResponseHandler errorResponseHandler = createErrorResponseHandler(protocolFactory, operationMetadata); SdkClientConfiguration clientConfiguration = updateSdkClientConfiguration(listHandshakesForAccountRequest, this.clientConfiguration); List metricPublishers = resolveMetricPublishers(clientConfiguration, listHandshakesForAccountRequest .overrideConfiguration().orElse(null)); MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector .create("ApiCall"); try { apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "Organizations"); apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "ListHandshakesForAccount"); return clientHandler .execute(new ClientExecutionParams() .withOperationName("ListHandshakesForAccount").withProtocolMetadata(protocolMetadata) .withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler) .withRequestConfiguration(clientConfiguration).withInput(listHandshakesForAccountRequest) .withMetricCollector(apiCallMetricCollector) .withMarshaller(new ListHandshakesForAccountRequestMarshaller(protocolFactory))); } finally { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); } } /** *

                                                                                                                          * Lists the handshakes that are associated with the organization that the requesting user is part of. The * ListHandshakesForOrganization operation returns a list of handshake structures. Each structure * contains details and status about a handshake. *

                                                                                                                          *

                                                                                                                          * Handshakes that are ACCEPTED, DECLINED, CANCELED, or EXPIRED * appear in the results of this API for only 30 days after changing to that state. After that, they're deleted and * no longer accessible. *

                                                                                                                          * *

                                                                                                                          * Always check the NextToken response parameter for a null value when calling a * List* operation. These operations can occasionally return an empty set of results even when there * are more results available. The NextToken response parameter value is null only * when there are no more results to display. *

                                                                                                                          *
                                                                                                                          *

                                                                                                                          * This operation can be called only from the organization's management account or by a member account that is a * delegated administrator for an Amazon Web Services service. *

                                                                                                                          * * @param listHandshakesForOrganizationRequest * @return Result of the ListHandshakesForOrganization operation returned by the service. * @throws AccessDeniedException * You don't have permissions to perform the requested operation. The user or role that is making the * request must have at least one IAM permissions policy attached that grants the required permissions. For * more information, see Access * Management in the IAM User Guide. * @throws AwsOrganizationsNotInUseException * Your account isn't a member of an organization. To make this request, you must use the credentials of an * account that belongs to an organization. * @throws ConcurrentModificationException * The target of the operation is currently being modified by a different request. Try again later. * @throws InvalidInputException * The requested operation failed because you provided invalid values for one or more of the request * parameters. This exception includes a reason that contains additional information about the violated * limit:

                                                                                                                          *

                                                                                                                          * Some of the reasons in the following list might not be applicable to this specific API or operation. *

                                                                                                                          *
                                                                                                                          *
                                                                                                                            *
                                                                                                                          • *

                                                                                                                            * DUPLICATE_TAG_KEY: Tag keys must be unique among the tags attached to the same entity. *

                                                                                                                            *
                                                                                                                          • *
                                                                                                                          • *

                                                                                                                            * IMMUTABLE_POLICY: You specified a policy that is managed by Amazon Web Services and can't be modified. *

                                                                                                                            *
                                                                                                                          • *
                                                                                                                          • *

                                                                                                                            * INPUT_REQUIRED: You must include a value for all required parameters. *

                                                                                                                            *
                                                                                                                          • *
                                                                                                                          • *

                                                                                                                            * INVALID_EMAIL_ADDRESS_TARGET: You specified an invalid email address for the invited account owner. *

                                                                                                                            *
                                                                                                                          • *
                                                                                                                          • *

                                                                                                                            * INVALID_ENUM: You specified an invalid value. *

                                                                                                                            *
                                                                                                                          • *
                                                                                                                          • *

                                                                                                                            * INVALID_ENUM_POLICY_TYPE: You specified an invalid policy type string. *

                                                                                                                            *
                                                                                                                          • *
                                                                                                                          • *

                                                                                                                            * INVALID_FULL_NAME_TARGET: You specified a full name that contains invalid characters. *

                                                                                                                            *
                                                                                                                          • *
                                                                                                                          • *

                                                                                                                            * INVALID_LIST_MEMBER: You provided a list to a parameter that contains at least one invalid value. *

                                                                                                                            *
                                                                                                                          • *
                                                                                                                          • *

                                                                                                                            * INVALID_PAGINATION_TOKEN: Get the value for the NextToken parameter from the response to a * previous call of the operation. *

                                                                                                                            *
                                                                                                                          • *
                                                                                                                          • *

                                                                                                                            * INVALID_PARTY_TYPE_TARGET: You specified the wrong type of entity (account, organization, or email) as a * party. *

                                                                                                                            *
                                                                                                                          • *
                                                                                                                          • *

                                                                                                                            * INVALID_PATTERN: You provided a value that doesn't match the required pattern. *

                                                                                                                            *
                                                                                                                          • *
                                                                                                                          • *

                                                                                                                            * INVALID_PATTERN_TARGET_ID: You specified a policy target ID that doesn't match the required pattern. *

                                                                                                                            *
                                                                                                                          • *
                                                                                                                          • *

                                                                                                                            * INVALID_PRINCIPAL: You specified an invalid principal element in the policy. *

                                                                                                                            *
                                                                                                                          • *
                                                                                                                          • *

                                                                                                                            * INVALID_ROLE_NAME: You provided a role name that isn't valid. A role name can't begin with the reserved * prefix AWSServiceRoleFor. *

                                                                                                                            *
                                                                                                                          • *
                                                                                                                          • *

                                                                                                                            * INVALID_SYNTAX_ORGANIZATION_ARN: You specified an invalid Amazon Resource Name (ARN) for the * organization. *

                                                                                                                            *
                                                                                                                          • *
                                                                                                                          • *

                                                                                                                            * INVALID_SYNTAX_POLICY_ID: You specified an invalid policy ID. *

                                                                                                                            *
                                                                                                                          • *
                                                                                                                          • *

                                                                                                                            * INVALID_SYSTEM_TAGS_PARAMETER: You specified a tag key that is a system tag. You can’t add, edit, or * delete system tag keys because they're reserved for Amazon Web Services use. System tags don’t count * against your tags per resource limit. *

                                                                                                                            *
                                                                                                                          • *
                                                                                                                          • *

                                                                                                                            * MAX_FILTER_LIMIT_EXCEEDED: You can specify only one filter parameter for the operation. *

                                                                                                                            *
                                                                                                                          • *
                                                                                                                          • *

                                                                                                                            * MAX_LENGTH_EXCEEDED: You provided a string parameter that is longer than allowed. *

                                                                                                                            *
                                                                                                                          • *
                                                                                                                          • *

                                                                                                                            * MAX_VALUE_EXCEEDED: You provided a numeric parameter that has a larger value than allowed. *

                                                                                                                            *
                                                                                                                          • *
                                                                                                                          • *

                                                                                                                            * MIN_LENGTH_EXCEEDED: You provided a string parameter that is shorter than allowed. *

                                                                                                                            *
                                                                                                                          • *
                                                                                                                          • *

                                                                                                                            * MIN_VALUE_EXCEEDED: You provided a numeric parameter that has a smaller value than allowed. *

                                                                                                                            *
                                                                                                                          • *
                                                                                                                          • *

                                                                                                                            * MOVING_ACCOUNT_BETWEEN_DIFFERENT_ROOTS: You can move an account only between entities in the same root. *

                                                                                                                            *
                                                                                                                          • *
                                                                                                                          • *

                                                                                                                            * NON_DETACHABLE_POLICY: You can't detach this Amazon Web Services Managed Policy. *

                                                                                                                            *
                                                                                                                          • *
                                                                                                                          • *

                                                                                                                            * TARGET_NOT_SUPPORTED: You can't perform the specified operation on that target entity. *

                                                                                                                            *
                                                                                                                          • *
                                                                                                                          • *

                                                                                                                            * UNRECOGNIZED_SERVICE_PRINCIPAL: You specified a service principal that isn't recognized. *

                                                                                                                            *
                                                                                                                          • * @throws ServiceException * Organizations can't complete your request because of an internal service error. Try again later. * @throws TooManyRequestsException * You have sent too many requests in too short a period of time. The quota helps protect against * denial-of-service attacks. Try again later.

                                                                                                                            *

                                                                                                                            * For information about quotas that affect Organizations, see Quotas for * Organizations in the Organizations User Guide. * @throws SdkException * Base class for all exceptions that can be thrown by the SDK (both service and client). Can be used for * catch all scenarios. * @throws SdkClientException * If any client side error occurs such as an IO related failure, failure to get credentials, etc. * @throws OrganizationsException * Base class for all service exceptions. Unknown exceptions will be thrown as an instance of this type. * @sample OrganizationsClient.ListHandshakesForOrganization * @see AWS API Documentation */ @Override public ListHandshakesForOrganizationResponse listHandshakesForOrganization( ListHandshakesForOrganizationRequest listHandshakesForOrganizationRequest) throws AccessDeniedException, AwsOrganizationsNotInUseException, ConcurrentModificationException, InvalidInputException, ServiceException, TooManyRequestsException, AwsServiceException, SdkClientException, OrganizationsException { JsonOperationMetadata operationMetadata = JsonOperationMetadata.builder().hasStreamingSuccessResponse(false) .isPayloadJson(true).build(); HttpResponseHandler responseHandler = protocolFactory.createResponseHandler( operationMetadata, ListHandshakesForOrganizationResponse::builder); HttpResponseHandler errorResponseHandler = createErrorResponseHandler(protocolFactory, operationMetadata); SdkClientConfiguration clientConfiguration = updateSdkClientConfiguration(listHandshakesForOrganizationRequest, this.clientConfiguration); List metricPublishers = resolveMetricPublishers(clientConfiguration, listHandshakesForOrganizationRequest.overrideConfiguration().orElse(null)); MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector .create("ApiCall"); try { apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "Organizations"); apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "ListHandshakesForOrganization"); return clientHandler .execute(new ClientExecutionParams() .withOperationName("ListHandshakesForOrganization").withProtocolMetadata(protocolMetadata) .withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler) .withRequestConfiguration(clientConfiguration).withInput(listHandshakesForOrganizationRequest) .withMetricCollector(apiCallMetricCollector) .withMarshaller(new ListHandshakesForOrganizationRequestMarshaller(protocolFactory))); } finally { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); } } /** *

                                                                                                                            * Lists the organizational units (OUs) in a parent organizational unit or root. *

                                                                                                                            * *

                                                                                                                            * Always check the NextToken response parameter for a null value when calling a * List* operation. These operations can occasionally return an empty set of results even when there * are more results available. The NextToken response parameter value is null only * when there are no more results to display. *

                                                                                                                            *
                                                                                                                            *

                                                                                                                            * This operation can be called only from the organization's management account or by a member account that is a * delegated administrator for an Amazon Web Services service. *

                                                                                                                            * * @param listOrganizationalUnitsForParentRequest * @return Result of the ListOrganizationalUnitsForParent operation returned by the service. * @throws AccessDeniedException * You don't have permissions to perform the requested operation. The user or role that is making the * request must have at least one IAM permissions policy attached that grants the required permissions. For * more information, see Access * Management in the IAM User Guide. * @throws AwsOrganizationsNotInUseException * Your account isn't a member of an organization. To make this request, you must use the credentials of an * account that belongs to an organization. * @throws InvalidInputException * The requested operation failed because you provided invalid values for one or more of the request * parameters. This exception includes a reason that contains additional information about the violated * limit:

                                                                                                                            *

                                                                                                                            * Some of the reasons in the following list might not be applicable to this specific API or operation. *

                                                                                                                            *
                                                                                                                            *
                                                                                                                              *
                                                                                                                            • *

                                                                                                                              * DUPLICATE_TAG_KEY: Tag keys must be unique among the tags attached to the same entity. *

                                                                                                                              *
                                                                                                                            • *
                                                                                                                            • *

                                                                                                                              * IMMUTABLE_POLICY: You specified a policy that is managed by Amazon Web Services and can't be modified. *

                                                                                                                              *
                                                                                                                            • *
                                                                                                                            • *

                                                                                                                              * INPUT_REQUIRED: You must include a value for all required parameters. *

                                                                                                                              *
                                                                                                                            • *
                                                                                                                            • *

                                                                                                                              * INVALID_EMAIL_ADDRESS_TARGET: You specified an invalid email address for the invited account owner. *

                                                                                                                              *
                                                                                                                            • *
                                                                                                                            • *

                                                                                                                              * INVALID_ENUM: You specified an invalid value. *

                                                                                                                              *
                                                                                                                            • *
                                                                                                                            • *

                                                                                                                              * INVALID_ENUM_POLICY_TYPE: You specified an invalid policy type string. *

                                                                                                                              *
                                                                                                                            • *
                                                                                                                            • *

                                                                                                                              * INVALID_FULL_NAME_TARGET: You specified a full name that contains invalid characters. *

                                                                                                                              *
                                                                                                                            • *
                                                                                                                            • *

                                                                                                                              * INVALID_LIST_MEMBER: You provided a list to a parameter that contains at least one invalid value. *

                                                                                                                              *
                                                                                                                            • *
                                                                                                                            • *

                                                                                                                              * INVALID_PAGINATION_TOKEN: Get the value for the NextToken parameter from the response to a * previous call of the operation. *

                                                                                                                              *
                                                                                                                            • *
                                                                                                                            • *

                                                                                                                              * INVALID_PARTY_TYPE_TARGET: You specified the wrong type of entity (account, organization, or email) as a * party. *

                                                                                                                              *
                                                                                                                            • *
                                                                                                                            • *

                                                                                                                              * INVALID_PATTERN: You provided a value that doesn't match the required pattern. *

                                                                                                                              *
                                                                                                                            • *
                                                                                                                            • *

                                                                                                                              * INVALID_PATTERN_TARGET_ID: You specified a policy target ID that doesn't match the required pattern. *

                                                                                                                              *
                                                                                                                            • *
                                                                                                                            • *

                                                                                                                              * INVALID_PRINCIPAL: You specified an invalid principal element in the policy. *

                                                                                                                              *
                                                                                                                            • *
                                                                                                                            • *

                                                                                                                              * INVALID_ROLE_NAME: You provided a role name that isn't valid. A role name can't begin with the reserved * prefix AWSServiceRoleFor. *

                                                                                                                              *
                                                                                                                            • *
                                                                                                                            • *

                                                                                                                              * INVALID_SYNTAX_ORGANIZATION_ARN: You specified an invalid Amazon Resource Name (ARN) for the * organization. *

                                                                                                                              *
                                                                                                                            • *
                                                                                                                            • *

                                                                                                                              * INVALID_SYNTAX_POLICY_ID: You specified an invalid policy ID. *

                                                                                                                              *
                                                                                                                            • *
                                                                                                                            • *

                                                                                                                              * INVALID_SYSTEM_TAGS_PARAMETER: You specified a tag key that is a system tag. You can’t add, edit, or * delete system tag keys because they're reserved for Amazon Web Services use. System tags don’t count * against your tags per resource limit. *

                                                                                                                              *
                                                                                                                            • *
                                                                                                                            • *

                                                                                                                              * MAX_FILTER_LIMIT_EXCEEDED: You can specify only one filter parameter for the operation. *

                                                                                                                              *
                                                                                                                            • *
                                                                                                                            • *

                                                                                                                              * MAX_LENGTH_EXCEEDED: You provided a string parameter that is longer than allowed. *

                                                                                                                              *
                                                                                                                            • *
                                                                                                                            • *

                                                                                                                              * MAX_VALUE_EXCEEDED: You provided a numeric parameter that has a larger value than allowed. *

                                                                                                                              *
                                                                                                                            • *
                                                                                                                            • *

                                                                                                                              * MIN_LENGTH_EXCEEDED: You provided a string parameter that is shorter than allowed. *

                                                                                                                              *
                                                                                                                            • *
                                                                                                                            • *

                                                                                                                              * MIN_VALUE_EXCEEDED: You provided a numeric parameter that has a smaller value than allowed. *

                                                                                                                              *
                                                                                                                            • *
                                                                                                                            • *

                                                                                                                              * MOVING_ACCOUNT_BETWEEN_DIFFERENT_ROOTS: You can move an account only between entities in the same root. *

                                                                                                                              *
                                                                                                                            • *
                                                                                                                            • *

                                                                                                                              * NON_DETACHABLE_POLICY: You can't detach this Amazon Web Services Managed Policy. *

                                                                                                                              *
                                                                                                                            • *
                                                                                                                            • *

                                                                                                                              * TARGET_NOT_SUPPORTED: You can't perform the specified operation on that target entity. *

                                                                                                                              *
                                                                                                                            • *
                                                                                                                            • *

                                                                                                                              * UNRECOGNIZED_SERVICE_PRINCIPAL: You specified a service principal that isn't recognized. *

                                                                                                                              *
                                                                                                                            • * @throws ParentNotFoundException * We can't find a root or OU with the ParentId that you specified. * @throws ServiceException * Organizations can't complete your request because of an internal service error. Try again later. * @throws TooManyRequestsException * You have sent too many requests in too short a period of time. The quota helps protect against * denial-of-service attacks. Try again later.

                                                                                                                              *

                                                                                                                              * For information about quotas that affect Organizations, see Quotas for * Organizations in the Organizations User Guide. * @throws SdkException * Base class for all exceptions that can be thrown by the SDK (both service and client). Can be used for * catch all scenarios. * @throws SdkClientException * If any client side error occurs such as an IO related failure, failure to get credentials, etc. * @throws OrganizationsException * Base class for all service exceptions. Unknown exceptions will be thrown as an instance of this type. * @sample OrganizationsClient.ListOrganizationalUnitsForParent * @see AWS API Documentation */ @Override public ListOrganizationalUnitsForParentResponse listOrganizationalUnitsForParent( ListOrganizationalUnitsForParentRequest listOrganizationalUnitsForParentRequest) throws AccessDeniedException, AwsOrganizationsNotInUseException, InvalidInputException, ParentNotFoundException, ServiceException, TooManyRequestsException, AwsServiceException, SdkClientException, OrganizationsException { JsonOperationMetadata operationMetadata = JsonOperationMetadata.builder().hasStreamingSuccessResponse(false) .isPayloadJson(true).build(); HttpResponseHandler responseHandler = protocolFactory.createResponseHandler( operationMetadata, ListOrganizationalUnitsForParentResponse::builder); HttpResponseHandler errorResponseHandler = createErrorResponseHandler(protocolFactory, operationMetadata); SdkClientConfiguration clientConfiguration = updateSdkClientConfiguration(listOrganizationalUnitsForParentRequest, this.clientConfiguration); List metricPublishers = resolveMetricPublishers(clientConfiguration, listOrganizationalUnitsForParentRequest.overrideConfiguration().orElse(null)); MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector .create("ApiCall"); try { apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "Organizations"); apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "ListOrganizationalUnitsForParent"); return clientHandler .execute(new ClientExecutionParams() .withOperationName("ListOrganizationalUnitsForParent").withProtocolMetadata(protocolMetadata) .withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler) .withRequestConfiguration(clientConfiguration).withInput(listOrganizationalUnitsForParentRequest) .withMetricCollector(apiCallMetricCollector) .withMarshaller(new ListOrganizationalUnitsForParentRequestMarshaller(protocolFactory))); } finally { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); } } /** *

                                                                                                                              * Lists the root or organizational units (OUs) that serve as the immediate parent of the specified child OU or * account. This operation, along with ListChildren enables you to traverse the tree structure that makes up * this root. *

                                                                                                                              * *

                                                                                                                              * Always check the NextToken response parameter for a null value when calling a * List* operation. These operations can occasionally return an empty set of results even when there * are more results available. The NextToken response parameter value is null only * when there are no more results to display. *

                                                                                                                              *
                                                                                                                              *

                                                                                                                              * This operation can be called only from the organization's management account or by a member account that is a * delegated administrator for an Amazon Web Services service. *

                                                                                                                              * *

                                                                                                                              * In the current release, a child can have only a single parent. *

                                                                                                                              *
                                                                                                                              * * @param listParentsRequest * @return Result of the ListParents operation returned by the service. * @throws AccessDeniedException * You don't have permissions to perform the requested operation. The user or role that is making the * request must have at least one IAM permissions policy attached that grants the required permissions. For * more information, see Access * Management in the IAM User Guide. * @throws AwsOrganizationsNotInUseException * Your account isn't a member of an organization. To make this request, you must use the credentials of an * account that belongs to an organization. * @throws ChildNotFoundException * We can't find an organizational unit (OU) or Amazon Web Services account with the ChildId * that you specified. * @throws InvalidInputException * The requested operation failed because you provided invalid values for one or more of the request * parameters. This exception includes a reason that contains additional information about the violated * limit:

                                                                                                                              *

                                                                                                                              * Some of the reasons in the following list might not be applicable to this specific API or operation. *

                                                                                                                              *
                                                                                                                              *
                                                                                                                                *
                                                                                                                              • *

                                                                                                                                * DUPLICATE_TAG_KEY: Tag keys must be unique among the tags attached to the same entity. *

                                                                                                                                *
                                                                                                                              • *
                                                                                                                              • *

                                                                                                                                * IMMUTABLE_POLICY: You specified a policy that is managed by Amazon Web Services and can't be modified. *

                                                                                                                                *
                                                                                                                              • *
                                                                                                                              • *

                                                                                                                                * INPUT_REQUIRED: You must include a value for all required parameters. *

                                                                                                                                *
                                                                                                                              • *
                                                                                                                              • *

                                                                                                                                * INVALID_EMAIL_ADDRESS_TARGET: You specified an invalid email address for the invited account owner. *

                                                                                                                                *
                                                                                                                              • *
                                                                                                                              • *

                                                                                                                                * INVALID_ENUM: You specified an invalid value. *

                                                                                                                                *
                                                                                                                              • *
                                                                                                                              • *

                                                                                                                                * INVALID_ENUM_POLICY_TYPE: You specified an invalid policy type string. *

                                                                                                                                *
                                                                                                                              • *
                                                                                                                              • *

                                                                                                                                * INVALID_FULL_NAME_TARGET: You specified a full name that contains invalid characters. *

                                                                                                                                *
                                                                                                                              • *
                                                                                                                              • *

                                                                                                                                * INVALID_LIST_MEMBER: You provided a list to a parameter that contains at least one invalid value. *

                                                                                                                                *
                                                                                                                              • *
                                                                                                                              • *

                                                                                                                                * INVALID_PAGINATION_TOKEN: Get the value for the NextToken parameter from the response to a * previous call of the operation. *

                                                                                                                                *
                                                                                                                              • *
                                                                                                                              • *

                                                                                                                                * INVALID_PARTY_TYPE_TARGET: You specified the wrong type of entity (account, organization, or email) as a * party. *

                                                                                                                                *
                                                                                                                              • *
                                                                                                                              • *

                                                                                                                                * INVALID_PATTERN: You provided a value that doesn't match the required pattern. *

                                                                                                                                *
                                                                                                                              • *
                                                                                                                              • *

                                                                                                                                * INVALID_PATTERN_TARGET_ID: You specified a policy target ID that doesn't match the required pattern. *

                                                                                                                                *
                                                                                                                              • *
                                                                                                                              • *

                                                                                                                                * INVALID_PRINCIPAL: You specified an invalid principal element in the policy. *

                                                                                                                                *
                                                                                                                              • *
                                                                                                                              • *

                                                                                                                                * INVALID_ROLE_NAME: You provided a role name that isn't valid. A role name can't begin with the reserved * prefix AWSServiceRoleFor. *

                                                                                                                                *
                                                                                                                              • *
                                                                                                                              • *

                                                                                                                                * INVALID_SYNTAX_ORGANIZATION_ARN: You specified an invalid Amazon Resource Name (ARN) for the * organization. *

                                                                                                                                *
                                                                                                                              • *
                                                                                                                              • *

                                                                                                                                * INVALID_SYNTAX_POLICY_ID: You specified an invalid policy ID. *

                                                                                                                                *
                                                                                                                              • *
                                                                                                                              • *

                                                                                                                                * INVALID_SYSTEM_TAGS_PARAMETER: You specified a tag key that is a system tag. You can’t add, edit, or * delete system tag keys because they're reserved for Amazon Web Services use. System tags don’t count * against your tags per resource limit. *

                                                                                                                                *
                                                                                                                              • *
                                                                                                                              • *

                                                                                                                                * MAX_FILTER_LIMIT_EXCEEDED: You can specify only one filter parameter for the operation. *

                                                                                                                                *
                                                                                                                              • *
                                                                                                                              • *

                                                                                                                                * MAX_LENGTH_EXCEEDED: You provided a string parameter that is longer than allowed. *

                                                                                                                                *
                                                                                                                              • *
                                                                                                                              • *

                                                                                                                                * MAX_VALUE_EXCEEDED: You provided a numeric parameter that has a larger value than allowed. *

                                                                                                                                *
                                                                                                                              • *
                                                                                                                              • *

                                                                                                                                * MIN_LENGTH_EXCEEDED: You provided a string parameter that is shorter than allowed. *

                                                                                                                                *
                                                                                                                              • *
                                                                                                                              • *

                                                                                                                                * MIN_VALUE_EXCEEDED: You provided a numeric parameter that has a smaller value than allowed. *

                                                                                                                                *
                                                                                                                              • *
                                                                                                                              • *

                                                                                                                                * MOVING_ACCOUNT_BETWEEN_DIFFERENT_ROOTS: You can move an account only between entities in the same root. *

                                                                                                                                *
                                                                                                                              • *
                                                                                                                              • *

                                                                                                                                * NON_DETACHABLE_POLICY: You can't detach this Amazon Web Services Managed Policy. *

                                                                                                                                *
                                                                                                                              • *
                                                                                                                              • *

                                                                                                                                * TARGET_NOT_SUPPORTED: You can't perform the specified operation on that target entity. *

                                                                                                                                *
                                                                                                                              • *
                                                                                                                              • *

                                                                                                                                * UNRECOGNIZED_SERVICE_PRINCIPAL: You specified a service principal that isn't recognized. *

                                                                                                                                *
                                                                                                                              • * @throws ServiceException * Organizations can't complete your request because of an internal service error. Try again later. * @throws TooManyRequestsException * You have sent too many requests in too short a period of time. The quota helps protect against * denial-of-service attacks. Try again later.

                                                                                                                                *

                                                                                                                                * For information about quotas that affect Organizations, see Quotas for * Organizations in the Organizations User Guide. * @throws SdkException * Base class for all exceptions that can be thrown by the SDK (both service and client). Can be used for * catch all scenarios. * @throws SdkClientException * If any client side error occurs such as an IO related failure, failure to get credentials, etc. * @throws OrganizationsException * Base class for all service exceptions. Unknown exceptions will be thrown as an instance of this type. * @sample OrganizationsClient.ListParents * @see AWS API * Documentation */ @Override public ListParentsResponse listParents(ListParentsRequest listParentsRequest) throws AccessDeniedException, AwsOrganizationsNotInUseException, ChildNotFoundException, InvalidInputException, ServiceException, TooManyRequestsException, AwsServiceException, SdkClientException, OrganizationsException { JsonOperationMetadata operationMetadata = JsonOperationMetadata.builder().hasStreamingSuccessResponse(false) .isPayloadJson(true).build(); HttpResponseHandler responseHandler = protocolFactory.createResponseHandler(operationMetadata, ListParentsResponse::builder); HttpResponseHandler errorResponseHandler = createErrorResponseHandler(protocolFactory, operationMetadata); SdkClientConfiguration clientConfiguration = updateSdkClientConfiguration(listParentsRequest, this.clientConfiguration); List metricPublishers = resolveMetricPublishers(clientConfiguration, listParentsRequest .overrideConfiguration().orElse(null)); MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector .create("ApiCall"); try { apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "Organizations"); apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "ListParents"); return clientHandler.execute(new ClientExecutionParams() .withOperationName("ListParents").withProtocolMetadata(protocolMetadata).withResponseHandler(responseHandler) .withErrorResponseHandler(errorResponseHandler).withRequestConfiguration(clientConfiguration) .withInput(listParentsRequest).withMetricCollector(apiCallMetricCollector) .withMarshaller(new ListParentsRequestMarshaller(protocolFactory))); } finally { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); } } /** *

                                                                                                                                * Retrieves the list of all policies in an organization of a specified type. *

                                                                                                                                * *

                                                                                                                                * Always check the NextToken response parameter for a null value when calling a * List* operation. These operations can occasionally return an empty set of results even when there * are more results available. The NextToken response parameter value is null only * when there are no more results to display. *

                                                                                                                                *
                                                                                                                                *

                                                                                                                                * This operation can be called only from the organization's management account or by a member account that is a * delegated administrator for an Amazon Web Services service. *

                                                                                                                                * * @param listPoliciesRequest * @return Result of the ListPolicies operation returned by the service. * @throws AccessDeniedException * You don't have permissions to perform the requested operation. The user or role that is making the * request must have at least one IAM permissions policy attached that grants the required permissions. For * more information, see Access * Management in the IAM User Guide. * @throws AwsOrganizationsNotInUseException * Your account isn't a member of an organization. To make this request, you must use the credentials of an * account that belongs to an organization. * @throws InvalidInputException * The requested operation failed because you provided invalid values for one or more of the request * parameters. This exception includes a reason that contains additional information about the violated * limit:

                                                                                                                                *

                                                                                                                                * Some of the reasons in the following list might not be applicable to this specific API or operation. *

                                                                                                                                *
                                                                                                                                *
                                                                                                                                  *
                                                                                                                                • *

                                                                                                                                  * DUPLICATE_TAG_KEY: Tag keys must be unique among the tags attached to the same entity. *

                                                                                                                                  *
                                                                                                                                • *
                                                                                                                                • *

                                                                                                                                  * IMMUTABLE_POLICY: You specified a policy that is managed by Amazon Web Services and can't be modified. *

                                                                                                                                  *
                                                                                                                                • *
                                                                                                                                • *

                                                                                                                                  * INPUT_REQUIRED: You must include a value for all required parameters. *

                                                                                                                                  *
                                                                                                                                • *
                                                                                                                                • *

                                                                                                                                  * INVALID_EMAIL_ADDRESS_TARGET: You specified an invalid email address for the invited account owner. *

                                                                                                                                  *
                                                                                                                                • *
                                                                                                                                • *

                                                                                                                                  * INVALID_ENUM: You specified an invalid value. *

                                                                                                                                  *
                                                                                                                                • *
                                                                                                                                • *

                                                                                                                                  * INVALID_ENUM_POLICY_TYPE: You specified an invalid policy type string. *

                                                                                                                                  *
                                                                                                                                • *
                                                                                                                                • *

                                                                                                                                  * INVALID_FULL_NAME_TARGET: You specified a full name that contains invalid characters. *

                                                                                                                                  *
                                                                                                                                • *
                                                                                                                                • *

                                                                                                                                  * INVALID_LIST_MEMBER: You provided a list to a parameter that contains at least one invalid value. *

                                                                                                                                  *
                                                                                                                                • *
                                                                                                                                • *

                                                                                                                                  * INVALID_PAGINATION_TOKEN: Get the value for the NextToken parameter from the response to a * previous call of the operation. *

                                                                                                                                  *
                                                                                                                                • *
                                                                                                                                • *

                                                                                                                                  * INVALID_PARTY_TYPE_TARGET: You specified the wrong type of entity (account, organization, or email) as a * party. *

                                                                                                                                  *
                                                                                                                                • *
                                                                                                                                • *

                                                                                                                                  * INVALID_PATTERN: You provided a value that doesn't match the required pattern. *

                                                                                                                                  *
                                                                                                                                • *
                                                                                                                                • *

                                                                                                                                  * INVALID_PATTERN_TARGET_ID: You specified a policy target ID that doesn't match the required pattern. *

                                                                                                                                  *
                                                                                                                                • *
                                                                                                                                • *

                                                                                                                                  * INVALID_PRINCIPAL: You specified an invalid principal element in the policy. *

                                                                                                                                  *
                                                                                                                                • *
                                                                                                                                • *

                                                                                                                                  * INVALID_ROLE_NAME: You provided a role name that isn't valid. A role name can't begin with the reserved * prefix AWSServiceRoleFor. *

                                                                                                                                  *
                                                                                                                                • *
                                                                                                                                • *

                                                                                                                                  * INVALID_SYNTAX_ORGANIZATION_ARN: You specified an invalid Amazon Resource Name (ARN) for the * organization. *

                                                                                                                                  *
                                                                                                                                • *
                                                                                                                                • *

                                                                                                                                  * INVALID_SYNTAX_POLICY_ID: You specified an invalid policy ID. *

                                                                                                                                  *
                                                                                                                                • *
                                                                                                                                • *

                                                                                                                                  * INVALID_SYSTEM_TAGS_PARAMETER: You specified a tag key that is a system tag. You can’t add, edit, or * delete system tag keys because they're reserved for Amazon Web Services use. System tags don’t count * against your tags per resource limit. *

                                                                                                                                  *
                                                                                                                                • *
                                                                                                                                • *

                                                                                                                                  * MAX_FILTER_LIMIT_EXCEEDED: You can specify only one filter parameter for the operation. *

                                                                                                                                  *
                                                                                                                                • *
                                                                                                                                • *

                                                                                                                                  * MAX_LENGTH_EXCEEDED: You provided a string parameter that is longer than allowed. *

                                                                                                                                  *
                                                                                                                                • *
                                                                                                                                • *

                                                                                                                                  * MAX_VALUE_EXCEEDED: You provided a numeric parameter that has a larger value than allowed. *

                                                                                                                                  *
                                                                                                                                • *
                                                                                                                                • *

                                                                                                                                  * MIN_LENGTH_EXCEEDED: You provided a string parameter that is shorter than allowed. *

                                                                                                                                  *
                                                                                                                                • *
                                                                                                                                • *

                                                                                                                                  * MIN_VALUE_EXCEEDED: You provided a numeric parameter that has a smaller value than allowed. *

                                                                                                                                  *
                                                                                                                                • *
                                                                                                                                • *

                                                                                                                                  * MOVING_ACCOUNT_BETWEEN_DIFFERENT_ROOTS: You can move an account only between entities in the same root. *

                                                                                                                                  *
                                                                                                                                • *
                                                                                                                                • *

                                                                                                                                  * NON_DETACHABLE_POLICY: You can't detach this Amazon Web Services Managed Policy. *

                                                                                                                                  *
                                                                                                                                • *
                                                                                                                                • *

                                                                                                                                  * TARGET_NOT_SUPPORTED: You can't perform the specified operation on that target entity. *

                                                                                                                                  *
                                                                                                                                • *
                                                                                                                                • *

                                                                                                                                  * UNRECOGNIZED_SERVICE_PRINCIPAL: You specified a service principal that isn't recognized. *

                                                                                                                                  *
                                                                                                                                • * @throws ServiceException * Organizations can't complete your request because of an internal service error. Try again later. * @throws TooManyRequestsException * You have sent too many requests in too short a period of time. The quota helps protect against * denial-of-service attacks. Try again later.

                                                                                                                                  *

                                                                                                                                  * For information about quotas that affect Organizations, see Quotas for * Organizations in the Organizations User Guide. * @throws UnsupportedApiEndpointException * This action isn't available in the current Amazon Web Services Region. * @throws SdkException * Base class for all exceptions that can be thrown by the SDK (both service and client). Can be used for * catch all scenarios. * @throws SdkClientException * If any client side error occurs such as an IO related failure, failure to get credentials, etc. * @throws OrganizationsException * Base class for all service exceptions. Unknown exceptions will be thrown as an instance of this type. * @sample OrganizationsClient.ListPolicies * @see AWS * API Documentation */ @Override public ListPoliciesResponse listPolicies(ListPoliciesRequest listPoliciesRequest) throws AccessDeniedException, AwsOrganizationsNotInUseException, InvalidInputException, ServiceException, TooManyRequestsException, UnsupportedApiEndpointException, AwsServiceException, SdkClientException, OrganizationsException { JsonOperationMetadata operationMetadata = JsonOperationMetadata.builder().hasStreamingSuccessResponse(false) .isPayloadJson(true).build(); HttpResponseHandler responseHandler = protocolFactory.createResponseHandler(operationMetadata, ListPoliciesResponse::builder); HttpResponseHandler errorResponseHandler = createErrorResponseHandler(protocolFactory, operationMetadata); SdkClientConfiguration clientConfiguration = updateSdkClientConfiguration(listPoliciesRequest, this.clientConfiguration); List metricPublishers = resolveMetricPublishers(clientConfiguration, listPoliciesRequest .overrideConfiguration().orElse(null)); MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector .create("ApiCall"); try { apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "Organizations"); apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "ListPolicies"); return clientHandler.execute(new ClientExecutionParams() .withOperationName("ListPolicies").withProtocolMetadata(protocolMetadata) .withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler) .withRequestConfiguration(clientConfiguration).withInput(listPoliciesRequest) .withMetricCollector(apiCallMetricCollector) .withMarshaller(new ListPoliciesRequestMarshaller(protocolFactory))); } finally { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); } } /** *

                                                                                                                                  * Lists the policies that are directly attached to the specified target root, organizational unit (OU), or account. * You must specify the policy type that you want included in the returned list. *

                                                                                                                                  * *

                                                                                                                                  * Always check the NextToken response parameter for a null value when calling a * List* operation. These operations can occasionally return an empty set of results even when there * are more results available. The NextToken response parameter value is null only * when there are no more results to display. *

                                                                                                                                  *
                                                                                                                                  *

                                                                                                                                  * This operation can be called only from the organization's management account or by a member account that is a * delegated administrator for an Amazon Web Services service. *

                                                                                                                                  * * @param listPoliciesForTargetRequest * @return Result of the ListPoliciesForTarget operation returned by the service. * @throws AccessDeniedException * You don't have permissions to perform the requested operation. The user or role that is making the * request must have at least one IAM permissions policy attached that grants the required permissions. For * more information, see Access * Management in the IAM User Guide. * @throws AwsOrganizationsNotInUseException * Your account isn't a member of an organization. To make this request, you must use the credentials of an * account that belongs to an organization. * @throws InvalidInputException * The requested operation failed because you provided invalid values for one or more of the request * parameters. This exception includes a reason that contains additional information about the violated * limit:

                                                                                                                                  *

                                                                                                                                  * Some of the reasons in the following list might not be applicable to this specific API or operation. *

                                                                                                                                  *
                                                                                                                                  *
                                                                                                                                    *
                                                                                                                                  • *

                                                                                                                                    * DUPLICATE_TAG_KEY: Tag keys must be unique among the tags attached to the same entity. *

                                                                                                                                    *
                                                                                                                                  • *
                                                                                                                                  • *

                                                                                                                                    * IMMUTABLE_POLICY: You specified a policy that is managed by Amazon Web Services and can't be modified. *

                                                                                                                                    *
                                                                                                                                  • *
                                                                                                                                  • *

                                                                                                                                    * INPUT_REQUIRED: You must include a value for all required parameters. *

                                                                                                                                    *
                                                                                                                                  • *
                                                                                                                                  • *

                                                                                                                                    * INVALID_EMAIL_ADDRESS_TARGET: You specified an invalid email address for the invited account owner. *

                                                                                                                                    *
                                                                                                                                  • *
                                                                                                                                  • *

                                                                                                                                    * INVALID_ENUM: You specified an invalid value. *

                                                                                                                                    *
                                                                                                                                  • *
                                                                                                                                  • *

                                                                                                                                    * INVALID_ENUM_POLICY_TYPE: You specified an invalid policy type string. *

                                                                                                                                    *
                                                                                                                                  • *
                                                                                                                                  • *

                                                                                                                                    * INVALID_FULL_NAME_TARGET: You specified a full name that contains invalid characters. *

                                                                                                                                    *
                                                                                                                                  • *
                                                                                                                                  • *

                                                                                                                                    * INVALID_LIST_MEMBER: You provided a list to a parameter that contains at least one invalid value. *

                                                                                                                                    *
                                                                                                                                  • *
                                                                                                                                  • *

                                                                                                                                    * INVALID_PAGINATION_TOKEN: Get the value for the NextToken parameter from the response to a * previous call of the operation. *

                                                                                                                                    *
                                                                                                                                  • *
                                                                                                                                  • *

                                                                                                                                    * INVALID_PARTY_TYPE_TARGET: You specified the wrong type of entity (account, organization, or email) as a * party. *

                                                                                                                                    *
                                                                                                                                  • *
                                                                                                                                  • *

                                                                                                                                    * INVALID_PATTERN: You provided a value that doesn't match the required pattern. *

                                                                                                                                    *
                                                                                                                                  • *
                                                                                                                                  • *

                                                                                                                                    * INVALID_PATTERN_TARGET_ID: You specified a policy target ID that doesn't match the required pattern. *

                                                                                                                                    *
                                                                                                                                  • *
                                                                                                                                  • *

                                                                                                                                    * INVALID_PRINCIPAL: You specified an invalid principal element in the policy. *

                                                                                                                                    *
                                                                                                                                  • *
                                                                                                                                  • *

                                                                                                                                    * INVALID_ROLE_NAME: You provided a role name that isn't valid. A role name can't begin with the reserved * prefix AWSServiceRoleFor. *

                                                                                                                                    *
                                                                                                                                  • *
                                                                                                                                  • *

                                                                                                                                    * INVALID_SYNTAX_ORGANIZATION_ARN: You specified an invalid Amazon Resource Name (ARN) for the * organization. *

                                                                                                                                    *
                                                                                                                                  • *
                                                                                                                                  • *

                                                                                                                                    * INVALID_SYNTAX_POLICY_ID: You specified an invalid policy ID. *

                                                                                                                                    *
                                                                                                                                  • *
                                                                                                                                  • *

                                                                                                                                    * INVALID_SYSTEM_TAGS_PARAMETER: You specified a tag key that is a system tag. You can’t add, edit, or * delete system tag keys because they're reserved for Amazon Web Services use. System tags don’t count * against your tags per resource limit. *

                                                                                                                                    *
                                                                                                                                  • *
                                                                                                                                  • *

                                                                                                                                    * MAX_FILTER_LIMIT_EXCEEDED: You can specify only one filter parameter for the operation. *

                                                                                                                                    *
                                                                                                                                  • *
                                                                                                                                  • *

                                                                                                                                    * MAX_LENGTH_EXCEEDED: You provided a string parameter that is longer than allowed. *

                                                                                                                                    *
                                                                                                                                  • *
                                                                                                                                  • *

                                                                                                                                    * MAX_VALUE_EXCEEDED: You provided a numeric parameter that has a larger value than allowed. *

                                                                                                                                    *
                                                                                                                                  • *
                                                                                                                                  • *

                                                                                                                                    * MIN_LENGTH_EXCEEDED: You provided a string parameter that is shorter than allowed. *

                                                                                                                                    *
                                                                                                                                  • *
                                                                                                                                  • *

                                                                                                                                    * MIN_VALUE_EXCEEDED: You provided a numeric parameter that has a smaller value than allowed. *

                                                                                                                                    *
                                                                                                                                  • *
                                                                                                                                  • *

                                                                                                                                    * MOVING_ACCOUNT_BETWEEN_DIFFERENT_ROOTS: You can move an account only between entities in the same root. *

                                                                                                                                    *
                                                                                                                                  • *
                                                                                                                                  • *

                                                                                                                                    * NON_DETACHABLE_POLICY: You can't detach this Amazon Web Services Managed Policy. *

                                                                                                                                    *
                                                                                                                                  • *
                                                                                                                                  • *

                                                                                                                                    * TARGET_NOT_SUPPORTED: You can't perform the specified operation on that target entity. *

                                                                                                                                    *
                                                                                                                                  • *
                                                                                                                                  • *

                                                                                                                                    * UNRECOGNIZED_SERVICE_PRINCIPAL: You specified a service principal that isn't recognized. *

                                                                                                                                    *
                                                                                                                                  • * @throws ServiceException * Organizations can't complete your request because of an internal service error. Try again later. * @throws TargetNotFoundException * We can't find a root, OU, account, or policy with the TargetId that you specified. * @throws TooManyRequestsException * You have sent too many requests in too short a period of time. The quota helps protect against * denial-of-service attacks. Try again later.

                                                                                                                                    *

                                                                                                                                    * For information about quotas that affect Organizations, see Quotas for * Organizations in the Organizations User Guide. * @throws UnsupportedApiEndpointException * This action isn't available in the current Amazon Web Services Region. * @throws SdkException * Base class for all exceptions that can be thrown by the SDK (both service and client). Can be used for * catch all scenarios. * @throws SdkClientException * If any client side error occurs such as an IO related failure, failure to get credentials, etc. * @throws OrganizationsException * Base class for all service exceptions. Unknown exceptions will be thrown as an instance of this type. * @sample OrganizationsClient.ListPoliciesForTarget * @see AWS API Documentation */ @Override public ListPoliciesForTargetResponse listPoliciesForTarget(ListPoliciesForTargetRequest listPoliciesForTargetRequest) throws AccessDeniedException, AwsOrganizationsNotInUseException, InvalidInputException, ServiceException, TargetNotFoundException, TooManyRequestsException, UnsupportedApiEndpointException, AwsServiceException, SdkClientException, OrganizationsException { JsonOperationMetadata operationMetadata = JsonOperationMetadata.builder().hasStreamingSuccessResponse(false) .isPayloadJson(true).build(); HttpResponseHandler responseHandler = protocolFactory.createResponseHandler( operationMetadata, ListPoliciesForTargetResponse::builder); HttpResponseHandler errorResponseHandler = createErrorResponseHandler(protocolFactory, operationMetadata); SdkClientConfiguration clientConfiguration = updateSdkClientConfiguration(listPoliciesForTargetRequest, this.clientConfiguration); List metricPublishers = resolveMetricPublishers(clientConfiguration, listPoliciesForTargetRequest .overrideConfiguration().orElse(null)); MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector .create("ApiCall"); try { apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "Organizations"); apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "ListPoliciesForTarget"); return clientHandler.execute(new ClientExecutionParams() .withOperationName("ListPoliciesForTarget").withProtocolMetadata(protocolMetadata) .withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler) .withRequestConfiguration(clientConfiguration).withInput(listPoliciesForTargetRequest) .withMetricCollector(apiCallMetricCollector) .withMarshaller(new ListPoliciesForTargetRequestMarshaller(protocolFactory))); } finally { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); } } /** *

                                                                                                                                    * Lists the roots that are defined in the current organization. *

                                                                                                                                    * *

                                                                                                                                    * Always check the NextToken response parameter for a null value when calling a * List* operation. These operations can occasionally return an empty set of results even when there * are more results available. The NextToken response parameter value is null only * when there are no more results to display. *

                                                                                                                                    *
                                                                                                                                    *

                                                                                                                                    * This operation can be called only from the organization's management account or by a member account that is a * delegated administrator for an Amazon Web Services service. *

                                                                                                                                    * *

                                                                                                                                    * Policy types can be enabled and disabled in roots. This is distinct from whether they're available in the * organization. When you enable all features, you make policy types available for use in that organization. * Individual policy types can then be enabled and disabled in a root. To see the availability of a policy type in * an organization, use DescribeOrganization. *

                                                                                                                                    *
                                                                                                                                    * * @param listRootsRequest * @return Result of the ListRoots operation returned by the service. * @throws AccessDeniedException * You don't have permissions to perform the requested operation. The user or role that is making the * request must have at least one IAM permissions policy attached that grants the required permissions. For * more information, see Access * Management in the IAM User Guide. * @throws AwsOrganizationsNotInUseException * Your account isn't a member of an organization. To make this request, you must use the credentials of an * account that belongs to an organization. * @throws InvalidInputException * The requested operation failed because you provided invalid values for one or more of the request * parameters. This exception includes a reason that contains additional information about the violated * limit:

                                                                                                                                    *

                                                                                                                                    * Some of the reasons in the following list might not be applicable to this specific API or operation. *

                                                                                                                                    *
                                                                                                                                    *
                                                                                                                                      *
                                                                                                                                    • *

                                                                                                                                      * DUPLICATE_TAG_KEY: Tag keys must be unique among the tags attached to the same entity. *

                                                                                                                                      *
                                                                                                                                    • *
                                                                                                                                    • *

                                                                                                                                      * IMMUTABLE_POLICY: You specified a policy that is managed by Amazon Web Services and can't be modified. *

                                                                                                                                      *
                                                                                                                                    • *
                                                                                                                                    • *

                                                                                                                                      * INPUT_REQUIRED: You must include a value for all required parameters. *

                                                                                                                                      *
                                                                                                                                    • *
                                                                                                                                    • *

                                                                                                                                      * INVALID_EMAIL_ADDRESS_TARGET: You specified an invalid email address for the invited account owner. *

                                                                                                                                      *
                                                                                                                                    • *
                                                                                                                                    • *

                                                                                                                                      * INVALID_ENUM: You specified an invalid value. *

                                                                                                                                      *
                                                                                                                                    • *
                                                                                                                                    • *

                                                                                                                                      * INVALID_ENUM_POLICY_TYPE: You specified an invalid policy type string. *

                                                                                                                                      *
                                                                                                                                    • *
                                                                                                                                    • *

                                                                                                                                      * INVALID_FULL_NAME_TARGET: You specified a full name that contains invalid characters. *

                                                                                                                                      *
                                                                                                                                    • *
                                                                                                                                    • *

                                                                                                                                      * INVALID_LIST_MEMBER: You provided a list to a parameter that contains at least one invalid value. *

                                                                                                                                      *
                                                                                                                                    • *
                                                                                                                                    • *

                                                                                                                                      * INVALID_PAGINATION_TOKEN: Get the value for the NextToken parameter from the response to a * previous call of the operation. *

                                                                                                                                      *
                                                                                                                                    • *
                                                                                                                                    • *

                                                                                                                                      * INVALID_PARTY_TYPE_TARGET: You specified the wrong type of entity (account, organization, or email) as a * party. *

                                                                                                                                      *
                                                                                                                                    • *
                                                                                                                                    • *

                                                                                                                                      * INVALID_PATTERN: You provided a value that doesn't match the required pattern. *

                                                                                                                                      *
                                                                                                                                    • *
                                                                                                                                    • *

                                                                                                                                      * INVALID_PATTERN_TARGET_ID: You specified a policy target ID that doesn't match the required pattern. *

                                                                                                                                      *
                                                                                                                                    • *
                                                                                                                                    • *

                                                                                                                                      * INVALID_PRINCIPAL: You specified an invalid principal element in the policy. *

                                                                                                                                      *
                                                                                                                                    • *
                                                                                                                                    • *

                                                                                                                                      * INVALID_ROLE_NAME: You provided a role name that isn't valid. A role name can't begin with the reserved * prefix AWSServiceRoleFor. *

                                                                                                                                      *
                                                                                                                                    • *
                                                                                                                                    • *

                                                                                                                                      * INVALID_SYNTAX_ORGANIZATION_ARN: You specified an invalid Amazon Resource Name (ARN) for the * organization. *

                                                                                                                                      *
                                                                                                                                    • *
                                                                                                                                    • *

                                                                                                                                      * INVALID_SYNTAX_POLICY_ID: You specified an invalid policy ID. *

                                                                                                                                      *
                                                                                                                                    • *
                                                                                                                                    • *

                                                                                                                                      * INVALID_SYSTEM_TAGS_PARAMETER: You specified a tag key that is a system tag. You can’t add, edit, or * delete system tag keys because they're reserved for Amazon Web Services use. System tags don’t count * against your tags per resource limit. *

                                                                                                                                      *
                                                                                                                                    • *
                                                                                                                                    • *

                                                                                                                                      * MAX_FILTER_LIMIT_EXCEEDED: You can specify only one filter parameter for the operation. *

                                                                                                                                      *
                                                                                                                                    • *
                                                                                                                                    • *

                                                                                                                                      * MAX_LENGTH_EXCEEDED: You provided a string parameter that is longer than allowed. *

                                                                                                                                      *
                                                                                                                                    • *
                                                                                                                                    • *

                                                                                                                                      * MAX_VALUE_EXCEEDED: You provided a numeric parameter that has a larger value than allowed. *

                                                                                                                                      *
                                                                                                                                    • *
                                                                                                                                    • *

                                                                                                                                      * MIN_LENGTH_EXCEEDED: You provided a string parameter that is shorter than allowed. *

                                                                                                                                      *
                                                                                                                                    • *
                                                                                                                                    • *

                                                                                                                                      * MIN_VALUE_EXCEEDED: You provided a numeric parameter that has a smaller value than allowed. *

                                                                                                                                      *
                                                                                                                                    • *
                                                                                                                                    • *

                                                                                                                                      * MOVING_ACCOUNT_BETWEEN_DIFFERENT_ROOTS: You can move an account only between entities in the same root. *

                                                                                                                                      *
                                                                                                                                    • *
                                                                                                                                    • *

                                                                                                                                      * NON_DETACHABLE_POLICY: You can't detach this Amazon Web Services Managed Policy. *

                                                                                                                                      *
                                                                                                                                    • *
                                                                                                                                    • *

                                                                                                                                      * TARGET_NOT_SUPPORTED: You can't perform the specified operation on that target entity. *

                                                                                                                                      *
                                                                                                                                    • *
                                                                                                                                    • *

                                                                                                                                      * UNRECOGNIZED_SERVICE_PRINCIPAL: You specified a service principal that isn't recognized. *

                                                                                                                                      *
                                                                                                                                    • * @throws ServiceException * Organizations can't complete your request because of an internal service error. Try again later. * @throws TooManyRequestsException * You have sent too many requests in too short a period of time. The quota helps protect against * denial-of-service attacks. Try again later.

                                                                                                                                      *

                                                                                                                                      * For information about quotas that affect Organizations, see Quotas for * Organizations in the Organizations User Guide. * @throws SdkException * Base class for all exceptions that can be thrown by the SDK (both service and client). Can be used for * catch all scenarios. * @throws SdkClientException * If any client side error occurs such as an IO related failure, failure to get credentials, etc. * @throws OrganizationsException * Base class for all service exceptions. Unknown exceptions will be thrown as an instance of this type. * @sample OrganizationsClient.ListRoots * @see AWS API * Documentation */ @Override public ListRootsResponse listRoots(ListRootsRequest listRootsRequest) throws AccessDeniedException, AwsOrganizationsNotInUseException, InvalidInputException, ServiceException, TooManyRequestsException, AwsServiceException, SdkClientException, OrganizationsException { JsonOperationMetadata operationMetadata = JsonOperationMetadata.builder().hasStreamingSuccessResponse(false) .isPayloadJson(true).build(); HttpResponseHandler responseHandler = protocolFactory.createResponseHandler(operationMetadata, ListRootsResponse::builder); HttpResponseHandler errorResponseHandler = createErrorResponseHandler(protocolFactory, operationMetadata); SdkClientConfiguration clientConfiguration = updateSdkClientConfiguration(listRootsRequest, this.clientConfiguration); List metricPublishers = resolveMetricPublishers(clientConfiguration, listRootsRequest .overrideConfiguration().orElse(null)); MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector .create("ApiCall"); try { apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "Organizations"); apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "ListRoots"); return clientHandler.execute(new ClientExecutionParams() .withOperationName("ListRoots").withProtocolMetadata(protocolMetadata).withResponseHandler(responseHandler) .withErrorResponseHandler(errorResponseHandler).withRequestConfiguration(clientConfiguration) .withInput(listRootsRequest).withMetricCollector(apiCallMetricCollector) .withMarshaller(new ListRootsRequestMarshaller(protocolFactory))); } finally { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); } } /** *

                                                                                                                                      * Lists tags that are attached to the specified resource. *

                                                                                                                                      *

                                                                                                                                      * You can attach tags to the following resources in Organizations. *

                                                                                                                                      *
                                                                                                                                        *
                                                                                                                                      • *

                                                                                                                                        * Amazon Web Services account *

                                                                                                                                        *
                                                                                                                                      • *
                                                                                                                                      • *

                                                                                                                                        * Organization root *

                                                                                                                                        *
                                                                                                                                      • *
                                                                                                                                      • *

                                                                                                                                        * Organizational unit (OU) *

                                                                                                                                        *
                                                                                                                                      • *
                                                                                                                                      • *

                                                                                                                                        * Policy (any type) *

                                                                                                                                        *
                                                                                                                                      • *
                                                                                                                                      *

                                                                                                                                      * This operation can be called only from the organization's management account or by a member account that is a * delegated administrator for an Amazon Web Services service. *

                                                                                                                                      * * @param listTagsForResourceRequest * @return Result of the ListTagsForResource operation returned by the service. * @throws AccessDeniedException * You don't have permissions to perform the requested operation. The user or role that is making the * request must have at least one IAM permissions policy attached that grants the required permissions. For * more information, see Access * Management in the IAM User Guide. * @throws AwsOrganizationsNotInUseException * Your account isn't a member of an organization. To make this request, you must use the credentials of an * account that belongs to an organization. * @throws TargetNotFoundException * We can't find a root, OU, account, or policy with the TargetId that you specified. * @throws InvalidInputException * The requested operation failed because you provided invalid values for one or more of the request * parameters. This exception includes a reason that contains additional information about the violated * limit:

                                                                                                                                      *

                                                                                                                                      * Some of the reasons in the following list might not be applicable to this specific API or operation. *

                                                                                                                                      *
                                                                                                                                      *
                                                                                                                                        *
                                                                                                                                      • *

                                                                                                                                        * DUPLICATE_TAG_KEY: Tag keys must be unique among the tags attached to the same entity. *

                                                                                                                                        *
                                                                                                                                      • *
                                                                                                                                      • *

                                                                                                                                        * IMMUTABLE_POLICY: You specified a policy that is managed by Amazon Web Services and can't be modified. *

                                                                                                                                        *
                                                                                                                                      • *
                                                                                                                                      • *

                                                                                                                                        * INPUT_REQUIRED: You must include a value for all required parameters. *

                                                                                                                                        *
                                                                                                                                      • *
                                                                                                                                      • *

                                                                                                                                        * INVALID_EMAIL_ADDRESS_TARGET: You specified an invalid email address for the invited account owner. *

                                                                                                                                        *
                                                                                                                                      • *
                                                                                                                                      • *

                                                                                                                                        * INVALID_ENUM: You specified an invalid value. *

                                                                                                                                        *
                                                                                                                                      • *
                                                                                                                                      • *

                                                                                                                                        * INVALID_ENUM_POLICY_TYPE: You specified an invalid policy type string. *

                                                                                                                                        *
                                                                                                                                      • *
                                                                                                                                      • *

                                                                                                                                        * INVALID_FULL_NAME_TARGET: You specified a full name that contains invalid characters. *

                                                                                                                                        *
                                                                                                                                      • *
                                                                                                                                      • *

                                                                                                                                        * INVALID_LIST_MEMBER: You provided a list to a parameter that contains at least one invalid value. *

                                                                                                                                        *
                                                                                                                                      • *
                                                                                                                                      • *

                                                                                                                                        * INVALID_PAGINATION_TOKEN: Get the value for the NextToken parameter from the response to a * previous call of the operation. *

                                                                                                                                        *
                                                                                                                                      • *
                                                                                                                                      • *

                                                                                                                                        * INVALID_PARTY_TYPE_TARGET: You specified the wrong type of entity (account, organization, or email) as a * party. *

                                                                                                                                        *
                                                                                                                                      • *
                                                                                                                                      • *

                                                                                                                                        * INVALID_PATTERN: You provided a value that doesn't match the required pattern. *

                                                                                                                                        *
                                                                                                                                      • *
                                                                                                                                      • *

                                                                                                                                        * INVALID_PATTERN_TARGET_ID: You specified a policy target ID that doesn't match the required pattern. *

                                                                                                                                        *
                                                                                                                                      • *
                                                                                                                                      • *

                                                                                                                                        * INVALID_PRINCIPAL: You specified an invalid principal element in the policy. *

                                                                                                                                        *
                                                                                                                                      • *
                                                                                                                                      • *

                                                                                                                                        * INVALID_ROLE_NAME: You provided a role name that isn't valid. A role name can't begin with the reserved * prefix AWSServiceRoleFor. *

                                                                                                                                        *
                                                                                                                                      • *
                                                                                                                                      • *

                                                                                                                                        * INVALID_SYNTAX_ORGANIZATION_ARN: You specified an invalid Amazon Resource Name (ARN) for the * organization. *

                                                                                                                                        *
                                                                                                                                      • *
                                                                                                                                      • *

                                                                                                                                        * INVALID_SYNTAX_POLICY_ID: You specified an invalid policy ID. *

                                                                                                                                        *
                                                                                                                                      • *
                                                                                                                                      • *

                                                                                                                                        * INVALID_SYSTEM_TAGS_PARAMETER: You specified a tag key that is a system tag. You can’t add, edit, or * delete system tag keys because they're reserved for Amazon Web Services use. System tags don’t count * against your tags per resource limit. *

                                                                                                                                        *
                                                                                                                                      • *
                                                                                                                                      • *

                                                                                                                                        * MAX_FILTER_LIMIT_EXCEEDED: You can specify only one filter parameter for the operation. *

                                                                                                                                        *
                                                                                                                                      • *
                                                                                                                                      • *

                                                                                                                                        * MAX_LENGTH_EXCEEDED: You provided a string parameter that is longer than allowed. *

                                                                                                                                        *
                                                                                                                                      • *
                                                                                                                                      • *

                                                                                                                                        * MAX_VALUE_EXCEEDED: You provided a numeric parameter that has a larger value than allowed. *

                                                                                                                                        *
                                                                                                                                      • *
                                                                                                                                      • *

                                                                                                                                        * MIN_LENGTH_EXCEEDED: You provided a string parameter that is shorter than allowed. *

                                                                                                                                        *
                                                                                                                                      • *
                                                                                                                                      • *

                                                                                                                                        * MIN_VALUE_EXCEEDED: You provided a numeric parameter that has a smaller value than allowed. *

                                                                                                                                        *
                                                                                                                                      • *
                                                                                                                                      • *

                                                                                                                                        * MOVING_ACCOUNT_BETWEEN_DIFFERENT_ROOTS: You can move an account only between entities in the same root. *

                                                                                                                                        *
                                                                                                                                      • *
                                                                                                                                      • *

                                                                                                                                        * NON_DETACHABLE_POLICY: You can't detach this Amazon Web Services Managed Policy. *

                                                                                                                                        *
                                                                                                                                      • *
                                                                                                                                      • *

                                                                                                                                        * TARGET_NOT_SUPPORTED: You can't perform the specified operation on that target entity. *

                                                                                                                                        *
                                                                                                                                      • *
                                                                                                                                      • *

                                                                                                                                        * UNRECOGNIZED_SERVICE_PRINCIPAL: You specified a service principal that isn't recognized. *

                                                                                                                                        *
                                                                                                                                      • * @throws ServiceException * Organizations can't complete your request because of an internal service error. Try again later. * @throws TooManyRequestsException * You have sent too many requests in too short a period of time. The quota helps protect against * denial-of-service attacks. Try again later.

                                                                                                                                        *

                                                                                                                                        * For information about quotas that affect Organizations, see Quotas for * Organizations in the Organizations User Guide. * @throws SdkException * Base class for all exceptions that can be thrown by the SDK (both service and client). Can be used for * catch all scenarios. * @throws SdkClientException * If any client side error occurs such as an IO related failure, failure to get credentials, etc. * @throws OrganizationsException * Base class for all service exceptions. Unknown exceptions will be thrown as an instance of this type. * @sample OrganizationsClient.ListTagsForResource * @see AWS API Documentation */ @Override public ListTagsForResourceResponse listTagsForResource(ListTagsForResourceRequest listTagsForResourceRequest) throws AccessDeniedException, AwsOrganizationsNotInUseException, TargetNotFoundException, InvalidInputException, ServiceException, TooManyRequestsException, AwsServiceException, SdkClientException, OrganizationsException { JsonOperationMetadata operationMetadata = JsonOperationMetadata.builder().hasStreamingSuccessResponse(false) .isPayloadJson(true).build(); HttpResponseHandler responseHandler = protocolFactory.createResponseHandler( operationMetadata, ListTagsForResourceResponse::builder); HttpResponseHandler errorResponseHandler = createErrorResponseHandler(protocolFactory, operationMetadata); SdkClientConfiguration clientConfiguration = updateSdkClientConfiguration(listTagsForResourceRequest, this.clientConfiguration); List metricPublishers = resolveMetricPublishers(clientConfiguration, listTagsForResourceRequest .overrideConfiguration().orElse(null)); MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector .create("ApiCall"); try { apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "Organizations"); apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "ListTagsForResource"); return clientHandler.execute(new ClientExecutionParams() .withOperationName("ListTagsForResource").withProtocolMetadata(protocolMetadata) .withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler) .withRequestConfiguration(clientConfiguration).withInput(listTagsForResourceRequest) .withMetricCollector(apiCallMetricCollector) .withMarshaller(new ListTagsForResourceRequestMarshaller(protocolFactory))); } finally { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); } } /** *

                                                                                                                                        * Lists all the roots, organizational units (OUs), and accounts that the specified policy is attached to. *

                                                                                                                                        * *

                                                                                                                                        * Always check the NextToken response parameter for a null value when calling a * List* operation. These operations can occasionally return an empty set of results even when there * are more results available. The NextToken response parameter value is null only * when there are no more results to display. *

                                                                                                                                        *
                                                                                                                                        *

                                                                                                                                        * This operation can be called only from the organization's management account or by a member account that is a * delegated administrator for an Amazon Web Services service. *

                                                                                                                                        * * @param listTargetsForPolicyRequest * @return Result of the ListTargetsForPolicy operation returned by the service. * @throws AccessDeniedException * You don't have permissions to perform the requested operation. The user or role that is making the * request must have at least one IAM permissions policy attached that grants the required permissions. For * more information, see Access * Management in the IAM User Guide. * @throws AwsOrganizationsNotInUseException * Your account isn't a member of an organization. To make this request, you must use the credentials of an * account that belongs to an organization. * @throws InvalidInputException * The requested operation failed because you provided invalid values for one or more of the request * parameters. This exception includes a reason that contains additional information about the violated * limit:

                                                                                                                                        *

                                                                                                                                        * Some of the reasons in the following list might not be applicable to this specific API or operation. *

                                                                                                                                        *
                                                                                                                                        *
                                                                                                                                          *
                                                                                                                                        • *

                                                                                                                                          * DUPLICATE_TAG_KEY: Tag keys must be unique among the tags attached to the same entity. *

                                                                                                                                          *
                                                                                                                                        • *
                                                                                                                                        • *

                                                                                                                                          * IMMUTABLE_POLICY: You specified a policy that is managed by Amazon Web Services and can't be modified. *

                                                                                                                                          *
                                                                                                                                        • *
                                                                                                                                        • *

                                                                                                                                          * INPUT_REQUIRED: You must include a value for all required parameters. *

                                                                                                                                          *
                                                                                                                                        • *
                                                                                                                                        • *

                                                                                                                                          * INVALID_EMAIL_ADDRESS_TARGET: You specified an invalid email address for the invited account owner. *

                                                                                                                                          *
                                                                                                                                        • *
                                                                                                                                        • *

                                                                                                                                          * INVALID_ENUM: You specified an invalid value. *

                                                                                                                                          *
                                                                                                                                        • *
                                                                                                                                        • *

                                                                                                                                          * INVALID_ENUM_POLICY_TYPE: You specified an invalid policy type string. *

                                                                                                                                          *
                                                                                                                                        • *
                                                                                                                                        • *

                                                                                                                                          * INVALID_FULL_NAME_TARGET: You specified a full name that contains invalid characters. *

                                                                                                                                          *
                                                                                                                                        • *
                                                                                                                                        • *

                                                                                                                                          * INVALID_LIST_MEMBER: You provided a list to a parameter that contains at least one invalid value. *

                                                                                                                                          *
                                                                                                                                        • *
                                                                                                                                        • *

                                                                                                                                          * INVALID_PAGINATION_TOKEN: Get the value for the NextToken parameter from the response to a * previous call of the operation. *

                                                                                                                                          *
                                                                                                                                        • *
                                                                                                                                        • *

                                                                                                                                          * INVALID_PARTY_TYPE_TARGET: You specified the wrong type of entity (account, organization, or email) as a * party. *

                                                                                                                                          *
                                                                                                                                        • *
                                                                                                                                        • *

                                                                                                                                          * INVALID_PATTERN: You provided a value that doesn't match the required pattern. *

                                                                                                                                          *
                                                                                                                                        • *
                                                                                                                                        • *

                                                                                                                                          * INVALID_PATTERN_TARGET_ID: You specified a policy target ID that doesn't match the required pattern. *

                                                                                                                                          *
                                                                                                                                        • *
                                                                                                                                        • *

                                                                                                                                          * INVALID_PRINCIPAL: You specified an invalid principal element in the policy. *

                                                                                                                                          *
                                                                                                                                        • *
                                                                                                                                        • *

                                                                                                                                          * INVALID_ROLE_NAME: You provided a role name that isn't valid. A role name can't begin with the reserved * prefix AWSServiceRoleFor. *

                                                                                                                                          *
                                                                                                                                        • *
                                                                                                                                        • *

                                                                                                                                          * INVALID_SYNTAX_ORGANIZATION_ARN: You specified an invalid Amazon Resource Name (ARN) for the * organization. *

                                                                                                                                          *
                                                                                                                                        • *
                                                                                                                                        • *

                                                                                                                                          * INVALID_SYNTAX_POLICY_ID: You specified an invalid policy ID. *

                                                                                                                                          *
                                                                                                                                        • *
                                                                                                                                        • *

                                                                                                                                          * INVALID_SYSTEM_TAGS_PARAMETER: You specified a tag key that is a system tag. You can’t add, edit, or * delete system tag keys because they're reserved for Amazon Web Services use. System tags don’t count * against your tags per resource limit. *

                                                                                                                                          *
                                                                                                                                        • *
                                                                                                                                        • *

                                                                                                                                          * MAX_FILTER_LIMIT_EXCEEDED: You can specify only one filter parameter for the operation. *

                                                                                                                                          *
                                                                                                                                        • *
                                                                                                                                        • *

                                                                                                                                          * MAX_LENGTH_EXCEEDED: You provided a string parameter that is longer than allowed. *

                                                                                                                                          *
                                                                                                                                        • *
                                                                                                                                        • *

                                                                                                                                          * MAX_VALUE_EXCEEDED: You provided a numeric parameter that has a larger value than allowed. *

                                                                                                                                          *
                                                                                                                                        • *
                                                                                                                                        • *

                                                                                                                                          * MIN_LENGTH_EXCEEDED: You provided a string parameter that is shorter than allowed. *

                                                                                                                                          *
                                                                                                                                        • *
                                                                                                                                        • *

                                                                                                                                          * MIN_VALUE_EXCEEDED: You provided a numeric parameter that has a smaller value than allowed. *

                                                                                                                                          *
                                                                                                                                        • *
                                                                                                                                        • *

                                                                                                                                          * MOVING_ACCOUNT_BETWEEN_DIFFERENT_ROOTS: You can move an account only between entities in the same root. *

                                                                                                                                          *
                                                                                                                                        • *
                                                                                                                                        • *

                                                                                                                                          * NON_DETACHABLE_POLICY: You can't detach this Amazon Web Services Managed Policy. *

                                                                                                                                          *
                                                                                                                                        • *
                                                                                                                                        • *

                                                                                                                                          * TARGET_NOT_SUPPORTED: You can't perform the specified operation on that target entity. *

                                                                                                                                          *
                                                                                                                                        • *
                                                                                                                                        • *

                                                                                                                                          * UNRECOGNIZED_SERVICE_PRINCIPAL: You specified a service principal that isn't recognized. *

                                                                                                                                          *
                                                                                                                                        • * @throws PolicyNotFoundException * We can't find a policy with the PolicyId that you specified. * @throws ServiceException * Organizations can't complete your request because of an internal service error. Try again later. * @throws TooManyRequestsException * You have sent too many requests in too short a period of time. The quota helps protect against * denial-of-service attacks. Try again later.

                                                                                                                                          *

                                                                                                                                          * For information about quotas that affect Organizations, see Quotas for * Organizations in the Organizations User Guide. * @throws UnsupportedApiEndpointException * This action isn't available in the current Amazon Web Services Region. * @throws SdkException * Base class for all exceptions that can be thrown by the SDK (both service and client). Can be used for * catch all scenarios. * @throws SdkClientException * If any client side error occurs such as an IO related failure, failure to get credentials, etc. * @throws OrganizationsException * Base class for all service exceptions. Unknown exceptions will be thrown as an instance of this type. * @sample OrganizationsClient.ListTargetsForPolicy * @see AWS API Documentation */ @Override public ListTargetsForPolicyResponse listTargetsForPolicy(ListTargetsForPolicyRequest listTargetsForPolicyRequest) throws AccessDeniedException, AwsOrganizationsNotInUseException, InvalidInputException, PolicyNotFoundException, ServiceException, TooManyRequestsException, UnsupportedApiEndpointException, AwsServiceException, SdkClientException, OrganizationsException { JsonOperationMetadata operationMetadata = JsonOperationMetadata.builder().hasStreamingSuccessResponse(false) .isPayloadJson(true).build(); HttpResponseHandler responseHandler = protocolFactory.createResponseHandler( operationMetadata, ListTargetsForPolicyResponse::builder); HttpResponseHandler errorResponseHandler = createErrorResponseHandler(protocolFactory, operationMetadata); SdkClientConfiguration clientConfiguration = updateSdkClientConfiguration(listTargetsForPolicyRequest, this.clientConfiguration); List metricPublishers = resolveMetricPublishers(clientConfiguration, listTargetsForPolicyRequest .overrideConfiguration().orElse(null)); MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector .create("ApiCall"); try { apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "Organizations"); apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "ListTargetsForPolicy"); return clientHandler.execute(new ClientExecutionParams() .withOperationName("ListTargetsForPolicy").withProtocolMetadata(protocolMetadata) .withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler) .withRequestConfiguration(clientConfiguration).withInput(listTargetsForPolicyRequest) .withMetricCollector(apiCallMetricCollector) .withMarshaller(new ListTargetsForPolicyRequestMarshaller(protocolFactory))); } finally { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); } } /** *

                                                                                                                                          * Moves an account from its current source parent root or organizational unit (OU) to the specified destination * parent root or OU. *

                                                                                                                                          *

                                                                                                                                          * This operation can be called only from the organization's management account. *

                                                                                                                                          * * @param moveAccountRequest * @return Result of the MoveAccount operation returned by the service. * @throws AccessDeniedException * You don't have permissions to perform the requested operation. The user or role that is making the * request must have at least one IAM permissions policy attached that grants the required permissions. For * more information, see Access * Management in the IAM User Guide. * @throws InvalidInputException * The requested operation failed because you provided invalid values for one or more of the request * parameters. This exception includes a reason that contains additional information about the violated * limit:

                                                                                                                                          *

                                                                                                                                          * Some of the reasons in the following list might not be applicable to this specific API or operation. *

                                                                                                                                          *
                                                                                                                                          *
                                                                                                                                            *
                                                                                                                                          • *

                                                                                                                                            * DUPLICATE_TAG_KEY: Tag keys must be unique among the tags attached to the same entity. *

                                                                                                                                            *
                                                                                                                                          • *
                                                                                                                                          • *

                                                                                                                                            * IMMUTABLE_POLICY: You specified a policy that is managed by Amazon Web Services and can't be modified. *

                                                                                                                                            *
                                                                                                                                          • *
                                                                                                                                          • *

                                                                                                                                            * INPUT_REQUIRED: You must include a value for all required parameters. *

                                                                                                                                            *
                                                                                                                                          • *
                                                                                                                                          • *

                                                                                                                                            * INVALID_EMAIL_ADDRESS_TARGET: You specified an invalid email address for the invited account owner. *

                                                                                                                                            *
                                                                                                                                          • *
                                                                                                                                          • *

                                                                                                                                            * INVALID_ENUM: You specified an invalid value. *

                                                                                                                                            *
                                                                                                                                          • *
                                                                                                                                          • *

                                                                                                                                            * INVALID_ENUM_POLICY_TYPE: You specified an invalid policy type string. *

                                                                                                                                            *
                                                                                                                                          • *
                                                                                                                                          • *

                                                                                                                                            * INVALID_FULL_NAME_TARGET: You specified a full name that contains invalid characters. *

                                                                                                                                            *
                                                                                                                                          • *
                                                                                                                                          • *

                                                                                                                                            * INVALID_LIST_MEMBER: You provided a list to a parameter that contains at least one invalid value. *

                                                                                                                                            *
                                                                                                                                          • *
                                                                                                                                          • *

                                                                                                                                            * INVALID_PAGINATION_TOKEN: Get the value for the NextToken parameter from the response to a * previous call of the operation. *

                                                                                                                                            *
                                                                                                                                          • *
                                                                                                                                          • *

                                                                                                                                            * INVALID_PARTY_TYPE_TARGET: You specified the wrong type of entity (account, organization, or email) as a * party. *

                                                                                                                                            *
                                                                                                                                          • *
                                                                                                                                          • *

                                                                                                                                            * INVALID_PATTERN: You provided a value that doesn't match the required pattern. *

                                                                                                                                            *
                                                                                                                                          • *
                                                                                                                                          • *

                                                                                                                                            * INVALID_PATTERN_TARGET_ID: You specified a policy target ID that doesn't match the required pattern. *

                                                                                                                                            *
                                                                                                                                          • *
                                                                                                                                          • *

                                                                                                                                            * INVALID_PRINCIPAL: You specified an invalid principal element in the policy. *

                                                                                                                                            *
                                                                                                                                          • *
                                                                                                                                          • *

                                                                                                                                            * INVALID_ROLE_NAME: You provided a role name that isn't valid. A role name can't begin with the reserved * prefix AWSServiceRoleFor. *

                                                                                                                                            *
                                                                                                                                          • *
                                                                                                                                          • *

                                                                                                                                            * INVALID_SYNTAX_ORGANIZATION_ARN: You specified an invalid Amazon Resource Name (ARN) for the * organization. *

                                                                                                                                            *
                                                                                                                                          • *
                                                                                                                                          • *

                                                                                                                                            * INVALID_SYNTAX_POLICY_ID: You specified an invalid policy ID. *

                                                                                                                                            *
                                                                                                                                          • *
                                                                                                                                          • *

                                                                                                                                            * INVALID_SYSTEM_TAGS_PARAMETER: You specified a tag key that is a system tag. You can’t add, edit, or * delete system tag keys because they're reserved for Amazon Web Services use. System tags don’t count * against your tags per resource limit. *

                                                                                                                                            *
                                                                                                                                          • *
                                                                                                                                          • *

                                                                                                                                            * MAX_FILTER_LIMIT_EXCEEDED: You can specify only one filter parameter for the operation. *

                                                                                                                                            *
                                                                                                                                          • *
                                                                                                                                          • *

                                                                                                                                            * MAX_LENGTH_EXCEEDED: You provided a string parameter that is longer than allowed. *

                                                                                                                                            *
                                                                                                                                          • *
                                                                                                                                          • *

                                                                                                                                            * MAX_VALUE_EXCEEDED: You provided a numeric parameter that has a larger value than allowed. *

                                                                                                                                            *
                                                                                                                                          • *
                                                                                                                                          • *

                                                                                                                                            * MIN_LENGTH_EXCEEDED: You provided a string parameter that is shorter than allowed. *

                                                                                                                                            *
                                                                                                                                          • *
                                                                                                                                          • *

                                                                                                                                            * MIN_VALUE_EXCEEDED: You provided a numeric parameter that has a smaller value than allowed. *

                                                                                                                                            *
                                                                                                                                          • *
                                                                                                                                          • *

                                                                                                                                            * MOVING_ACCOUNT_BETWEEN_DIFFERENT_ROOTS: You can move an account only between entities in the same root. *

                                                                                                                                            *
                                                                                                                                          • *
                                                                                                                                          • *

                                                                                                                                            * NON_DETACHABLE_POLICY: You can't detach this Amazon Web Services Managed Policy. *

                                                                                                                                            *
                                                                                                                                          • *
                                                                                                                                          • *

                                                                                                                                            * TARGET_NOT_SUPPORTED: You can't perform the specified operation on that target entity. *

                                                                                                                                            *
                                                                                                                                          • *
                                                                                                                                          • *

                                                                                                                                            * UNRECOGNIZED_SERVICE_PRINCIPAL: You specified a service principal that isn't recognized. *

                                                                                                                                            *
                                                                                                                                          • * @throws SourceParentNotFoundException * We can't find a source root or OU with the ParentId that you specified. * @throws DestinationParentNotFoundException * We can't find the destination container (a root or OU) with the ParentId that you specified. * @throws DuplicateAccountException * That account is already present in the specified destination. * @throws AccountNotFoundException * We can't find an Amazon Web Services account with the AccountId that you specified, or the * account whose credentials you used to make this request isn't a member of an organization. * @throws TooManyRequestsException * You have sent too many requests in too short a period of time. The quota helps protect against * denial-of-service attacks. Try again later.

                                                                                                                                            *

                                                                                                                                            * For information about quotas that affect Organizations, see Quotas for * Organizations in the Organizations User Guide. * @throws ConcurrentModificationException * The target of the operation is currently being modified by a different request. Try again later. * @throws AwsOrganizationsNotInUseException * Your account isn't a member of an organization. To make this request, you must use the credentials of an * account that belongs to an organization. * @throws ServiceException * Organizations can't complete your request because of an internal service error. Try again later. * @throws SdkException * Base class for all exceptions that can be thrown by the SDK (both service and client). Can be used for * catch all scenarios. * @throws SdkClientException * If any client side error occurs such as an IO related failure, failure to get credentials, etc. * @throws OrganizationsException * Base class for all service exceptions. Unknown exceptions will be thrown as an instance of this type. * @sample OrganizationsClient.MoveAccount * @see AWS API * Documentation */ @Override public MoveAccountResponse moveAccount(MoveAccountRequest moveAccountRequest) throws AccessDeniedException, InvalidInputException, SourceParentNotFoundException, DestinationParentNotFoundException, DuplicateAccountException, AccountNotFoundException, TooManyRequestsException, ConcurrentModificationException, AwsOrganizationsNotInUseException, ServiceException, AwsServiceException, SdkClientException, OrganizationsException { JsonOperationMetadata operationMetadata = JsonOperationMetadata.builder().hasStreamingSuccessResponse(false) .isPayloadJson(true).build(); HttpResponseHandler responseHandler = protocolFactory.createResponseHandler(operationMetadata, MoveAccountResponse::builder); HttpResponseHandler errorResponseHandler = createErrorResponseHandler(protocolFactory, operationMetadata); SdkClientConfiguration clientConfiguration = updateSdkClientConfiguration(moveAccountRequest, this.clientConfiguration); List metricPublishers = resolveMetricPublishers(clientConfiguration, moveAccountRequest .overrideConfiguration().orElse(null)); MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector .create("ApiCall"); try { apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "Organizations"); apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "MoveAccount"); return clientHandler.execute(new ClientExecutionParams() .withOperationName("MoveAccount").withProtocolMetadata(protocolMetadata).withResponseHandler(responseHandler) .withErrorResponseHandler(errorResponseHandler).withRequestConfiguration(clientConfiguration) .withInput(moveAccountRequest).withMetricCollector(apiCallMetricCollector) .withMarshaller(new MoveAccountRequestMarshaller(protocolFactory))); } finally { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); } } /** *

                                                                                                                                            * Creates or updates a resource policy. *

                                                                                                                                            *

                                                                                                                                            * You can only call this operation from the organization's management account. *

                                                                                                                                            * * @param putResourcePolicyRequest * @return Result of the PutResourcePolicy operation returned by the service. * @throws AccessDeniedException * You don't have permissions to perform the requested operation. The user or role that is making the * request must have at least one IAM permissions policy attached that grants the required permissions. For * more information, see Access * Management in the IAM User Guide. * @throws ServiceException * Organizations can't complete your request because of an internal service error. Try again later. * @throws UnsupportedApiEndpointException * This action isn't available in the current Amazon Web Services Region. * @throws TooManyRequestsException * You have sent too many requests in too short a period of time. The quota helps protect against * denial-of-service attacks. Try again later.

                                                                                                                                            *

                                                                                                                                            * For information about quotas that affect Organizations, see Quotas for * Organizations in the Organizations User Guide. * @throws ConcurrentModificationException * The target of the operation is currently being modified by a different request. Try again later. * @throws InvalidInputException * The requested operation failed because you provided invalid values for one or more of the request * parameters. This exception includes a reason that contains additional information about the violated * limit: *

                                                                                                                                            * *

                                                                                                                                            * Some of the reasons in the following list might not be applicable to this specific API or operation. *

                                                                                                                                            *
                                                                                                                                            *
                                                                                                                                              *
                                                                                                                                            • *

                                                                                                                                              * DUPLICATE_TAG_KEY: Tag keys must be unique among the tags attached to the same entity. *

                                                                                                                                              *
                                                                                                                                            • *
                                                                                                                                            • *

                                                                                                                                              * IMMUTABLE_POLICY: You specified a policy that is managed by Amazon Web Services and can't be modified. *

                                                                                                                                              *
                                                                                                                                            • *
                                                                                                                                            • *

                                                                                                                                              * INPUT_REQUIRED: You must include a value for all required parameters. *

                                                                                                                                              *
                                                                                                                                            • *
                                                                                                                                            • *

                                                                                                                                              * INVALID_EMAIL_ADDRESS_TARGET: You specified an invalid email address for the invited account owner. *

                                                                                                                                              *
                                                                                                                                            • *
                                                                                                                                            • *

                                                                                                                                              * INVALID_ENUM: You specified an invalid value. *

                                                                                                                                              *
                                                                                                                                            • *
                                                                                                                                            • *

                                                                                                                                              * INVALID_ENUM_POLICY_TYPE: You specified an invalid policy type string. *

                                                                                                                                              *
                                                                                                                                            • *
                                                                                                                                            • *

                                                                                                                                              * INVALID_FULL_NAME_TARGET: You specified a full name that contains invalid characters. *

                                                                                                                                              *
                                                                                                                                            • *
                                                                                                                                            • *

                                                                                                                                              * INVALID_LIST_MEMBER: You provided a list to a parameter that contains at least one invalid value. *

                                                                                                                                              *
                                                                                                                                            • *
                                                                                                                                            • *

                                                                                                                                              * INVALID_PAGINATION_TOKEN: Get the value for the NextToken parameter from the response to a * previous call of the operation. *

                                                                                                                                              *
                                                                                                                                            • *
                                                                                                                                            • *

                                                                                                                                              * INVALID_PARTY_TYPE_TARGET: You specified the wrong type of entity (account, organization, or email) as a * party. *

                                                                                                                                              *
                                                                                                                                            • *
                                                                                                                                            • *

                                                                                                                                              * INVALID_PATTERN: You provided a value that doesn't match the required pattern. *

                                                                                                                                              *
                                                                                                                                            • *
                                                                                                                                            • *

                                                                                                                                              * INVALID_PATTERN_TARGET_ID: You specified a policy target ID that doesn't match the required pattern. *

                                                                                                                                              *
                                                                                                                                            • *
                                                                                                                                            • *

                                                                                                                                              * INVALID_PRINCIPAL: You specified an invalid principal element in the policy. *

                                                                                                                                              *
                                                                                                                                            • *
                                                                                                                                            • *

                                                                                                                                              * INVALID_ROLE_NAME: You provided a role name that isn't valid. A role name can't begin with the reserved * prefix AWSServiceRoleFor. *

                                                                                                                                              *
                                                                                                                                            • *
                                                                                                                                            • *

                                                                                                                                              * INVALID_SYNTAX_ORGANIZATION_ARN: You specified an invalid Amazon Resource Name (ARN) for the * organization. *

                                                                                                                                              *
                                                                                                                                            • *
                                                                                                                                            • *

                                                                                                                                              * INVALID_SYNTAX_POLICY_ID: You specified an invalid policy ID. *

                                                                                                                                              *
                                                                                                                                            • *
                                                                                                                                            • *

                                                                                                                                              * INVALID_SYSTEM_TAGS_PARAMETER: You specified a tag key that is a system tag. You can’t add, edit, or * delete system tag keys because they're reserved for Amazon Web Services use. System tags don’t count * against your tags per resource limit. *

                                                                                                                                              *
                                                                                                                                            • *
                                                                                                                                            • *

                                                                                                                                              * MAX_FILTER_LIMIT_EXCEEDED: You can specify only one filter parameter for the operation. *

                                                                                                                                              *
                                                                                                                                            • *
                                                                                                                                            • *

                                                                                                                                              * MAX_LENGTH_EXCEEDED: You provided a string parameter that is longer than allowed. *

                                                                                                                                              *
                                                                                                                                            • *
                                                                                                                                            • *

                                                                                                                                              * MAX_VALUE_EXCEEDED: You provided a numeric parameter that has a larger value than allowed. *

                                                                                                                                              *
                                                                                                                                            • *
                                                                                                                                            • *

                                                                                                                                              * MIN_LENGTH_EXCEEDED: You provided a string parameter that is shorter than allowed. *

                                                                                                                                              *
                                                                                                                                            • *
                                                                                                                                            • *

                                                                                                                                              * MIN_VALUE_EXCEEDED: You provided a numeric parameter that has a smaller value than allowed. *

                                                                                                                                              *
                                                                                                                                            • *
                                                                                                                                            • *

                                                                                                                                              * MOVING_ACCOUNT_BETWEEN_DIFFERENT_ROOTS: You can move an account only between entities in the same root. *

                                                                                                                                              *
                                                                                                                                            • *
                                                                                                                                            • *

                                                                                                                                              * NON_DETACHABLE_POLICY: You can't detach this Amazon Web Services Managed Policy. *

                                                                                                                                              *
                                                                                                                                            • *
                                                                                                                                            • *

                                                                                                                                              * TARGET_NOT_SUPPORTED: You can't perform the specified operation on that target entity. *

                                                                                                                                              *
                                                                                                                                            • *
                                                                                                                                            • *

                                                                                                                                              * UNRECOGNIZED_SERVICE_PRINCIPAL: You specified a service principal that isn't recognized. *

                                                                                                                                              *
                                                                                                                                            • * @throws ConstraintViolationException * Performing this operation violates a minimum or maximum value limit. For example, attempting to remove * the last service control policy (SCP) from an OU or root, inviting or creating too many accounts to the * organization, or attaching too many policies to an account, OU, or root. This exception includes a reason * that contains additional information about the violated limit:

                                                                                                                                              *

                                                                                                                                              * Some of the reasons in the following list might not be applicable to this specific API or operation. *

                                                                                                                                              *
                                                                                                                                              *
                                                                                                                                                *
                                                                                                                                              • *

                                                                                                                                                * ACCOUNT_CANNOT_LEAVE_ORGANIZATION: You attempted to remove the management account from the organization. * You can't remove the management account. Instead, after you remove all member accounts, delete the * organization itself. *

                                                                                                                                                *
                                                                                                                                              • *
                                                                                                                                              • *

                                                                                                                                                * ACCOUNT_CANNOT_LEAVE_WITHOUT_PHONE_VERIFICATION: You attempted to remove an account from the organization * that doesn't yet have enough information to exist as a standalone account. This account requires you to * first complete phone verification. Follow the steps at Removing a member account from your organization in the Organizations User Guide. *

                                                                                                                                                *
                                                                                                                                              • *
                                                                                                                                              • *

                                                                                                                                                * ACCOUNT_CREATION_RATE_LIMIT_EXCEEDED: You attempted to exceed the number of accounts that you can create * in one day. *

                                                                                                                                                *
                                                                                                                                              • *
                                                                                                                                              • *

                                                                                                                                                * ACCOUNT_CREATION_NOT_COMPLETE: Your account setup isn't complete or your account isn't fully active. You * must complete the account setup before you create an organization. *

                                                                                                                                                *
                                                                                                                                              • *
                                                                                                                                              • *

                                                                                                                                                * ACCOUNT_NUMBER_LIMIT_EXCEEDED: You attempted to exceed the limit on the number of accounts in an * organization. If you need more accounts, contact Amazon Web Services Support to request an * increase in your limit. *

                                                                                                                                                *

                                                                                                                                                * Or the number of invitations that you tried to send would cause you to exceed the limit of accounts in * your organization. Send fewer invitations or contact Amazon Web Services Support to request an increase * in the number of accounts. *

                                                                                                                                                * *

                                                                                                                                                * Deleted and closed accounts still count toward your limit. *

                                                                                                                                                *
                                                                                                                                                *

                                                                                                                                                * If you get this exception when running a command immediately after creating the organization, wait one * hour and try again. After an hour, if the command continues to fail with this error, contact Amazon Web Services Support. *

                                                                                                                                                *
                                                                                                                                              • *
                                                                                                                                              • *

                                                                                                                                                * CANNOT_REGISTER_SUSPENDED_ACCOUNT_AS_DELEGATED_ADMINISTRATOR: You cannot register a suspended account as * a delegated administrator. *

                                                                                                                                                *
                                                                                                                                              • *
                                                                                                                                              • *

                                                                                                                                                * CANNOT_REGISTER_MASTER_AS_DELEGATED_ADMINISTRATOR: You attempted to register the management account of * the organization as a delegated administrator for an Amazon Web Services service integrated with * Organizations. You can designate only a member account as a delegated administrator. *

                                                                                                                                                *
                                                                                                                                              • *
                                                                                                                                              • *

                                                                                                                                                * CANNOT_CLOSE_MANAGEMENT_ACCOUNT: You attempted to close the management account. To close the management * account for the organization, you must first either remove or close all member accounts in the * organization. Follow standard account closure process using root credentials.​ *

                                                                                                                                                *
                                                                                                                                              • *
                                                                                                                                              • *

                                                                                                                                                * CANNOT_REMOVE_DELEGATED_ADMINISTRATOR_FROM_ORG: You attempted to remove an account that is registered as * a delegated administrator for a service integrated with your organization. To complete this operation, * you must first deregister this account as a delegated administrator. *

                                                                                                                                                *
                                                                                                                                              • *
                                                                                                                                              • *

                                                                                                                                                * CLOSE_ACCOUNT_QUOTA_EXCEEDED: You have exceeded close account quota for the past 30 days. *

                                                                                                                                                *
                                                                                                                                              • *
                                                                                                                                              • *

                                                                                                                                                * CLOSE_ACCOUNT_REQUESTS_LIMIT_EXCEEDED: You attempted to exceed the number of accounts that you can close * at a time. ​ *

                                                                                                                                                *
                                                                                                                                              • *
                                                                                                                                              • *

                                                                                                                                                * CREATE_ORGANIZATION_IN_BILLING_MODE_UNSUPPORTED_REGION: To create an organization in the specified * region, you must enable all features mode. *

                                                                                                                                                *
                                                                                                                                              • *
                                                                                                                                              • *

                                                                                                                                                * DELEGATED_ADMINISTRATOR_EXISTS_FOR_THIS_SERVICE: You attempted to register an Amazon Web Services account * as a delegated administrator for an Amazon Web Services service that already has a delegated * administrator. To complete this operation, you must first deregister any existing delegated * administrators for this service. *

                                                                                                                                                *
                                                                                                                                              • *
                                                                                                                                              • *

                                                                                                                                                * EMAIL_VERIFICATION_CODE_EXPIRED: The email verification code is only valid for a limited period of time. * You must resubmit the request and generate a new verfication code. *

                                                                                                                                                *
                                                                                                                                              • *
                                                                                                                                              • *

                                                                                                                                                * HANDSHAKE_RATE_LIMIT_EXCEEDED: You attempted to exceed the number of handshakes that you can send in one * day. *

                                                                                                                                                *
                                                                                                                                              • *
                                                                                                                                              • *

                                                                                                                                                * INVALID_PAYMENT_INSTRUMENT: You cannot remove an account because no supported payment method is * associated with the account. Amazon Web Services does not support cards issued by financial institutions * in Russia or Belarus. For more information, see Managing your * Amazon Web Services payments. *

                                                                                                                                                *
                                                                                                                                              • *
                                                                                                                                              • *

                                                                                                                                                * MASTER_ACCOUNT_ADDRESS_DOES_NOT_MATCH_MARKETPLACE: To create an account in this organization, you first * must migrate the organization's management account to the marketplace that corresponds to the management * account's address. All accounts in an organization must be associated with the same marketplace. *

                                                                                                                                                *
                                                                                                                                              • *
                                                                                                                                              • *

                                                                                                                                                * MASTER_ACCOUNT_MISSING_BUSINESS_LICENSE: Applies only to the Amazon Web Services Regions in China. To * create an organization, the master must have a valid business license. For more information, contact * customer support. *

                                                                                                                                                *
                                                                                                                                              • *
                                                                                                                                              • *

                                                                                                                                                * MASTER_ACCOUNT_MISSING_CONTACT_INFO: To complete this operation, you must first provide a valid contact * address and phone number for the management account. Then try the operation again. *

                                                                                                                                                *
                                                                                                                                              • *
                                                                                                                                              • *

                                                                                                                                                * MASTER_ACCOUNT_NOT_GOVCLOUD_ENABLED: To complete this operation, the management account must have an * associated account in the Amazon Web Services GovCloud (US-West) Region. For more information, see Organizations * in the Amazon Web Services GovCloud User Guide. *

                                                                                                                                                *
                                                                                                                                              • *
                                                                                                                                              • *

                                                                                                                                                * MASTER_ACCOUNT_PAYMENT_INSTRUMENT_REQUIRED: To create an organization with this management account, you * first must associate a valid payment instrument, such as a credit card, with the account. For more * information, see Considerations before removing an account from an organization in the Organizations User * Guide. *

                                                                                                                                                *
                                                                                                                                              • *
                                                                                                                                              • *

                                                                                                                                                * MAX_DELEGATED_ADMINISTRATORS_FOR_SERVICE_LIMIT_EXCEEDED: You attempted to register more delegated * administrators than allowed for the service principal. *

                                                                                                                                                *
                                                                                                                                              • *
                                                                                                                                              • *

                                                                                                                                                * MAX_POLICY_TYPE_ATTACHMENT_LIMIT_EXCEEDED: You attempted to exceed the number of policies of a certain * type that can be attached to an entity at one time. *

                                                                                                                                                *
                                                                                                                                              • *
                                                                                                                                              • *

                                                                                                                                                * MAX_TAG_LIMIT_EXCEEDED: You have exceeded the number of tags allowed on this resource. *

                                                                                                                                                *
                                                                                                                                              • *
                                                                                                                                              • *

                                                                                                                                                * MEMBER_ACCOUNT_PAYMENT_INSTRUMENT_REQUIRED: To complete this operation with this member account, you * first must associate a valid payment instrument, such as a credit card, with the account. For more * information, see Considerations before removing an account from an organization in the Organizations User * Guide. *

                                                                                                                                                *
                                                                                                                                              • *
                                                                                                                                              • *

                                                                                                                                                * MIN_POLICY_TYPE_ATTACHMENT_LIMIT_EXCEEDED: You attempted to detach a policy from an entity that would * cause the entity to have fewer than the minimum number of policies of a certain type required. *

                                                                                                                                                *
                                                                                                                                              • *
                                                                                                                                              • *

                                                                                                                                                * ORGANIZATION_NOT_IN_ALL_FEATURES_MODE: You attempted to perform an operation that requires the * organization to be configured to support all features. An organization that supports only consolidated * billing features can't perform this operation. *

                                                                                                                                                *
                                                                                                                                              • *
                                                                                                                                              • *

                                                                                                                                                * OU_DEPTH_LIMIT_EXCEEDED: You attempted to create an OU tree that is too many levels deep. *

                                                                                                                                                *
                                                                                                                                              • *
                                                                                                                                              • *

                                                                                                                                                * OU_NUMBER_LIMIT_EXCEEDED: You attempted to exceed the number of OUs that you can have in an organization. *

                                                                                                                                                *
                                                                                                                                              • *
                                                                                                                                              • *

                                                                                                                                                * POLICY_CONTENT_LIMIT_EXCEEDED: You attempted to create a policy that is larger than the maximum size. *

                                                                                                                                                *
                                                                                                                                              • *
                                                                                                                                              • *

                                                                                                                                                * POLICY_NUMBER_LIMIT_EXCEEDED: You attempted to exceed the number of policies that you can have in an * organization. *

                                                                                                                                                *
                                                                                                                                              • *
                                                                                                                                              • *

                                                                                                                                                * SERVICE_ACCESS_NOT_ENABLED: You attempted to register a delegated administrator before you enabled * service access. Call the EnableAWSServiceAccess API first. *

                                                                                                                                                *
                                                                                                                                              • *
                                                                                                                                              • *

                                                                                                                                                * TAG_POLICY_VIOLATION: You attempted to create or update a resource with tags that are not compliant with * the tag policy requirements for this account. *

                                                                                                                                                *
                                                                                                                                              • *
                                                                                                                                              • *

                                                                                                                                                * WAIT_PERIOD_ACTIVE: After you create an Amazon Web Services account, you must wait until at least seven * days after the account was created. Invited accounts aren't subject to this waiting period. *

                                                                                                                                                *
                                                                                                                                              • * @throws AwsOrganizationsNotInUseException * Your account isn't a member of an organization. To make this request, you must use the credentials of an * account that belongs to an organization. * @throws SdkException * Base class for all exceptions that can be thrown by the SDK (both service and client). Can be used for * catch all scenarios. * @throws SdkClientException * If any client side error occurs such as an IO related failure, failure to get credentials, etc. * @throws OrganizationsException * Base class for all service exceptions. Unknown exceptions will be thrown as an instance of this type. * @sample OrganizationsClient.PutResourcePolicy * @see AWS API Documentation */ @Override public PutResourcePolicyResponse putResourcePolicy(PutResourcePolicyRequest putResourcePolicyRequest) throws AccessDeniedException, ServiceException, UnsupportedApiEndpointException, TooManyRequestsException, ConcurrentModificationException, InvalidInputException, ConstraintViolationException, AwsOrganizationsNotInUseException, AwsServiceException, SdkClientException, OrganizationsException { JsonOperationMetadata operationMetadata = JsonOperationMetadata.builder().hasStreamingSuccessResponse(false) .isPayloadJson(true).build(); HttpResponseHandler responseHandler = protocolFactory.createResponseHandler(operationMetadata, PutResourcePolicyResponse::builder); HttpResponseHandler errorResponseHandler = createErrorResponseHandler(protocolFactory, operationMetadata); SdkClientConfiguration clientConfiguration = updateSdkClientConfiguration(putResourcePolicyRequest, this.clientConfiguration); List metricPublishers = resolveMetricPublishers(clientConfiguration, putResourcePolicyRequest .overrideConfiguration().orElse(null)); MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector .create("ApiCall"); try { apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "Organizations"); apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "PutResourcePolicy"); return clientHandler.execute(new ClientExecutionParams() .withOperationName("PutResourcePolicy").withProtocolMetadata(protocolMetadata) .withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler) .withRequestConfiguration(clientConfiguration).withInput(putResourcePolicyRequest) .withMetricCollector(apiCallMetricCollector) .withMarshaller(new PutResourcePolicyRequestMarshaller(protocolFactory))); } finally { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); } } /** *

                                                                                                                                                * Enables the specified member account to administer the Organizations features of the specified Amazon Web * Services service. It grants read-only access to Organizations service data. The account still requires IAM * permissions to access and administer the Amazon Web Services service. *

                                                                                                                                                *

                                                                                                                                                * You can run this action only for Amazon Web Services services that support this feature. For a current list of * services that support it, see the column Supports Delegated Administrator in the table at Amazon Web * Services Services that you can use with Organizations in the Organizations User Guide. *

                                                                                                                                                *

                                                                                                                                                * This operation can be called only from the organization's management account. *

                                                                                                                                                * * @param registerDelegatedAdministratorRequest * @return Result of the RegisterDelegatedAdministrator operation returned by the service. * @throws AccessDeniedException * You don't have permissions to perform the requested operation. The user or role that is making the * request must have at least one IAM permissions policy attached that grants the required permissions. For * more information, see Access * Management in the IAM User Guide. * @throws AccountAlreadyRegisteredException * The specified account is already a delegated administrator for this Amazon Web Services service. * @throws AccountNotFoundException * We can't find an Amazon Web Services account with the AccountId that you specified, or the * account whose credentials you used to make this request isn't a member of an organization. * @throws AwsOrganizationsNotInUseException * Your account isn't a member of an organization. To make this request, you must use the credentials of an * account that belongs to an organization. * @throws ConcurrentModificationException * The target of the operation is currently being modified by a different request. Try again later. * @throws ConstraintViolationException * Performing this operation violates a minimum or maximum value limit. For example, attempting to remove * the last service control policy (SCP) from an OU or root, inviting or creating too many accounts to the * organization, or attaching too many policies to an account, OU, or root. This exception includes a reason * that contains additional information about the violated limit:

                                                                                                                                                *

                                                                                                                                                * Some of the reasons in the following list might not be applicable to this specific API or operation. *

                                                                                                                                                *
                                                                                                                                                *
                                                                                                                                                  *
                                                                                                                                                • *

                                                                                                                                                  * ACCOUNT_CANNOT_LEAVE_ORGANIZATION: You attempted to remove the management account from the organization. * You can't remove the management account. Instead, after you remove all member accounts, delete the * organization itself. *

                                                                                                                                                  *
                                                                                                                                                • *
                                                                                                                                                • *

                                                                                                                                                  * ACCOUNT_CANNOT_LEAVE_WITHOUT_PHONE_VERIFICATION: You attempted to remove an account from the organization * that doesn't yet have enough information to exist as a standalone account. This account requires you to * first complete phone verification. Follow the steps at Removing a member account from your organization in the Organizations User Guide. *

                                                                                                                                                  *
                                                                                                                                                • *
                                                                                                                                                • *

                                                                                                                                                  * ACCOUNT_CREATION_RATE_LIMIT_EXCEEDED: You attempted to exceed the number of accounts that you can create * in one day. *

                                                                                                                                                  *
                                                                                                                                                • *
                                                                                                                                                • *

                                                                                                                                                  * ACCOUNT_CREATION_NOT_COMPLETE: Your account setup isn't complete or your account isn't fully active. You * must complete the account setup before you create an organization. *

                                                                                                                                                  *
                                                                                                                                                • *
                                                                                                                                                • *

                                                                                                                                                  * ACCOUNT_NUMBER_LIMIT_EXCEEDED: You attempted to exceed the limit on the number of accounts in an * organization. If you need more accounts, contact Amazon Web Services Support to request an * increase in your limit. *

                                                                                                                                                  *

                                                                                                                                                  * Or the number of invitations that you tried to send would cause you to exceed the limit of accounts in * your organization. Send fewer invitations or contact Amazon Web Services Support to request an increase * in the number of accounts. *

                                                                                                                                                  * *

                                                                                                                                                  * Deleted and closed accounts still count toward your limit. *

                                                                                                                                                  *
                                                                                                                                                  *

                                                                                                                                                  * If you get this exception when running a command immediately after creating the organization, wait one * hour and try again. After an hour, if the command continues to fail with this error, contact Amazon Web Services Support. *

                                                                                                                                                  *
                                                                                                                                                • *
                                                                                                                                                • *

                                                                                                                                                  * CANNOT_REGISTER_SUSPENDED_ACCOUNT_AS_DELEGATED_ADMINISTRATOR: You cannot register a suspended account as * a delegated administrator. *

                                                                                                                                                  *
                                                                                                                                                • *
                                                                                                                                                • *

                                                                                                                                                  * CANNOT_REGISTER_MASTER_AS_DELEGATED_ADMINISTRATOR: You attempted to register the management account of * the organization as a delegated administrator for an Amazon Web Services service integrated with * Organizations. You can designate only a member account as a delegated administrator. *

                                                                                                                                                  *
                                                                                                                                                • *
                                                                                                                                                • *

                                                                                                                                                  * CANNOT_CLOSE_MANAGEMENT_ACCOUNT: You attempted to close the management account. To close the management * account for the organization, you must first either remove or close all member accounts in the * organization. Follow standard account closure process using root credentials.​ *

                                                                                                                                                  *
                                                                                                                                                • *
                                                                                                                                                • *

                                                                                                                                                  * CANNOT_REMOVE_DELEGATED_ADMINISTRATOR_FROM_ORG: You attempted to remove an account that is registered as * a delegated administrator for a service integrated with your organization. To complete this operation, * you must first deregister this account as a delegated administrator. *

                                                                                                                                                  *
                                                                                                                                                • *
                                                                                                                                                • *

                                                                                                                                                  * CLOSE_ACCOUNT_QUOTA_EXCEEDED: You have exceeded close account quota for the past 30 days. *

                                                                                                                                                  *
                                                                                                                                                • *
                                                                                                                                                • *

                                                                                                                                                  * CLOSE_ACCOUNT_REQUESTS_LIMIT_EXCEEDED: You attempted to exceed the number of accounts that you can close * at a time. ​ *

                                                                                                                                                  *
                                                                                                                                                • *
                                                                                                                                                • *

                                                                                                                                                  * CREATE_ORGANIZATION_IN_BILLING_MODE_UNSUPPORTED_REGION: To create an organization in the specified * region, you must enable all features mode. *

                                                                                                                                                  *
                                                                                                                                                • *
                                                                                                                                                • *

                                                                                                                                                  * DELEGATED_ADMINISTRATOR_EXISTS_FOR_THIS_SERVICE: You attempted to register an Amazon Web Services account * as a delegated administrator for an Amazon Web Services service that already has a delegated * administrator. To complete this operation, you must first deregister any existing delegated * administrators for this service. *

                                                                                                                                                  *
                                                                                                                                                • *
                                                                                                                                                • *

                                                                                                                                                  * EMAIL_VERIFICATION_CODE_EXPIRED: The email verification code is only valid for a limited period of time. * You must resubmit the request and generate a new verfication code. *

                                                                                                                                                  *
                                                                                                                                                • *
                                                                                                                                                • *

                                                                                                                                                  * HANDSHAKE_RATE_LIMIT_EXCEEDED: You attempted to exceed the number of handshakes that you can send in one * day. *

                                                                                                                                                  *
                                                                                                                                                • *
                                                                                                                                                • *

                                                                                                                                                  * INVALID_PAYMENT_INSTRUMENT: You cannot remove an account because no supported payment method is * associated with the account. Amazon Web Services does not support cards issued by financial institutions * in Russia or Belarus. For more information, see Managing your * Amazon Web Services payments. *

                                                                                                                                                  *
                                                                                                                                                • *
                                                                                                                                                • *

                                                                                                                                                  * MASTER_ACCOUNT_ADDRESS_DOES_NOT_MATCH_MARKETPLACE: To create an account in this organization, you first * must migrate the organization's management account to the marketplace that corresponds to the management * account's address. All accounts in an organization must be associated with the same marketplace. *

                                                                                                                                                  *
                                                                                                                                                • *
                                                                                                                                                • *

                                                                                                                                                  * MASTER_ACCOUNT_MISSING_BUSINESS_LICENSE: Applies only to the Amazon Web Services Regions in China. To * create an organization, the master must have a valid business license. For more information, contact * customer support. *

                                                                                                                                                  *
                                                                                                                                                • *
                                                                                                                                                • *

                                                                                                                                                  * MASTER_ACCOUNT_MISSING_CONTACT_INFO: To complete this operation, you must first provide a valid contact * address and phone number for the management account. Then try the operation again. *

                                                                                                                                                  *
                                                                                                                                                • *
                                                                                                                                                • *

                                                                                                                                                  * MASTER_ACCOUNT_NOT_GOVCLOUD_ENABLED: To complete this operation, the management account must have an * associated account in the Amazon Web Services GovCloud (US-West) Region. For more information, see Organizations * in the Amazon Web Services GovCloud User Guide. *

                                                                                                                                                  *
                                                                                                                                                • *
                                                                                                                                                • *

                                                                                                                                                  * MASTER_ACCOUNT_PAYMENT_INSTRUMENT_REQUIRED: To create an organization with this management account, you * first must associate a valid payment instrument, such as a credit card, with the account. For more * information, see Considerations before removing an account from an organization in the Organizations User * Guide. *

                                                                                                                                                  *
                                                                                                                                                • *
                                                                                                                                                • *

                                                                                                                                                  * MAX_DELEGATED_ADMINISTRATORS_FOR_SERVICE_LIMIT_EXCEEDED: You attempted to register more delegated * administrators than allowed for the service principal. *

                                                                                                                                                  *
                                                                                                                                                • *
                                                                                                                                                • *

                                                                                                                                                  * MAX_POLICY_TYPE_ATTACHMENT_LIMIT_EXCEEDED: You attempted to exceed the number of policies of a certain * type that can be attached to an entity at one time. *

                                                                                                                                                  *
                                                                                                                                                • *
                                                                                                                                                • *

                                                                                                                                                  * MAX_TAG_LIMIT_EXCEEDED: You have exceeded the number of tags allowed on this resource. *

                                                                                                                                                  *
                                                                                                                                                • *
                                                                                                                                                • *

                                                                                                                                                  * MEMBER_ACCOUNT_PAYMENT_INSTRUMENT_REQUIRED: To complete this operation with this member account, you * first must associate a valid payment instrument, such as a credit card, with the account. For more * information, see Considerations before removing an account from an organization in the Organizations User * Guide. *

                                                                                                                                                  *
                                                                                                                                                • *
                                                                                                                                                • *

                                                                                                                                                  * MIN_POLICY_TYPE_ATTACHMENT_LIMIT_EXCEEDED: You attempted to detach a policy from an entity that would * cause the entity to have fewer than the minimum number of policies of a certain type required. *

                                                                                                                                                  *
                                                                                                                                                • *
                                                                                                                                                • *

                                                                                                                                                  * ORGANIZATION_NOT_IN_ALL_FEATURES_MODE: You attempted to perform an operation that requires the * organization to be configured to support all features. An organization that supports only consolidated * billing features can't perform this operation. *

                                                                                                                                                  *
                                                                                                                                                • *
                                                                                                                                                • *

                                                                                                                                                  * OU_DEPTH_LIMIT_EXCEEDED: You attempted to create an OU tree that is too many levels deep. *

                                                                                                                                                  *
                                                                                                                                                • *
                                                                                                                                                • *

                                                                                                                                                  * OU_NUMBER_LIMIT_EXCEEDED: You attempted to exceed the number of OUs that you can have in an organization. *

                                                                                                                                                  *
                                                                                                                                                • *
                                                                                                                                                • *

                                                                                                                                                  * POLICY_CONTENT_LIMIT_EXCEEDED: You attempted to create a policy that is larger than the maximum size. *

                                                                                                                                                  *
                                                                                                                                                • *
                                                                                                                                                • *

                                                                                                                                                  * POLICY_NUMBER_LIMIT_EXCEEDED: You attempted to exceed the number of policies that you can have in an * organization. *

                                                                                                                                                  *
                                                                                                                                                • *
                                                                                                                                                • *

                                                                                                                                                  * SERVICE_ACCESS_NOT_ENABLED: You attempted to register a delegated administrator before you enabled * service access. Call the EnableAWSServiceAccess API first. *

                                                                                                                                                  *
                                                                                                                                                • *
                                                                                                                                                • *

                                                                                                                                                  * TAG_POLICY_VIOLATION: You attempted to create or update a resource with tags that are not compliant with * the tag policy requirements for this account. *

                                                                                                                                                  *
                                                                                                                                                • *
                                                                                                                                                • *

                                                                                                                                                  * WAIT_PERIOD_ACTIVE: After you create an Amazon Web Services account, you must wait until at least seven * days after the account was created. Invited accounts aren't subject to this waiting period. *

                                                                                                                                                  *
                                                                                                                                                • * @throws InvalidInputException * The requested operation failed because you provided invalid values for one or more of the request * parameters. This exception includes a reason that contains additional information about the violated * limit:

                                                                                                                                                  *

                                                                                                                                                  * Some of the reasons in the following list might not be applicable to this specific API or operation. *

                                                                                                                                                  *
                                                                                                                                                  *
                                                                                                                                                    *
                                                                                                                                                  • *

                                                                                                                                                    * DUPLICATE_TAG_KEY: Tag keys must be unique among the tags attached to the same entity. *

                                                                                                                                                    *
                                                                                                                                                  • *
                                                                                                                                                  • *

                                                                                                                                                    * IMMUTABLE_POLICY: You specified a policy that is managed by Amazon Web Services and can't be modified. *

                                                                                                                                                    *
                                                                                                                                                  • *
                                                                                                                                                  • *

                                                                                                                                                    * INPUT_REQUIRED: You must include a value for all required parameters. *

                                                                                                                                                    *
                                                                                                                                                  • *
                                                                                                                                                  • *

                                                                                                                                                    * INVALID_EMAIL_ADDRESS_TARGET: You specified an invalid email address for the invited account owner. *

                                                                                                                                                    *
                                                                                                                                                  • *
                                                                                                                                                  • *

                                                                                                                                                    * INVALID_ENUM: You specified an invalid value. *

                                                                                                                                                    *
                                                                                                                                                  • *
                                                                                                                                                  • *

                                                                                                                                                    * INVALID_ENUM_POLICY_TYPE: You specified an invalid policy type string. *

                                                                                                                                                    *
                                                                                                                                                  • *
                                                                                                                                                  • *

                                                                                                                                                    * INVALID_FULL_NAME_TARGET: You specified a full name that contains invalid characters. *

                                                                                                                                                    *
                                                                                                                                                  • *
                                                                                                                                                  • *

                                                                                                                                                    * INVALID_LIST_MEMBER: You provided a list to a parameter that contains at least one invalid value. *

                                                                                                                                                    *
                                                                                                                                                  • *
                                                                                                                                                  • *

                                                                                                                                                    * INVALID_PAGINATION_TOKEN: Get the value for the NextToken parameter from the response to a * previous call of the operation. *

                                                                                                                                                    *
                                                                                                                                                  • *
                                                                                                                                                  • *

                                                                                                                                                    * INVALID_PARTY_TYPE_TARGET: You specified the wrong type of entity (account, organization, or email) as a * party. *

                                                                                                                                                    *
                                                                                                                                                  • *
                                                                                                                                                  • *

                                                                                                                                                    * INVALID_PATTERN: You provided a value that doesn't match the required pattern. *

                                                                                                                                                    *
                                                                                                                                                  • *
                                                                                                                                                  • *

                                                                                                                                                    * INVALID_PATTERN_TARGET_ID: You specified a policy target ID that doesn't match the required pattern. *

                                                                                                                                                    *
                                                                                                                                                  • *
                                                                                                                                                  • *

                                                                                                                                                    * INVALID_PRINCIPAL: You specified an invalid principal element in the policy. *

                                                                                                                                                    *
                                                                                                                                                  • *
                                                                                                                                                  • *

                                                                                                                                                    * INVALID_ROLE_NAME: You provided a role name that isn't valid. A role name can't begin with the reserved * prefix AWSServiceRoleFor. *

                                                                                                                                                    *
                                                                                                                                                  • *
                                                                                                                                                  • *

                                                                                                                                                    * INVALID_SYNTAX_ORGANIZATION_ARN: You specified an invalid Amazon Resource Name (ARN) for the * organization. *

                                                                                                                                                    *
                                                                                                                                                  • *
                                                                                                                                                  • *

                                                                                                                                                    * INVALID_SYNTAX_POLICY_ID: You specified an invalid policy ID. *

                                                                                                                                                    *
                                                                                                                                                  • *
                                                                                                                                                  • *

                                                                                                                                                    * INVALID_SYSTEM_TAGS_PARAMETER: You specified a tag key that is a system tag. You can’t add, edit, or * delete system tag keys because they're reserved for Amazon Web Services use. System tags don’t count * against your tags per resource limit. *

                                                                                                                                                    *
                                                                                                                                                  • *
                                                                                                                                                  • *

                                                                                                                                                    * MAX_FILTER_LIMIT_EXCEEDED: You can specify only one filter parameter for the operation. *

                                                                                                                                                    *
                                                                                                                                                  • *
                                                                                                                                                  • *

                                                                                                                                                    * MAX_LENGTH_EXCEEDED: You provided a string parameter that is longer than allowed. *

                                                                                                                                                    *
                                                                                                                                                  • *
                                                                                                                                                  • *

                                                                                                                                                    * MAX_VALUE_EXCEEDED: You provided a numeric parameter that has a larger value than allowed. *

                                                                                                                                                    *
                                                                                                                                                  • *
                                                                                                                                                  • *

                                                                                                                                                    * MIN_LENGTH_EXCEEDED: You provided a string parameter that is shorter than allowed. *

                                                                                                                                                    *
                                                                                                                                                  • *
                                                                                                                                                  • *

                                                                                                                                                    * MIN_VALUE_EXCEEDED: You provided a numeric parameter that has a smaller value than allowed. *

                                                                                                                                                    *
                                                                                                                                                  • *
                                                                                                                                                  • *

                                                                                                                                                    * MOVING_ACCOUNT_BETWEEN_DIFFERENT_ROOTS: You can move an account only between entities in the same root. *

                                                                                                                                                    *
                                                                                                                                                  • *
                                                                                                                                                  • *

                                                                                                                                                    * NON_DETACHABLE_POLICY: You can't detach this Amazon Web Services Managed Policy. *

                                                                                                                                                    *
                                                                                                                                                  • *
                                                                                                                                                  • *

                                                                                                                                                    * TARGET_NOT_SUPPORTED: You can't perform the specified operation on that target entity. *

                                                                                                                                                    *
                                                                                                                                                  • *
                                                                                                                                                  • *

                                                                                                                                                    * UNRECOGNIZED_SERVICE_PRINCIPAL: You specified a service principal that isn't recognized. *

                                                                                                                                                    *
                                                                                                                                                  • * @throws TooManyRequestsException * You have sent too many requests in too short a period of time. The quota helps protect against * denial-of-service attacks. Try again later.

                                                                                                                                                    *

                                                                                                                                                    * For information about quotas that affect Organizations, see Quotas for * Organizations in the Organizations User Guide. * @throws ServiceException * Organizations can't complete your request because of an internal service error. Try again later. * @throws UnsupportedApiEndpointException * This action isn't available in the current Amazon Web Services Region. * @throws SdkException * Base class for all exceptions that can be thrown by the SDK (both service and client). Can be used for * catch all scenarios. * @throws SdkClientException * If any client side error occurs such as an IO related failure, failure to get credentials, etc. * @throws OrganizationsException * Base class for all service exceptions. Unknown exceptions will be thrown as an instance of this type. * @sample OrganizationsClient.RegisterDelegatedAdministrator * @see AWS API Documentation */ @Override public RegisterDelegatedAdministratorResponse registerDelegatedAdministrator( RegisterDelegatedAdministratorRequest registerDelegatedAdministratorRequest) throws AccessDeniedException, AccountAlreadyRegisteredException, AccountNotFoundException, AwsOrganizationsNotInUseException, ConcurrentModificationException, ConstraintViolationException, InvalidInputException, TooManyRequestsException, ServiceException, UnsupportedApiEndpointException, AwsServiceException, SdkClientException, OrganizationsException { JsonOperationMetadata operationMetadata = JsonOperationMetadata.builder().hasStreamingSuccessResponse(false) .isPayloadJson(true).build(); HttpResponseHandler responseHandler = protocolFactory.createResponseHandler( operationMetadata, RegisterDelegatedAdministratorResponse::builder); HttpResponseHandler errorResponseHandler = createErrorResponseHandler(protocolFactory, operationMetadata); SdkClientConfiguration clientConfiguration = updateSdkClientConfiguration(registerDelegatedAdministratorRequest, this.clientConfiguration); List metricPublishers = resolveMetricPublishers(clientConfiguration, registerDelegatedAdministratorRequest.overrideConfiguration().orElse(null)); MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector .create("ApiCall"); try { apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "Organizations"); apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "RegisterDelegatedAdministrator"); return clientHandler .execute(new ClientExecutionParams() .withOperationName("RegisterDelegatedAdministrator").withProtocolMetadata(protocolMetadata) .withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler) .withRequestConfiguration(clientConfiguration).withInput(registerDelegatedAdministratorRequest) .withMetricCollector(apiCallMetricCollector) .withMarshaller(new RegisterDelegatedAdministratorRequestMarshaller(protocolFactory))); } finally { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); } } /** *

                                                                                                                                                    * Removes the specified account from the organization. *

                                                                                                                                                    *

                                                                                                                                                    * The removed account becomes a standalone account that isn't a member of any organization. It's no longer subject * to any policies and is responsible for its own bill payments. The organization's management account is no longer * charged for any expenses accrued by the member account after it's removed from the organization. *

                                                                                                                                                    *

                                                                                                                                                    * This operation can be called only from the organization's management account. Member accounts can remove * themselves with LeaveOrganization instead. *

                                                                                                                                                    * *
                                                                                                                                                      *
                                                                                                                                                    • *

                                                                                                                                                      * You can remove an account from your organization only if the account is configured with the information required * to operate as a standalone account. When you create an account in an organization using the Organizations * console, API, or CLI commands, the information required of standalone accounts is not automatically * collected. For more information, see Considerations before removing an account from an organization in the Organizations User Guide. *

                                                                                                                                                      *
                                                                                                                                                    • *
                                                                                                                                                    • *

                                                                                                                                                      * The account that you want to leave must not be a delegated administrator account for any Amazon Web Services * service enabled for your organization. If the account is a delegated administrator, you must first change the * delegated administrator account to another account that is remaining in the organization. *

                                                                                                                                                      *
                                                                                                                                                    • *
                                                                                                                                                    • *

                                                                                                                                                      * After the account leaves the organization, all tags that were attached to the account object in the organization * are deleted. Amazon Web Services accounts outside of an organization do not support tags. *

                                                                                                                                                      *
                                                                                                                                                    • *
                                                                                                                                                    *
                                                                                                                                                    * * @param removeAccountFromOrganizationRequest * @return Result of the RemoveAccountFromOrganization operation returned by the service. * @throws AccessDeniedException * You don't have permissions to perform the requested operation. The user or role that is making the * request must have at least one IAM permissions policy attached that grants the required permissions. For * more information, see Access * Management in the IAM User Guide. * @throws AccountNotFoundException * We can't find an Amazon Web Services account with the AccountId that you specified, or the * account whose credentials you used to make this request isn't a member of an organization. * @throws AwsOrganizationsNotInUseException * Your account isn't a member of an organization. To make this request, you must use the credentials of an * account that belongs to an organization. * @throws ConcurrentModificationException * The target of the operation is currently being modified by a different request. Try again later. * @throws ConstraintViolationException * Performing this operation violates a minimum or maximum value limit. For example, attempting to remove * the last service control policy (SCP) from an OU or root, inviting or creating too many accounts to the * organization, or attaching too many policies to an account, OU, or root. This exception includes a reason * that contains additional information about the violated limit:

                                                                                                                                                    *

                                                                                                                                                    * Some of the reasons in the following list might not be applicable to this specific API or operation. *

                                                                                                                                                    *
                                                                                                                                                    *
                                                                                                                                                      *
                                                                                                                                                    • *

                                                                                                                                                      * ACCOUNT_CANNOT_LEAVE_ORGANIZATION: You attempted to remove the management account from the organization. * You can't remove the management account. Instead, after you remove all member accounts, delete the * organization itself. *

                                                                                                                                                      *
                                                                                                                                                    • *
                                                                                                                                                    • *

                                                                                                                                                      * ACCOUNT_CANNOT_LEAVE_WITHOUT_PHONE_VERIFICATION: You attempted to remove an account from the organization * that doesn't yet have enough information to exist as a standalone account. This account requires you to * first complete phone verification. Follow the steps at Removing a member account from your organization in the Organizations User Guide. *

                                                                                                                                                      *
                                                                                                                                                    • *
                                                                                                                                                    • *

                                                                                                                                                      * ACCOUNT_CREATION_RATE_LIMIT_EXCEEDED: You attempted to exceed the number of accounts that you can create * in one day. *

                                                                                                                                                      *
                                                                                                                                                    • *
                                                                                                                                                    • *

                                                                                                                                                      * ACCOUNT_CREATION_NOT_COMPLETE: Your account setup isn't complete or your account isn't fully active. You * must complete the account setup before you create an organization. *

                                                                                                                                                      *
                                                                                                                                                    • *
                                                                                                                                                    • *

                                                                                                                                                      * ACCOUNT_NUMBER_LIMIT_EXCEEDED: You attempted to exceed the limit on the number of accounts in an * organization. If you need more accounts, contact Amazon Web Services Support to request an * increase in your limit. *

                                                                                                                                                      *

                                                                                                                                                      * Or the number of invitations that you tried to send would cause you to exceed the limit of accounts in * your organization. Send fewer invitations or contact Amazon Web Services Support to request an increase * in the number of accounts. *

                                                                                                                                                      * *

                                                                                                                                                      * Deleted and closed accounts still count toward your limit. *

                                                                                                                                                      *
                                                                                                                                                      *

                                                                                                                                                      * If you get this exception when running a command immediately after creating the organization, wait one * hour and try again. After an hour, if the command continues to fail with this error, contact Amazon Web Services Support. *

                                                                                                                                                      *
                                                                                                                                                    • *
                                                                                                                                                    • *

                                                                                                                                                      * CANNOT_REGISTER_SUSPENDED_ACCOUNT_AS_DELEGATED_ADMINISTRATOR: You cannot register a suspended account as * a delegated administrator. *

                                                                                                                                                      *
                                                                                                                                                    • *
                                                                                                                                                    • *

                                                                                                                                                      * CANNOT_REGISTER_MASTER_AS_DELEGATED_ADMINISTRATOR: You attempted to register the management account of * the organization as a delegated administrator for an Amazon Web Services service integrated with * Organizations. You can designate only a member account as a delegated administrator. *

                                                                                                                                                      *
                                                                                                                                                    • *
                                                                                                                                                    • *

                                                                                                                                                      * CANNOT_CLOSE_MANAGEMENT_ACCOUNT: You attempted to close the management account. To close the management * account for the organization, you must first either remove or close all member accounts in the * organization. Follow standard account closure process using root credentials.​ *

                                                                                                                                                      *
                                                                                                                                                    • *
                                                                                                                                                    • *

                                                                                                                                                      * CANNOT_REMOVE_DELEGATED_ADMINISTRATOR_FROM_ORG: You attempted to remove an account that is registered as * a delegated administrator for a service integrated with your organization. To complete this operation, * you must first deregister this account as a delegated administrator. *

                                                                                                                                                      *
                                                                                                                                                    • *
                                                                                                                                                    • *

                                                                                                                                                      * CLOSE_ACCOUNT_QUOTA_EXCEEDED: You have exceeded close account quota for the past 30 days. *

                                                                                                                                                      *
                                                                                                                                                    • *
                                                                                                                                                    • *

                                                                                                                                                      * CLOSE_ACCOUNT_REQUESTS_LIMIT_EXCEEDED: You attempted to exceed the number of accounts that you can close * at a time. ​ *

                                                                                                                                                      *
                                                                                                                                                    • *
                                                                                                                                                    • *

                                                                                                                                                      * CREATE_ORGANIZATION_IN_BILLING_MODE_UNSUPPORTED_REGION: To create an organization in the specified * region, you must enable all features mode. *

                                                                                                                                                      *
                                                                                                                                                    • *
                                                                                                                                                    • *

                                                                                                                                                      * DELEGATED_ADMINISTRATOR_EXISTS_FOR_THIS_SERVICE: You attempted to register an Amazon Web Services account * as a delegated administrator for an Amazon Web Services service that already has a delegated * administrator. To complete this operation, you must first deregister any existing delegated * administrators for this service. *

                                                                                                                                                      *
                                                                                                                                                    • *
                                                                                                                                                    • *

                                                                                                                                                      * EMAIL_VERIFICATION_CODE_EXPIRED: The email verification code is only valid for a limited period of time. * You must resubmit the request and generate a new verfication code. *

                                                                                                                                                      *
                                                                                                                                                    • *
                                                                                                                                                    • *

                                                                                                                                                      * HANDSHAKE_RATE_LIMIT_EXCEEDED: You attempted to exceed the number of handshakes that you can send in one * day. *

                                                                                                                                                      *
                                                                                                                                                    • *
                                                                                                                                                    • *

                                                                                                                                                      * INVALID_PAYMENT_INSTRUMENT: You cannot remove an account because no supported payment method is * associated with the account. Amazon Web Services does not support cards issued by financial institutions * in Russia or Belarus. For more information, see Managing your * Amazon Web Services payments. *

                                                                                                                                                      *
                                                                                                                                                    • *
                                                                                                                                                    • *

                                                                                                                                                      * MASTER_ACCOUNT_ADDRESS_DOES_NOT_MATCH_MARKETPLACE: To create an account in this organization, you first * must migrate the organization's management account to the marketplace that corresponds to the management * account's address. All accounts in an organization must be associated with the same marketplace. *

                                                                                                                                                      *
                                                                                                                                                    • *
                                                                                                                                                    • *

                                                                                                                                                      * MASTER_ACCOUNT_MISSING_BUSINESS_LICENSE: Applies only to the Amazon Web Services Regions in China. To * create an organization, the master must have a valid business license. For more information, contact * customer support. *

                                                                                                                                                      *
                                                                                                                                                    • *
                                                                                                                                                    • *

                                                                                                                                                      * MASTER_ACCOUNT_MISSING_CONTACT_INFO: To complete this operation, you must first provide a valid contact * address and phone number for the management account. Then try the operation again. *

                                                                                                                                                      *
                                                                                                                                                    • *
                                                                                                                                                    • *

                                                                                                                                                      * MASTER_ACCOUNT_NOT_GOVCLOUD_ENABLED: To complete this operation, the management account must have an * associated account in the Amazon Web Services GovCloud (US-West) Region. For more information, see Organizations * in the Amazon Web Services GovCloud User Guide. *

                                                                                                                                                      *
                                                                                                                                                    • *
                                                                                                                                                    • *

                                                                                                                                                      * MASTER_ACCOUNT_PAYMENT_INSTRUMENT_REQUIRED: To create an organization with this management account, you * first must associate a valid payment instrument, such as a credit card, with the account. For more * information, see Considerations before removing an account from an organization in the Organizations User * Guide. *

                                                                                                                                                      *
                                                                                                                                                    • *
                                                                                                                                                    • *

                                                                                                                                                      * MAX_DELEGATED_ADMINISTRATORS_FOR_SERVICE_LIMIT_EXCEEDED: You attempted to register more delegated * administrators than allowed for the service principal. *

                                                                                                                                                      *
                                                                                                                                                    • *
                                                                                                                                                    • *

                                                                                                                                                      * MAX_POLICY_TYPE_ATTACHMENT_LIMIT_EXCEEDED: You attempted to exceed the number of policies of a certain * type that can be attached to an entity at one time. *

                                                                                                                                                      *
                                                                                                                                                    • *
                                                                                                                                                    • *

                                                                                                                                                      * MAX_TAG_LIMIT_EXCEEDED: You have exceeded the number of tags allowed on this resource. *

                                                                                                                                                      *
                                                                                                                                                    • *
                                                                                                                                                    • *

                                                                                                                                                      * MEMBER_ACCOUNT_PAYMENT_INSTRUMENT_REQUIRED: To complete this operation with this member account, you * first must associate a valid payment instrument, such as a credit card, with the account. For more * information, see Considerations before removing an account from an organization in the Organizations User * Guide. *

                                                                                                                                                      *
                                                                                                                                                    • *
                                                                                                                                                    • *

                                                                                                                                                      * MIN_POLICY_TYPE_ATTACHMENT_LIMIT_EXCEEDED: You attempted to detach a policy from an entity that would * cause the entity to have fewer than the minimum number of policies of a certain type required. *

                                                                                                                                                      *
                                                                                                                                                    • *
                                                                                                                                                    • *

                                                                                                                                                      * ORGANIZATION_NOT_IN_ALL_FEATURES_MODE: You attempted to perform an operation that requires the * organization to be configured to support all features. An organization that supports only consolidated * billing features can't perform this operation. *

                                                                                                                                                      *
                                                                                                                                                    • *
                                                                                                                                                    • *

                                                                                                                                                      * OU_DEPTH_LIMIT_EXCEEDED: You attempted to create an OU tree that is too many levels deep. *

                                                                                                                                                      *
                                                                                                                                                    • *
                                                                                                                                                    • *

                                                                                                                                                      * OU_NUMBER_LIMIT_EXCEEDED: You attempted to exceed the number of OUs that you can have in an organization. *

                                                                                                                                                      *
                                                                                                                                                    • *
                                                                                                                                                    • *

                                                                                                                                                      * POLICY_CONTENT_LIMIT_EXCEEDED: You attempted to create a policy that is larger than the maximum size. *

                                                                                                                                                      *
                                                                                                                                                    • *
                                                                                                                                                    • *

                                                                                                                                                      * POLICY_NUMBER_LIMIT_EXCEEDED: You attempted to exceed the number of policies that you can have in an * organization. *

                                                                                                                                                      *
                                                                                                                                                    • *
                                                                                                                                                    • *

                                                                                                                                                      * SERVICE_ACCESS_NOT_ENABLED: You attempted to register a delegated administrator before you enabled * service access. Call the EnableAWSServiceAccess API first. *

                                                                                                                                                      *
                                                                                                                                                    • *
                                                                                                                                                    • *

                                                                                                                                                      * TAG_POLICY_VIOLATION: You attempted to create or update a resource with tags that are not compliant with * the tag policy requirements for this account. *

                                                                                                                                                      *
                                                                                                                                                    • *
                                                                                                                                                    • *

                                                                                                                                                      * WAIT_PERIOD_ACTIVE: After you create an Amazon Web Services account, you must wait until at least seven * days after the account was created. Invited accounts aren't subject to this waiting period. *

                                                                                                                                                      *
                                                                                                                                                    • * @throws InvalidInputException * The requested operation failed because you provided invalid values for one or more of the request * parameters. This exception includes a reason that contains additional information about the violated * limit:

                                                                                                                                                      *

                                                                                                                                                      * Some of the reasons in the following list might not be applicable to this specific API or operation. *

                                                                                                                                                      *
                                                                                                                                                      *
                                                                                                                                                        *
                                                                                                                                                      • *

                                                                                                                                                        * DUPLICATE_TAG_KEY: Tag keys must be unique among the tags attached to the same entity. *

                                                                                                                                                        *
                                                                                                                                                      • *
                                                                                                                                                      • *

                                                                                                                                                        * IMMUTABLE_POLICY: You specified a policy that is managed by Amazon Web Services and can't be modified. *

                                                                                                                                                        *
                                                                                                                                                      • *
                                                                                                                                                      • *

                                                                                                                                                        * INPUT_REQUIRED: You must include a value for all required parameters. *

                                                                                                                                                        *
                                                                                                                                                      • *
                                                                                                                                                      • *

                                                                                                                                                        * INVALID_EMAIL_ADDRESS_TARGET: You specified an invalid email address for the invited account owner. *

                                                                                                                                                        *
                                                                                                                                                      • *
                                                                                                                                                      • *

                                                                                                                                                        * INVALID_ENUM: You specified an invalid value. *

                                                                                                                                                        *
                                                                                                                                                      • *
                                                                                                                                                      • *

                                                                                                                                                        * INVALID_ENUM_POLICY_TYPE: You specified an invalid policy type string. *

                                                                                                                                                        *
                                                                                                                                                      • *
                                                                                                                                                      • *

                                                                                                                                                        * INVALID_FULL_NAME_TARGET: You specified a full name that contains invalid characters. *

                                                                                                                                                        *
                                                                                                                                                      • *
                                                                                                                                                      • *

                                                                                                                                                        * INVALID_LIST_MEMBER: You provided a list to a parameter that contains at least one invalid value. *

                                                                                                                                                        *
                                                                                                                                                      • *
                                                                                                                                                      • *

                                                                                                                                                        * INVALID_PAGINATION_TOKEN: Get the value for the NextToken parameter from the response to a * previous call of the operation. *

                                                                                                                                                        *
                                                                                                                                                      • *
                                                                                                                                                      • *

                                                                                                                                                        * INVALID_PARTY_TYPE_TARGET: You specified the wrong type of entity (account, organization, or email) as a * party. *

                                                                                                                                                        *
                                                                                                                                                      • *
                                                                                                                                                      • *

                                                                                                                                                        * INVALID_PATTERN: You provided a value that doesn't match the required pattern. *

                                                                                                                                                        *
                                                                                                                                                      • *
                                                                                                                                                      • *

                                                                                                                                                        * INVALID_PATTERN_TARGET_ID: You specified a policy target ID that doesn't match the required pattern. *

                                                                                                                                                        *
                                                                                                                                                      • *
                                                                                                                                                      • *

                                                                                                                                                        * INVALID_PRINCIPAL: You specified an invalid principal element in the policy. *

                                                                                                                                                        *
                                                                                                                                                      • *
                                                                                                                                                      • *

                                                                                                                                                        * INVALID_ROLE_NAME: You provided a role name that isn't valid. A role name can't begin with the reserved * prefix AWSServiceRoleFor. *

                                                                                                                                                        *
                                                                                                                                                      • *
                                                                                                                                                      • *

                                                                                                                                                        * INVALID_SYNTAX_ORGANIZATION_ARN: You specified an invalid Amazon Resource Name (ARN) for the * organization. *

                                                                                                                                                        *
                                                                                                                                                      • *
                                                                                                                                                      • *

                                                                                                                                                        * INVALID_SYNTAX_POLICY_ID: You specified an invalid policy ID. *

                                                                                                                                                        *
                                                                                                                                                      • *
                                                                                                                                                      • *

                                                                                                                                                        * INVALID_SYSTEM_TAGS_PARAMETER: You specified a tag key that is a system tag. You can’t add, edit, or * delete system tag keys because they're reserved for Amazon Web Services use. System tags don’t count * against your tags per resource limit. *

                                                                                                                                                        *
                                                                                                                                                      • *
                                                                                                                                                      • *

                                                                                                                                                        * MAX_FILTER_LIMIT_EXCEEDED: You can specify only one filter parameter for the operation. *

                                                                                                                                                        *
                                                                                                                                                      • *
                                                                                                                                                      • *

                                                                                                                                                        * MAX_LENGTH_EXCEEDED: You provided a string parameter that is longer than allowed. *

                                                                                                                                                        *
                                                                                                                                                      • *
                                                                                                                                                      • *

                                                                                                                                                        * MAX_VALUE_EXCEEDED: You provided a numeric parameter that has a larger value than allowed. *

                                                                                                                                                        *
                                                                                                                                                      • *
                                                                                                                                                      • *

                                                                                                                                                        * MIN_LENGTH_EXCEEDED: You provided a string parameter that is shorter than allowed. *

                                                                                                                                                        *
                                                                                                                                                      • *
                                                                                                                                                      • *

                                                                                                                                                        * MIN_VALUE_EXCEEDED: You provided a numeric parameter that has a smaller value than allowed. *

                                                                                                                                                        *
                                                                                                                                                      • *
                                                                                                                                                      • *

                                                                                                                                                        * MOVING_ACCOUNT_BETWEEN_DIFFERENT_ROOTS: You can move an account only between entities in the same root. *

                                                                                                                                                        *
                                                                                                                                                      • *
                                                                                                                                                      • *

                                                                                                                                                        * NON_DETACHABLE_POLICY: You can't detach this Amazon Web Services Managed Policy. *

                                                                                                                                                        *
                                                                                                                                                      • *
                                                                                                                                                      • *

                                                                                                                                                        * TARGET_NOT_SUPPORTED: You can't perform the specified operation on that target entity. *

                                                                                                                                                        *
                                                                                                                                                      • *
                                                                                                                                                      • *

                                                                                                                                                        * UNRECOGNIZED_SERVICE_PRINCIPAL: You specified a service principal that isn't recognized. *

                                                                                                                                                        *
                                                                                                                                                      • * @throws MasterCannotLeaveOrganizationException * You can't remove a management account from an organization. If you want the management account to become * a member account in another organization, you must first delete the current organization of the * management account. * @throws ServiceException * Organizations can't complete your request because of an internal service error. Try again later. * @throws TooManyRequestsException * You have sent too many requests in too short a period of time. The quota helps protect against * denial-of-service attacks. Try again later.

                                                                                                                                                        *

                                                                                                                                                        * For information about quotas that affect Organizations, see Quotas for * Organizations in the Organizations User Guide. * @throws SdkException * Base class for all exceptions that can be thrown by the SDK (both service and client). Can be used for * catch all scenarios. * @throws SdkClientException * If any client side error occurs such as an IO related failure, failure to get credentials, etc. * @throws OrganizationsException * Base class for all service exceptions. Unknown exceptions will be thrown as an instance of this type. * @sample OrganizationsClient.RemoveAccountFromOrganization * @see AWS API Documentation */ @Override public RemoveAccountFromOrganizationResponse removeAccountFromOrganization( RemoveAccountFromOrganizationRequest removeAccountFromOrganizationRequest) throws AccessDeniedException, AccountNotFoundException, AwsOrganizationsNotInUseException, ConcurrentModificationException, ConstraintViolationException, InvalidInputException, MasterCannotLeaveOrganizationException, ServiceException, TooManyRequestsException, AwsServiceException, SdkClientException, OrganizationsException { JsonOperationMetadata operationMetadata = JsonOperationMetadata.builder().hasStreamingSuccessResponse(false) .isPayloadJson(true).build(); HttpResponseHandler responseHandler = protocolFactory.createResponseHandler( operationMetadata, RemoveAccountFromOrganizationResponse::builder); HttpResponseHandler errorResponseHandler = createErrorResponseHandler(protocolFactory, operationMetadata); SdkClientConfiguration clientConfiguration = updateSdkClientConfiguration(removeAccountFromOrganizationRequest, this.clientConfiguration); List metricPublishers = resolveMetricPublishers(clientConfiguration, removeAccountFromOrganizationRequest.overrideConfiguration().orElse(null)); MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector .create("ApiCall"); try { apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "Organizations"); apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "RemoveAccountFromOrganization"); return clientHandler .execute(new ClientExecutionParams() .withOperationName("RemoveAccountFromOrganization").withProtocolMetadata(protocolMetadata) .withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler) .withRequestConfiguration(clientConfiguration).withInput(removeAccountFromOrganizationRequest) .withMetricCollector(apiCallMetricCollector) .withMarshaller(new RemoveAccountFromOrganizationRequestMarshaller(protocolFactory))); } finally { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); } } /** *

                                                                                                                                                        * Adds one or more tags to the specified resource. *

                                                                                                                                                        *

                                                                                                                                                        * Currently, you can attach tags to the following resources in Organizations. *

                                                                                                                                                        *
                                                                                                                                                          *
                                                                                                                                                        • *

                                                                                                                                                          * Amazon Web Services account *

                                                                                                                                                          *
                                                                                                                                                        • *
                                                                                                                                                        • *

                                                                                                                                                          * Organization root *

                                                                                                                                                          *
                                                                                                                                                        • *
                                                                                                                                                        • *

                                                                                                                                                          * Organizational unit (OU) *

                                                                                                                                                          *
                                                                                                                                                        • *
                                                                                                                                                        • *

                                                                                                                                                          * Policy (any type) *

                                                                                                                                                          *
                                                                                                                                                        • *
                                                                                                                                                        *

                                                                                                                                                        * This operation can be called only from the organization's management account or by a member account that is a * delegated administrator for an Amazon Web Services service. *

                                                                                                                                                        * * @param tagResourceRequest * @return Result of the TagResource operation returned by the service. * @throws AccessDeniedException * You don't have permissions to perform the requested operation. The user or role that is making the * request must have at least one IAM permissions policy attached that grants the required permissions. For * more information, see Access * Management in the IAM User Guide. * @throws ConcurrentModificationException * The target of the operation is currently being modified by a different request. Try again later. * @throws AwsOrganizationsNotInUseException * Your account isn't a member of an organization. To make this request, you must use the credentials of an * account that belongs to an organization. * @throws TargetNotFoundException * We can't find a root, OU, account, or policy with the TargetId that you specified. * @throws ConstraintViolationException * Performing this operation violates a minimum or maximum value limit. For example, attempting to remove * the last service control policy (SCP) from an OU or root, inviting or creating too many accounts to the * organization, or attaching too many policies to an account, OU, or root. This exception includes a reason * that contains additional information about the violated limit:

                                                                                                                                                        *

                                                                                                                                                        * Some of the reasons in the following list might not be applicable to this specific API or operation. *

                                                                                                                                                        *
                                                                                                                                                        *
                                                                                                                                                          *
                                                                                                                                                        • *

                                                                                                                                                          * ACCOUNT_CANNOT_LEAVE_ORGANIZATION: You attempted to remove the management account from the organization. * You can't remove the management account. Instead, after you remove all member accounts, delete the * organization itself. *

                                                                                                                                                          *
                                                                                                                                                        • *
                                                                                                                                                        • *

                                                                                                                                                          * ACCOUNT_CANNOT_LEAVE_WITHOUT_PHONE_VERIFICATION: You attempted to remove an account from the organization * that doesn't yet have enough information to exist as a standalone account. This account requires you to * first complete phone verification. Follow the steps at Removing a member account from your organization in the Organizations User Guide. *

                                                                                                                                                          *
                                                                                                                                                        • *
                                                                                                                                                        • *

                                                                                                                                                          * ACCOUNT_CREATION_RATE_LIMIT_EXCEEDED: You attempted to exceed the number of accounts that you can create * in one day. *

                                                                                                                                                          *
                                                                                                                                                        • *
                                                                                                                                                        • *

                                                                                                                                                          * ACCOUNT_CREATION_NOT_COMPLETE: Your account setup isn't complete or your account isn't fully active. You * must complete the account setup before you create an organization. *

                                                                                                                                                          *
                                                                                                                                                        • *
                                                                                                                                                        • *

                                                                                                                                                          * ACCOUNT_NUMBER_LIMIT_EXCEEDED: You attempted to exceed the limit on the number of accounts in an * organization. If you need more accounts, contact Amazon Web Services Support to request an * increase in your limit. *

                                                                                                                                                          *

                                                                                                                                                          * Or the number of invitations that you tried to send would cause you to exceed the limit of accounts in * your organization. Send fewer invitations or contact Amazon Web Services Support to request an increase * in the number of accounts. *

                                                                                                                                                          * *

                                                                                                                                                          * Deleted and closed accounts still count toward your limit. *

                                                                                                                                                          *
                                                                                                                                                          *

                                                                                                                                                          * If you get this exception when running a command immediately after creating the organization, wait one * hour and try again. After an hour, if the command continues to fail with this error, contact Amazon Web Services Support. *

                                                                                                                                                          *
                                                                                                                                                        • *
                                                                                                                                                        • *

                                                                                                                                                          * CANNOT_REGISTER_SUSPENDED_ACCOUNT_AS_DELEGATED_ADMINISTRATOR: You cannot register a suspended account as * a delegated administrator. *

                                                                                                                                                          *
                                                                                                                                                        • *
                                                                                                                                                        • *

                                                                                                                                                          * CANNOT_REGISTER_MASTER_AS_DELEGATED_ADMINISTRATOR: You attempted to register the management account of * the organization as a delegated administrator for an Amazon Web Services service integrated with * Organizations. You can designate only a member account as a delegated administrator. *

                                                                                                                                                          *
                                                                                                                                                        • *
                                                                                                                                                        • *

                                                                                                                                                          * CANNOT_CLOSE_MANAGEMENT_ACCOUNT: You attempted to close the management account. To close the management * account for the organization, you must first either remove or close all member accounts in the * organization. Follow standard account closure process using root credentials.​ *

                                                                                                                                                          *
                                                                                                                                                        • *
                                                                                                                                                        • *

                                                                                                                                                          * CANNOT_REMOVE_DELEGATED_ADMINISTRATOR_FROM_ORG: You attempted to remove an account that is registered as * a delegated administrator for a service integrated with your organization. To complete this operation, * you must first deregister this account as a delegated administrator. *

                                                                                                                                                          *
                                                                                                                                                        • *
                                                                                                                                                        • *

                                                                                                                                                          * CLOSE_ACCOUNT_QUOTA_EXCEEDED: You have exceeded close account quota for the past 30 days. *

                                                                                                                                                          *
                                                                                                                                                        • *
                                                                                                                                                        • *

                                                                                                                                                          * CLOSE_ACCOUNT_REQUESTS_LIMIT_EXCEEDED: You attempted to exceed the number of accounts that you can close * at a time. ​ *

                                                                                                                                                          *
                                                                                                                                                        • *
                                                                                                                                                        • *

                                                                                                                                                          * CREATE_ORGANIZATION_IN_BILLING_MODE_UNSUPPORTED_REGION: To create an organization in the specified * region, you must enable all features mode. *

                                                                                                                                                          *
                                                                                                                                                        • *
                                                                                                                                                        • *

                                                                                                                                                          * DELEGATED_ADMINISTRATOR_EXISTS_FOR_THIS_SERVICE: You attempted to register an Amazon Web Services account * as a delegated administrator for an Amazon Web Services service that already has a delegated * administrator. To complete this operation, you must first deregister any existing delegated * administrators for this service. *

                                                                                                                                                          *
                                                                                                                                                        • *
                                                                                                                                                        • *

                                                                                                                                                          * EMAIL_VERIFICATION_CODE_EXPIRED: The email verification code is only valid for a limited period of time. * You must resubmit the request and generate a new verfication code. *

                                                                                                                                                          *
                                                                                                                                                        • *
                                                                                                                                                        • *

                                                                                                                                                          * HANDSHAKE_RATE_LIMIT_EXCEEDED: You attempted to exceed the number of handshakes that you can send in one * day. *

                                                                                                                                                          *
                                                                                                                                                        • *
                                                                                                                                                        • *

                                                                                                                                                          * INVALID_PAYMENT_INSTRUMENT: You cannot remove an account because no supported payment method is * associated with the account. Amazon Web Services does not support cards issued by financial institutions * in Russia or Belarus. For more information, see Managing your * Amazon Web Services payments. *

                                                                                                                                                          *
                                                                                                                                                        • *
                                                                                                                                                        • *

                                                                                                                                                          * MASTER_ACCOUNT_ADDRESS_DOES_NOT_MATCH_MARKETPLACE: To create an account in this organization, you first * must migrate the organization's management account to the marketplace that corresponds to the management * account's address. All accounts in an organization must be associated with the same marketplace. *

                                                                                                                                                          *
                                                                                                                                                        • *
                                                                                                                                                        • *

                                                                                                                                                          * MASTER_ACCOUNT_MISSING_BUSINESS_LICENSE: Applies only to the Amazon Web Services Regions in China. To * create an organization, the master must have a valid business license. For more information, contact * customer support. *

                                                                                                                                                          *
                                                                                                                                                        • *
                                                                                                                                                        • *

                                                                                                                                                          * MASTER_ACCOUNT_MISSING_CONTACT_INFO: To complete this operation, you must first provide a valid contact * address and phone number for the management account. Then try the operation again. *

                                                                                                                                                          *
                                                                                                                                                        • *
                                                                                                                                                        • *

                                                                                                                                                          * MASTER_ACCOUNT_NOT_GOVCLOUD_ENABLED: To complete this operation, the management account must have an * associated account in the Amazon Web Services GovCloud (US-West) Region. For more information, see Organizations * in the Amazon Web Services GovCloud User Guide. *

                                                                                                                                                          *
                                                                                                                                                        • *
                                                                                                                                                        • *

                                                                                                                                                          * MASTER_ACCOUNT_PAYMENT_INSTRUMENT_REQUIRED: To create an organization with this management account, you * first must associate a valid payment instrument, such as a credit card, with the account. For more * information, see Considerations before removing an account from an organization in the Organizations User * Guide. *

                                                                                                                                                          *
                                                                                                                                                        • *
                                                                                                                                                        • *

                                                                                                                                                          * MAX_DELEGATED_ADMINISTRATORS_FOR_SERVICE_LIMIT_EXCEEDED: You attempted to register more delegated * administrators than allowed for the service principal. *

                                                                                                                                                          *
                                                                                                                                                        • *
                                                                                                                                                        • *

                                                                                                                                                          * MAX_POLICY_TYPE_ATTACHMENT_LIMIT_EXCEEDED: You attempted to exceed the number of policies of a certain * type that can be attached to an entity at one time. *

                                                                                                                                                          *
                                                                                                                                                        • *
                                                                                                                                                        • *

                                                                                                                                                          * MAX_TAG_LIMIT_EXCEEDED: You have exceeded the number of tags allowed on this resource. *

                                                                                                                                                          *
                                                                                                                                                        • *
                                                                                                                                                        • *

                                                                                                                                                          * MEMBER_ACCOUNT_PAYMENT_INSTRUMENT_REQUIRED: To complete this operation with this member account, you * first must associate a valid payment instrument, such as a credit card, with the account. For more * information, see Considerations before removing an account from an organization in the Organizations User * Guide. *

                                                                                                                                                          *
                                                                                                                                                        • *
                                                                                                                                                        • *

                                                                                                                                                          * MIN_POLICY_TYPE_ATTACHMENT_LIMIT_EXCEEDED: You attempted to detach a policy from an entity that would * cause the entity to have fewer than the minimum number of policies of a certain type required. *

                                                                                                                                                          *
                                                                                                                                                        • *
                                                                                                                                                        • *

                                                                                                                                                          * ORGANIZATION_NOT_IN_ALL_FEATURES_MODE: You attempted to perform an operation that requires the * organization to be configured to support all features. An organization that supports only consolidated * billing features can't perform this operation. *

                                                                                                                                                          *
                                                                                                                                                        • *
                                                                                                                                                        • *

                                                                                                                                                          * OU_DEPTH_LIMIT_EXCEEDED: You attempted to create an OU tree that is too many levels deep. *

                                                                                                                                                          *
                                                                                                                                                        • *
                                                                                                                                                        • *

                                                                                                                                                          * OU_NUMBER_LIMIT_EXCEEDED: You attempted to exceed the number of OUs that you can have in an organization. *

                                                                                                                                                          *
                                                                                                                                                        • *
                                                                                                                                                        • *

                                                                                                                                                          * POLICY_CONTENT_LIMIT_EXCEEDED: You attempted to create a policy that is larger than the maximum size. *

                                                                                                                                                          *
                                                                                                                                                        • *
                                                                                                                                                        • *

                                                                                                                                                          * POLICY_NUMBER_LIMIT_EXCEEDED: You attempted to exceed the number of policies that you can have in an * organization. *

                                                                                                                                                          *
                                                                                                                                                        • *
                                                                                                                                                        • *

                                                                                                                                                          * SERVICE_ACCESS_NOT_ENABLED: You attempted to register a delegated administrator before you enabled * service access. Call the EnableAWSServiceAccess API first. *

                                                                                                                                                          *
                                                                                                                                                        • *
                                                                                                                                                        • *

                                                                                                                                                          * TAG_POLICY_VIOLATION: You attempted to create or update a resource with tags that are not compliant with * the tag policy requirements for this account. *

                                                                                                                                                          *
                                                                                                                                                        • *
                                                                                                                                                        • *

                                                                                                                                                          * WAIT_PERIOD_ACTIVE: After you create an Amazon Web Services account, you must wait until at least seven * days after the account was created. Invited accounts aren't subject to this waiting period. *

                                                                                                                                                          *
                                                                                                                                                        • * @throws InvalidInputException * The requested operation failed because you provided invalid values for one or more of the request * parameters. This exception includes a reason that contains additional information about the violated * limit:

                                                                                                                                                          *

                                                                                                                                                          * Some of the reasons in the following list might not be applicable to this specific API or operation. *

                                                                                                                                                          *
                                                                                                                                                          *
                                                                                                                                                            *
                                                                                                                                                          • *

                                                                                                                                                            * DUPLICATE_TAG_KEY: Tag keys must be unique among the tags attached to the same entity. *

                                                                                                                                                            *
                                                                                                                                                          • *
                                                                                                                                                          • *

                                                                                                                                                            * IMMUTABLE_POLICY: You specified a policy that is managed by Amazon Web Services and can't be modified. *

                                                                                                                                                            *
                                                                                                                                                          • *
                                                                                                                                                          • *

                                                                                                                                                            * INPUT_REQUIRED: You must include a value for all required parameters. *

                                                                                                                                                            *
                                                                                                                                                          • *
                                                                                                                                                          • *

                                                                                                                                                            * INVALID_EMAIL_ADDRESS_TARGET: You specified an invalid email address for the invited account owner. *

                                                                                                                                                            *
                                                                                                                                                          • *
                                                                                                                                                          • *

                                                                                                                                                            * INVALID_ENUM: You specified an invalid value. *

                                                                                                                                                            *
                                                                                                                                                          • *
                                                                                                                                                          • *

                                                                                                                                                            * INVALID_ENUM_POLICY_TYPE: You specified an invalid policy type string. *

                                                                                                                                                            *
                                                                                                                                                          • *
                                                                                                                                                          • *

                                                                                                                                                            * INVALID_FULL_NAME_TARGET: You specified a full name that contains invalid characters. *

                                                                                                                                                            *
                                                                                                                                                          • *
                                                                                                                                                          • *

                                                                                                                                                            * INVALID_LIST_MEMBER: You provided a list to a parameter that contains at least one invalid value. *

                                                                                                                                                            *
                                                                                                                                                          • *
                                                                                                                                                          • *

                                                                                                                                                            * INVALID_PAGINATION_TOKEN: Get the value for the NextToken parameter from the response to a * previous call of the operation. *

                                                                                                                                                            *
                                                                                                                                                          • *
                                                                                                                                                          • *

                                                                                                                                                            * INVALID_PARTY_TYPE_TARGET: You specified the wrong type of entity (account, organization, or email) as a * party. *

                                                                                                                                                            *
                                                                                                                                                          • *
                                                                                                                                                          • *

                                                                                                                                                            * INVALID_PATTERN: You provided a value that doesn't match the required pattern. *

                                                                                                                                                            *
                                                                                                                                                          • *
                                                                                                                                                          • *

                                                                                                                                                            * INVALID_PATTERN_TARGET_ID: You specified a policy target ID that doesn't match the required pattern. *

                                                                                                                                                            *
                                                                                                                                                          • *
                                                                                                                                                          • *

                                                                                                                                                            * INVALID_PRINCIPAL: You specified an invalid principal element in the policy. *

                                                                                                                                                            *
                                                                                                                                                          • *
                                                                                                                                                          • *

                                                                                                                                                            * INVALID_ROLE_NAME: You provided a role name that isn't valid. A role name can't begin with the reserved * prefix AWSServiceRoleFor. *

                                                                                                                                                            *
                                                                                                                                                          • *
                                                                                                                                                          • *

                                                                                                                                                            * INVALID_SYNTAX_ORGANIZATION_ARN: You specified an invalid Amazon Resource Name (ARN) for the * organization. *

                                                                                                                                                            *
                                                                                                                                                          • *
                                                                                                                                                          • *

                                                                                                                                                            * INVALID_SYNTAX_POLICY_ID: You specified an invalid policy ID. *

                                                                                                                                                            *
                                                                                                                                                          • *
                                                                                                                                                          • *

                                                                                                                                                            * INVALID_SYSTEM_TAGS_PARAMETER: You specified a tag key that is a system tag. You can’t add, edit, or * delete system tag keys because they're reserved for Amazon Web Services use. System tags don’t count * against your tags per resource limit. *

                                                                                                                                                            *
                                                                                                                                                          • *
                                                                                                                                                          • *

                                                                                                                                                            * MAX_FILTER_LIMIT_EXCEEDED: You can specify only one filter parameter for the operation. *

                                                                                                                                                            *
                                                                                                                                                          • *
                                                                                                                                                          • *

                                                                                                                                                            * MAX_LENGTH_EXCEEDED: You provided a string parameter that is longer than allowed. *

                                                                                                                                                            *
                                                                                                                                                          • *
                                                                                                                                                          • *

                                                                                                                                                            * MAX_VALUE_EXCEEDED: You provided a numeric parameter that has a larger value than allowed. *

                                                                                                                                                            *
                                                                                                                                                          • *
                                                                                                                                                          • *

                                                                                                                                                            * MIN_LENGTH_EXCEEDED: You provided a string parameter that is shorter than allowed. *

                                                                                                                                                            *
                                                                                                                                                          • *
                                                                                                                                                          • *

                                                                                                                                                            * MIN_VALUE_EXCEEDED: You provided a numeric parameter that has a smaller value than allowed. *

                                                                                                                                                            *
                                                                                                                                                          • *
                                                                                                                                                          • *

                                                                                                                                                            * MOVING_ACCOUNT_BETWEEN_DIFFERENT_ROOTS: You can move an account only between entities in the same root. *

                                                                                                                                                            *
                                                                                                                                                          • *
                                                                                                                                                          • *

                                                                                                                                                            * NON_DETACHABLE_POLICY: You can't detach this Amazon Web Services Managed Policy. *

                                                                                                                                                            *
                                                                                                                                                          • *
                                                                                                                                                          • *

                                                                                                                                                            * TARGET_NOT_SUPPORTED: You can't perform the specified operation on that target entity. *

                                                                                                                                                            *
                                                                                                                                                          • *
                                                                                                                                                          • *

                                                                                                                                                            * UNRECOGNIZED_SERVICE_PRINCIPAL: You specified a service principal that isn't recognized. *

                                                                                                                                                            *
                                                                                                                                                          • * @throws ServiceException * Organizations can't complete your request because of an internal service error. Try again later. * @throws TooManyRequestsException * You have sent too many requests in too short a period of time. The quota helps protect against * denial-of-service attacks. Try again later.

                                                                                                                                                            *

                                                                                                                                                            * For information about quotas that affect Organizations, see Quotas for * Organizations in the Organizations User Guide. * @throws SdkException * Base class for all exceptions that can be thrown by the SDK (both service and client). Can be used for * catch all scenarios. * @throws SdkClientException * If any client side error occurs such as an IO related failure, failure to get credentials, etc. * @throws OrganizationsException * Base class for all service exceptions. Unknown exceptions will be thrown as an instance of this type. * @sample OrganizationsClient.TagResource * @see AWS API * Documentation */ @Override public TagResourceResponse tagResource(TagResourceRequest tagResourceRequest) throws AccessDeniedException, ConcurrentModificationException, AwsOrganizationsNotInUseException, TargetNotFoundException, ConstraintViolationException, InvalidInputException, ServiceException, TooManyRequestsException, AwsServiceException, SdkClientException, OrganizationsException { JsonOperationMetadata operationMetadata = JsonOperationMetadata.builder().hasStreamingSuccessResponse(false) .isPayloadJson(true).build(); HttpResponseHandler responseHandler = protocolFactory.createResponseHandler(operationMetadata, TagResourceResponse::builder); HttpResponseHandler errorResponseHandler = createErrorResponseHandler(protocolFactory, operationMetadata); SdkClientConfiguration clientConfiguration = updateSdkClientConfiguration(tagResourceRequest, this.clientConfiguration); List metricPublishers = resolveMetricPublishers(clientConfiguration, tagResourceRequest .overrideConfiguration().orElse(null)); MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector .create("ApiCall"); try { apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "Organizations"); apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "TagResource"); return clientHandler.execute(new ClientExecutionParams() .withOperationName("TagResource").withProtocolMetadata(protocolMetadata).withResponseHandler(responseHandler) .withErrorResponseHandler(errorResponseHandler).withRequestConfiguration(clientConfiguration) .withInput(tagResourceRequest).withMetricCollector(apiCallMetricCollector) .withMarshaller(new TagResourceRequestMarshaller(protocolFactory))); } finally { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); } } /** *

                                                                                                                                                            * Removes any tags with the specified keys from the specified resource. *

                                                                                                                                                            *

                                                                                                                                                            * You can attach tags to the following resources in Organizations. *

                                                                                                                                                            *
                                                                                                                                                              *
                                                                                                                                                            • *

                                                                                                                                                              * Amazon Web Services account *

                                                                                                                                                              *
                                                                                                                                                            • *
                                                                                                                                                            • *

                                                                                                                                                              * Organization root *

                                                                                                                                                              *
                                                                                                                                                            • *
                                                                                                                                                            • *

                                                                                                                                                              * Organizational unit (OU) *

                                                                                                                                                              *
                                                                                                                                                            • *
                                                                                                                                                            • *

                                                                                                                                                              * Policy (any type) *

                                                                                                                                                              *
                                                                                                                                                            • *
                                                                                                                                                            *

                                                                                                                                                            * This operation can be called only from the organization's management account or by a member account that is a * delegated administrator for an Amazon Web Services service. *

                                                                                                                                                            * * @param untagResourceRequest * @return Result of the UntagResource operation returned by the service. * @throws AccessDeniedException * You don't have permissions to perform the requested operation. The user or role that is making the * request must have at least one IAM permissions policy attached that grants the required permissions. For * more information, see Access * Management in the IAM User Guide. * @throws ConcurrentModificationException * The target of the operation is currently being modified by a different request. Try again later. * @throws AwsOrganizationsNotInUseException * Your account isn't a member of an organization. To make this request, you must use the credentials of an * account that belongs to an organization. * @throws TargetNotFoundException * We can't find a root, OU, account, or policy with the TargetId that you specified. * @throws ConstraintViolationException * Performing this operation violates a minimum or maximum value limit. For example, attempting to remove * the last service control policy (SCP) from an OU or root, inviting or creating too many accounts to the * organization, or attaching too many policies to an account, OU, or root. This exception includes a reason * that contains additional information about the violated limit:

                                                                                                                                                            *

                                                                                                                                                            * Some of the reasons in the following list might not be applicable to this specific API or operation. *

                                                                                                                                                            *
                                                                                                                                                            *
                                                                                                                                                              *
                                                                                                                                                            • *

                                                                                                                                                              * ACCOUNT_CANNOT_LEAVE_ORGANIZATION: You attempted to remove the management account from the organization. * You can't remove the management account. Instead, after you remove all member accounts, delete the * organization itself. *

                                                                                                                                                              *
                                                                                                                                                            • *
                                                                                                                                                            • *

                                                                                                                                                              * ACCOUNT_CANNOT_LEAVE_WITHOUT_PHONE_VERIFICATION: You attempted to remove an account from the organization * that doesn't yet have enough information to exist as a standalone account. This account requires you to * first complete phone verification. Follow the steps at Removing a member account from your organization in the Organizations User Guide. *

                                                                                                                                                              *
                                                                                                                                                            • *
                                                                                                                                                            • *

                                                                                                                                                              * ACCOUNT_CREATION_RATE_LIMIT_EXCEEDED: You attempted to exceed the number of accounts that you can create * in one day. *

                                                                                                                                                              *
                                                                                                                                                            • *
                                                                                                                                                            • *

                                                                                                                                                              * ACCOUNT_CREATION_NOT_COMPLETE: Your account setup isn't complete or your account isn't fully active. You * must complete the account setup before you create an organization. *

                                                                                                                                                              *
                                                                                                                                                            • *
                                                                                                                                                            • *

                                                                                                                                                              * ACCOUNT_NUMBER_LIMIT_EXCEEDED: You attempted to exceed the limit on the number of accounts in an * organization. If you need more accounts, contact Amazon Web Services Support to request an * increase in your limit. *

                                                                                                                                                              *

                                                                                                                                                              * Or the number of invitations that you tried to send would cause you to exceed the limit of accounts in * your organization. Send fewer invitations or contact Amazon Web Services Support to request an increase * in the number of accounts. *

                                                                                                                                                              * *

                                                                                                                                                              * Deleted and closed accounts still count toward your limit. *

                                                                                                                                                              *
                                                                                                                                                              *

                                                                                                                                                              * If you get this exception when running a command immediately after creating the organization, wait one * hour and try again. After an hour, if the command continues to fail with this error, contact Amazon Web Services Support. *

                                                                                                                                                              *
                                                                                                                                                            • *
                                                                                                                                                            • *

                                                                                                                                                              * CANNOT_REGISTER_SUSPENDED_ACCOUNT_AS_DELEGATED_ADMINISTRATOR: You cannot register a suspended account as * a delegated administrator. *

                                                                                                                                                              *
                                                                                                                                                            • *
                                                                                                                                                            • *

                                                                                                                                                              * CANNOT_REGISTER_MASTER_AS_DELEGATED_ADMINISTRATOR: You attempted to register the management account of * the organization as a delegated administrator for an Amazon Web Services service integrated with * Organizations. You can designate only a member account as a delegated administrator. *

                                                                                                                                                              *
                                                                                                                                                            • *
                                                                                                                                                            • *

                                                                                                                                                              * CANNOT_CLOSE_MANAGEMENT_ACCOUNT: You attempted to close the management account. To close the management * account for the organization, you must first either remove or close all member accounts in the * organization. Follow standard account closure process using root credentials.​ *

                                                                                                                                                              *
                                                                                                                                                            • *
                                                                                                                                                            • *

                                                                                                                                                              * CANNOT_REMOVE_DELEGATED_ADMINISTRATOR_FROM_ORG: You attempted to remove an account that is registered as * a delegated administrator for a service integrated with your organization. To complete this operation, * you must first deregister this account as a delegated administrator. *

                                                                                                                                                              *
                                                                                                                                                            • *
                                                                                                                                                            • *

                                                                                                                                                              * CLOSE_ACCOUNT_QUOTA_EXCEEDED: You have exceeded close account quota for the past 30 days. *

                                                                                                                                                              *
                                                                                                                                                            • *
                                                                                                                                                            • *

                                                                                                                                                              * CLOSE_ACCOUNT_REQUESTS_LIMIT_EXCEEDED: You attempted to exceed the number of accounts that you can close * at a time. ​ *

                                                                                                                                                              *
                                                                                                                                                            • *
                                                                                                                                                            • *

                                                                                                                                                              * CREATE_ORGANIZATION_IN_BILLING_MODE_UNSUPPORTED_REGION: To create an organization in the specified * region, you must enable all features mode. *

                                                                                                                                                              *
                                                                                                                                                            • *
                                                                                                                                                            • *

                                                                                                                                                              * DELEGATED_ADMINISTRATOR_EXISTS_FOR_THIS_SERVICE: You attempted to register an Amazon Web Services account * as a delegated administrator for an Amazon Web Services service that already has a delegated * administrator. To complete this operation, you must first deregister any existing delegated * administrators for this service. *

                                                                                                                                                              *
                                                                                                                                                            • *
                                                                                                                                                            • *

                                                                                                                                                              * EMAIL_VERIFICATION_CODE_EXPIRED: The email verification code is only valid for a limited period of time. * You must resubmit the request and generate a new verfication code. *

                                                                                                                                                              *
                                                                                                                                                            • *
                                                                                                                                                            • *

                                                                                                                                                              * HANDSHAKE_RATE_LIMIT_EXCEEDED: You attempted to exceed the number of handshakes that you can send in one * day. *

                                                                                                                                                              *
                                                                                                                                                            • *
                                                                                                                                                            • *

                                                                                                                                                              * INVALID_PAYMENT_INSTRUMENT: You cannot remove an account because no supported payment method is * associated with the account. Amazon Web Services does not support cards issued by financial institutions * in Russia or Belarus. For more information, see Managing your * Amazon Web Services payments. *

                                                                                                                                                              *
                                                                                                                                                            • *
                                                                                                                                                            • *

                                                                                                                                                              * MASTER_ACCOUNT_ADDRESS_DOES_NOT_MATCH_MARKETPLACE: To create an account in this organization, you first * must migrate the organization's management account to the marketplace that corresponds to the management * account's address. All accounts in an organization must be associated with the same marketplace. *

                                                                                                                                                              *
                                                                                                                                                            • *
                                                                                                                                                            • *

                                                                                                                                                              * MASTER_ACCOUNT_MISSING_BUSINESS_LICENSE: Applies only to the Amazon Web Services Regions in China. To * create an organization, the master must have a valid business license. For more information, contact * customer support. *

                                                                                                                                                              *
                                                                                                                                                            • *
                                                                                                                                                            • *

                                                                                                                                                              * MASTER_ACCOUNT_MISSING_CONTACT_INFO: To complete this operation, you must first provide a valid contact * address and phone number for the management account. Then try the operation again. *

                                                                                                                                                              *
                                                                                                                                                            • *
                                                                                                                                                            • *

                                                                                                                                                              * MASTER_ACCOUNT_NOT_GOVCLOUD_ENABLED: To complete this operation, the management account must have an * associated account in the Amazon Web Services GovCloud (US-West) Region. For more information, see Organizations * in the Amazon Web Services GovCloud User Guide. *

                                                                                                                                                              *
                                                                                                                                                            • *
                                                                                                                                                            • *

                                                                                                                                                              * MASTER_ACCOUNT_PAYMENT_INSTRUMENT_REQUIRED: To create an organization with this management account, you * first must associate a valid payment instrument, such as a credit card, with the account. For more * information, see Considerations before removing an account from an organization in the Organizations User * Guide. *

                                                                                                                                                              *
                                                                                                                                                            • *
                                                                                                                                                            • *

                                                                                                                                                              * MAX_DELEGATED_ADMINISTRATORS_FOR_SERVICE_LIMIT_EXCEEDED: You attempted to register more delegated * administrators than allowed for the service principal. *

                                                                                                                                                              *
                                                                                                                                                            • *
                                                                                                                                                            • *

                                                                                                                                                              * MAX_POLICY_TYPE_ATTACHMENT_LIMIT_EXCEEDED: You attempted to exceed the number of policies of a certain * type that can be attached to an entity at one time. *

                                                                                                                                                              *
                                                                                                                                                            • *
                                                                                                                                                            • *

                                                                                                                                                              * MAX_TAG_LIMIT_EXCEEDED: You have exceeded the number of tags allowed on this resource. *

                                                                                                                                                              *
                                                                                                                                                            • *
                                                                                                                                                            • *

                                                                                                                                                              * MEMBER_ACCOUNT_PAYMENT_INSTRUMENT_REQUIRED: To complete this operation with this member account, you * first must associate a valid payment instrument, such as a credit card, with the account. For more * information, see Considerations before removing an account from an organization in the Organizations User * Guide. *

                                                                                                                                                              *
                                                                                                                                                            • *
                                                                                                                                                            • *

                                                                                                                                                              * MIN_POLICY_TYPE_ATTACHMENT_LIMIT_EXCEEDED: You attempted to detach a policy from an entity that would * cause the entity to have fewer than the minimum number of policies of a certain type required. *

                                                                                                                                                              *
                                                                                                                                                            • *
                                                                                                                                                            • *

                                                                                                                                                              * ORGANIZATION_NOT_IN_ALL_FEATURES_MODE: You attempted to perform an operation that requires the * organization to be configured to support all features. An organization that supports only consolidated * billing features can't perform this operation. *

                                                                                                                                                              *
                                                                                                                                                            • *
                                                                                                                                                            • *

                                                                                                                                                              * OU_DEPTH_LIMIT_EXCEEDED: You attempted to create an OU tree that is too many levels deep. *

                                                                                                                                                              *
                                                                                                                                                            • *
                                                                                                                                                            • *

                                                                                                                                                              * OU_NUMBER_LIMIT_EXCEEDED: You attempted to exceed the number of OUs that you can have in an organization. *

                                                                                                                                                              *
                                                                                                                                                            • *
                                                                                                                                                            • *

                                                                                                                                                              * POLICY_CONTENT_LIMIT_EXCEEDED: You attempted to create a policy that is larger than the maximum size. *

                                                                                                                                                              *
                                                                                                                                                            • *
                                                                                                                                                            • *

                                                                                                                                                              * POLICY_NUMBER_LIMIT_EXCEEDED: You attempted to exceed the number of policies that you can have in an * organization. *

                                                                                                                                                              *
                                                                                                                                                            • *
                                                                                                                                                            • *

                                                                                                                                                              * SERVICE_ACCESS_NOT_ENABLED: You attempted to register a delegated administrator before you enabled * service access. Call the EnableAWSServiceAccess API first. *

                                                                                                                                                              *
                                                                                                                                                            • *
                                                                                                                                                            • *

                                                                                                                                                              * TAG_POLICY_VIOLATION: You attempted to create or update a resource with tags that are not compliant with * the tag policy requirements for this account. *

                                                                                                                                                              *
                                                                                                                                                            • *
                                                                                                                                                            • *

                                                                                                                                                              * WAIT_PERIOD_ACTIVE: After you create an Amazon Web Services account, you must wait until at least seven * days after the account was created. Invited accounts aren't subject to this waiting period. *

                                                                                                                                                              *
                                                                                                                                                            • * @throws InvalidInputException * The requested operation failed because you provided invalid values for one or more of the request * parameters. This exception includes a reason that contains additional information about the violated * limit:

                                                                                                                                                              *

                                                                                                                                                              * Some of the reasons in the following list might not be applicable to this specific API or operation. *

                                                                                                                                                              *
                                                                                                                                                              *
                                                                                                                                                                *
                                                                                                                                                              • *

                                                                                                                                                                * DUPLICATE_TAG_KEY: Tag keys must be unique among the tags attached to the same entity. *

                                                                                                                                                                *
                                                                                                                                                              • *
                                                                                                                                                              • *

                                                                                                                                                                * IMMUTABLE_POLICY: You specified a policy that is managed by Amazon Web Services and can't be modified. *

                                                                                                                                                                *
                                                                                                                                                              • *
                                                                                                                                                              • *

                                                                                                                                                                * INPUT_REQUIRED: You must include a value for all required parameters. *

                                                                                                                                                                *
                                                                                                                                                              • *
                                                                                                                                                              • *

                                                                                                                                                                * INVALID_EMAIL_ADDRESS_TARGET: You specified an invalid email address for the invited account owner. *

                                                                                                                                                                *
                                                                                                                                                              • *
                                                                                                                                                              • *

                                                                                                                                                                * INVALID_ENUM: You specified an invalid value. *

                                                                                                                                                                *
                                                                                                                                                              • *
                                                                                                                                                              • *

                                                                                                                                                                * INVALID_ENUM_POLICY_TYPE: You specified an invalid policy type string. *

                                                                                                                                                                *
                                                                                                                                                              • *
                                                                                                                                                              • *

                                                                                                                                                                * INVALID_FULL_NAME_TARGET: You specified a full name that contains invalid characters. *

                                                                                                                                                                *
                                                                                                                                                              • *
                                                                                                                                                              • *

                                                                                                                                                                * INVALID_LIST_MEMBER: You provided a list to a parameter that contains at least one invalid value. *

                                                                                                                                                                *
                                                                                                                                                              • *
                                                                                                                                                              • *

                                                                                                                                                                * INVALID_PAGINATION_TOKEN: Get the value for the NextToken parameter from the response to a * previous call of the operation. *

                                                                                                                                                                *
                                                                                                                                                              • *
                                                                                                                                                              • *

                                                                                                                                                                * INVALID_PARTY_TYPE_TARGET: You specified the wrong type of entity (account, organization, or email) as a * party. *

                                                                                                                                                                *
                                                                                                                                                              • *
                                                                                                                                                              • *

                                                                                                                                                                * INVALID_PATTERN: You provided a value that doesn't match the required pattern. *

                                                                                                                                                                *
                                                                                                                                                              • *
                                                                                                                                                              • *

                                                                                                                                                                * INVALID_PATTERN_TARGET_ID: You specified a policy target ID that doesn't match the required pattern. *

                                                                                                                                                                *
                                                                                                                                                              • *
                                                                                                                                                              • *

                                                                                                                                                                * INVALID_PRINCIPAL: You specified an invalid principal element in the policy. *

                                                                                                                                                                *
                                                                                                                                                              • *
                                                                                                                                                              • *

                                                                                                                                                                * INVALID_ROLE_NAME: You provided a role name that isn't valid. A role name can't begin with the reserved * prefix AWSServiceRoleFor. *

                                                                                                                                                                *
                                                                                                                                                              • *
                                                                                                                                                              • *

                                                                                                                                                                * INVALID_SYNTAX_ORGANIZATION_ARN: You specified an invalid Amazon Resource Name (ARN) for the * organization. *

                                                                                                                                                                *
                                                                                                                                                              • *
                                                                                                                                                              • *

                                                                                                                                                                * INVALID_SYNTAX_POLICY_ID: You specified an invalid policy ID. *

                                                                                                                                                                *
                                                                                                                                                              • *
                                                                                                                                                              • *

                                                                                                                                                                * INVALID_SYSTEM_TAGS_PARAMETER: You specified a tag key that is a system tag. You can’t add, edit, or * delete system tag keys because they're reserved for Amazon Web Services use. System tags don’t count * against your tags per resource limit. *

                                                                                                                                                                *
                                                                                                                                                              • *
                                                                                                                                                              • *

                                                                                                                                                                * MAX_FILTER_LIMIT_EXCEEDED: You can specify only one filter parameter for the operation. *

                                                                                                                                                                *
                                                                                                                                                              • *
                                                                                                                                                              • *

                                                                                                                                                                * MAX_LENGTH_EXCEEDED: You provided a string parameter that is longer than allowed. *

                                                                                                                                                                *
                                                                                                                                                              • *
                                                                                                                                                              • *

                                                                                                                                                                * MAX_VALUE_EXCEEDED: You provided a numeric parameter that has a larger value than allowed. *

                                                                                                                                                                *
                                                                                                                                                              • *
                                                                                                                                                              • *

                                                                                                                                                                * MIN_LENGTH_EXCEEDED: You provided a string parameter that is shorter than allowed. *

                                                                                                                                                                *
                                                                                                                                                              • *
                                                                                                                                                              • *

                                                                                                                                                                * MIN_VALUE_EXCEEDED: You provided a numeric parameter that has a smaller value than allowed. *

                                                                                                                                                                *
                                                                                                                                                              • *
                                                                                                                                                              • *

                                                                                                                                                                * MOVING_ACCOUNT_BETWEEN_DIFFERENT_ROOTS: You can move an account only between entities in the same root. *

                                                                                                                                                                *
                                                                                                                                                              • *
                                                                                                                                                              • *

                                                                                                                                                                * NON_DETACHABLE_POLICY: You can't detach this Amazon Web Services Managed Policy. *

                                                                                                                                                                *
                                                                                                                                                              • *
                                                                                                                                                              • *

                                                                                                                                                                * TARGET_NOT_SUPPORTED: You can't perform the specified operation on that target entity. *

                                                                                                                                                                *
                                                                                                                                                              • *
                                                                                                                                                              • *

                                                                                                                                                                * UNRECOGNIZED_SERVICE_PRINCIPAL: You specified a service principal that isn't recognized. *

                                                                                                                                                                *
                                                                                                                                                              • * @throws ServiceException * Organizations can't complete your request because of an internal service error. Try again later. * @throws TooManyRequestsException * You have sent too many requests in too short a period of time. The quota helps protect against * denial-of-service attacks. Try again later.

                                                                                                                                                                *

                                                                                                                                                                * For information about quotas that affect Organizations, see Quotas for * Organizations in the Organizations User Guide. * @throws SdkException * Base class for all exceptions that can be thrown by the SDK (both service and client). Can be used for * catch all scenarios. * @throws SdkClientException * If any client side error occurs such as an IO related failure, failure to get credentials, etc. * @throws OrganizationsException * Base class for all service exceptions. Unknown exceptions will be thrown as an instance of this type. * @sample OrganizationsClient.UntagResource * @see AWS * API Documentation */ @Override public UntagResourceResponse untagResource(UntagResourceRequest untagResourceRequest) throws AccessDeniedException, ConcurrentModificationException, AwsOrganizationsNotInUseException, TargetNotFoundException, ConstraintViolationException, InvalidInputException, ServiceException, TooManyRequestsException, AwsServiceException, SdkClientException, OrganizationsException { JsonOperationMetadata operationMetadata = JsonOperationMetadata.builder().hasStreamingSuccessResponse(false) .isPayloadJson(true).build(); HttpResponseHandler responseHandler = protocolFactory.createResponseHandler(operationMetadata, UntagResourceResponse::builder); HttpResponseHandler errorResponseHandler = createErrorResponseHandler(protocolFactory, operationMetadata); SdkClientConfiguration clientConfiguration = updateSdkClientConfiguration(untagResourceRequest, this.clientConfiguration); List metricPublishers = resolveMetricPublishers(clientConfiguration, untagResourceRequest .overrideConfiguration().orElse(null)); MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector .create("ApiCall"); try { apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "Organizations"); apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "UntagResource"); return clientHandler.execute(new ClientExecutionParams() .withOperationName("UntagResource").withProtocolMetadata(protocolMetadata) .withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler) .withRequestConfiguration(clientConfiguration).withInput(untagResourceRequest) .withMetricCollector(apiCallMetricCollector) .withMarshaller(new UntagResourceRequestMarshaller(protocolFactory))); } finally { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); } } /** *

                                                                                                                                                                * Renames the specified organizational unit (OU). The ID and ARN don't change. The child OUs and accounts remain in * place, and any attached policies of the OU remain attached. *

                                                                                                                                                                *

                                                                                                                                                                * This operation can be called only from the organization's management account. *

                                                                                                                                                                * * @param updateOrganizationalUnitRequest * @return Result of the UpdateOrganizationalUnit operation returned by the service. * @throws AccessDeniedException * You don't have permissions to perform the requested operation. The user or role that is making the * request must have at least one IAM permissions policy attached that grants the required permissions. For * more information, see Access * Management in the IAM User Guide. * @throws AwsOrganizationsNotInUseException * Your account isn't a member of an organization. To make this request, you must use the credentials of an * account that belongs to an organization. * @throws ConcurrentModificationException * The target of the operation is currently being modified by a different request. Try again later. * @throws DuplicateOrganizationalUnitException * An OU with the same name already exists. * @throws InvalidInputException * The requested operation failed because you provided invalid values for one or more of the request * parameters. This exception includes a reason that contains additional information about the violated * limit:

                                                                                                                                                                *

                                                                                                                                                                * Some of the reasons in the following list might not be applicable to this specific API or operation. *

                                                                                                                                                                *
                                                                                                                                                                *
                                                                                                                                                                  *
                                                                                                                                                                • *

                                                                                                                                                                  * DUPLICATE_TAG_KEY: Tag keys must be unique among the tags attached to the same entity. *

                                                                                                                                                                  *
                                                                                                                                                                • *
                                                                                                                                                                • *

                                                                                                                                                                  * IMMUTABLE_POLICY: You specified a policy that is managed by Amazon Web Services and can't be modified. *

                                                                                                                                                                  *
                                                                                                                                                                • *
                                                                                                                                                                • *

                                                                                                                                                                  * INPUT_REQUIRED: You must include a value for all required parameters. *

                                                                                                                                                                  *
                                                                                                                                                                • *
                                                                                                                                                                • *

                                                                                                                                                                  * INVALID_EMAIL_ADDRESS_TARGET: You specified an invalid email address for the invited account owner. *

                                                                                                                                                                  *
                                                                                                                                                                • *
                                                                                                                                                                • *

                                                                                                                                                                  * INVALID_ENUM: You specified an invalid value. *

                                                                                                                                                                  *
                                                                                                                                                                • *
                                                                                                                                                                • *

                                                                                                                                                                  * INVALID_ENUM_POLICY_TYPE: You specified an invalid policy type string. *

                                                                                                                                                                  *
                                                                                                                                                                • *
                                                                                                                                                                • *

                                                                                                                                                                  * INVALID_FULL_NAME_TARGET: You specified a full name that contains invalid characters. *

                                                                                                                                                                  *
                                                                                                                                                                • *
                                                                                                                                                                • *

                                                                                                                                                                  * INVALID_LIST_MEMBER: You provided a list to a parameter that contains at least one invalid value. *

                                                                                                                                                                  *
                                                                                                                                                                • *
                                                                                                                                                                • *

                                                                                                                                                                  * INVALID_PAGINATION_TOKEN: Get the value for the NextToken parameter from the response to a * previous call of the operation. *

                                                                                                                                                                  *
                                                                                                                                                                • *
                                                                                                                                                                • *

                                                                                                                                                                  * INVALID_PARTY_TYPE_TARGET: You specified the wrong type of entity (account, organization, or email) as a * party. *

                                                                                                                                                                  *
                                                                                                                                                                • *
                                                                                                                                                                • *

                                                                                                                                                                  * INVALID_PATTERN: You provided a value that doesn't match the required pattern. *

                                                                                                                                                                  *
                                                                                                                                                                • *
                                                                                                                                                                • *

                                                                                                                                                                  * INVALID_PATTERN_TARGET_ID: You specified a policy target ID that doesn't match the required pattern. *

                                                                                                                                                                  *
                                                                                                                                                                • *
                                                                                                                                                                • *

                                                                                                                                                                  * INVALID_PRINCIPAL: You specified an invalid principal element in the policy. *

                                                                                                                                                                  *
                                                                                                                                                                • *
                                                                                                                                                                • *

                                                                                                                                                                  * INVALID_ROLE_NAME: You provided a role name that isn't valid. A role name can't begin with the reserved * prefix AWSServiceRoleFor. *

                                                                                                                                                                  *
                                                                                                                                                                • *
                                                                                                                                                                • *

                                                                                                                                                                  * INVALID_SYNTAX_ORGANIZATION_ARN: You specified an invalid Amazon Resource Name (ARN) for the * organization. *

                                                                                                                                                                  *
                                                                                                                                                                • *
                                                                                                                                                                • *

                                                                                                                                                                  * INVALID_SYNTAX_POLICY_ID: You specified an invalid policy ID. *

                                                                                                                                                                  *
                                                                                                                                                                • *
                                                                                                                                                                • *

                                                                                                                                                                  * INVALID_SYSTEM_TAGS_PARAMETER: You specified a tag key that is a system tag. You can’t add, edit, or * delete system tag keys because they're reserved for Amazon Web Services use. System tags don’t count * against your tags per resource limit. *

                                                                                                                                                                  *
                                                                                                                                                                • *
                                                                                                                                                                • *

                                                                                                                                                                  * MAX_FILTER_LIMIT_EXCEEDED: You can specify only one filter parameter for the operation. *

                                                                                                                                                                  *
                                                                                                                                                                • *
                                                                                                                                                                • *

                                                                                                                                                                  * MAX_LENGTH_EXCEEDED: You provided a string parameter that is longer than allowed. *

                                                                                                                                                                  *
                                                                                                                                                                • *
                                                                                                                                                                • *

                                                                                                                                                                  * MAX_VALUE_EXCEEDED: You provided a numeric parameter that has a larger value than allowed. *

                                                                                                                                                                  *
                                                                                                                                                                • *
                                                                                                                                                                • *

                                                                                                                                                                  * MIN_LENGTH_EXCEEDED: You provided a string parameter that is shorter than allowed. *

                                                                                                                                                                  *
                                                                                                                                                                • *
                                                                                                                                                                • *

                                                                                                                                                                  * MIN_VALUE_EXCEEDED: You provided a numeric parameter that has a smaller value than allowed. *

                                                                                                                                                                  *
                                                                                                                                                                • *
                                                                                                                                                                • *

                                                                                                                                                                  * MOVING_ACCOUNT_BETWEEN_DIFFERENT_ROOTS: You can move an account only between entities in the same root. *

                                                                                                                                                                  *
                                                                                                                                                                • *
                                                                                                                                                                • *

                                                                                                                                                                  * NON_DETACHABLE_POLICY: You can't detach this Amazon Web Services Managed Policy. *

                                                                                                                                                                  *
                                                                                                                                                                • *
                                                                                                                                                                • *

                                                                                                                                                                  * TARGET_NOT_SUPPORTED: You can't perform the specified operation on that target entity. *

                                                                                                                                                                  *
                                                                                                                                                                • *
                                                                                                                                                                • *

                                                                                                                                                                  * UNRECOGNIZED_SERVICE_PRINCIPAL: You specified a service principal that isn't recognized. *

                                                                                                                                                                  *
                                                                                                                                                                • * @throws OrganizationalUnitNotFoundException * We can't find an OU with the OrganizationalUnitId that you specified. * @throws ServiceException * Organizations can't complete your request because of an internal service error. Try again later. * @throws TooManyRequestsException * You have sent too many requests in too short a period of time. The quota helps protect against * denial-of-service attacks. Try again later.

                                                                                                                                                                  *

                                                                                                                                                                  * For information about quotas that affect Organizations, see Quotas for * Organizations in the Organizations User Guide. * @throws SdkException * Base class for all exceptions that can be thrown by the SDK (both service and client). Can be used for * catch all scenarios. * @throws SdkClientException * If any client side error occurs such as an IO related failure, failure to get credentials, etc. * @throws OrganizationsException * Base class for all service exceptions. Unknown exceptions will be thrown as an instance of this type. * @sample OrganizationsClient.UpdateOrganizationalUnit * @see AWS API Documentation */ @Override public UpdateOrganizationalUnitResponse updateOrganizationalUnit( UpdateOrganizationalUnitRequest updateOrganizationalUnitRequest) throws AccessDeniedException, AwsOrganizationsNotInUseException, ConcurrentModificationException, DuplicateOrganizationalUnitException, InvalidInputException, OrganizationalUnitNotFoundException, ServiceException, TooManyRequestsException, AwsServiceException, SdkClientException, OrganizationsException { JsonOperationMetadata operationMetadata = JsonOperationMetadata.builder().hasStreamingSuccessResponse(false) .isPayloadJson(true).build(); HttpResponseHandler responseHandler = protocolFactory.createResponseHandler( operationMetadata, UpdateOrganizationalUnitResponse::builder); HttpResponseHandler errorResponseHandler = createErrorResponseHandler(protocolFactory, operationMetadata); SdkClientConfiguration clientConfiguration = updateSdkClientConfiguration(updateOrganizationalUnitRequest, this.clientConfiguration); List metricPublishers = resolveMetricPublishers(clientConfiguration, updateOrganizationalUnitRequest .overrideConfiguration().orElse(null)); MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector .create("ApiCall"); try { apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "Organizations"); apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "UpdateOrganizationalUnit"); return clientHandler .execute(new ClientExecutionParams() .withOperationName("UpdateOrganizationalUnit").withProtocolMetadata(protocolMetadata) .withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler) .withRequestConfiguration(clientConfiguration).withInput(updateOrganizationalUnitRequest) .withMetricCollector(apiCallMetricCollector) .withMarshaller(new UpdateOrganizationalUnitRequestMarshaller(protocolFactory))); } finally { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); } } /** *

                                                                                                                                                                  * Updates an existing policy with a new name, description, or content. If you don't supply any parameter, that * value remains unchanged. You can't change a policy's type. *

                                                                                                                                                                  *

                                                                                                                                                                  * This operation can be called only from the organization's management account or by a member account that is a * delegated administrator for an Amazon Web Services service. *

                                                                                                                                                                  * * @param updatePolicyRequest * @return Result of the UpdatePolicy operation returned by the service. * @throws AccessDeniedException * You don't have permissions to perform the requested operation. The user or role that is making the * request must have at least one IAM permissions policy attached that grants the required permissions. For * more information, see Access * Management in the IAM User Guide. * @throws AwsOrganizationsNotInUseException * Your account isn't a member of an organization. To make this request, you must use the credentials of an * account that belongs to an organization. * @throws ConcurrentModificationException * The target of the operation is currently being modified by a different request. Try again later. * @throws ConstraintViolationException * Performing this operation violates a minimum or maximum value limit. For example, attempting to remove * the last service control policy (SCP) from an OU or root, inviting or creating too many accounts to the * organization, or attaching too many policies to an account, OU, or root. This exception includes a reason * that contains additional information about the violated limit:

                                                                                                                                                                  *

                                                                                                                                                                  * Some of the reasons in the following list might not be applicable to this specific API or operation. *

                                                                                                                                                                  *
                                                                                                                                                                  *
                                                                                                                                                                    *
                                                                                                                                                                  • *

                                                                                                                                                                    * ACCOUNT_CANNOT_LEAVE_ORGANIZATION: You attempted to remove the management account from the organization. * You can't remove the management account. Instead, after you remove all member accounts, delete the * organization itself. *

                                                                                                                                                                    *
                                                                                                                                                                  • *
                                                                                                                                                                  • *

                                                                                                                                                                    * ACCOUNT_CANNOT_LEAVE_WITHOUT_PHONE_VERIFICATION: You attempted to remove an account from the organization * that doesn't yet have enough information to exist as a standalone account. This account requires you to * first complete phone verification. Follow the steps at Removing a member account from your organization in the Organizations User Guide. *

                                                                                                                                                                    *
                                                                                                                                                                  • *
                                                                                                                                                                  • *

                                                                                                                                                                    * ACCOUNT_CREATION_RATE_LIMIT_EXCEEDED: You attempted to exceed the number of accounts that you can create * in one day. *

                                                                                                                                                                    *
                                                                                                                                                                  • *
                                                                                                                                                                  • *

                                                                                                                                                                    * ACCOUNT_CREATION_NOT_COMPLETE: Your account setup isn't complete or your account isn't fully active. You * must complete the account setup before you create an organization. *

                                                                                                                                                                    *
                                                                                                                                                                  • *
                                                                                                                                                                  • *

                                                                                                                                                                    * ACCOUNT_NUMBER_LIMIT_EXCEEDED: You attempted to exceed the limit on the number of accounts in an * organization. If you need more accounts, contact Amazon Web Services Support to request an * increase in your limit. *

                                                                                                                                                                    *

                                                                                                                                                                    * Or the number of invitations that you tried to send would cause you to exceed the limit of accounts in * your organization. Send fewer invitations or contact Amazon Web Services Support to request an increase * in the number of accounts. *

                                                                                                                                                                    * *

                                                                                                                                                                    * Deleted and closed accounts still count toward your limit. *

                                                                                                                                                                    *
                                                                                                                                                                    *

                                                                                                                                                                    * If you get this exception when running a command immediately after creating the organization, wait one * hour and try again. After an hour, if the command continues to fail with this error, contact Amazon Web Services Support. *

                                                                                                                                                                    *
                                                                                                                                                                  • *
                                                                                                                                                                  • *

                                                                                                                                                                    * CANNOT_REGISTER_SUSPENDED_ACCOUNT_AS_DELEGATED_ADMINISTRATOR: You cannot register a suspended account as * a delegated administrator. *

                                                                                                                                                                    *
                                                                                                                                                                  • *
                                                                                                                                                                  • *

                                                                                                                                                                    * CANNOT_REGISTER_MASTER_AS_DELEGATED_ADMINISTRATOR: You attempted to register the management account of * the organization as a delegated administrator for an Amazon Web Services service integrated with * Organizations. You can designate only a member account as a delegated administrator. *

                                                                                                                                                                    *
                                                                                                                                                                  • *
                                                                                                                                                                  • *

                                                                                                                                                                    * CANNOT_CLOSE_MANAGEMENT_ACCOUNT: You attempted to close the management account. To close the management * account for the organization, you must first either remove or close all member accounts in the * organization. Follow standard account closure process using root credentials.​ *

                                                                                                                                                                    *
                                                                                                                                                                  • *
                                                                                                                                                                  • *

                                                                                                                                                                    * CANNOT_REMOVE_DELEGATED_ADMINISTRATOR_FROM_ORG: You attempted to remove an account that is registered as * a delegated administrator for a service integrated with your organization. To complete this operation, * you must first deregister this account as a delegated administrator. *

                                                                                                                                                                    *
                                                                                                                                                                  • *
                                                                                                                                                                  • *

                                                                                                                                                                    * CLOSE_ACCOUNT_QUOTA_EXCEEDED: You have exceeded close account quota for the past 30 days. *

                                                                                                                                                                    *
                                                                                                                                                                  • *
                                                                                                                                                                  • *

                                                                                                                                                                    * CLOSE_ACCOUNT_REQUESTS_LIMIT_EXCEEDED: You attempted to exceed the number of accounts that you can close * at a time. ​ *

                                                                                                                                                                    *
                                                                                                                                                                  • *
                                                                                                                                                                  • *

                                                                                                                                                                    * CREATE_ORGANIZATION_IN_BILLING_MODE_UNSUPPORTED_REGION: To create an organization in the specified * region, you must enable all features mode. *

                                                                                                                                                                    *
                                                                                                                                                                  • *
                                                                                                                                                                  • *

                                                                                                                                                                    * DELEGATED_ADMINISTRATOR_EXISTS_FOR_THIS_SERVICE: You attempted to register an Amazon Web Services account * as a delegated administrator for an Amazon Web Services service that already has a delegated * administrator. To complete this operation, you must first deregister any existing delegated * administrators for this service. *

                                                                                                                                                                    *
                                                                                                                                                                  • *
                                                                                                                                                                  • *

                                                                                                                                                                    * EMAIL_VERIFICATION_CODE_EXPIRED: The email verification code is only valid for a limited period of time. * You must resubmit the request and generate a new verfication code. *

                                                                                                                                                                    *
                                                                                                                                                                  • *
                                                                                                                                                                  • *

                                                                                                                                                                    * HANDSHAKE_RATE_LIMIT_EXCEEDED: You attempted to exceed the number of handshakes that you can send in one * day. *

                                                                                                                                                                    *
                                                                                                                                                                  • *
                                                                                                                                                                  • *

                                                                                                                                                                    * INVALID_PAYMENT_INSTRUMENT: You cannot remove an account because no supported payment method is * associated with the account. Amazon Web Services does not support cards issued by financial institutions * in Russia or Belarus. For more information, see Managing your * Amazon Web Services payments. *

                                                                                                                                                                    *
                                                                                                                                                                  • *
                                                                                                                                                                  • *

                                                                                                                                                                    * MASTER_ACCOUNT_ADDRESS_DOES_NOT_MATCH_MARKETPLACE: To create an account in this organization, you first * must migrate the organization's management account to the marketplace that corresponds to the management * account's address. All accounts in an organization must be associated with the same marketplace. *

                                                                                                                                                                    *
                                                                                                                                                                  • *
                                                                                                                                                                  • *

                                                                                                                                                                    * MASTER_ACCOUNT_MISSING_BUSINESS_LICENSE: Applies only to the Amazon Web Services Regions in China. To * create an organization, the master must have a valid business license. For more information, contact * customer support. *

                                                                                                                                                                    *
                                                                                                                                                                  • *
                                                                                                                                                                  • *

                                                                                                                                                                    * MASTER_ACCOUNT_MISSING_CONTACT_INFO: To complete this operation, you must first provide a valid contact * address and phone number for the management account. Then try the operation again. *

                                                                                                                                                                    *
                                                                                                                                                                  • *
                                                                                                                                                                  • *

                                                                                                                                                                    * MASTER_ACCOUNT_NOT_GOVCLOUD_ENABLED: To complete this operation, the management account must have an * associated account in the Amazon Web Services GovCloud (US-West) Region. For more information, see Organizations * in the Amazon Web Services GovCloud User Guide. *

                                                                                                                                                                    *
                                                                                                                                                                  • *
                                                                                                                                                                  • *

                                                                                                                                                                    * MASTER_ACCOUNT_PAYMENT_INSTRUMENT_REQUIRED: To create an organization with this management account, you * first must associate a valid payment instrument, such as a credit card, with the account. For more * information, see Considerations before removing an account from an organization in the Organizations User * Guide. *

                                                                                                                                                                    *
                                                                                                                                                                  • *
                                                                                                                                                                  • *

                                                                                                                                                                    * MAX_DELEGATED_ADMINISTRATORS_FOR_SERVICE_LIMIT_EXCEEDED: You attempted to register more delegated * administrators than allowed for the service principal. *

                                                                                                                                                                    *
                                                                                                                                                                  • *
                                                                                                                                                                  • *

                                                                                                                                                                    * MAX_POLICY_TYPE_ATTACHMENT_LIMIT_EXCEEDED: You attempted to exceed the number of policies of a certain * type that can be attached to an entity at one time. *

                                                                                                                                                                    *
                                                                                                                                                                  • *
                                                                                                                                                                  • *

                                                                                                                                                                    * MAX_TAG_LIMIT_EXCEEDED: You have exceeded the number of tags allowed on this resource. *

                                                                                                                                                                    *
                                                                                                                                                                  • *
                                                                                                                                                                  • *

                                                                                                                                                                    * MEMBER_ACCOUNT_PAYMENT_INSTRUMENT_REQUIRED: To complete this operation with this member account, you * first must associate a valid payment instrument, such as a credit card, with the account. For more * information, see Considerations before removing an account from an organization in the Organizations User * Guide. *

                                                                                                                                                                    *
                                                                                                                                                                  • *
                                                                                                                                                                  • *

                                                                                                                                                                    * MIN_POLICY_TYPE_ATTACHMENT_LIMIT_EXCEEDED: You attempted to detach a policy from an entity that would * cause the entity to have fewer than the minimum number of policies of a certain type required. *

                                                                                                                                                                    *
                                                                                                                                                                  • *
                                                                                                                                                                  • *

                                                                                                                                                                    * ORGANIZATION_NOT_IN_ALL_FEATURES_MODE: You attempted to perform an operation that requires the * organization to be configured to support all features. An organization that supports only consolidated * billing features can't perform this operation. *

                                                                                                                                                                    *
                                                                                                                                                                  • *
                                                                                                                                                                  • *

                                                                                                                                                                    * OU_DEPTH_LIMIT_EXCEEDED: You attempted to create an OU tree that is too many levels deep. *

                                                                                                                                                                    *
                                                                                                                                                                  • *
                                                                                                                                                                  • *

                                                                                                                                                                    * OU_NUMBER_LIMIT_EXCEEDED: You attempted to exceed the number of OUs that you can have in an organization. *

                                                                                                                                                                    *
                                                                                                                                                                  • *
                                                                                                                                                                  • *

                                                                                                                                                                    * POLICY_CONTENT_LIMIT_EXCEEDED: You attempted to create a policy that is larger than the maximum size. *

                                                                                                                                                                    *
                                                                                                                                                                  • *
                                                                                                                                                                  • *

                                                                                                                                                                    * POLICY_NUMBER_LIMIT_EXCEEDED: You attempted to exceed the number of policies that you can have in an * organization. *

                                                                                                                                                                    *
                                                                                                                                                                  • *
                                                                                                                                                                  • *

                                                                                                                                                                    * SERVICE_ACCESS_NOT_ENABLED: You attempted to register a delegated administrator before you enabled * service access. Call the EnableAWSServiceAccess API first. *

                                                                                                                                                                    *
                                                                                                                                                                  • *
                                                                                                                                                                  • *

                                                                                                                                                                    * TAG_POLICY_VIOLATION: You attempted to create or update a resource with tags that are not compliant with * the tag policy requirements for this account. *

                                                                                                                                                                    *
                                                                                                                                                                  • *
                                                                                                                                                                  • *

                                                                                                                                                                    * WAIT_PERIOD_ACTIVE: After you create an Amazon Web Services account, you must wait until at least seven * days after the account was created. Invited accounts aren't subject to this waiting period. *

                                                                                                                                                                    *
                                                                                                                                                                  • * @throws DuplicatePolicyException * A policy with the same name already exists. * @throws InvalidInputException * The requested operation failed because you provided invalid values for one or more of the request * parameters. This exception includes a reason that contains additional information about the violated * limit:

                                                                                                                                                                    *

                                                                                                                                                                    * Some of the reasons in the following list might not be applicable to this specific API or operation. *

                                                                                                                                                                    *
                                                                                                                                                                    *
                                                                                                                                                                      *
                                                                                                                                                                    • *

                                                                                                                                                                      * DUPLICATE_TAG_KEY: Tag keys must be unique among the tags attached to the same entity. *

                                                                                                                                                                      *
                                                                                                                                                                    • *
                                                                                                                                                                    • *

                                                                                                                                                                      * IMMUTABLE_POLICY: You specified a policy that is managed by Amazon Web Services and can't be modified. *

                                                                                                                                                                      *
                                                                                                                                                                    • *
                                                                                                                                                                    • *

                                                                                                                                                                      * INPUT_REQUIRED: You must include a value for all required parameters. *

                                                                                                                                                                      *
                                                                                                                                                                    • *
                                                                                                                                                                    • *

                                                                                                                                                                      * INVALID_EMAIL_ADDRESS_TARGET: You specified an invalid email address for the invited account owner. *

                                                                                                                                                                      *
                                                                                                                                                                    • *
                                                                                                                                                                    • *

                                                                                                                                                                      * INVALID_ENUM: You specified an invalid value. *

                                                                                                                                                                      *
                                                                                                                                                                    • *
                                                                                                                                                                    • *

                                                                                                                                                                      * INVALID_ENUM_POLICY_TYPE: You specified an invalid policy type string. *

                                                                                                                                                                      *
                                                                                                                                                                    • *
                                                                                                                                                                    • *

                                                                                                                                                                      * INVALID_FULL_NAME_TARGET: You specified a full name that contains invalid characters. *

                                                                                                                                                                      *
                                                                                                                                                                    • *
                                                                                                                                                                    • *

                                                                                                                                                                      * INVALID_LIST_MEMBER: You provided a list to a parameter that contains at least one invalid value. *

                                                                                                                                                                      *
                                                                                                                                                                    • *
                                                                                                                                                                    • *

                                                                                                                                                                      * INVALID_PAGINATION_TOKEN: Get the value for the NextToken parameter from the response to a * previous call of the operation. *

                                                                                                                                                                      *
                                                                                                                                                                    • *
                                                                                                                                                                    • *

                                                                                                                                                                      * INVALID_PARTY_TYPE_TARGET: You specified the wrong type of entity (account, organization, or email) as a * party. *

                                                                                                                                                                      *
                                                                                                                                                                    • *
                                                                                                                                                                    • *

                                                                                                                                                                      * INVALID_PATTERN: You provided a value that doesn't match the required pattern. *

                                                                                                                                                                      *
                                                                                                                                                                    • *
                                                                                                                                                                    • *

                                                                                                                                                                      * INVALID_PATTERN_TARGET_ID: You specified a policy target ID that doesn't match the required pattern. *

                                                                                                                                                                      *
                                                                                                                                                                    • *
                                                                                                                                                                    • *

                                                                                                                                                                      * INVALID_PRINCIPAL: You specified an invalid principal element in the policy. *

                                                                                                                                                                      *
                                                                                                                                                                    • *
                                                                                                                                                                    • *

                                                                                                                                                                      * INVALID_ROLE_NAME: You provided a role name that isn't valid. A role name can't begin with the reserved * prefix AWSServiceRoleFor. *

                                                                                                                                                                      *
                                                                                                                                                                    • *
                                                                                                                                                                    • *

                                                                                                                                                                      * INVALID_SYNTAX_ORGANIZATION_ARN: You specified an invalid Amazon Resource Name (ARN) for the * organization. *

                                                                                                                                                                      *
                                                                                                                                                                    • *
                                                                                                                                                                    • *

                                                                                                                                                                      * INVALID_SYNTAX_POLICY_ID: You specified an invalid policy ID. *

                                                                                                                                                                      *
                                                                                                                                                                    • *
                                                                                                                                                                    • *

                                                                                                                                                                      * INVALID_SYSTEM_TAGS_PARAMETER: You specified a tag key that is a system tag. You can’t add, edit, or * delete system tag keys because they're reserved for Amazon Web Services use. System tags don’t count * against your tags per resource limit. *

                                                                                                                                                                      *
                                                                                                                                                                    • *
                                                                                                                                                                    • *

                                                                                                                                                                      * MAX_FILTER_LIMIT_EXCEEDED: You can specify only one filter parameter for the operation. *

                                                                                                                                                                      *
                                                                                                                                                                    • *
                                                                                                                                                                    • *

                                                                                                                                                                      * MAX_LENGTH_EXCEEDED: You provided a string parameter that is longer than allowed. *

                                                                                                                                                                      *
                                                                                                                                                                    • *
                                                                                                                                                                    • *

                                                                                                                                                                      * MAX_VALUE_EXCEEDED: You provided a numeric parameter that has a larger value than allowed. *

                                                                                                                                                                      *
                                                                                                                                                                    • *
                                                                                                                                                                    • *

                                                                                                                                                                      * MIN_LENGTH_EXCEEDED: You provided a string parameter that is shorter than allowed. *

                                                                                                                                                                      *
                                                                                                                                                                    • *
                                                                                                                                                                    • *

                                                                                                                                                                      * MIN_VALUE_EXCEEDED: You provided a numeric parameter that has a smaller value than allowed. *

                                                                                                                                                                      *
                                                                                                                                                                    • *
                                                                                                                                                                    • *

                                                                                                                                                                      * MOVING_ACCOUNT_BETWEEN_DIFFERENT_ROOTS: You can move an account only between entities in the same root. *

                                                                                                                                                                      *
                                                                                                                                                                    • *
                                                                                                                                                                    • *

                                                                                                                                                                      * NON_DETACHABLE_POLICY: You can't detach this Amazon Web Services Managed Policy. *

                                                                                                                                                                      *
                                                                                                                                                                    • *
                                                                                                                                                                    • *

                                                                                                                                                                      * TARGET_NOT_SUPPORTED: You can't perform the specified operation on that target entity. *

                                                                                                                                                                      *
                                                                                                                                                                    • *
                                                                                                                                                                    • *

                                                                                                                                                                      * UNRECOGNIZED_SERVICE_PRINCIPAL: You specified a service principal that isn't recognized. *

                                                                                                                                                                      *
                                                                                                                                                                    • * @throws MalformedPolicyDocumentException * The provided policy document doesn't meet the requirements of the specified policy type. For example, the * syntax might be incorrect. For details about service control policy syntax, see SCP syntax in the Organizations User Guide. * @throws PolicyNotFoundException * We can't find a policy with the PolicyId that you specified. * @throws ServiceException * Organizations can't complete your request because of an internal service error. Try again later. * @throws TooManyRequestsException * You have sent too many requests in too short a period of time. The quota helps protect against * denial-of-service attacks. Try again later.

                                                                                                                                                                      *

                                                                                                                                                                      * For information about quotas that affect Organizations, see Quotas for * Organizations in the Organizations User Guide. * @throws UnsupportedApiEndpointException * This action isn't available in the current Amazon Web Services Region. * @throws PolicyChangesInProgressException * Changes to the effective policy are in progress, and its contents can't be returned. Try the operation * again later. * @throws SdkException * Base class for all exceptions that can be thrown by the SDK (both service and client). Can be used for * catch all scenarios. * @throws SdkClientException * If any client side error occurs such as an IO related failure, failure to get credentials, etc. * @throws OrganizationsException * Base class for all service exceptions. Unknown exceptions will be thrown as an instance of this type. * @sample OrganizationsClient.UpdatePolicy * @see AWS * API Documentation */ @Override public UpdatePolicyResponse updatePolicy(UpdatePolicyRequest updatePolicyRequest) throws AccessDeniedException, AwsOrganizationsNotInUseException, ConcurrentModificationException, ConstraintViolationException, DuplicatePolicyException, InvalidInputException, MalformedPolicyDocumentException, PolicyNotFoundException, ServiceException, TooManyRequestsException, UnsupportedApiEndpointException, PolicyChangesInProgressException, AwsServiceException, SdkClientException, OrganizationsException { JsonOperationMetadata operationMetadata = JsonOperationMetadata.builder().hasStreamingSuccessResponse(false) .isPayloadJson(true).build(); HttpResponseHandler responseHandler = protocolFactory.createResponseHandler(operationMetadata, UpdatePolicyResponse::builder); HttpResponseHandler errorResponseHandler = createErrorResponseHandler(protocolFactory, operationMetadata); SdkClientConfiguration clientConfiguration = updateSdkClientConfiguration(updatePolicyRequest, this.clientConfiguration); List metricPublishers = resolveMetricPublishers(clientConfiguration, updatePolicyRequest .overrideConfiguration().orElse(null)); MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector .create("ApiCall"); try { apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "Organizations"); apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "UpdatePolicy"); return clientHandler.execute(new ClientExecutionParams() .withOperationName("UpdatePolicy").withProtocolMetadata(protocolMetadata) .withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler) .withRequestConfiguration(clientConfiguration).withInput(updatePolicyRequest) .withMetricCollector(apiCallMetricCollector) .withMarshaller(new UpdatePolicyRequestMarshaller(protocolFactory))); } finally { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); } } @Override public final String serviceName() { return SERVICE_NAME; } private static List resolveMetricPublishers(SdkClientConfiguration clientConfiguration, RequestOverrideConfiguration requestOverrideConfiguration) { List publishers = null; if (requestOverrideConfiguration != null) { publishers = requestOverrideConfiguration.metricPublishers(); } if (publishers == null || publishers.isEmpty()) { publishers = clientConfiguration.option(SdkClientOption.METRIC_PUBLISHERS); } if (publishers == null) { publishers = Collections.emptyList(); } return publishers; } private HttpResponseHandler createErrorResponseHandler(BaseAwsJsonProtocolFactory protocolFactory, JsonOperationMetadata operationMetadata) { return protocolFactory.createErrorResponseHandler(operationMetadata); } private void updateRetryStrategyClientConfiguration(SdkClientConfiguration.Builder configuration) { ClientOverrideConfiguration.Builder builder = configuration.asOverrideConfigurationBuilder(); RetryMode retryMode = builder.retryMode(); if (retryMode != null) { configuration.option(SdkClientOption.RETRY_STRATEGY, AwsRetryStrategy.forRetryMode(retryMode)); } else { Consumer> configurator = builder.retryStrategyConfigurator(); if (configurator != null) { RetryStrategy.Builder defaultBuilder = AwsRetryStrategy.defaultRetryStrategy().toBuilder(); configurator.accept(defaultBuilder); configuration.option(SdkClientOption.RETRY_STRATEGY, defaultBuilder.build()); } else { RetryStrategy retryStrategy = builder.retryStrategy(); if (retryStrategy != null) { configuration.option(SdkClientOption.RETRY_STRATEGY, retryStrategy); } } } configuration.option(SdkClientOption.CONFIGURED_RETRY_MODE, null); configuration.option(SdkClientOption.CONFIGURED_RETRY_STRATEGY, null); configuration.option(SdkClientOption.CONFIGURED_RETRY_CONFIGURATOR, null); } private SdkClientConfiguration updateSdkClientConfiguration(SdkRequest request, SdkClientConfiguration clientConfiguration) { List plugins = request.overrideConfiguration().map(c -> c.plugins()).orElse(Collections.emptyList()); SdkClientConfiguration.Builder configuration = clientConfiguration.toBuilder(); if (plugins.isEmpty()) { return configuration.build(); } OrganizationsServiceClientConfigurationBuilder serviceConfigBuilder = new OrganizationsServiceClientConfigurationBuilder( configuration); for (SdkPlugin plugin : plugins) { plugin.configureClient(serviceConfigBuilder); } updateRetryStrategyClientConfiguration(configuration); return configuration.build(); } private > T init(T builder) { return builder .clientConfiguration(clientConfiguration) .defaultServiceExceptionSupplier(OrganizationsException::builder) .protocol(AwsJsonProtocol.AWS_JSON) .protocolVersion("1.1") .registerModeledException( ExceptionMetadata.builder().errorCode("ConcurrentModificationException") .exceptionBuilderSupplier(ConcurrentModificationException::builder).httpStatusCode(400).build()) .registerModeledException( ExceptionMetadata.builder().errorCode("HandshakeNotFoundException") .exceptionBuilderSupplier(HandshakeNotFoundException::builder).httpStatusCode(400).build()) .registerModeledException( ExceptionMetadata.builder().errorCode("DuplicateAccountException") .exceptionBuilderSupplier(DuplicateAccountException::builder).httpStatusCode(400).build()) .registerModeledException( ExceptionMetadata.builder().errorCode("MalformedPolicyDocumentException") .exceptionBuilderSupplier(MalformedPolicyDocumentException::builder).httpStatusCode(400).build()) .registerModeledException( ExceptionMetadata.builder().errorCode("DuplicatePolicyException") .exceptionBuilderSupplier(DuplicatePolicyException::builder).httpStatusCode(400).build()) .registerModeledException( ExceptionMetadata.builder().errorCode("ChildNotFoundException") .exceptionBuilderSupplier(ChildNotFoundException::builder).httpStatusCode(400).build()) .registerModeledException( ExceptionMetadata.builder().errorCode("AccountOwnerNotVerifiedException") .exceptionBuilderSupplier(AccountOwnerNotVerifiedException::builder).httpStatusCode(400).build()) .registerModeledException( ExceptionMetadata.builder().errorCode("UnsupportedAPIEndpointException") .exceptionBuilderSupplier(UnsupportedApiEndpointException::builder).httpStatusCode(400).build()) .registerModeledException( ExceptionMetadata.builder().errorCode("PolicyNotFoundException") .exceptionBuilderSupplier(PolicyNotFoundException::builder).httpStatusCode(400).build()) .registerModeledException( ExceptionMetadata.builder().errorCode("AccessDeniedForDependencyException") .exceptionBuilderSupplier(AccessDeniedForDependencyException::builder).httpStatusCode(400) .build()) .registerModeledException( ExceptionMetadata.builder().errorCode("PolicyChangesInProgressException") .exceptionBuilderSupplier(PolicyChangesInProgressException::builder).httpStatusCode(400).build()) .registerModeledException( ExceptionMetadata.builder().errorCode("AccountAlreadyRegisteredException") .exceptionBuilderSupplier(AccountAlreadyRegisteredException::builder).httpStatusCode(400).build()) .registerModeledException( ExceptionMetadata.builder().errorCode("ConstraintViolationException") .exceptionBuilderSupplier(ConstraintViolationException::builder).httpStatusCode(400).build()) .registerModeledException( ExceptionMetadata.builder().errorCode("AWSOrganizationsNotInUseException") .exceptionBuilderSupplier(AwsOrganizationsNotInUseException::builder).httpStatusCode(400).build()) .registerModeledException( ExceptionMetadata.builder().errorCode("EffectivePolicyNotFoundException") .exceptionBuilderSupplier(EffectivePolicyNotFoundException::builder).httpStatusCode(400).build()) .registerModeledException( ExceptionMetadata.builder().errorCode("AccountNotRegisteredException") .exceptionBuilderSupplier(AccountNotRegisteredException::builder).httpStatusCode(400).build()) .registerModeledException( ExceptionMetadata.builder().errorCode("AccountAlreadyClosedException") .exceptionBuilderSupplier(AccountAlreadyClosedException::builder).httpStatusCode(400).build()) .registerModeledException( ExceptionMetadata.builder().errorCode("ParentNotFoundException") .exceptionBuilderSupplier(ParentNotFoundException::builder).httpStatusCode(400).build()) .registerModeledException( ExceptionMetadata.builder().errorCode("ResourcePolicyNotFoundException") .exceptionBuilderSupplier(ResourcePolicyNotFoundException::builder).httpStatusCode(400).build()) .registerModeledException( ExceptionMetadata.builder().errorCode("HandshakeConstraintViolationException") .exceptionBuilderSupplier(HandshakeConstraintViolationException::builder).httpStatusCode(400) .build()) .registerModeledException( ExceptionMetadata.builder().errorCode("PolicyInUseException") .exceptionBuilderSupplier(PolicyInUseException::builder).httpStatusCode(400).build()) .registerModeledException( ExceptionMetadata.builder().errorCode("PolicyTypeNotAvailableForOrganizationException") .exceptionBuilderSupplier(PolicyTypeNotAvailableForOrganizationException::builder) .httpStatusCode(400).build()) .registerModeledException( ExceptionMetadata.builder().errorCode("DuplicateHandshakeException") .exceptionBuilderSupplier(DuplicateHandshakeException::builder).httpStatusCode(400).build()) .registerModeledException( ExceptionMetadata.builder().errorCode("HandshakeAlreadyInStateException") .exceptionBuilderSupplier(HandshakeAlreadyInStateException::builder).httpStatusCode(400).build()) .registerModeledException( ExceptionMetadata.builder().errorCode("ServiceException") .exceptionBuilderSupplier(ServiceException::builder).httpStatusCode(500).build()) .registerModeledException( ExceptionMetadata.builder().errorCode("RootNotFoundException") .exceptionBuilderSupplier(RootNotFoundException::builder).httpStatusCode(400).build()) .registerModeledException( ExceptionMetadata.builder().errorCode("OrganizationNotEmptyException") .exceptionBuilderSupplier(OrganizationNotEmptyException::builder).httpStatusCode(400).build()) .registerModeledException( ExceptionMetadata.builder().errorCode("OrganizationalUnitNotFoundException") .exceptionBuilderSupplier(OrganizationalUnitNotFoundException::builder).httpStatusCode(400) .build()) .registerModeledException( ExceptionMetadata.builder().errorCode("PolicyTypeAlreadyEnabledException") .exceptionBuilderSupplier(PolicyTypeAlreadyEnabledException::builder).httpStatusCode(400).build()) .registerModeledException( ExceptionMetadata.builder().errorCode("AccessDeniedException") .exceptionBuilderSupplier(AccessDeniedException::builder).httpStatusCode(400).build()) .registerModeledException( ExceptionMetadata.builder().errorCode("DuplicatePolicyAttachmentException") .exceptionBuilderSupplier(DuplicatePolicyAttachmentException::builder).httpStatusCode(400) .build()) .registerModeledException( ExceptionMetadata.builder().errorCode("ConflictException") .exceptionBuilderSupplier(ConflictException::builder).httpStatusCode(400).build()) .registerModeledException( ExceptionMetadata.builder().errorCode("MasterCannotLeaveOrganizationException") .exceptionBuilderSupplier(MasterCannotLeaveOrganizationException::builder).httpStatusCode(400) .build()) .registerModeledException( ExceptionMetadata.builder().errorCode("DestinationParentNotFoundException") .exceptionBuilderSupplier(DestinationParentNotFoundException::builder).httpStatusCode(400) .build()) .registerModeledException( ExceptionMetadata.builder().errorCode("PolicyTypeNotEnabledException") .exceptionBuilderSupplier(PolicyTypeNotEnabledException::builder).httpStatusCode(400).build()) .registerModeledException( ExceptionMetadata.builder().errorCode("InvalidInputException") .exceptionBuilderSupplier(InvalidInputException::builder).httpStatusCode(400).build()) .registerModeledException( ExceptionMetadata.builder().errorCode("TargetNotFoundException") .exceptionBuilderSupplier(TargetNotFoundException::builder).httpStatusCode(400).build()) .registerModeledException( ExceptionMetadata.builder().errorCode("CreateAccountStatusNotFoundException") .exceptionBuilderSupplier(CreateAccountStatusNotFoundException::builder).httpStatusCode(400) .build()) .registerModeledException( ExceptionMetadata.builder().errorCode("PolicyNotAttachedException") .exceptionBuilderSupplier(PolicyNotAttachedException::builder).httpStatusCode(400).build()) .registerModeledException( ExceptionMetadata.builder().errorCode("AlreadyInOrganizationException") .exceptionBuilderSupplier(AlreadyInOrganizationException::builder).httpStatusCode(400).build()) .registerModeledException( ExceptionMetadata.builder().errorCode("AccountNotFoundException") .exceptionBuilderSupplier(AccountNotFoundException::builder).httpStatusCode(400).build()) .registerModeledException( ExceptionMetadata.builder().errorCode("SourceParentNotFoundException") .exceptionBuilderSupplier(SourceParentNotFoundException::builder).httpStatusCode(400).build()) .registerModeledException( ExceptionMetadata.builder().errorCode("DuplicateOrganizationalUnitException") .exceptionBuilderSupplier(DuplicateOrganizationalUnitException::builder).httpStatusCode(400) .build()) .registerModeledException( ExceptionMetadata.builder().errorCode("InvalidHandshakeTransitionException") .exceptionBuilderSupplier(InvalidHandshakeTransitionException::builder).httpStatusCode(400) .build()) .registerModeledException( ExceptionMetadata.builder().errorCode("TooManyRequestsException") .exceptionBuilderSupplier(TooManyRequestsException::builder).httpStatusCode(400).build()) .registerModeledException( ExceptionMetadata.builder().errorCode("FinalizingOrganizationException") .exceptionBuilderSupplier(FinalizingOrganizationException::builder).httpStatusCode(400).build()) .registerModeledException( ExceptionMetadata.builder().errorCode("OrganizationalUnitNotEmptyException") .exceptionBuilderSupplier(OrganizationalUnitNotEmptyException::builder).httpStatusCode(400) .build()); } @Override public final OrganizationsServiceClientConfiguration serviceClientConfiguration() { return new OrganizationsServiceClientConfigurationBuilder(this.clientConfiguration.toBuilder()).build(); } @Override public void close() { clientHandler.close(); } }





© 2015 - 2024 Weber Informatics LLC | Privacy Policy