var __exportStar = (m, e) => { Object.assign(e, m); };
const { getAwsRegionExtensionConfiguration, resolveAwsRegionExtensionConfiguration, resolveUserAgentConfig, resolveHostHeaderConfig, getUserAgentPlugin, getHostHeaderPlugin, getLoggerPlugin, getRecursionDetectionPlugin } = require("@aws-sdk/core/client");
const { getHttpAuthSchemeEndpointRuleSetPlugin, DefaultIdentityProviderConfig, getHttpSigningPlugin, createPaginator } = require("@smithy/core");
const { getDefaultExtensionConfiguration, resolveDefaultRuntimeConfig, Client, Command, createAggregatedClient } = require("@smithy/core/client");
exports.$Command = Command;
exports.__Client = Client;
const { resolveRegionConfig } = require("@smithy/core/config");
const { resolveEndpointConfig, getEndpointPlugin } = require("@smithy/core/endpoints");
const { getHttpHandlerExtensionConfiguration, resolveHttpHandlerRuntimeConfig, getContentLengthPlugin } = require("@smithy/core/protocols");
const { resolveRetryConfig, getRetryPlugin } = require("@smithy/core/retry");
const { getSchemaSerdePlugin } = require("@smithy/core/schema");
const { resolveHttpAuthSchemeConfig, defaultOrganizationsHttpAuthSchemeParametersProvider } = require("./auth/httpAuthSchemeProvider");
const { getRuntimeConfig } = require("./runtimeConfig");
const { AcceptHandshake$, AttachPolicy$, CancelHandshake$, CloseAccount$, CreateAccount$, CreateGovCloudAccount$, CreateOrganizationalUnit$, CreateOrganization$, CreatePolicy$, DeclineHandshake$, DeleteOrganizationalUnit$, DeleteOrganization$, DeletePolicy$, DeleteResourcePolicy$, DeregisterDelegatedAdministrator$, DescribeAccount$, DescribeCreateAccountStatus$, DescribeEffectivePolicy$, DescribeHandshake$, DescribeOrganizationalUnit$, DescribeOrganization$, DescribePolicy$, DescribeResourcePolicy$, DescribeResponsibilityTransfer$, DetachPolicy$, DisableAWSServiceAccess$, DisablePolicyType$, EnableAllFeatures$, EnableAWSServiceAccess$, EnablePolicyType$, InviteAccountToOrganization$, InviteOrganizationToTransferResponsibility$, LeaveOrganization$, ListAccounts$, ListAccountsForParent$, ListAccountsWithInvalidEffectivePolicy$, ListAWSServiceAccessForOrganization$, ListChildren$, ListCreateAccountStatus$, ListDelegatedAdministrators$, ListDelegatedServicesForAccount$, ListEffectivePolicyValidationErrors$, ListHandshakesForAccount$, ListHandshakesForOrganization$, ListInboundResponsibilityTransfers$, ListOrganizationalUnitsForParent$, ListOutboundResponsibilityTransfers$, ListParents$, ListPolicies$, ListPoliciesForTarget$, ListRoots$, ListTagsForResource$, ListTargetsForPolicy$, MoveAccount$, PutResourcePolicy$, RegisterDelegatedAdministrator$, RemoveAccountFromOrganization$, TagResource$, TerminateResponsibilityTransfer$, UntagResource$, UpdateOrganizationalUnit$, UpdatePolicy$, UpdateResponsibilityTransfer$ } = require("./schemas/schemas_0");
__exportStar(require("./schemas/schemas_0"), exports);
__exportStar(require("./models/errors"), exports);
const { OrganizationsServiceException } = require("./models/OrganizationsServiceException");
exports.OrganizationsServiceException = OrganizationsServiceException;

const resolveClientEndpointParameters = (options) => {
    return Object.assign(options, {
        useDualstackEndpoint: options.useDualstackEndpoint ?? false,
        useFipsEndpoint: options.useFipsEndpoint ?? false,
        defaultSigningName: "organizations",
    });
};
const commonParams = {
    UseFIPS: { type: "builtInParams", name: "useFipsEndpoint" },
    Endpoint: { type: "builtInParams", name: "endpoint" },
    Region: { type: "builtInParams", name: "region" },
    UseDualStack: { type: "builtInParams", name: "useDualstackEndpoint" },
};

const getHttpAuthExtensionConfiguration = (runtimeConfig) => {
    const _httpAuthSchemes = runtimeConfig.httpAuthSchemes;
    let _httpAuthSchemeProvider = runtimeConfig.httpAuthSchemeProvider;
    let _credentials = runtimeConfig.credentials;
    return {
        setHttpAuthScheme(httpAuthScheme) {
            const index = _httpAuthSchemes.findIndex((scheme) => scheme.schemeId === httpAuthScheme.schemeId);
            if (index === -1) {
                _httpAuthSchemes.push(httpAuthScheme);
            }
            else {
                _httpAuthSchemes.splice(index, 1, httpAuthScheme);
            }
        },
        httpAuthSchemes() {
            return _httpAuthSchemes;
        },
        setHttpAuthSchemeProvider(httpAuthSchemeProvider) {
            _httpAuthSchemeProvider = httpAuthSchemeProvider;
        },
        httpAuthSchemeProvider() {
            return _httpAuthSchemeProvider;
        },
        setCredentials(credentials) {
            _credentials = credentials;
        },
        credentials() {
            return _credentials;
        },
    };
};
const resolveHttpAuthRuntimeConfig = (config) => {
    return {
        httpAuthSchemes: config.httpAuthSchemes(),
        httpAuthSchemeProvider: config.httpAuthSchemeProvider(),
        credentials: config.credentials(),
    };
};

const resolveRuntimeExtensions = (runtimeConfig, extensions) => {
    const extensionConfiguration = Object.assign(getAwsRegionExtensionConfiguration(runtimeConfig), getDefaultExtensionConfiguration(runtimeConfig), getHttpHandlerExtensionConfiguration(runtimeConfig), getHttpAuthExtensionConfiguration(runtimeConfig));
    extensions.forEach((extension) => extension.configure(extensionConfiguration));
    return Object.assign(runtimeConfig, resolveAwsRegionExtensionConfiguration(extensionConfiguration), resolveDefaultRuntimeConfig(extensionConfiguration), resolveHttpHandlerRuntimeConfig(extensionConfiguration), resolveHttpAuthRuntimeConfig(extensionConfiguration));
};

class OrganizationsClient extends Client {
    config;
    constructor(...[configuration]) {
        const _config_0 = getRuntimeConfig(configuration || {});
        super(_config_0);
        this.initConfig = _config_0;
        const _config_1 = resolveClientEndpointParameters(_config_0);
        const _config_2 = resolveUserAgentConfig(_config_1);
        const _config_3 = resolveRetryConfig(_config_2);
        const _config_4 = resolveRegionConfig(_config_3);
        const _config_5 = resolveHostHeaderConfig(_config_4);
        const _config_6 = resolveEndpointConfig(_config_5);
        const _config_7 = resolveHttpAuthSchemeConfig(_config_6);
        const _config_8 = resolveRuntimeExtensions(_config_7, configuration?.extensions || []);
        this.config = _config_8;
        this.middlewareStack.use(getSchemaSerdePlugin(this.config));
        this.middlewareStack.use(getUserAgentPlugin(this.config));
        this.middlewareStack.use(getRetryPlugin(this.config));
        this.middlewareStack.use(getContentLengthPlugin(this.config));
        this.middlewareStack.use(getHostHeaderPlugin(this.config));
        this.middlewareStack.use(getLoggerPlugin(this.config));
        this.middlewareStack.use(getRecursionDetectionPlugin(this.config));
        this.middlewareStack.use(getHttpAuthSchemeEndpointRuleSetPlugin(this.config, {
            httpAuthSchemeParametersProvider: defaultOrganizationsHttpAuthSchemeParametersProvider,
            identityProviderConfigProvider: async (config) => new DefaultIdentityProviderConfig({
                "aws.auth#sigv4": config.credentials,
            }),
        }));
        this.middlewareStack.use(getHttpSigningPlugin(this.config));
    }
    destroy() {
        super.destroy();
    }
}

class AcceptHandshakeCommand extends Command
    .classBuilder()
    .ep(commonParams)
    .m(function (Command, cs, config, o) {
    return [getEndpointPlugin(config, Command.getEndpointParameterInstructions())];
})
    .s("AWSOrganizationsV20161128", "AcceptHandshake", {})
    .n("OrganizationsClient", "AcceptHandshakeCommand")
    .sc(AcceptHandshake$)
    .build() {
}

class AttachPolicyCommand extends Command
    .classBuilder()
    .ep(commonParams)
    .m(function (Command, cs, config, o) {
    return [getEndpointPlugin(config, Command.getEndpointParameterInstructions())];
})
    .s("AWSOrganizationsV20161128", "AttachPolicy", {})
    .n("OrganizationsClient", "AttachPolicyCommand")
    .sc(AttachPolicy$)
    .build() {
}

class CancelHandshakeCommand extends Command
    .classBuilder()
    .ep(commonParams)
    .m(function (Command, cs, config, o) {
    return [getEndpointPlugin(config, Command.getEndpointParameterInstructions())];
})
    .s("AWSOrganizationsV20161128", "CancelHandshake", {})
    .n("OrganizationsClient", "CancelHandshakeCommand")
    .sc(CancelHandshake$)
    .build() {
}

class CloseAccountCommand extends Command
    .classBuilder()
    .ep(commonParams)
    .m(function (Command, cs, config, o) {
    return [getEndpointPlugin(config, Command.getEndpointParameterInstructions())];
})
    .s("AWSOrganizationsV20161128", "CloseAccount", {})
    .n("OrganizationsClient", "CloseAccountCommand")
    .sc(CloseAccount$)
    .build() {
}

class CreateAccountCommand extends Command
    .classBuilder()
    .ep(commonParams)
    .m(function (Command, cs, config, o) {
    return [getEndpointPlugin(config, Command.getEndpointParameterInstructions())];
})
    .s("AWSOrganizationsV20161128", "CreateAccount", {})
    .n("OrganizationsClient", "CreateAccountCommand")
    .sc(CreateAccount$)
    .build() {
}

class CreateGovCloudAccountCommand extends Command
    .classBuilder()
    .ep(commonParams)
    .m(function (Command, cs, config, o) {
    return [getEndpointPlugin(config, Command.getEndpointParameterInstructions())];
})
    .s("AWSOrganizationsV20161128", "CreateGovCloudAccount", {})
    .n("OrganizationsClient", "CreateGovCloudAccountCommand")
    .sc(CreateGovCloudAccount$)
    .build() {
}

class CreateOrganizationalUnitCommand extends Command
    .classBuilder()
    .ep(commonParams)
    .m(function (Command, cs, config, o) {
    return [getEndpointPlugin(config, Command.getEndpointParameterInstructions())];
})
    .s("AWSOrganizationsV20161128", "CreateOrganizationalUnit", {})
    .n("OrganizationsClient", "CreateOrganizationalUnitCommand")
    .sc(CreateOrganizationalUnit$)
    .build() {
}

class CreateOrganizationCommand extends Command
    .classBuilder()
    .ep(commonParams)
    .m(function (Command, cs, config, o) {
    return [getEndpointPlugin(config, Command.getEndpointParameterInstructions())];
})
    .s("AWSOrganizationsV20161128", "CreateOrganization", {})
    .n("OrganizationsClient", "CreateOrganizationCommand")
    .sc(CreateOrganization$)
    .build() {
}

class CreatePolicyCommand extends Command
    .classBuilder()
    .ep(commonParams)
    .m(function (Command, cs, config, o) {
    return [getEndpointPlugin(config, Command.getEndpointParameterInstructions())];
})
    .s("AWSOrganizationsV20161128", "CreatePolicy", {})
    .n("OrganizationsClient", "CreatePolicyCommand")
    .sc(CreatePolicy$)
    .build() {
}

class DeclineHandshakeCommand extends Command
    .classBuilder()
    .ep(commonParams)
    .m(function (Command, cs, config, o) {
    return [getEndpointPlugin(config, Command.getEndpointParameterInstructions())];
})
    .s("AWSOrganizationsV20161128", "DeclineHandshake", {})
    .n("OrganizationsClient", "DeclineHandshakeCommand")
    .sc(DeclineHandshake$)
    .build() {
}

class DeleteOrganizationalUnitCommand extends Command
    .classBuilder()
    .ep(commonParams)
    .m(function (Command, cs, config, o) {
    return [getEndpointPlugin(config, Command.getEndpointParameterInstructions())];
})
    .s("AWSOrganizationsV20161128", "DeleteOrganizationalUnit", {})
    .n("OrganizationsClient", "DeleteOrganizationalUnitCommand")
    .sc(DeleteOrganizationalUnit$)
    .build() {
}

class DeleteOrganizationCommand extends Command
    .classBuilder()
    .ep(commonParams)
    .m(function (Command, cs, config, o) {
    return [getEndpointPlugin(config, Command.getEndpointParameterInstructions())];
})
    .s("AWSOrganizationsV20161128", "DeleteOrganization", {})
    .n("OrganizationsClient", "DeleteOrganizationCommand")
    .sc(DeleteOrganization$)
    .build() {
}

class DeletePolicyCommand extends Command
    .classBuilder()
    .ep(commonParams)
    .m(function (Command, cs, config, o) {
    return [getEndpointPlugin(config, Command.getEndpointParameterInstructions())];
})
    .s("AWSOrganizationsV20161128", "DeletePolicy", {})
    .n("OrganizationsClient", "DeletePolicyCommand")
    .sc(DeletePolicy$)
    .build() {
}

class DeleteResourcePolicyCommand extends Command
    .classBuilder()
    .ep(commonParams)
    .m(function (Command, cs, config, o) {
    return [getEndpointPlugin(config, Command.getEndpointParameterInstructions())];
})
    .s("AWSOrganizationsV20161128", "DeleteResourcePolicy", {})
    .n("OrganizationsClient", "DeleteResourcePolicyCommand")
    .sc(DeleteResourcePolicy$)
    .build() {
}

class DeregisterDelegatedAdministratorCommand extends Command
    .classBuilder()
    .ep(commonParams)
    .m(function (Command, cs, config, o) {
    return [getEndpointPlugin(config, Command.getEndpointParameterInstructions())];
})
    .s("AWSOrganizationsV20161128", "DeregisterDelegatedAdministrator", {})
    .n("OrganizationsClient", "DeregisterDelegatedAdministratorCommand")
    .sc(DeregisterDelegatedAdministrator$)
    .build() {
}

class DescribeAccountCommand extends Command
    .classBuilder()
    .ep(commonParams)
    .m(function (Command, cs, config, o) {
    return [getEndpointPlugin(config, Command.getEndpointParameterInstructions())];
})
    .s("AWSOrganizationsV20161128", "DescribeAccount", {})
    .n("OrganizationsClient", "DescribeAccountCommand")
    .sc(DescribeAccount$)
    .build() {
}

class DescribeCreateAccountStatusCommand extends Command
    .classBuilder()
    .ep(commonParams)
    .m(function (Command, cs, config, o) {
    return [getEndpointPlugin(config, Command.getEndpointParameterInstructions())];
})
    .s("AWSOrganizationsV20161128", "DescribeCreateAccountStatus", {})
    .n("OrganizationsClient", "DescribeCreateAccountStatusCommand")
    .sc(DescribeCreateAccountStatus$)
    .build() {
}

class DescribeEffectivePolicyCommand extends Command
    .classBuilder()
    .ep(commonParams)
    .m(function (Command, cs, config, o) {
    return [getEndpointPlugin(config, Command.getEndpointParameterInstructions())];
})
    .s("AWSOrganizationsV20161128", "DescribeEffectivePolicy", {})
    .n("OrganizationsClient", "DescribeEffectivePolicyCommand")
    .sc(DescribeEffectivePolicy$)
    .build() {
}

class DescribeHandshakeCommand extends Command
    .classBuilder()
    .ep(commonParams)
    .m(function (Command, cs, config, o) {
    return [getEndpointPlugin(config, Command.getEndpointParameterInstructions())];
})
    .s("AWSOrganizationsV20161128", "DescribeHandshake", {})
    .n("OrganizationsClient", "DescribeHandshakeCommand")
    .sc(DescribeHandshake$)
    .build() {
}

class DescribeOrganizationalUnitCommand extends Command
    .classBuilder()
    .ep(commonParams)
    .m(function (Command, cs, config, o) {
    return [getEndpointPlugin(config, Command.getEndpointParameterInstructions())];
})
    .s("AWSOrganizationsV20161128", "DescribeOrganizationalUnit", {})
    .n("OrganizationsClient", "DescribeOrganizationalUnitCommand")
    .sc(DescribeOrganizationalUnit$)
    .build() {
}

class DescribeOrganizationCommand extends Command
    .classBuilder()
    .ep(commonParams)
    .m(function (Command, cs, config, o) {
    return [getEndpointPlugin(config, Command.getEndpointParameterInstructions())];
})
    .s("AWSOrganizationsV20161128", "DescribeOrganization", {})
    .n("OrganizationsClient", "DescribeOrganizationCommand")
    .sc(DescribeOrganization$)
    .build() {
}

class DescribePolicyCommand extends Command
    .classBuilder()
    .ep(commonParams)
    .m(function (Command, cs, config, o) {
    return [getEndpointPlugin(config, Command.getEndpointParameterInstructions())];
})
    .s("AWSOrganizationsV20161128", "DescribePolicy", {})
    .n("OrganizationsClient", "DescribePolicyCommand")
    .sc(DescribePolicy$)
    .build() {
}

class DescribeResourcePolicyCommand extends Command
    .classBuilder()
    .ep(commonParams)
    .m(function (Command, cs, config, o) {
    return [getEndpointPlugin(config, Command.getEndpointParameterInstructions())];
})
    .s("AWSOrganizationsV20161128", "DescribeResourcePolicy", {})
    .n("OrganizationsClient", "DescribeResourcePolicyCommand")
    .sc(DescribeResourcePolicy$)
    .build() {
}

class DescribeResponsibilityTransferCommand extends Command
    .classBuilder()
    .ep(commonParams)
    .m(function (Command, cs, config, o) {
    return [getEndpointPlugin(config, Command.getEndpointParameterInstructions())];
})
    .s("AWSOrganizationsV20161128", "DescribeResponsibilityTransfer", {})
    .n("OrganizationsClient", "DescribeResponsibilityTransferCommand")
    .sc(DescribeResponsibilityTransfer$)
    .build() {
}

class DetachPolicyCommand extends Command
    .classBuilder()
    .ep(commonParams)
    .m(function (Command, cs, config, o) {
    return [getEndpointPlugin(config, Command.getEndpointParameterInstructions())];
})
    .s("AWSOrganizationsV20161128", "DetachPolicy", {})
    .n("OrganizationsClient", "DetachPolicyCommand")
    .sc(DetachPolicy$)
    .build() {
}

class DisableAWSServiceAccessCommand extends Command
    .classBuilder()
    .ep(commonParams)
    .m(function (Command, cs, config, o) {
    return [getEndpointPlugin(config, Command.getEndpointParameterInstructions())];
})
    .s("AWSOrganizationsV20161128", "DisableAWSServiceAccess", {})
    .n("OrganizationsClient", "DisableAWSServiceAccessCommand")
    .sc(DisableAWSServiceAccess$)
    .build() {
}

class DisablePolicyTypeCommand extends Command
    .classBuilder()
    .ep(commonParams)
    .m(function (Command, cs, config, o) {
    return [getEndpointPlugin(config, Command.getEndpointParameterInstructions())];
})
    .s("AWSOrganizationsV20161128", "DisablePolicyType", {})
    .n("OrganizationsClient", "DisablePolicyTypeCommand")
    .sc(DisablePolicyType$)
    .build() {
}

class EnableAllFeaturesCommand extends Command
    .classBuilder()
    .ep(commonParams)
    .m(function (Command, cs, config, o) {
    return [getEndpointPlugin(config, Command.getEndpointParameterInstructions())];
})
    .s("AWSOrganizationsV20161128", "EnableAllFeatures", {})
    .n("OrganizationsClient", "EnableAllFeaturesCommand")
    .sc(EnableAllFeatures$)
    .build() {
}

class EnableAWSServiceAccessCommand extends Command
    .classBuilder()
    .ep(commonParams)
    .m(function (Command, cs, config, o) {
    return [getEndpointPlugin(config, Command.getEndpointParameterInstructions())];
})
    .s("AWSOrganizationsV20161128", "EnableAWSServiceAccess", {})
    .n("OrganizationsClient", "EnableAWSServiceAccessCommand")
    .sc(EnableAWSServiceAccess$)
    .build() {
}

class EnablePolicyTypeCommand extends Command
    .classBuilder()
    .ep(commonParams)
    .m(function (Command, cs, config, o) {
    return [getEndpointPlugin(config, Command.getEndpointParameterInstructions())];
})
    .s("AWSOrganizationsV20161128", "EnablePolicyType", {})
    .n("OrganizationsClient", "EnablePolicyTypeCommand")
    .sc(EnablePolicyType$)
    .build() {
}

class InviteAccountToOrganizationCommand extends Command
    .classBuilder()
    .ep(commonParams)
    .m(function (Command, cs, config, o) {
    return [getEndpointPlugin(config, Command.getEndpointParameterInstructions())];
})
    .s("AWSOrganizationsV20161128", "InviteAccountToOrganization", {})
    .n("OrganizationsClient", "InviteAccountToOrganizationCommand")
    .sc(InviteAccountToOrganization$)
    .build() {
}

class InviteOrganizationToTransferResponsibilityCommand extends Command
    .classBuilder()
    .ep(commonParams)
    .m(function (Command, cs, config, o) {
    return [getEndpointPlugin(config, Command.getEndpointParameterInstructions())];
})
    .s("AWSOrganizationsV20161128", "InviteOrganizationToTransferResponsibility", {})
    .n("OrganizationsClient", "InviteOrganizationToTransferResponsibilityCommand")
    .sc(InviteOrganizationToTransferResponsibility$)
    .build() {
}

class LeaveOrganizationCommand extends Command
    .classBuilder()
    .ep(commonParams)
    .m(function (Command, cs, config, o) {
    return [getEndpointPlugin(config, Command.getEndpointParameterInstructions())];
})
    .s("AWSOrganizationsV20161128", "LeaveOrganization", {})
    .n("OrganizationsClient", "LeaveOrganizationCommand")
    .sc(LeaveOrganization$)
    .build() {
}

class ListAccountsCommand extends Command
    .classBuilder()
    .ep(commonParams)
    .m(function (Command, cs, config, o) {
    return [getEndpointPlugin(config, Command.getEndpointParameterInstructions())];
})
    .s("AWSOrganizationsV20161128", "ListAccounts", {})
    .n("OrganizationsClient", "ListAccountsCommand")
    .sc(ListAccounts$)
    .build() {
}

class ListAccountsForParentCommand extends Command
    .classBuilder()
    .ep(commonParams)
    .m(function (Command, cs, config, o) {
    return [getEndpointPlugin(config, Command.getEndpointParameterInstructions())];
})
    .s("AWSOrganizationsV20161128", "ListAccountsForParent", {})
    .n("OrganizationsClient", "ListAccountsForParentCommand")
    .sc(ListAccountsForParent$)
    .build() {
}

class ListAccountsWithInvalidEffectivePolicyCommand extends Command
    .classBuilder()
    .ep(commonParams)
    .m(function (Command, cs, config, o) {
    return [getEndpointPlugin(config, Command.getEndpointParameterInstructions())];
})
    .s("AWSOrganizationsV20161128", "ListAccountsWithInvalidEffectivePolicy", {})
    .n("OrganizationsClient", "ListAccountsWithInvalidEffectivePolicyCommand")
    .sc(ListAccountsWithInvalidEffectivePolicy$)
    .build() {
}

class ListAWSServiceAccessForOrganizationCommand extends Command
    .classBuilder()
    .ep(commonParams)
    .m(function (Command, cs, config, o) {
    return [getEndpointPlugin(config, Command.getEndpointParameterInstructions())];
})
    .s("AWSOrganizationsV20161128", "ListAWSServiceAccessForOrganization", {})
    .n("OrganizationsClient", "ListAWSServiceAccessForOrganizationCommand")
    .sc(ListAWSServiceAccessForOrganization$)
    .build() {
}

class ListChildrenCommand extends Command
    .classBuilder()
    .ep(commonParams)
    .m(function (Command, cs, config, o) {
    return [getEndpointPlugin(config, Command.getEndpointParameterInstructions())];
})
    .s("AWSOrganizationsV20161128", "ListChildren", {})
    .n("OrganizationsClient", "ListChildrenCommand")
    .sc(ListChildren$)
    .build() {
}

class ListCreateAccountStatusCommand extends Command
    .classBuilder()
    .ep(commonParams)
    .m(function (Command, cs, config, o) {
    return [getEndpointPlugin(config, Command.getEndpointParameterInstructions())];
})
    .s("AWSOrganizationsV20161128", "ListCreateAccountStatus", {})
    .n("OrganizationsClient", "ListCreateAccountStatusCommand")
    .sc(ListCreateAccountStatus$)
    .build() {
}

class ListDelegatedAdministratorsCommand extends Command
    .classBuilder()
    .ep(commonParams)
    .m(function (Command, cs, config, o) {
    return [getEndpointPlugin(config, Command.getEndpointParameterInstructions())];
})
    .s("AWSOrganizationsV20161128", "ListDelegatedAdministrators", {})
    .n("OrganizationsClient", "ListDelegatedAdministratorsCommand")
    .sc(ListDelegatedAdministrators$)
    .build() {
}

class ListDelegatedServicesForAccountCommand extends Command
    .classBuilder()
    .ep(commonParams)
    .m(function (Command, cs, config, o) {
    return [getEndpointPlugin(config, Command.getEndpointParameterInstructions())];
})
    .s("AWSOrganizationsV20161128", "ListDelegatedServicesForAccount", {})
    .n("OrganizationsClient", "ListDelegatedServicesForAccountCommand")
    .sc(ListDelegatedServicesForAccount$)
    .build() {
}

class ListEffectivePolicyValidationErrorsCommand extends Command
    .classBuilder()
    .ep(commonParams)
    .m(function (Command, cs, config, o) {
    return [getEndpointPlugin(config, Command.getEndpointParameterInstructions())];
})
    .s("AWSOrganizationsV20161128", "ListEffectivePolicyValidationErrors", {})
    .n("OrganizationsClient", "ListEffectivePolicyValidationErrorsCommand")
    .sc(ListEffectivePolicyValidationErrors$)
    .build() {
}

class ListHandshakesForAccountCommand extends Command
    .classBuilder()
    .ep(commonParams)
    .m(function (Command, cs, config, o) {
    return [getEndpointPlugin(config, Command.getEndpointParameterInstructions())];
})
    .s("AWSOrganizationsV20161128", "ListHandshakesForAccount", {})
    .n("OrganizationsClient", "ListHandshakesForAccountCommand")
    .sc(ListHandshakesForAccount$)
    .build() {
}

class ListHandshakesForOrganizationCommand extends Command
    .classBuilder()
    .ep(commonParams)
    .m(function (Command, cs, config, o) {
    return [getEndpointPlugin(config, Command.getEndpointParameterInstructions())];
})
    .s("AWSOrganizationsV20161128", "ListHandshakesForOrganization", {})
    .n("OrganizationsClient", "ListHandshakesForOrganizationCommand")
    .sc(ListHandshakesForOrganization$)
    .build() {
}

class ListInboundResponsibilityTransfersCommand extends Command
    .classBuilder()
    .ep(commonParams)
    .m(function (Command, cs, config, o) {
    return [getEndpointPlugin(config, Command.getEndpointParameterInstructions())];
})
    .s("AWSOrganizationsV20161128", "ListInboundResponsibilityTransfers", {})
    .n("OrganizationsClient", "ListInboundResponsibilityTransfersCommand")
    .sc(ListInboundResponsibilityTransfers$)
    .build() {
}

class ListOrganizationalUnitsForParentCommand extends Command
    .classBuilder()
    .ep(commonParams)
    .m(function (Command, cs, config, o) {
    return [getEndpointPlugin(config, Command.getEndpointParameterInstructions())];
})
    .s("AWSOrganizationsV20161128", "ListOrganizationalUnitsForParent", {})
    .n("OrganizationsClient", "ListOrganizationalUnitsForParentCommand")
    .sc(ListOrganizationalUnitsForParent$)
    .build() {
}

class ListOutboundResponsibilityTransfersCommand extends Command
    .classBuilder()
    .ep(commonParams)
    .m(function (Command, cs, config, o) {
    return [getEndpointPlugin(config, Command.getEndpointParameterInstructions())];
})
    .s("AWSOrganizationsV20161128", "ListOutboundResponsibilityTransfers", {})
    .n("OrganizationsClient", "ListOutboundResponsibilityTransfersCommand")
    .sc(ListOutboundResponsibilityTransfers$)
    .build() {
}

class ListParentsCommand extends Command
    .classBuilder()
    .ep(commonParams)
    .m(function (Command, cs, config, o) {
    return [getEndpointPlugin(config, Command.getEndpointParameterInstructions())];
})
    .s("AWSOrganizationsV20161128", "ListParents", {})
    .n("OrganizationsClient", "ListParentsCommand")
    .sc(ListParents$)
    .build() {
}

class ListPoliciesCommand extends Command
    .classBuilder()
    .ep(commonParams)
    .m(function (Command, cs, config, o) {
    return [getEndpointPlugin(config, Command.getEndpointParameterInstructions())];
})
    .s("AWSOrganizationsV20161128", "ListPolicies", {})
    .n("OrganizationsClient", "ListPoliciesCommand")
    .sc(ListPolicies$)
    .build() {
}

class ListPoliciesForTargetCommand extends Command
    .classBuilder()
    .ep(commonParams)
    .m(function (Command, cs, config, o) {
    return [getEndpointPlugin(config, Command.getEndpointParameterInstructions())];
})
    .s("AWSOrganizationsV20161128", "ListPoliciesForTarget", {})
    .n("OrganizationsClient", "ListPoliciesForTargetCommand")
    .sc(ListPoliciesForTarget$)
    .build() {
}

class ListRootsCommand extends Command
    .classBuilder()
    .ep(commonParams)
    .m(function (Command, cs, config, o) {
    return [getEndpointPlugin(config, Command.getEndpointParameterInstructions())];
})
    .s("AWSOrganizationsV20161128", "ListRoots", {})
    .n("OrganizationsClient", "ListRootsCommand")
    .sc(ListRoots$)
    .build() {
}

class ListTagsForResourceCommand extends Command
    .classBuilder()
    .ep(commonParams)
    .m(function (Command, cs, config, o) {
    return [getEndpointPlugin(config, Command.getEndpointParameterInstructions())];
})
    .s("AWSOrganizationsV20161128", "ListTagsForResource", {})
    .n("OrganizationsClient", "ListTagsForResourceCommand")
    .sc(ListTagsForResource$)
    .build() {
}

class ListTargetsForPolicyCommand extends Command
    .classBuilder()
    .ep(commonParams)
    .m(function (Command, cs, config, o) {
    return [getEndpointPlugin(config, Command.getEndpointParameterInstructions())];
})
    .s("AWSOrganizationsV20161128", "ListTargetsForPolicy", {})
    .n("OrganizationsClient", "ListTargetsForPolicyCommand")
    .sc(ListTargetsForPolicy$)
    .build() {
}

class MoveAccountCommand extends Command
    .classBuilder()
    .ep(commonParams)
    .m(function (Command, cs, config, o) {
    return [getEndpointPlugin(config, Command.getEndpointParameterInstructions())];
})
    .s("AWSOrganizationsV20161128", "MoveAccount", {})
    .n("OrganizationsClient", "MoveAccountCommand")
    .sc(MoveAccount$)
    .build() {
}

class PutResourcePolicyCommand extends Command
    .classBuilder()
    .ep(commonParams)
    .m(function (Command, cs, config, o) {
    return [getEndpointPlugin(config, Command.getEndpointParameterInstructions())];
})
    .s("AWSOrganizationsV20161128", "PutResourcePolicy", {})
    .n("OrganizationsClient", "PutResourcePolicyCommand")
    .sc(PutResourcePolicy$)
    .build() {
}

class RegisterDelegatedAdministratorCommand extends Command
    .classBuilder()
    .ep(commonParams)
    .m(function (Command, cs, config, o) {
    return [getEndpointPlugin(config, Command.getEndpointParameterInstructions())];
})
    .s("AWSOrganizationsV20161128", "RegisterDelegatedAdministrator", {})
    .n("OrganizationsClient", "RegisterDelegatedAdministratorCommand")
    .sc(RegisterDelegatedAdministrator$)
    .build() {
}

class RemoveAccountFromOrganizationCommand extends Command
    .classBuilder()
    .ep(commonParams)
    .m(function (Command, cs, config, o) {
    return [getEndpointPlugin(config, Command.getEndpointParameterInstructions())];
})
    .s("AWSOrganizationsV20161128", "RemoveAccountFromOrganization", {})
    .n("OrganizationsClient", "RemoveAccountFromOrganizationCommand")
    .sc(RemoveAccountFromOrganization$)
    .build() {
}

class TagResourceCommand extends Command
    .classBuilder()
    .ep(commonParams)
    .m(function (Command, cs, config, o) {
    return [getEndpointPlugin(config, Command.getEndpointParameterInstructions())];
})
    .s("AWSOrganizationsV20161128", "TagResource", {})
    .n("OrganizationsClient", "TagResourceCommand")
    .sc(TagResource$)
    .build() {
}

class TerminateResponsibilityTransferCommand extends Command
    .classBuilder()
    .ep(commonParams)
    .m(function (Command, cs, config, o) {
    return [getEndpointPlugin(config, Command.getEndpointParameterInstructions())];
})
    .s("AWSOrganizationsV20161128", "TerminateResponsibilityTransfer", {})
    .n("OrganizationsClient", "TerminateResponsibilityTransferCommand")
    .sc(TerminateResponsibilityTransfer$)
    .build() {
}

class UntagResourceCommand extends Command
    .classBuilder()
    .ep(commonParams)
    .m(function (Command, cs, config, o) {
    return [getEndpointPlugin(config, Command.getEndpointParameterInstructions())];
})
    .s("AWSOrganizationsV20161128", "UntagResource", {})
    .n("OrganizationsClient", "UntagResourceCommand")
    .sc(UntagResource$)
    .build() {
}

class UpdateOrganizationalUnitCommand extends Command
    .classBuilder()
    .ep(commonParams)
    .m(function (Command, cs, config, o) {
    return [getEndpointPlugin(config, Command.getEndpointParameterInstructions())];
})
    .s("AWSOrganizationsV20161128", "UpdateOrganizationalUnit", {})
    .n("OrganizationsClient", "UpdateOrganizationalUnitCommand")
    .sc(UpdateOrganizationalUnit$)
    .build() {
}

class UpdatePolicyCommand extends Command
    .classBuilder()
    .ep(commonParams)
    .m(function (Command, cs, config, o) {
    return [getEndpointPlugin(config, Command.getEndpointParameterInstructions())];
})
    .s("AWSOrganizationsV20161128", "UpdatePolicy", {})
    .n("OrganizationsClient", "UpdatePolicyCommand")
    .sc(UpdatePolicy$)
    .build() {
}

class UpdateResponsibilityTransferCommand extends Command
    .classBuilder()
    .ep(commonParams)
    .m(function (Command, cs, config, o) {
    return [getEndpointPlugin(config, Command.getEndpointParameterInstructions())];
})
    .s("AWSOrganizationsV20161128", "UpdateResponsibilityTransfer", {})
    .n("OrganizationsClient", "UpdateResponsibilityTransferCommand")
    .sc(UpdateResponsibilityTransfer$)
    .build() {
}

const paginateListAccountsForParent = createPaginator(OrganizationsClient, ListAccountsForParentCommand, "NextToken", "NextToken", "MaxResults");

const paginateListAccounts = createPaginator(OrganizationsClient, ListAccountsCommand, "NextToken", "NextToken", "MaxResults");

const paginateListAccountsWithInvalidEffectivePolicy = createPaginator(OrganizationsClient, ListAccountsWithInvalidEffectivePolicyCommand, "NextToken", "NextToken", "MaxResults");

const paginateListAWSServiceAccessForOrganization = createPaginator(OrganizationsClient, ListAWSServiceAccessForOrganizationCommand, "NextToken", "NextToken", "MaxResults");

const paginateListChildren = createPaginator(OrganizationsClient, ListChildrenCommand, "NextToken", "NextToken", "MaxResults");

const paginateListCreateAccountStatus = createPaginator(OrganizationsClient, ListCreateAccountStatusCommand, "NextToken", "NextToken", "MaxResults");

const paginateListDelegatedAdministrators = createPaginator(OrganizationsClient, ListDelegatedAdministratorsCommand, "NextToken", "NextToken", "MaxResults");

const paginateListDelegatedServicesForAccount = createPaginator(OrganizationsClient, ListDelegatedServicesForAccountCommand, "NextToken", "NextToken", "MaxResults");

const paginateListEffectivePolicyValidationErrors = createPaginator(OrganizationsClient, ListEffectivePolicyValidationErrorsCommand, "NextToken", "NextToken", "MaxResults");

const paginateListHandshakesForAccount = createPaginator(OrganizationsClient, ListHandshakesForAccountCommand, "NextToken", "NextToken", "MaxResults");

const paginateListHandshakesForOrganization = createPaginator(OrganizationsClient, ListHandshakesForOrganizationCommand, "NextToken", "NextToken", "MaxResults");

const paginateListOrganizationalUnitsForParent = createPaginator(OrganizationsClient, ListOrganizationalUnitsForParentCommand, "NextToken", "NextToken", "MaxResults");

const paginateListParents = createPaginator(OrganizationsClient, ListParentsCommand, "NextToken", "NextToken", "MaxResults");

const paginateListPoliciesForTarget = createPaginator(OrganizationsClient, ListPoliciesForTargetCommand, "NextToken", "NextToken", "MaxResults");

const paginateListPolicies = createPaginator(OrganizationsClient, ListPoliciesCommand, "NextToken", "NextToken", "MaxResults");

const paginateListRoots = createPaginator(OrganizationsClient, ListRootsCommand, "NextToken", "NextToken", "MaxResults");

const paginateListTagsForResource = createPaginator(OrganizationsClient, ListTagsForResourceCommand, "NextToken", "NextToken", "");

const paginateListTargetsForPolicy = createPaginator(OrganizationsClient, ListTargetsForPolicyCommand, "NextToken", "NextToken", "MaxResults");

const commands = {
    AcceptHandshakeCommand,
    AttachPolicyCommand,
    CancelHandshakeCommand,
    CloseAccountCommand,
    CreateAccountCommand,
    CreateGovCloudAccountCommand,
    CreateOrganizationCommand,
    CreateOrganizationalUnitCommand,
    CreatePolicyCommand,
    DeclineHandshakeCommand,
    DeleteOrganizationCommand,
    DeleteOrganizationalUnitCommand,
    DeletePolicyCommand,
    DeleteResourcePolicyCommand,
    DeregisterDelegatedAdministratorCommand,
    DescribeAccountCommand,
    DescribeCreateAccountStatusCommand,
    DescribeEffectivePolicyCommand,
    DescribeHandshakeCommand,
    DescribeOrganizationCommand,
    DescribeOrganizationalUnitCommand,
    DescribePolicyCommand,
    DescribeResourcePolicyCommand,
    DescribeResponsibilityTransferCommand,
    DetachPolicyCommand,
    DisableAWSServiceAccessCommand,
    DisablePolicyTypeCommand,
    EnableAllFeaturesCommand,
    EnableAWSServiceAccessCommand,
    EnablePolicyTypeCommand,
    InviteAccountToOrganizationCommand,
    InviteOrganizationToTransferResponsibilityCommand,
    LeaveOrganizationCommand,
    ListAccountsCommand,
    ListAccountsForParentCommand,
    ListAccountsWithInvalidEffectivePolicyCommand,
    ListAWSServiceAccessForOrganizationCommand,
    ListChildrenCommand,
    ListCreateAccountStatusCommand,
    ListDelegatedAdministratorsCommand,
    ListDelegatedServicesForAccountCommand,
    ListEffectivePolicyValidationErrorsCommand,
    ListHandshakesForAccountCommand,
    ListHandshakesForOrganizationCommand,
    ListInboundResponsibilityTransfersCommand,
    ListOrganizationalUnitsForParentCommand,
    ListOutboundResponsibilityTransfersCommand,
    ListParentsCommand,
    ListPoliciesCommand,
    ListPoliciesForTargetCommand,
    ListRootsCommand,
    ListTagsForResourceCommand,
    ListTargetsForPolicyCommand,
    MoveAccountCommand,
    PutResourcePolicyCommand,
    RegisterDelegatedAdministratorCommand,
    RemoveAccountFromOrganizationCommand,
    TagResourceCommand,
    TerminateResponsibilityTransferCommand,
    UntagResourceCommand,
    UpdateOrganizationalUnitCommand,
    UpdatePolicyCommand,
    UpdateResponsibilityTransferCommand,
};
const paginators = {
    paginateListAccounts,
    paginateListAccountsForParent,
    paginateListAccountsWithInvalidEffectivePolicy,
    paginateListAWSServiceAccessForOrganization,
    paginateListChildren,
    paginateListCreateAccountStatus,
    paginateListDelegatedAdministrators,
    paginateListDelegatedServicesForAccount,
    paginateListEffectivePolicyValidationErrors,
    paginateListHandshakesForAccount,
    paginateListHandshakesForOrganization,
    paginateListOrganizationalUnitsForParent,
    paginateListParents,
    paginateListPolicies,
    paginateListPoliciesForTarget,
    paginateListRoots,
    paginateListTagsForResource,
    paginateListTargetsForPolicy,
};
class Organizations extends OrganizationsClient {
}
createAggregatedClient(commands, Organizations, { paginators });

const ActionType = {
    ADD_ORGANIZATIONS_SERVICE_LINKED_ROLE: "ADD_ORGANIZATIONS_SERVICE_LINKED_ROLE",
    APPROVE_ALL_FEATURES: "APPROVE_ALL_FEATURES",
    ENABLE_ALL_FEATURES: "ENABLE_ALL_FEATURES",
    INVITE_ACCOUNT_TO_ORGANIZATION: "INVITE",
    TRANSFER_RESPONSIBILITY: "TRANSFER_RESPONSIBILITY",
};
const HandshakePartyType = {
    ACCOUNT: "ACCOUNT",
    EMAIL: "EMAIL",
    ORGANIZATION: "ORGANIZATION",
};
const HandshakeResourceType = {
    ACCOUNT: "ACCOUNT",
    EMAIL: "EMAIL",
    MANAGEMENT_ACCOUNT: "MANAGEMENT_ACCOUNT",
    MANAGEMENT_EMAIL: "MANAGEMENT_EMAIL",
    MANAGEMENT_NAME: "MANAGEMENT_NAME",
    MASTER_EMAIL: "MASTER_EMAIL",
    MASTER_NAME: "MASTER_NAME",
    NOTES: "NOTES",
    ORGANIZATION: "ORGANIZATION",
    ORGANIZATION_FEATURE_SET: "ORGANIZATION_FEATURE_SET",
    PARENT_HANDSHAKE: "PARENT_HANDSHAKE",
    RESPONSIBILITY_TRANSFER: "RESPONSIBILITY_TRANSFER",
    TRANSFER_START_TIMESTAMP: "TRANSFER_START_TIMESTAMP",
    TRANSFER_TYPE: "TRANSFER_TYPE",
};
const HandshakeState = {
    ACCEPTED: "ACCEPTED",
    CANCELED: "CANCELED",
    DECLINED: "DECLINED",
    EXPIRED: "EXPIRED",
    OPEN: "OPEN",
    REQUESTED: "REQUESTED",
};
const AccessDeniedForDependencyExceptionReason = {
    ACCESS_DENIED_DURING_CREATE_SERVICE_LINKED_ROLE: "ACCESS_DENIED_DURING_CREATE_SERVICE_LINKED_ROLE",
};
const ConstraintViolationExceptionReason = {
    ACCOUNT_CANNOT_LEAVE_ORGANIZATION: "ACCOUNT_CANNOT_LEAVE_ORGANIZATION",
    ACCOUNT_CANNOT_LEAVE_WITHOUT_EULA: "ACCOUNT_CANNOT_LEAVE_WITHOUT_EULA",
    ACCOUNT_CANNOT_LEAVE_WITHOUT_PHONE_VERIFICATION: "ACCOUNT_CANNOT_LEAVE_WITHOUT_PHONE_VERIFICATION",
    ACCOUNT_CREATION_NOT_COMPLETE: "ACCOUNT_CREATION_NOT_COMPLETE",
    ACCOUNT_CREATION_RATE_LIMIT_EXCEEDED: "ACCOUNT_CREATION_RATE_LIMIT_EXCEEDED",
    ACCOUNT_NUMBER_LIMIT_EXCEEDED: "ACCOUNT_NUMBER_LIMIT_EXCEEDED",
    ACTIVE_RESPONSIBILITY_TRANSFER_PROCESS: "ACTIVE_RESPONSIBILITY_TRANSFER_PROCESS",
    ALL_FEATURES_MIGRATION_ORGANIZATION_SIZE_LIMIT_EXCEEDED: "ALL_FEATURES_MIGRATION_ORGANIZATION_SIZE_LIMIT_EXCEEDED",
    CANNOT_CLOSE_MANAGEMENT_ACCOUNT: "CANNOT_CLOSE_MANAGEMENT_ACCOUNT",
    CANNOT_REGISTER_MASTER_AS_DELEGATED_ADMINISTRATOR: "CANNOT_REGISTER_MASTER_AS_DELEGATED_ADMINISTRATOR",
    CANNOT_REGISTER_SUSPENDED_ACCOUNT_AS_DELEGATED_ADMINISTRATOR: "CANNOT_REGISTER_SUSPENDED_ACCOUNT_AS_DELEGATED_ADMINISTRATOR",
    CANNOT_REMOVE_DELEGATED_ADMINISTRATOR_FROM_ORG: "CANNOT_REMOVE_DELEGATED_ADMINISTRATOR_FROM_ORG",
    CLOSE_ACCOUNT_QUOTA_EXCEEDED: "CLOSE_ACCOUNT_QUOTA_EXCEEDED",
    CLOSE_ACCOUNT_REQUESTS_LIMIT_EXCEEDED: "CLOSE_ACCOUNT_REQUESTS_LIMIT_EXCEEDED",
    CREATE_ORGANIZATION_IN_BILLING_MODE_UNSUPPORTED_REGION: "CREATE_ORGANIZATION_IN_BILLING_MODE_UNSUPPORTED_REGION",
    DELEGATED_ADMINISTRATOR_EXISTS_FOR_THIS_SERVICE: "DELEGATED_ADMINISTRATOR_EXISTS_FOR_THIS_SERVICE",
    EMAIL_VERIFICATION_CODE_EXPIRED: "EMAIL_VERIFICATION_CODE_EXPIRED",
    HANDSHAKE_RATE_LIMIT_EXCEEDED: "HANDSHAKE_RATE_LIMIT_EXCEEDED",
    INVALID_PAYMENT_INSTRUMENT: "INVALID_PAYMENT_INSTRUMENT",
    MASTER_ACCOUNT_ADDRESS_DOES_NOT_MATCH_MARKETPLACE: "MASTER_ACCOUNT_ADDRESS_DOES_NOT_MATCH_MARKETPLACE",
    MASTER_ACCOUNT_MISSING_BUSINESS_LICENSE: "MASTER_ACCOUNT_MISSING_BUSINESS_LICENSE",
    MASTER_ACCOUNT_MISSING_CONTACT_INFO: "MASTER_ACCOUNT_MISSING_CONTACT_INFO",
    MASTER_ACCOUNT_NOT_GOVCLOUD_ENABLED: "MASTER_ACCOUNT_NOT_GOVCLOUD_ENABLED",
    MASTER_ACCOUNT_PAYMENT_INSTRUMENT_REQUIRED: "MASTER_ACCOUNT_PAYMENT_INSTRUMENT_REQUIRED",
    MAX_DELEGATED_ADMINISTRATORS_FOR_SERVICE_LIMIT_EXCEEDED: "MAX_DELEGATED_ADMINISTRATORS_FOR_SERVICE_LIMIT_EXCEEDED",
    MAX_POLICY_TYPE_ATTACHMENT_LIMIT_EXCEEDED: "MAX_POLICY_TYPE_ATTACHMENT_LIMIT_EXCEEDED",
    MAX_TAG_LIMIT_EXCEEDED: "MAX_TAG_LIMIT_EXCEEDED",
    MEMBER_ACCOUNT_PAYMENT_INSTRUMENT_REQUIRED: "MEMBER_ACCOUNT_PAYMENT_INSTRUMENT_REQUIRED",
    MIN_POLICY_TYPE_ATTACHMENT_LIMIT_EXCEEDED: "MIN_POLICY_TYPE_ATTACHMENT_LIMIT_EXCEEDED",
    ORGANIZATION_NOT_IN_ALL_FEATURES_MODE: "ORGANIZATION_NOT_IN_ALL_FEATURES_MODE",
    OU_DEPTH_LIMIT_EXCEEDED: "OU_DEPTH_LIMIT_EXCEEDED",
    OU_NUMBER_LIMIT_EXCEEDED: "OU_NUMBER_LIMIT_EXCEEDED",
    POLICY_CONTENT_LIMIT_EXCEEDED: "POLICY_CONTENT_LIMIT_EXCEEDED",
    POLICY_NUMBER_LIMIT_EXCEEDED: "POLICY_NUMBER_LIMIT_EXCEEDED",
    POLICY_TYPE_ENABLED_FOR_THIS_SERVICE: "POLICY_TYPE_ENABLED_FOR_THIS_SERVICE",
    RESPONSIBILITY_TRANSFER_MAX_INBOUND_QUOTA_VIOLATION: "RESPONSIBILITY_TRANSFER_MAX_INBOUND_QUOTA_VIOLATION",
    RESPONSIBILITY_TRANSFER_MAX_LEVEL_VIOLATION: "RESPONSIBILITY_TRANSFER_MAX_LEVEL_VIOLATION",
    RESPONSIBILITY_TRANSFER_MAX_OUTBOUND_QUOTA_VIOLATION: "RESPONSIBILITY_TRANSFER_MAX_OUTBOUND_QUOTA_VIOLATION",
    RESPONSIBILITY_TRANSFER_MAX_TRANSFERS_QUOTA_VIOLATION: "RESPONSIBILITY_TRANSFER_MAX_TRANSFERS_QUOTA_VIOLATION",
    SERVICE_ACCESS_NOT_ENABLED: "SERVICE_ACCESS_NOT_ENABLED",
    TAG_POLICY_VIOLATION: "TAG_POLICY_VIOLATION",
    TRANSFER_RESPONSIBILITY_SOURCE_DELETION_IN_PROGRESS: "TRANSFER_RESPONSIBILITY_SOURCE_DELETION_IN_PROGRESS",
    TRANSFER_RESPONSIBILITY_TARGET_DELETION_IN_PROGRESS: "TRANSFER_RESPONSIBILITY_TARGET_DELETION_IN_PROGRESS",
    UNSUPPORTED_PRICING: "UNSUPPORTED_PRICING",
    WAIT_PERIOD_ACTIVE: "WAIT_PERIOD_ACTIVE",
};
const HandshakeConstraintViolationExceptionReason = {
    ACCOUNT_NUMBER_LIMIT_EXCEEDED: "ACCOUNT_NUMBER_LIMIT_EXCEEDED",
    ALREADY_IN_AN_ORGANIZATION: "ALREADY_IN_AN_ORGANIZATION",
    HANDSHAKE_RATE_LIMIT_EXCEEDED: "HANDSHAKE_RATE_LIMIT_EXCEEDED",
    INVITE_DISABLED_DURING_ENABLE_ALL_FEATURES: "INVITE_DISABLED_DURING_ENABLE_ALL_FEATURES",
    LEGACY_PERMISSIONS_STILL_IN_USE: "LEGACY_PERMISSIONS_STILL_IN_USE",
    MANAGEMENT_ACCOUNT_EMAIL_NOT_VERIFIED: "MANAGEMENT_ACCOUNT_EMAIL_NOT_VERIFIED",
    ORGANIZATION_ALREADY_HAS_ALL_FEATURES: "ORGANIZATION_ALREADY_HAS_ALL_FEATURES",
    ORGANIZATION_FROM_DIFFERENT_SELLER_OF_RECORD: "ORGANIZATION_FROM_DIFFERENT_SELLER_OF_RECORD",
    ORGANIZATION_IS_ALREADY_PENDING_ALL_FEATURES_MIGRATION: "ORGANIZATION_IS_ALREADY_PENDING_ALL_FEATURES_MIGRATION",
    ORGANIZATION_MEMBERSHIP_CHANGE_RATE_LIMIT_EXCEEDED: "ORGANIZATION_MEMBERSHIP_CHANGE_RATE_LIMIT_EXCEEDED",
    PAYMENT_INSTRUMENT_REQUIRED: "PAYMENT_INSTRUMENT_REQUIRED",
    RESPONSIBILITY_TRANSFER_ALREADY_EXISTS: "RESPONSIBILITY_TRANSFER_ALREADY_EXISTS",
    SOURCE_AND_TARGET_CANNOT_MATCH: "SOURCE_AND_TARGET_CANNOT_MATCH",
    UNUSED_PREPAYMENT_BALANCE: "UNUSED_PREPAYMENT_BALANCE",
};
const InvalidInputExceptionReason = {
    CALLER_REQUIRED_FIELD_MISSING: "CALLER_REQUIRED_FIELD_MISSING",
    DUPLICATE_TAG_KEY: "DUPLICATE_TAG_KEY",
    END_DATE_NOT_END_OF_MONTH: "END_DATE_NOT_END_OF_MONTH",
    END_DATE_TOO_EARLY: "END_DATE_TOO_EARLY",
    IMMUTABLE_POLICY: "IMMUTABLE_POLICY",
    INPUT_REQUIRED: "INPUT_REQUIRED",
    INVALID_EMAIL_ADDRESS_TARGET: "INVALID_EMAIL_ADDRESS_TARGET",
    INVALID_END_DATE: "INVALID_END_DATE",
    INVALID_ENUM: "INVALID_ENUM",
    INVALID_ENUM_POLICY_TYPE: "INVALID_ENUM_POLICY_TYPE",
    INVALID_FULL_NAME_TARGET: "INVALID_FULL_NAME_TARGET",
    INVALID_LIST_MEMBER: "INVALID_LIST_MEMBER",
    INVALID_PAGINATION_TOKEN: "INVALID_NEXT_TOKEN",
    INVALID_PARTY_TYPE_TARGET: "INVALID_PARTY_TYPE_TARGET",
    INVALID_PATTERN: "INVALID_PATTERN",
    INVALID_PATTERN_TARGET_ID: "INVALID_PATTERN_TARGET_ID",
    INVALID_PRINCIPAL: "INVALID_PRINCIPAL",
    INVALID_RESOURCE_POLICY_JSON: "INVALID_RESOURCE_POLICY_JSON",
    INVALID_ROLE_NAME: "INVALID_ROLE_NAME",
    INVALID_START_DATE: "INVALID_START_DATE",
    INVALID_SYNTAX_ORGANIZATION: "INVALID_SYNTAX_ORGANIZATION_ARN",
    INVALID_SYNTAX_POLICY: "INVALID_SYNTAX_POLICY_ID",
    INVALID_SYSTEM_TAGS_PARAMETER: "INVALID_SYSTEM_TAGS_PARAMETER",
    MAX_FILTER_LIMIT_EXCEEDED: "MAX_LIMIT_EXCEEDED_FILTER",
    MAX_LENGTH_EXCEEDED: "MAX_LENGTH_EXCEEDED",
    MAX_VALUE_EXCEEDED: "MAX_VALUE_EXCEEDED",
    MIN_LENGTH_EXCEEDED: "MIN_LENGTH_EXCEEDED",
    MIN_VALUE_EXCEEDED: "MIN_VALUE_EXCEEDED",
    MOVING_ACCOUNT_BETWEEN_DIFFERENT_ROOTS: "MOVING_ACCOUNT_BETWEEN_DIFFERENT_ROOTS",
    NON_DETACHABLE_POLICY: "NON_DETACHABLE_POLICY",
    START_DATE_NOT_BEGINNING_OF_DAY: "START_DATE_NOT_BEGINNING_OF_DAY",
    START_DATE_NOT_BEGINNING_OF_MONTH: "START_DATE_NOT_BEGINNING_OF_MONTH",
    START_DATE_TOO_EARLY: "START_DATE_TOO_EARLY",
    START_DATE_TOO_LATE: "START_DATE_TOO_LATE",
    TARGET_NOT_SUPPORTED: "TARGET_NOT_SUPPORTED",
    UNRECOGNIZED_SERVICE_PRINCIPAL: "UNRECOGNIZED_SERVICE_PRINCIPAL",
    UNSUPPORTED_ACTION_IN_RESOURCE_POLICY: "UNSUPPORTED_ACTION_IN_RESOURCE_POLICY",
    UNSUPPORTED_ACTION_IN_RESPONSIBILITY_TRANSFER: "UNSUPPORTED_ACTION_IN_RESPONSIBILITY_TRANSFER",
    UNSUPPORTED_POLICY_TYPE_IN_RESOURCE_POLICY: "UNSUPPORTED_POLICY_TYPE_IN_RESOURCE_POLICY",
    UNSUPPORTED_RESOURCE_IN_RESOURCE_POLICY: "UNSUPPORTED_RESOURCE_IN_RESOURCE_POLICY",
};
const AccountJoinedMethod = {
    CREATED: "CREATED",
    INVITED: "INVITED",
};
const AccountState = {
    ACTIVE: "ACTIVE",
    CLOSED: "CLOSED",
    PENDING_ACTIVATION: "PENDING_ACTIVATION",
    PENDING_CLOSURE: "PENDING_CLOSURE",
    SUSPENDED: "SUSPENDED",
};
const AccountStatus = {
    ACTIVE: "ACTIVE",
    PENDING_CLOSURE: "PENDING_CLOSURE",
    SUSPENDED: "SUSPENDED",
};
const IAMUserAccessToBilling = {
    ALLOW: "ALLOW",
    DENY: "DENY",
};
const CreateAccountFailureReason = {
    ACCOUNT_LIMIT_EXCEEDED: "ACCOUNT_LIMIT_EXCEEDED",
    CONCURRENT_ACCOUNT_MODIFICATION: "CONCURRENT_ACCOUNT_MODIFICATION",
    EMAIL_ALREADY_EXISTS: "EMAIL_ALREADY_EXISTS",
    FAILED_BUSINESS_VALIDATION: "FAILED_BUSINESS_VALIDATION",
    GOVCLOUD_ACCOUNT_ALREADY_EXISTS: "GOVCLOUD_ACCOUNT_ALREADY_EXISTS",
    INTERNAL_FAILURE: "INTERNAL_FAILURE",
    INVALID_ADDRESS: "INVALID_ADDRESS",
    INVALID_EMAIL: "INVALID_EMAIL",
    INVALID_IDENTITY_FOR_BUSINESS_VALIDATION: "INVALID_IDENTITY_FOR_BUSINESS_VALIDATION",
    INVALID_PAYMENT_INSTRUMENT: "INVALID_PAYMENT_INSTRUMENT",
    MISSING_BUSINESS_VALIDATION: "MISSING_BUSINESS_VALIDATION",
    MISSING_PAYMENT_INSTRUMENT: "MISSING_PAYMENT_INSTRUMENT",
    PENDING_BUSINESS_VALIDATIONv: "PENDING_BUSINESS_VALIDATION",
    UNKNOWN_BUSINESS_VALIDATION: "UNKNOWN_BUSINESS_VALIDATION",
    UPDATE_EXISTING_RESOURCE_POLICY_WITH_TAGS_NOT_SUPPORTED: "UPDATE_EXISTING_RESOURCE_POLICY_WITH_TAGS_NOT_SUPPORTED",
};
const CreateAccountState = {
    FAILED: "FAILED",
    IN_PROGRESS: "IN_PROGRESS",
    SUCCEEDED: "SUCCEEDED",
};
const OrganizationFeatureSet = {
    ALL: "ALL",
    CONSOLIDATED_BILLING: "CONSOLIDATED_BILLING",
};
const PolicyTypeStatus = {
    ENABLED: "ENABLED",
    PENDING_DISABLE: "PENDING_DISABLE",
    PENDING_ENABLE: "PENDING_ENABLE",
};
const PolicyType = {
    AISERVICES_OPT_OUT_POLICY: "AISERVICES_OPT_OUT_POLICY",
    BACKUP_POLICY: "BACKUP_POLICY",
    BEDROCK_POLICY: "BEDROCK_POLICY",
    CHATBOT_POLICY: "CHATBOT_POLICY",
    DECLARATIVE_POLICY_EC2: "DECLARATIVE_POLICY_EC2",
    INSPECTOR_POLICY: "INSPECTOR_POLICY",
    NETWORK_SECURITY_DIRECTOR_POLICY: "NETWORK_SECURITY_DIRECTOR_POLICY",
    RESOURCE_CONTROL_POLICY: "RESOURCE_CONTROL_POLICY",
    S3_POLICY: "S3_POLICY",
    SECURITYHUB_POLICY: "SECURITYHUB_POLICY",
    SERVICE_CONTROL_POLICY: "SERVICE_CONTROL_POLICY",
    TAG_POLICY: "TAG_POLICY",
    UPGRADE_ROLLOUT_POLICY: "UPGRADE_ROLLOUT_POLICY",
};
const EffectivePolicyType = {
    AISERVICES_OPT_OUT_POLICY: "AISERVICES_OPT_OUT_POLICY",
    BACKUP_POLICY: "BACKUP_POLICY",
    BEDROCK_POLICY: "BEDROCK_POLICY",
    CHATBOT_POLICY: "CHATBOT_POLICY",
    DECLARATIVE_POLICY_EC2: "DECLARATIVE_POLICY_EC2",
    INSPECTOR_POLICY: "INSPECTOR_POLICY",
    NETWORK_SECURITY_DIRECTOR_POLICY: "NETWORK_SECURITY_DIRECTOR_POLICY",
    S3_POLICY: "S3_POLICY",
    SECURITYHUB_POLICY: "SECURITYHUB_POLICY",
    TAG_POLICY: "TAG_POLICY",
    UPGRADE_ROLLOUT_POLICY: "UPGRADE_ROLLOUT_POLICY",
};
const ResponsibilityTransferStatus = {
    ACCEPTED: "ACCEPTED",
    CANCELED: "CANCELED",
    DECLINED: "DECLINED",
    EXPIRED: "EXPIRED",
    REQUESTED: "REQUESTED",
    WITHDRAWN: "WITHDRAWN",
};
const ResponsibilityTransferType = {
    BILLING: "BILLING",
};
const ChildType = {
    ACCOUNT: "ACCOUNT",
    ORGANIZATIONAL_UNIT: "ORGANIZATIONAL_UNIT",
};
const ParentType = {
    ORGANIZATIONAL_UNIT: "ORGANIZATIONAL_UNIT",
    ROOT: "ROOT",
};
const TargetType = {
    ACCOUNT: "ACCOUNT",
    ORGANIZATIONAL_UNIT: "ORGANIZATIONAL_UNIT",
    ROOT: "ROOT",
};

exports.AcceptHandshakeCommand = AcceptHandshakeCommand;
exports.AccessDeniedForDependencyExceptionReason = AccessDeniedForDependencyExceptionReason;
exports.AccountJoinedMethod = AccountJoinedMethod;
exports.AccountState = AccountState;
exports.AccountStatus = AccountStatus;
exports.ActionType = ActionType;
exports.AttachPolicyCommand = AttachPolicyCommand;
exports.CancelHandshakeCommand = CancelHandshakeCommand;
exports.ChildType = ChildType;
exports.CloseAccountCommand = CloseAccountCommand;
exports.ConstraintViolationExceptionReason = ConstraintViolationExceptionReason;
exports.CreateAccountCommand = CreateAccountCommand;
exports.CreateAccountFailureReason = CreateAccountFailureReason;
exports.CreateAccountState = CreateAccountState;
exports.CreateGovCloudAccountCommand = CreateGovCloudAccountCommand;
exports.CreateOrganizationCommand = CreateOrganizationCommand;
exports.CreateOrganizationalUnitCommand = CreateOrganizationalUnitCommand;
exports.CreatePolicyCommand = CreatePolicyCommand;
exports.DeclineHandshakeCommand = DeclineHandshakeCommand;
exports.DeleteOrganizationCommand = DeleteOrganizationCommand;
exports.DeleteOrganizationalUnitCommand = DeleteOrganizationalUnitCommand;
exports.DeletePolicyCommand = DeletePolicyCommand;
exports.DeleteResourcePolicyCommand = DeleteResourcePolicyCommand;
exports.DeregisterDelegatedAdministratorCommand = DeregisterDelegatedAdministratorCommand;
exports.DescribeAccountCommand = DescribeAccountCommand;
exports.DescribeCreateAccountStatusCommand = DescribeCreateAccountStatusCommand;
exports.DescribeEffectivePolicyCommand = DescribeEffectivePolicyCommand;
exports.DescribeHandshakeCommand = DescribeHandshakeCommand;
exports.DescribeOrganizationCommand = DescribeOrganizationCommand;
exports.DescribeOrganizationalUnitCommand = DescribeOrganizationalUnitCommand;
exports.DescribePolicyCommand = DescribePolicyCommand;
exports.DescribeResourcePolicyCommand = DescribeResourcePolicyCommand;
exports.DescribeResponsibilityTransferCommand = DescribeResponsibilityTransferCommand;
exports.DetachPolicyCommand = DetachPolicyCommand;
exports.DisableAWSServiceAccessCommand = DisableAWSServiceAccessCommand;
exports.DisablePolicyTypeCommand = DisablePolicyTypeCommand;
exports.EffectivePolicyType = EffectivePolicyType;
exports.EnableAWSServiceAccessCommand = EnableAWSServiceAccessCommand;
exports.EnableAllFeaturesCommand = EnableAllFeaturesCommand;
exports.EnablePolicyTypeCommand = EnablePolicyTypeCommand;
exports.HandshakeConstraintViolationExceptionReason = HandshakeConstraintViolationExceptionReason;
exports.HandshakePartyType = HandshakePartyType;
exports.HandshakeResourceType = HandshakeResourceType;
exports.HandshakeState = HandshakeState;
exports.IAMUserAccessToBilling = IAMUserAccessToBilling;
exports.InvalidInputExceptionReason = InvalidInputExceptionReason;
exports.InviteAccountToOrganizationCommand = InviteAccountToOrganizationCommand;
exports.InviteOrganizationToTransferResponsibilityCommand = InviteOrganizationToTransferResponsibilityCommand;
exports.LeaveOrganizationCommand = LeaveOrganizationCommand;
exports.ListAWSServiceAccessForOrganizationCommand = ListAWSServiceAccessForOrganizationCommand;
exports.ListAccountsCommand = ListAccountsCommand;
exports.ListAccountsForParentCommand = ListAccountsForParentCommand;
exports.ListAccountsWithInvalidEffectivePolicyCommand = ListAccountsWithInvalidEffectivePolicyCommand;
exports.ListChildrenCommand = ListChildrenCommand;
exports.ListCreateAccountStatusCommand = ListCreateAccountStatusCommand;
exports.ListDelegatedAdministratorsCommand = ListDelegatedAdministratorsCommand;
exports.ListDelegatedServicesForAccountCommand = ListDelegatedServicesForAccountCommand;
exports.ListEffectivePolicyValidationErrorsCommand = ListEffectivePolicyValidationErrorsCommand;
exports.ListHandshakesForAccountCommand = ListHandshakesForAccountCommand;
exports.ListHandshakesForOrganizationCommand = ListHandshakesForOrganizationCommand;
exports.ListInboundResponsibilityTransfersCommand = ListInboundResponsibilityTransfersCommand;
exports.ListOrganizationalUnitsForParentCommand = ListOrganizationalUnitsForParentCommand;
exports.ListOutboundResponsibilityTransfersCommand = ListOutboundResponsibilityTransfersCommand;
exports.ListParentsCommand = ListParentsCommand;
exports.ListPoliciesCommand = ListPoliciesCommand;
exports.ListPoliciesForTargetCommand = ListPoliciesForTargetCommand;
exports.ListRootsCommand = ListRootsCommand;
exports.ListTagsForResourceCommand = ListTagsForResourceCommand;
exports.ListTargetsForPolicyCommand = ListTargetsForPolicyCommand;
exports.MoveAccountCommand = MoveAccountCommand;
exports.OrganizationFeatureSet = OrganizationFeatureSet;
exports.Organizations = Organizations;
exports.OrganizationsClient = OrganizationsClient;
exports.ParentType = ParentType;
exports.PolicyType = PolicyType;
exports.PolicyTypeStatus = PolicyTypeStatus;
exports.PutResourcePolicyCommand = PutResourcePolicyCommand;
exports.RegisterDelegatedAdministratorCommand = RegisterDelegatedAdministratorCommand;
exports.RemoveAccountFromOrganizationCommand = RemoveAccountFromOrganizationCommand;
exports.ResponsibilityTransferStatus = ResponsibilityTransferStatus;
exports.ResponsibilityTransferType = ResponsibilityTransferType;
exports.TagResourceCommand = TagResourceCommand;
exports.TargetType = TargetType;
exports.TerminateResponsibilityTransferCommand = TerminateResponsibilityTransferCommand;
exports.UntagResourceCommand = UntagResourceCommand;
exports.UpdateOrganizationalUnitCommand = UpdateOrganizationalUnitCommand;
exports.UpdatePolicyCommand = UpdatePolicyCommand;
exports.UpdateResponsibilityTransferCommand = UpdateResponsibilityTransferCommand;
exports.paginateListAWSServiceAccessForOrganization = paginateListAWSServiceAccessForOrganization;
exports.paginateListAccounts = paginateListAccounts;
exports.paginateListAccountsForParent = paginateListAccountsForParent;
exports.paginateListAccountsWithInvalidEffectivePolicy = paginateListAccountsWithInvalidEffectivePolicy;
exports.paginateListChildren = paginateListChildren;
exports.paginateListCreateAccountStatus = paginateListCreateAccountStatus;
exports.paginateListDelegatedAdministrators = paginateListDelegatedAdministrators;
exports.paginateListDelegatedServicesForAccount = paginateListDelegatedServicesForAccount;
exports.paginateListEffectivePolicyValidationErrors = paginateListEffectivePolicyValidationErrors;
exports.paginateListHandshakesForAccount = paginateListHandshakesForAccount;
exports.paginateListHandshakesForOrganization = paginateListHandshakesForOrganization;
exports.paginateListOrganizationalUnitsForParent = paginateListOrganizationalUnitsForParent;
exports.paginateListParents = paginateListParents;
exports.paginateListPolicies = paginateListPolicies;
exports.paginateListPoliciesForTarget = paginateListPoliciesForTarget;
exports.paginateListRoots = paginateListRoots;
exports.paginateListTagsForResource = paginateListTagsForResource;
exports.paginateListTargetsForPolicy = paginateListTargetsForPolicy;
