import type { MetadataBearer as __MetadataBearer } from "@smithy/types"; import type { CreateGovCloudAccountRequest, CreateGovCloudAccountResponse } from "../models/models_0"; /** * @public */ export type { __MetadataBearer }; /** * @public * * The input for {@link CreateGovCloudAccountCommand}. */ export interface CreateGovCloudAccountCommandInput extends CreateGovCloudAccountRequest { } /** * @public * * The output of {@link CreateGovCloudAccountCommand}. */ export interface CreateGovCloudAccountCommandOutput extends CreateGovCloudAccountResponse, __MetadataBearer { } declare const CreateGovCloudAccountCommand_base: { new (input: CreateGovCloudAccountCommandInput): import("@smithy/core/client").CommandImpl; new (input: CreateGovCloudAccountCommandInput): import("@smithy/core/client").CommandImpl; getEndpointParameterInstructions(): import("@smithy/types").EndpointParameterInstructions; }; /** *

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

* *

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:

* *

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:

* *

Additionally, the AccountJoinedOrganization event is logged in CloudTrail and * is available only in the management account's event history only for the linked * commercial account. This event includes joinedMethod:Created and * joinedTime fields to provide context on how and when the account joined * the organization.

*

*

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.

*
* @example * Use a bare-bones client and the command you need to make an API call. * ```javascript * import { OrganizationsClient, CreateGovCloudAccountCommand } from "@aws-sdk/client-organizations"; // ES Modules import * // const { OrganizationsClient, CreateGovCloudAccountCommand } = require("@aws-sdk/client-organizations"); // CommonJS import * // import type { OrganizationsClientConfig } from "@aws-sdk/client-organizations"; * const config = {}; // type is OrganizationsClientConfig * const client = new OrganizationsClient(config); * const input = { // CreateGovCloudAccountRequest * Email: "STRING_VALUE", // required * AccountName: "STRING_VALUE", // required * RoleName: "STRING_VALUE", * IamUserAccessToBilling: "ALLOW" || "DENY", * Tags: [ // Tags * { // Tag * Key: "STRING_VALUE", // required * Value: "STRING_VALUE", // required * }, * ], * }; * const command = new CreateGovCloudAccountCommand(input); * const response = await client.send(command); * // { // CreateGovCloudAccountResponse * // CreateAccountStatus: { // CreateAccountStatus * // Id: "STRING_VALUE", * // AccountName: "STRING_VALUE", * // State: "IN_PROGRESS" || "SUCCEEDED" || "FAILED", * // RequestedTimestamp: new Date("TIMESTAMP"), * // CompletedTimestamp: new Date("TIMESTAMP"), * // AccountId: "STRING_VALUE", * // GovCloudAccountId: "STRING_VALUE", * // FailureReason: "ACCOUNT_LIMIT_EXCEEDED" || "EMAIL_ALREADY_EXISTS" || "INVALID_ADDRESS" || "INVALID_EMAIL" || "CONCURRENT_ACCOUNT_MODIFICATION" || "INTERNAL_FAILURE" || "GOVCLOUD_ACCOUNT_ALREADY_EXISTS" || "MISSING_BUSINESS_VALIDATION" || "FAILED_BUSINESS_VALIDATION" || "PENDING_BUSINESS_VALIDATION" || "INVALID_IDENTITY_FOR_BUSINESS_VALIDATION" || "UNKNOWN_BUSINESS_VALIDATION" || "MISSING_PAYMENT_INSTRUMENT" || "INVALID_PAYMENT_INSTRUMENT" || "UPDATE_EXISTING_RESOURCE_POLICY_WITH_TAGS_NOT_SUPPORTED", * // }, * // }; * * ``` * * @param CreateGovCloudAccountCommandInput - {@link CreateGovCloudAccountCommandInput} * @returns {@link CreateGovCloudAccountCommandOutput} * @see {@link CreateGovCloudAccountCommandInput} for command's `input` shape. * @see {@link CreateGovCloudAccountCommandOutput} for command's `response` shape. * @see {@link OrganizationsClientResolvedConfig | config} for OrganizationsClient's `config` shape. * * @throws {@link AccessDeniedException} (client fault) *

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 {@link AWSOrganizationsNotInUseException} (client fault) *

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 {@link ConcurrentModificationException} (client fault) *

The target of the operation is currently being modified by a different request. Try * again later.

* * @throws {@link ConstraintViolationException} (client fault) *

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.

*
* * * @throws {@link FinalizingOrganizationException} (client fault) *

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 {@link InvalidInputException} (client fault) *

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.

*
* * * @throws {@link ServiceException} (server fault) *

Organizations can't complete your request because of an internal service error. Try again * later.

* * @throws {@link TooManyRequestsException} (client fault) *

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 {@link UnsupportedAPIEndpointException} (client fault) *

This action isn't available in the current Amazon Web Services Region.

* * @throws {@link OrganizationsServiceException} *

Base exception class for all service exceptions from Organizations service.

* * * @public */ export declare class CreateGovCloudAccountCommand extends CreateGovCloudAccountCommand_base { /** @internal type navigation helper, not in runtime. */ protected static __types: { api: { input: CreateGovCloudAccountRequest; output: CreateGovCloudAccountResponse; }; sdk: { input: CreateGovCloudAccountCommandInput; output: CreateGovCloudAccountCommandOutput; }; }; }