Module Smaws_Client_Organizations.Types

type nonrec responsibility_transfer_arn = string
type nonrec responsibility_transfer_name = string
type nonrec responsibility_transfer_id = string
type nonrec responsibility_transfer_type =
  1. | BILLING
type nonrec responsibility_transfer_status =
  1. | WITHDRAWN
  2. | ACCEPTED
  3. | EXPIRED
  4. | CANCELED
  5. | DECLINED
  6. | REQUESTED
type nonrec account_id = string
type nonrec email = string
type nonrec transfer_participant = {
  1. management_account_email : email option;
    (*

    Email address for the management account.

    *)
  2. management_account_id : account_id option;
    (*

    ID for the management account.

    *)
}

Contains details for a participant in a transfer. A transfer is the arrangement between two management accounts where one account designates the other with specified responsibilities for their organization.

type nonrec timestamp = Smaws_Lib.CoreTypes.Timestamp.t
type nonrec handshake_id = string
type nonrec responsibility_transfer = {
  1. active_handshake_id : handshake_id option;
    (*

    ID for the handshake of the transfer.

    *)
  2. end_timestamp : timestamp option;
    (*

    Timestamp when the transfer ends.

    *)
  3. start_timestamp : timestamp option;
    (*

    Timestamp when the transfer starts.

    *)
  4. target : transfer_participant option;
    (*

    Account that manages the specified responsibilities for another organization.

    *)
  5. source : transfer_participant option;
    (*

    Account that allows another account external to its organization to manage the specified responsibilities for the organization.

    *)
  6. status : responsibility_transfer_status option;
    (*

    Status for the transfer.

    *)
  7. type_ : responsibility_transfer_type option;
    (*

    The type of transfer. Currently, only BILLING is supported.

    *)
  8. id : responsibility_transfer_id option;
    (*

    ID for the transfer.

    *)
  9. name : responsibility_transfer_name option;
    (*

    Name assigned to the transfer.

    *)
  10. arn : responsibility_transfer_arn option;
    (*

    Amazon Resource Name (ARN) for the transfer.

    *)
}

Contains details for a transfer. A transfer is the arrangement between two management accounts where one account designates the other with specified responsibilities for their organization.

type nonrec update_responsibility_transfer_response = {
  1. responsibility_transfer : responsibility_transfer option;
}
type nonrec update_responsibility_transfer_request = {
  1. name : responsibility_transfer_name;
    (*

    New name you want to assign to the transfer.

    *)
  2. id : responsibility_transfer_id;
    (*

    ID for the transfer.

    *)
}
type nonrec exception_message = string
type nonrec unsupported_api_endpoint_exception = {
  1. message : exception_message option;
}

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

type nonrec exception_type = string
type nonrec too_many_requests_exception = {
  1. message : exception_message option;
  2. type_ : exception_type option;
}

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.

type nonrec service_exception = {
  1. message : exception_message option;
}

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

type nonrec responsibility_transfer_not_found_exception = {
  1. message : exception_message option;
}

We can't find a transfer that you specified.

type nonrec invalid_input_exception_reason =
  1. | INVALID_END_DATE
  2. | END_DATE_TOO_EARLY
  3. | END_DATE_NOT_END_OF_MONTH
  4. | INVALID_START_DATE
  5. | START_DATE_TOO_LATE
  6. | START_DATE_TOO_EARLY
  7. | START_DATE_NOT_BEGINNING_OF_DAY
  8. | START_DATE_NOT_BEGINNING_OF_MONTH
  9. | UNSUPPORTED_ACTION_IN_RESPONSIBILITY_TRANSFER
  10. | CALLER_REQUIRED_FIELD_MISSING
  11. | NON_DETACHABLE_POLICY
  12. | UNSUPPORTED_RESOURCE_IN_RESOURCE_POLICY
  13. | UNSUPPORTED_POLICY_TYPE_IN_RESOURCE_POLICY
  14. | UNSUPPORTED_ACTION_IN_RESOURCE_POLICY
  15. | INVALID_PRINCIPAL
  16. | INVALID_RESOURCE_POLICY_JSON
  17. | INVALID_EMAIL_ADDRESS_TARGET
  18. | TARGET_NOT_SUPPORTED
  19. | DUPLICATE_TAG_KEY
  20. | INVALID_SYSTEM_TAGS_PARAMETER
  21. | INVALID_ROLE_NAME
  22. | UNRECOGNIZED_SERVICE_PRINCIPAL
  23. | INVALID_FULL_NAME_TARGET
  24. | MOVING_ACCOUNT_BETWEEN_DIFFERENT_ROOTS
  25. | MAX_FILTER_LIMIT_EXCEEDED
  26. | INVALID_PAGINATION_TOKEN
  27. | INPUT_REQUIRED
  28. | INVALID_PATTERN_TARGET_ID
  29. | INVALID_PATTERN
  30. | IMMUTABLE_POLICY
  31. | MIN_VALUE_EXCEEDED
  32. | MIN_LENGTH_EXCEEDED
  33. | MAX_VALUE_EXCEEDED
  34. | MAX_LENGTH_EXCEEDED
  35. | INVALID_LIST_MEMBER
  36. | INVALID_ENUM_POLICY_TYPE
  37. | INVALID_ENUM
  38. | INVALID_SYNTAX_POLICY
  39. | INVALID_SYNTAX_ORGANIZATION
  40. | INVALID_PARTY_TYPE_TARGET
type nonrec invalid_input_exception = {
  1. reason : invalid_input_exception_reason option;
  2. message : exception_message option;
}

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.

  • CALLER_REQUIRED_FIELD_MISSING: At least one of the required field is missing: Caller Account Id, Management Account Id or Organization Id.
  • DUPLICATE_TAG_KEY: Tag keys must be unique among the tags attached to the same entity.
  • END_DATE_NOT_END_OF_MONTH: You provided an invalid end date. The end date must be the end of the last day of the month (23.59.59.999).
  • END_DATE_TOO_EARLY: You provided an invalid end date. The end date is too early.
  • END_DATE_TOO_LATE: You provided an invalid end date. The end date is too late.
  • 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_END_DATE: The selected withdrawal date doesn't meet the terms of your partner agreement. Visit Amazon Web Services Partner Central to view your partner agreements or contact your Amazon Web Services Partner for help.
  • 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_START_DATE: The start date doesn't meet the minimum requirements.
  • 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.
  • START_DATE_NOT_BEGINNING_OF_DAY: You provided an invalid start date. The start date must be the beginning of the day (00:00:00.000).
  • START_DATE_NOT_BEGINNING_OF_MONTH: You provided an invalid start date. The start date must be the first day of the month.
  • START_DATE_TOO_EARLY: You provided an invalid start date. The start date is too early.
  • START_DATE_TOO_LATE: You provided an invalid start date. The start date is too late.
  • 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.
  • UNSUPPORTED_ACTION_IN_RESPONSIBILITY_TRANSFER: You provided a value that is not supported by this operation.
type nonrec constraint_violation_exception_reason =
  1. | UNSUPPORTED_PRICING
  2. | TRANSFER_RESPONSIBILITY_SOURCE_DELETION_IN_PROGRESS
  3. | TRANSFER_RESPONSIBILITY_TARGET_DELETION_IN_PROGRESS
  4. | ACTIVE_RESPONSIBILITY_TRANSFER_PROCESS
  5. | RESPONSIBILITY_TRANSFER_MAX_TRANSFERS_QUOTA_VIOLATION
  6. | RESPONSIBILITY_TRANSFER_MAX_OUTBOUND_QUOTA_VIOLATION
  7. | RESPONSIBILITY_TRANSFER_MAX_INBOUND_QUOTA_VIOLATION
  8. | RESPONSIBILITY_TRANSFER_MAX_LEVEL_VIOLATION
  9. | ALL_FEATURES_MIGRATION_ORGANIZATION_SIZE_LIMIT_EXCEEDED
  10. | CANNOT_REGISTER_SUSPENDED_ACCOUNT_AS_DELEGATED_ADMINISTRATOR
  11. | ACCOUNT_CREATION_NOT_COMPLETE
  12. | INVALID_PAYMENT_INSTRUMENT
  13. | SERVICE_ACCESS_NOT_ENABLED
  14. | CLOSE_ACCOUNT_REQUESTS_LIMIT_EXCEEDED
  15. | CLOSE_ACCOUNT_QUOTA_EXCEEDED
  16. | CANNOT_CLOSE_MANAGEMENT_ACCOUNT
  17. | MASTER_ACCOUNT_MISSING_BUSINESS_LICENSE
  18. | POLICY_TYPE_ENABLED_FOR_THIS_SERVICE
  19. | DELEGATED_ADMINISTRATOR_EXISTS_FOR_THIS_SERVICE
  20. | CANNOT_REMOVE_DELEGATED_ADMINISTRATOR_FROM_ORG
  21. | CANNOT_REGISTER_MASTER_AS_DELEGATED_ADMINISTRATOR
  22. | MAX_DELEGATED_ADMINISTRATORS_FOR_SERVICE_LIMIT_EXCEEDED
  23. | TAG_POLICY_VIOLATION
  24. | MAX_TAG_LIMIT_EXCEEDED
  25. | WAIT_PERIOD_ACTIVE
  26. | EMAIL_VERIFICATION_CODE_EXPIRED
  27. | CREATE_ORGANIZATION_IN_BILLING_MODE_UNSUPPORTED_REGION
  28. | ORGANIZATION_NOT_IN_ALL_FEATURES_MODE
  29. | MASTER_ACCOUNT_NOT_GOVCLOUD_ENABLED
  30. | MASTER_ACCOUNT_MISSING_CONTACT_INFO
  31. | MASTER_ACCOUNT_ADDRESS_DOES_NOT_MATCH_MARKETPLACE
  32. | ACCOUNT_CREATION_RATE_LIMIT_EXCEEDED
  33. | MEMBER_ACCOUNT_PAYMENT_INSTRUMENT_REQUIRED
  34. | MASTER_ACCOUNT_PAYMENT_INSTRUMENT_REQUIRED
  35. | ACCOUNT_CANNOT_LEAVE_WITHOUT_PHONE_VERIFICATION
  36. | ACCOUNT_CANNOT_LEAVE_WITHOUT_EULA
  37. | ACCOUNT_CANNOT_LEAVE_ORGANIZATION
  38. | MIN_POLICY_TYPE_ATTACHMENT_LIMIT_EXCEEDED
  39. | MAX_POLICY_TYPE_ATTACHMENT_LIMIT_EXCEEDED
  40. | POLICY_CONTENT_LIMIT_EXCEEDED
  41. | POLICY_NUMBER_LIMIT_EXCEEDED
  42. | OU_DEPTH_LIMIT_EXCEEDED
  43. | OU_NUMBER_LIMIT_EXCEEDED
  44. | HANDSHAKE_RATE_LIMIT_EXCEEDED
  45. | ACCOUNT_NUMBER_LIMIT_EXCEEDED
type nonrec constraint_violation_exception = {
  1. reason : constraint_violation_exception_reason option;
  2. message : exception_message option;
}

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.
  • ACTIVE_RESPONSIBILITY_TRANSFER_PROCESS: You cannot delete organization due to an ongoing responsibility transfer process. For example, a pending invitation or an in-progress transfer. To delete the organization, you must resolve the current transfer process.
  • 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.

  • ALL_FEATURES_MIGRATION_ORGANIZATION_SIZE_LIMIT_EXCEEDED: Your organization has more than 5000 accounts, and you can only use the standard migration process for organizations with less than 5000 accounts. Use the assisted migration process to enable all features mode, or create a support case for assistance if you are unable to use assisted migration.
  • 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 verification 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.
  • POLICY_TYPE_ENABLED_FOR_THIS_SERVICE: You attempted to disable service access before you disabled the policy type (for example, SECURITYHUB_POLICY). To complete this operation, you must first disable the policy type.
  • RESPONSIBILITY_TRANSFER_MAX_INBOUND_QUOTA_VIOLATION: You have exceeded your inbound transfers limit.
  • RESPONSIBILITY_TRANSFER_MAX_LEVEL_VIOLATION: You have exceeded the maximum length of your transfer chain.
  • RESPONSIBILITY_TRANSFER_MAX_OUTBOUND_QUOTA_VIOLATION: You have exceeded your outbound transfers limit.
  • RESPONSIBILITY_TRANSFER_MAX_TRANSFERS_QUOTA_VIOLATION: You have exceeded the maximum number of inbound transfers allowed in a transfer chain.
  • SERVICE_ACCESS_NOT_ENABLED:

    • You attempted to register a delegated administrator before you enabled service access. Call the EnableAWSServiceAccess API first.
    • You attempted to enable a policy type 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.
  • TRANSFER_RESPONSIBILITY_SOURCE_DELETION_IN_PROGRESS: The source organization cannot accept this transfer invitation because it is marked for deletion.
  • TRANSFER_RESPONSIBILITY_TARGET_DELETION_IN_PROGRESS: The source organization cannot accept this transfer invitation because target organization is marked for deletion.
  • UNSUPPORTED_PRICING: Your organization has a pricing contract that is unsupported.
  • WAIT_PERIOD_ACTIVE: After you create an Amazon Web Services account, you must wait until at least four days after the account was created. Invited accounts aren't subject to this waiting period.
type nonrec aws_organizations_not_in_use_exception = {
  1. message : exception_message option;
}

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.

type nonrec access_denied_exception = {
  1. message : exception_message option;
}

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.

type nonrec policy_id = string
type nonrec policy_arn = string
type nonrec policy_name = string
type nonrec policy_description = string
type nonrec policy_type =
  1. | NETWORK_SECURITY_DIRECTOR_POLICY
  2. | S3_POLICY
  3. | BEDROCK_POLICY
  4. | UPGRADE_ROLLOUT_POLICY
  5. | INSPECTOR_POLICY
  6. | SECURITYHUB_POLICY
  7. | DECLARATIVE_POLICY_EC2
  8. | CHATBOT_POLICY
  9. | AISERVICES_OPT_OUT_POLICY
  10. | BACKUP_POLICY
  11. | TAG_POLICY
  12. | RESOURCE_CONTROL_POLICY
  13. | SERVICE_CONTROL_POLICY
type nonrec aws_managed_policy = bool
type nonrec policy_summary = {
  1. aws_managed : aws_managed_policy option;
    (*

    A boolean value that indicates whether the specified policy is an Amazon Web Services managed policy. If true, then you can attach the policy to roots, OUs, or accounts, but you cannot edit it.

    *)
  2. type_ : policy_type option;
    (*

    The type of policy.

    *)
  3. description : policy_description option;
    (*

    The description of the policy.

    *)
  4. name : policy_name option;
    (*

    The friendly name of the policy.

    The regex pattern that is used to validate this parameter is a string of any of the characters in the ASCII character range.

    *)
  5. arn : policy_arn option;
    (*

    The Amazon Resource Name (ARN) of the policy.

    For more information about ARNs in Organizations, see ARN Formats Supported by Organizations in the Amazon Web Services Service Authorization Reference.

    *)
  6. id : policy_id option;
    (*

    The unique identifier (ID) of the policy.

    The regex pattern for a policy ID string requires "p-" followed by from 8 to 128 lowercase or uppercase letters, digits, or the underscore character (_).

    *)
}

Contains information about a policy, but does not include the content. To see the content of a policy, see DescribePolicy.

type nonrec policy_content = string
type nonrec policy = {
  1. content : policy_content option;
    (*

    The text content of the policy.

    *)
  2. policy_summary : policy_summary option;
    (*

    A structure that contains additional details about the policy.

    *)
}

Contains rules to be applied to the affected accounts. Policies can be attached directly to accounts, or to roots and OUs to affect all accounts in those hierarchies.

type nonrec update_policy_response = {
  1. policy : policy option;
    (*

    A structure that contains details about the updated policy, showing the requested changes.

    *)
}
type nonrec update_policy_request = {
  1. content : policy_content option;
    (*

    If provided, the new content for the policy. The text must be correctly formatted JSON that complies with the syntax for the policy's type. For more information, see SCP syntax in the Organizations User Guide.

    The maximum size of a policy document depends on the policy's type. For more information, see Maximum and minimum values in the Organizations User Guide.

    *)
  2. description : policy_description option;
    (*

    If provided, the new description for the policy.

    *)
  3. name : policy_name option;
    (*

    If provided, the new name for the policy.

    The regex pattern that is used to validate this parameter is a string of any of the characters in the ASCII character range.

    *)
  4. policy_id : policy_id;
    (*

    ID for the policy that you want to update.

    The regex pattern for a policy ID string requires "p-" followed by from 8 to 128 lowercase or uppercase letters, digits, or the underscore character (_).

    *)
}
type nonrec policy_not_found_exception = {
  1. message : exception_message option;
}

We can't find a policy with the PolicyId that you specified.

type nonrec policy_changes_in_progress_exception = {
  1. message : exception_message option;
}

Changes to the effective policy are in progress, and its contents can't be returned. Try the operation again later.

type nonrec malformed_policy_document_exception = {
  1. message : exception_message option;
}

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.

type nonrec duplicate_policy_exception = {
  1. message : exception_message option;
}

A policy with the same name already exists.

type nonrec concurrent_modification_exception = {
  1. message : exception_message option;
}

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

type nonrec organizational_unit_id = string
type nonrec organizational_unit_arn = string
type nonrec organizational_unit_name = string
type nonrec path = string
type nonrec organizational_unit = {
  1. path : path option;
    (*

    The path in the organization where this OU exists.

    *)
  2. name : organizational_unit_name option;
    (*

    The friendly name of this OU.

    The regex pattern that is used to validate this parameter is a string of any of the characters in the ASCII character range.

    *)
  3. arn : organizational_unit_arn option;
    (*

    The Amazon Resource Name (ARN) of this OU.

    For more information about ARNs in Organizations, see ARN Formats Supported by Organizations in the Amazon Web Services Service Authorization Reference.

    *)
  4. id : organizational_unit_id option;
    (*

    The unique identifier (ID) associated with this OU. The ID is unique to the organization only.

    The regex pattern for an organizational unit ID string requires "ou-" followed by from 4 to 32 lowercase letters or digits (the ID of the root that contains the OU). This string is followed by a second "-" dash and from 8 to 32 additional lowercase letters or digits.

    *)
}

Contains details about an organizational unit (OU). An OU is a container of Amazon Web Services accounts within a root of an organization. Policies that are attached to an OU apply to all accounts contained in that OU and in any child OUs.

type nonrec update_organizational_unit_response = {
  1. organizational_unit : organizational_unit option;
    (*

    A structure that contains the details about the specified OU, including its new name.

    *)
}
type nonrec update_organizational_unit_request = {
  1. name : organizational_unit_name option;
    (*

    The new name that you want to assign to the OU.

    The regex pattern that is used to validate this parameter is a string of any of the characters in the ASCII character range.

    *)
  2. organizational_unit_id : organizational_unit_id;
    (*

    ID for the OU that you want to rename. You can get the ID from the ListOrganizationalUnitsForParent operation.

    The regex pattern for an organizational unit ID string requires "ou-" followed by from 4 to 32 lowercase letters or digits (the ID of the root that contains the OU). This string is followed by a second "-" dash and from 8 to 32 additional lowercase letters or digits.

    *)
}
type nonrec organizational_unit_not_found_exception = {
  1. message : exception_message option;
}

We can't find an OU with the OrganizationalUnitId that you specified.

type nonrec duplicate_organizational_unit_exception = {
  1. message : exception_message option;
}

An OU with the same name already exists.

type nonrec taggable_resource_id = string
type nonrec tag_key = string
type nonrec tag_keys = tag_key list
type nonrec untag_resource_request = {
  1. tag_keys : tag_keys;
    (*

    The list of keys for tags to remove from the specified resource.

    *)
  2. resource_id : taggable_resource_id;
    (*

    The ID of the resource to remove a tag from.

    You can specify any of the following taggable resources.

    • Amazon Web Services account – specify the account ID number.
    • Organizational unit – specify the OU ID that begins with ou- and looks similar to:

      ou-{i 1a2b-34uvwxyz} 
    • Root – specify the root ID that begins with r- and looks similar to:

      r-{i 1a2b} 
    • Policy – specify the policy ID that begins with p- andlooks similar to:

      p-{i 12abcdefg3} 
    *)
}
type nonrec target_not_found_exception = {
  1. message : exception_message option;
}

We can't find a root, OU, account, or policy with the TargetId that you specified.

type nonrec terminate_responsibility_transfer_response = {
  1. responsibility_transfer : responsibility_transfer option;
    (*

    A ResponsibilityTransfer object. Contains details for a transfer.

    *)
}
type nonrec terminate_responsibility_transfer_request = {
  1. end_timestamp : timestamp option;
    (*

    Timestamp when the responsibility transfer is to end.

    *)
  2. id : responsibility_transfer_id;
    (*

    ID for the transfer.

    *)
}
type nonrec responsibility_transfer_already_in_status_exception = {
  1. message : exception_message option;
}

The responsibility transfer is already in the status that you specified.

type nonrec invalid_responsibility_transfer_transition_exception = {
  1. message : exception_message option;
}

The responsibility transfer can't transition to the requested state because it's not in a valid state for this operation.

type nonrec target_type =
  1. | ROOT
  2. | ORGANIZATIONAL_UNIT
  3. | ACCOUNT
type nonrec target_name = string
type nonrec tag_value = string
type nonrec tag = {
  1. value : tag_value;
    (*

    The string value that's associated with the key of the tag. You can set the value of a tag to an empty string, but you can't set the value of a tag to null.

    *)
  2. key : tag_key;
    (*

    The key identifier, or name, of the tag.

    *)
}

A custom key-value pair associated with a resource within your organization.

You can attach tags to any of the following organization resources.

  • Amazon Web Services account
  • Organizational unit (OU)
  • Organization root
  • Policy
type nonrec tags = tag list
type nonrec tag_resource_request = {
  1. tags : tags;
    (*

    A list of tags to add to the specified resource.

    For each tag in the list, you must specify both a tag key and a value. The value can be an empty string, but you can't set it to null.

    If any one of the tags is not valid or if you exceed the maximum allowed number of tags for a resource, then the entire request fails.

    *)
  2. resource_id : taggable_resource_id;
    (*

    The ID of the resource to add a tag to.

    You can specify any of the following taggable resources.

    • Amazon Web Services account – specify the account ID number.
    • Organizational unit – specify the OU ID that begins with ou- and looks similar to:

      ou-{i 1a2b-34uvwxyz} 
    • Root – specify the root ID that begins with r- and looks similar to:

      r-{i 1a2b} 
    • Policy – specify the policy ID that begins with p- andlooks similar to:

      p-{i 12abcdefg3} 
    *)
}
type nonrec source_parent_not_found_exception = {
  1. message : exception_message option;
}

We can't find a source root or OU with the ParentId that you specified.

type nonrec service_principal = string
type nonrec root_id = string
type nonrec root_arn = string
type nonrec root_name = string
type nonrec policy_type_status =
  1. | PENDING_DISABLE
  2. | PENDING_ENABLE
  3. | ENABLED
type nonrec policy_type_summary = {
  1. status : policy_type_status option;
    (*

    The status of the policy type as it relates to the associated root. To attach a policy of the specified type to a root or to an OU or account in that root, it must be available in the organization and enabled for that root.

    *)
  2. type_ : policy_type option;
    (*

    The name of the policy type.

    *)
}

Contains information about a policy type and its status in the associated root.

type nonrec policy_types = policy_type_summary list
type nonrec root = {
  1. policy_types : policy_types option;
    (*

    The types of policies that are currently enabled for the root and therefore can be attached to the root or to its OUs or accounts.

    Even if a policy type is shown as available in the organization, you can separately enable and disable them at the root level by using EnablePolicyType and DisablePolicyType. Use DescribeOrganization to see the availability of the policy types in that organization.

    *)
  2. name : root_name option;
    (*

    The friendly name of the root.

    The regex pattern that is used to validate this parameter is a string of any of the characters in the ASCII character range.

    *)
  3. arn : root_arn option;
    (*

    The Amazon Resource Name (ARN) of the root.

    For more information about ARNs in Organizations, see ARN Formats Supported by Organizations in the Amazon Web Services Service Authorization Reference.

    *)
  4. id : root_id option;
    (*

    The unique identifier (ID) for the root. The ID is unique to the organization only.

    The regex pattern for a root ID string requires "r-" followed by from 4 to 32 lowercase letters or digits.

    *)
}

Contains details about a root. A root is a top-level parent node in the hierarchy of an organization that can contain organizational units (OUs) and accounts. The root contains every Amazon Web Services account in the organization.

type nonrec roots = root list
type nonrec root_not_found_exception = {
  1. message : exception_message option;
}

We can't find a root with the RootId that you specified.

type nonrec role_name = string
type nonrec responsibility_transfers = responsibility_transfer list
type nonrec resource_policy_id = string
type nonrec resource_policy_arn = string
type nonrec resource_policy_summary = {
  1. arn : resource_policy_arn option;
    (*

    The Amazon Resource Name (ARN) of the resource policy.

    *)
  2. id : resource_policy_id option;
    (*

    The unique identifier (ID) of the resource policy.

    *)
}

A structure that contains resource policy ID and Amazon Resource Name (ARN).

type nonrec resource_policy_not_found_exception = {
  1. message : exception_message option;
}

We can't find a resource policy request with the parameter that you specified.

type nonrec resource_policy_content = string
type nonrec resource_policy = {
  1. content : resource_policy_content option;
    (*

    The policy text of the resource policy.

    *)
  2. resource_policy_summary : resource_policy_summary option;
    (*

    A structure that contains resource policy ID and Amazon Resource Name (ARN).

    *)
}

A structure that contains details about a resource policy.

type nonrec remove_account_from_organization_request = {
  1. account_id : account_id;
    (*

    ID for the member account that you want to remove from the organization.

    The regex pattern for an account ID string requires exactly 12 digits.

    *)
}
type nonrec master_cannot_leave_organization_exception = {
  1. message : exception_message option;
}

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.

type nonrec account_not_found_exception = {
  1. message : exception_message option;
}

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.

type nonrec register_delegated_administrator_request = {
  1. service_principal : service_principal;
    (*

    The service principal of the Amazon Web Services service for which you want to make the member account a delegated administrator.

    *)
  2. account_id : account_id;
    (*

    The account ID number of the member account in the organization to register as a delegated administrator.

    *)
}
type nonrec account_already_registered_exception = {
  1. message : exception_message option;
}

The specified account is already a delegated administrator for this Amazon Web Services service.

type nonrec put_resource_policy_response = {
  1. resource_policy : resource_policy option;
    (*

    A structure that contains details about the resource policy.

    *)
}
type nonrec put_resource_policy_request = {
  1. tags : tags option;
    (*

    A list of tags that you want to attach to the newly created resource policy. For each tag in the list, you must specify both a tag key and a value. You can set the value to an empty string, but you can't set it to null. For more information about tagging, see Tagging Organizations resources in the Organizations User Guide.

    Calls with tags apply to the initial creation of the resource policy, otherwise an exception is thrown. If any one of the tags is not valid or if you exceed the allowed number of tags for the resource policy, then the entire request fails and the resource policy is not created.

    *)
  2. content : resource_policy_content;
    (*

    If provided, the new content for the resource policy. The text must be correctly formatted JSON that complies with the syntax for the resource policy's type. For more information, see SCP syntax in the Organizations User Guide.

    *)
}
type nonrec policy_type_not_enabled_exception = {
  1. message : exception_message option;
}

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.

type nonrec policy_type_not_available_for_organization_exception = {
  1. message : exception_message option;
}

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.

type nonrec policy_type_already_enabled_exception = {
  1. message : exception_message option;
}

The specified policy type is already enabled in the specified root.

type nonrec policy_target_id = string
type nonrec generic_arn = string
type nonrec policy_target_summary = {
  1. type_ : target_type option;
    (*

    The type of the policy target.

    *)
  2. name : target_name option;
    (*

    The friendly name of the policy target.

    The regex pattern that is used to validate this parameter is a string of any of the characters in the ASCII character range.

    *)
  3. arn : generic_arn option;
    (*

    The Amazon Resource Name (ARN) of the policy target.

    For more information about ARNs in Organizations, see ARN Formats Supported by Organizations in the Amazon Web Services Service Authorization Reference.

    *)
  4. target_id : policy_target_id option;
    (*

    The unique identifier (ID) of the policy target.

    The regex pattern for a target ID string requires one of the following:

    • Root - A string that begins with "r-" followed by from 4 to 32 lowercase letters or digits.
    • Account - A string that consists of exactly 12 digits.
    • Organizational unit (OU) - A string that begins with "ou-" followed by from 4 to 32 lowercase letters or digits (the ID of the root that the OU is in). This string is followed by a second "-" dash and from 8 to 32 additional lowercase letters or digits.
    *)
}

Contains information about a root, OU, or account that a policy is attached to.

type nonrec policy_targets = policy_target_summary list
type nonrec policy_not_attached_exception = {
  1. message : exception_message option;
}

The policy isn't attached to the specified target in the specified root.

type nonrec policy_in_use_exception = {
  1. message : exception_message option;
}

The policy is attached to one or more entities. You must detach it from all roots, OUs, and accounts before performing this operation.

type nonrec policy_ids = policy_id list
type nonrec policies = policy_summary list
type nonrec paths = path list
type nonrec path_to_error = string
type nonrec parent_id = string
type nonrec parent_type =
  1. | ORGANIZATIONAL_UNIT
  2. | ROOT
type nonrec parent = {
  1. type_ : parent_type option;
    (*

    The type of the parent entity.

    *)
  2. id : parent_id option;
    (*

    The unique identifier (ID) of the parent entity.

    The regex pattern for a parent ID string requires one of the following:

    • Root - A string that begins with "r-" followed by from 4 to 32 lowercase letters or digits.
    • Organizational unit (OU) - A string that begins with "ou-" followed by from 4 to 32 lowercase letters or digits (the ID of the root that the OU is in). This string is followed by a second "-" dash and from 8 to 32 additional lowercase letters or digits.
    *)
}

Contains information about either a root or an organizational unit (OU) that can contain OUs or accounts in an organization.

type nonrec parents = parent list
type nonrec parent_not_found_exception = {
  1. message : exception_message option;
}

We can't find a root or OU with the ParentId that you specified.

type nonrec organizational_units = organizational_unit list
type nonrec organizational_unit_not_empty_exception = {
  1. message : exception_message option;
}

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.

type nonrec organization_not_empty_exception = {
  1. message : exception_message option;
}

The organization isn't empty. To delete an organization, you must first remove all accounts except the management account.

type nonrec organization_id = string
type nonrec organization_feature_set =
  1. | CONSOLIDATED_BILLING
  2. | ALL
type nonrec organization_arn = string
type nonrec account_arn = string
type nonrec organization = {
  1. available_policy_types : policy_types option;
    (*

    Do not use. This field is deprecated and doesn't provide complete information about the policies in your organization.

    To determine the policies that are enabled and available for use in your organization, use the ListRoots operation instead.

    *)
  2. master_account_email : email option;
    (*

    The email address that is associated with the Amazon Web Services account that is designated as the management account for the organization.

    *)
  3. master_account_id : account_id option;
    (*

    The unique identifier (ID) of the management account of an organization.

    The regex pattern for an account ID string requires exactly 12 digits.

    *)
  4. master_account_arn : account_arn option;
    (*

    The Amazon Resource Name (ARN) of the account that is designated as the management account for the organization.

    For more information about ARNs in Organizations, see ARN Formats Supported by Organizations in the Amazon Web Services Service Authorization Reference.

    *)
  5. feature_set : organization_feature_set option;
    (*

    Specifies the functionality that currently is available to the organization. If set to "ALL", then all features are enabled and policies can be applied to accounts in the organization. If set to "CONSOLIDATED_BILLING", then only consolidated billing functionality is available. For more information, see Enabling all features in your organization in the Organizations User Guide.

    *)
  6. arn : organization_arn option;
    (*

    The Amazon Resource Name (ARN) of an organization.

    For more information about ARNs in Organizations, see ARN Formats Supported by Organizations in the Amazon Web Services Service Authorization Reference.

    *)
  7. id : organization_id option;
    (*

    The unique identifier (ID) of an organization.

    The regex pattern for an organization ID string requires "o-" followed by from 10 to 32 lowercase letters or digits.

    *)
}

Contains details about an organization. An organization is a collection of accounts that are centrally managed together using consolidated billing, organized hierarchically with organizational units (OUs), and controlled with policies .

type nonrec next_token = string
type nonrec move_account_request = {
  1. destination_parent_id : parent_id;
    (*

    ID for the root or organizational unit that you want to move the account to.

    The regex pattern for a parent ID string requires one of the following:

    • Root - A string that begins with "r-" followed by from 4 to 32 lowercase letters or digits.
    • Organizational unit (OU) - A string that begins with "ou-" followed by from 4 to 32 lowercase letters or digits (the ID of the root that the OU is in). This string is followed by a second "-" dash and from 8 to 32 additional lowercase letters or digits.
    *)
  2. source_parent_id : parent_id;
    (*

    ID for the root or organizational unit that you want to move the account from.

    The regex pattern for a parent ID string requires one of the following:

    • Root - A string that begins with "r-" followed by from 4 to 32 lowercase letters or digits.
    • Organizational unit (OU) - A string that begins with "ou-" followed by from 4 to 32 lowercase letters or digits (the ID of the root that the OU is in). This string is followed by a second "-" dash and from 8 to 32 additional lowercase letters or digits.
    *)
  3. account_id : account_id;
    (*

    ID for the account that you want to move.

    The regex pattern for an account ID string requires exactly 12 digits.

    *)
}
type nonrec duplicate_account_exception = {
  1. message : exception_message option;
}

That account is already present in the specified destination.

type nonrec destination_parent_not_found_exception = {
  1. message : exception_message option;
}

We can't find the destination container (a root or OU) with the ParentId that you specified.

type nonrec max_results = int
type nonrec list_targets_for_policy_response = {
  1. next_token : next_token option;
    (*

    If present, indicates that more output is available than is included in the current response. Use this value in the NextToken request parameter in a subsequent call to the operation to get the next part of the output. You should repeat this until the NextToken response element comes back as null.

    *)
  2. targets : policy_targets option;
    (*

    A list of structures, each of which contains details about one of the entities to which the specified policy is attached.

    *)
}
type nonrec list_targets_for_policy_request = {
  1. max_results : max_results option;
    (*

    The maximum number of items to return in the response. If more results exist than the specified MaxResults value, a token is included in the response so that you can retrieve the remaining results.

    *)
  2. next_token : next_token option;
    (*

    The parameter for receiving additional results if you receive a NextToken response in a previous request. A NextToken response indicates that more output is available. Set this parameter to the value of the previous call's NextToken response to indicate where the output should continue from.

    *)
  3. policy_id : policy_id;
    (*

    ID for the policy whose attachments you want to know.

    The regex pattern for a policy ID string requires "p-" followed by from 8 to 128 lowercase or uppercase letters, digits, or the underscore character (_).

    *)
}
type nonrec list_tags_for_resource_response = {
  1. next_token : next_token option;
    (*

    If present, indicates that more output is available than is included in the current response. Use this value in the NextToken request parameter in a subsequent call to the operation to get the next part of the output. You should repeat this until the NextToken response element comes back as null.

    *)
  2. tags : tags option;
    (*

    The tags that are assigned to the resource.

    *)
}
type nonrec list_tags_for_resource_request = {
  1. next_token : next_token option;
    (*

    The parameter for receiving additional results if you receive a NextToken response in a previous request. A NextToken response indicates that more output is available. Set this parameter to the value of the previous call's NextToken response to indicate where the output should continue from.

    *)
  2. resource_id : taggable_resource_id;
    (*

    The ID of the resource with the tags to list.

    You can specify any of the following taggable resources.

    • Amazon Web Services account – specify the account ID number.
    • Organizational unit – specify the OU ID that begins with ou- and looks similar to:

      ou-{i 1a2b-34uvwxyz} 
    • Root – specify the root ID that begins with r- and looks similar to:

      r-{i 1a2b} 
    • Policy – specify the policy ID that begins with p- andlooks similar to:

      p-{i 12abcdefg3} 
    *)
}
type nonrec list_roots_response = {
  1. next_token : next_token option;
    (*

    If present, indicates that more output is available than is included in the current response. Use this value in the NextToken request parameter in a subsequent call to the operation to get the next part of the output. You should repeat this until the NextToken response element comes back as null.

    *)
  2. roots : roots option;
    (*

    A list of roots that are defined in an organization.

    *)
}
type nonrec list_roots_request = {
  1. max_results : max_results option;
    (*

    The maximum number of items to return in the response. If more results exist than the specified MaxResults value, a token is included in the response so that you can retrieve the remaining results.

    *)
  2. next_token : next_token option;
    (*

    The parameter for receiving additional results if you receive a NextToken response in a previous request. A NextToken response indicates that more output is available. Set this parameter to the value of the previous call's NextToken response to indicate where the output should continue from.

    *)
}
type nonrec list_policies_response = {
  1. next_token : next_token option;
    (*

    If present, indicates that more output is available than is included in the current response. Use this value in the NextToken request parameter in a subsequent call to the operation to get the next part of the output. You should repeat this until the NextToken response element comes back as null.

    *)
  2. policies : policies option;
    (*

    A list of policies that match the filter criteria in the request. The output list doesn't include the policy contents. To see the content for a policy, see DescribePolicy.

    *)
}
type nonrec list_policies_request = {
  1. max_results : max_results option;
    (*

    The maximum number of items to return in the response. If more results exist than the specified MaxResults value, a token is included in the response so that you can retrieve the remaining results.

    *)
  2. next_token : next_token option;
    (*

    The parameter for receiving additional results if you receive a NextToken response in a previous request. A NextToken response indicates that more output is available. Set this parameter to the value of the previous call's NextToken response to indicate where the output should continue from.

    *)
  3. filter : policy_type;
}
type nonrec list_policies_for_target_response = {
  1. next_token : next_token option;
    (*

    If present, indicates that more output is available than is included in the current response. Use this value in the NextToken request parameter in a subsequent call to the operation to get the next part of the output. You should repeat this until the NextToken response element comes back as null.

    *)
  2. policies : policies option;
    (*

    The list of policies that match the criteria in the request.

    *)
}
type nonrec list_policies_for_target_request = {
  1. max_results : max_results option;
    (*

    The maximum number of items to return in the response. If more results exist than the specified MaxResults value, a token is included in the response so that you can retrieve the remaining results.

    *)
  2. next_token : next_token option;
    (*

    The parameter for receiving additional results if you receive a NextToken response in a previous request. A NextToken response indicates that more output is available. Set this parameter to the value of the previous call's NextToken response to indicate where the output should continue from.

    *)
  3. filter : policy_type;
  4. target_id : policy_target_id;
    (*

    ID for the root, organizational unit, or account whose policies you want to list.

    The regex pattern for a target ID string requires one of the following:

    • Root - A string that begins with "r-" followed by from 4 to 32 lowercase letters or digits.
    • Account - A string that consists of exactly 12 digits.
    • Organizational unit (OU) - A string that begins with "ou-" followed by from 4 to 32 lowercase letters or digits (the ID of the root that the OU is in). This string is followed by a second "-" dash and from 8 to 32 additional lowercase letters or digits.
    *)
}
type nonrec list_parents_response = {
  1. next_token : next_token option;
    (*

    If present, indicates that more output is available than is included in the current response. Use this value in the NextToken request parameter in a subsequent call to the operation to get the next part of the output. You should repeat this until the NextToken response element comes back as null.

    *)
  2. parents : parents option;
    (*

    A list of parents for the specified child account or OU.

    *)
}
type nonrec child_id = string
type nonrec list_parents_request = {
  1. max_results : max_results option;
    (*

    The maximum number of items to return in the response. If more results exist than the specified MaxResults value, a token is included in the response so that you can retrieve the remaining results.

    *)
  2. next_token : next_token option;
    (*

    The parameter for receiving additional results if you receive a NextToken response in a previous request. A NextToken response indicates that more output is available. Set this parameter to the value of the previous call's NextToken response to indicate where the output should continue from.

    *)
  3. child_id : child_id;
    (*

    ID for the OU or account whose parent containers you want to list. Don't specify a root.

    The regex pattern for a child ID string requires one of the following:

    • Account - A string that consists of exactly 12 digits.
    • Organizational unit (OU) - A string that begins with "ou-" followed by from 4 to 32 lowercase letters or digits (the ID of the root that contains the OU). This string is followed by a second "-" dash and from 8 to 32 additional lowercase letters or digits.
    *)
}
type nonrec child_not_found_exception = {
  1. message : exception_message option;
}

We can't find an organizational unit (OU) or Amazon Web Services account with the ChildId that you specified.

type nonrec list_outbound_responsibility_transfers_response = {
  1. next_token : next_token option;
    (*

    If present, indicates that more output is available than is included in the current response. Use this value in the NextToken request parameter in a subsequent call to the operation to get the next part of the output. You should repeat this until the NextToken response element comes back as null.

    *)
  2. responsibility_transfers : responsibility_transfers option;
    (*

    An array of ResponsibilityTransfer objects. Contains details for a transfer.

    *)
}
type nonrec list_outbound_responsibility_transfers_request = {
  1. max_results : max_results option;
    (*

    The maximum number of items to return in the response. If more results exist than the specified MaxResults value, a token is included in the response so that you can retrieve the remaining results.

    *)
  2. next_token : next_token option;
    (*

    The parameter for receiving additional results if you receive a NextToken response in a previous request. A NextToken response indicates that more output is available. Set this parameter to the value of the previous call's NextToken response to indicate where the output should continue from.

    *)
  3. type_ : responsibility_transfer_type;
    (*

    The type of responsibility. Currently, only BILLING is supported.

    *)
}
type nonrec list_organizational_units_for_parent_response = {
  1. next_token : next_token option;
    (*

    If present, indicates that more output is available than is included in the current response. Use this value in the NextToken request parameter in a subsequent call to the operation to get the next part of the output. You should repeat this until the NextToken response element comes back as null.

    *)
  2. organizational_units : organizational_units option;
    (*

    A list of the OUs in the specified root or parent OU.

    *)
}
type nonrec list_organizational_units_for_parent_request = {
  1. max_results : max_results option;
    (*

    The maximum number of items to return in the response. If more results exist than the specified MaxResults value, a token is included in the response so that you can retrieve the remaining results.

    *)
  2. next_token : next_token option;
    (*

    The parameter for receiving additional results if you receive a NextToken response in a previous request. A NextToken response indicates that more output is available. Set this parameter to the value of the previous call's NextToken response to indicate where the output should continue from.

    *)
  3. parent_id : parent_id;
    (*

    ID for the root or OU whose child OUs you want to list.

    The regex pattern for a parent ID string requires one of the following:

    • Root - A string that begins with "r-" followed by from 4 to 32 lowercase letters or digits.
    • Organizational unit (OU) - A string that begins with "ou-" followed by from 4 to 32 lowercase letters or digits (the ID of the root that the OU is in). This string is followed by a second "-" dash and from 8 to 32 additional lowercase letters or digits.
    *)
}
type nonrec list_inbound_responsibility_transfers_response = {
  1. next_token : next_token option;
    (*

    If present, indicates that more output is available than is included in the current response. Use this value in the NextToken request parameter in a subsequent call to the operation to get the next part of the output. You should repeat this until the NextToken response element comes back as null.

    *)
  2. responsibility_transfers : responsibility_transfers option;
    (*

    A ResponsibilityTransfers object. Contains details for a transfer.

    *)
}
type nonrec list_inbound_responsibility_transfers_request = {
  1. max_results : max_results option;
    (*

    The maximum number of items to return in the response. If more results exist than the specified MaxResults value, a token is included in the response so that you can retrieve the remaining results.

    *)
  2. next_token : next_token option;
    (*

    The parameter for receiving additional results if you receive a NextToken response in a previous request. A NextToken response indicates that more output is available. Set this parameter to the value of the previous call's NextToken response to indicate where the output should continue from.

    *)
  3. id : responsibility_transfer_id option;
    (*

    ID for the transfer.

    *)
  4. type_ : responsibility_transfer_type;
    (*

    The type of responsibility. Currently, only BILLING is supported.

    *)
}
type nonrec handshake_arn = string
type nonrec handshake_party_id = string
type nonrec handshake_party_type =
  1. | EMAIL
  2. | ORGANIZATION
  3. | ACCOUNT
type nonrec handshake_party = {
  1. type_ : handshake_party_type;
    (*

    The type of ID for the participant.

    *)
  2. id : handshake_party_id;
    (*

    ID for the participant: Acccount ID, organization ID, or email address.

    The regex pattern for handshake ID string requires "h-" followed by from 8 to 32 lowercase letters or digits.

    *)
}

Contains details for a participant in a handshake.

type nonrec handshake_parties = handshake_party list
type nonrec handshake_state =
  1. | EXPIRED
  2. | DECLINED
  3. | ACCEPTED
  4. | CANCELED
  5. | OPEN
  6. | REQUESTED
type nonrec action_type =
  1. | TRANSFER_RESPONSIBILITY
  2. | ADD_ORGANIZATIONS_SERVICE_LINKED_ROLE
  3. | APPROVE_ALL_FEATURES
  4. | ENABLE_ALL_FEATURES
  5. | INVITE_ACCOUNT_TO_ORGANIZATION
type nonrec handshake_resource_value = string
type nonrec handshake_resource_type =
  1. | MANAGEMENT_NAME
  2. | MANAGEMENT_EMAIL
  3. | MANAGEMENT_ACCOUNT
  4. | TRANSFER_TYPE
  5. | TRANSFER_START_TIMESTAMP
  6. | RESPONSIBILITY_TRANSFER
  7. | PARENT_HANDSHAKE
  8. | NOTES
  9. | MASTER_NAME
  10. | MASTER_EMAIL
  11. | EMAIL
  12. | ORGANIZATION_FEATURE_SET
  13. | ORGANIZATION
  14. | ACCOUNT
type handshake_resource = {
  1. resources : handshake_resources option;
    (*

    An array of HandshakeResource objects. When needed, contains additional details for a handshake. For example, the email address for the sender.

    *)
  2. type_ : handshake_resource_type option;
    (*

    The type of information being passed, specifying how the value is to be interpreted by the other party:

    • ACCOUNT: ID for an Amazon Web Services account.
    • ORGANIZATION: ID for an organization.
    • EMAIL: Email address for the recipient.
    • OWNER_EMAIL: Email address for the sender.
    • OWNER_NAME: Name of the sender.
    • NOTES: Additional text included by the sender for the recipient.
    *)
  3. value : handshake_resource_value option;
    (*

    Additional information for the handshake. The format of the value string must match the requirements of the specified type.

    *)
}

Contains additional details for a handshake.

and handshake_resources = handshake_resource list
type nonrec handshake = {
  1. resources : handshake_resources option;
    (*

    An array of HandshakeResource objects. When needed, contains additional details for a handshake. For example, the email address for the sender.

    *)
  2. action : action_type option;
    (*

    The type of handshake:

    • INVITE: Handshake sent to a standalone account requesting that it to join the sender's organization.
    • ENABLE_ALL_FEATURES: Handshake sent to invited member accounts to enable all features for the organization.
    • APPROVE_ALL_FEATURES: Handshake sent to the management account when all invited member accounts have approved to enable all features.
    • TRANSFER_RESPONSIBILITY: Handshake sent to another organization's management account requesting that it designate the sender with the specified responsibilities for recipient's organization.
    *)
  3. expiration_timestamp : timestamp option;
    (*

    Timestamp when the handshake expires.

    *)
  4. requested_timestamp : timestamp option;
    (*

    Timestamp when the handshake request was made.

    *)
  5. state : handshake_state option;
    (*

    Current state for the handshake.

    • REQUESTED: Handshake awaiting a response from the recipient.
    • OPEN: Handshake sent to multiple recipients and all recipients have responded. The sender can now complete the handshake action.
    • CANCELED: Handshake canceled by the sender.
    • ACCEPTED: Handshake accepted by the recipient.
    • DECLINED: Handshake declined by the recipient.
    • EXPIRED: Handshake has expired.
    *)
  6. parties : handshake_parties option;
    (*

    An array of HandshakeParty objects. Contains details for participant in a handshake.

    *)
  7. arn : handshake_arn option;
    (*

    Amazon Resource Name (ARN) for the handshake.

    For more information about ARNs in Organizations, see ARN Formats Supported by Organizations in the Amazon Web Services Service Authorization Reference.

    *)
  8. id : handshake_id option;
    (*

    ID for the handshake.

    The regex pattern for handshake ID string requires "h-" followed by from 8 to 32 lowercase letters or digits.

    *)
}

Contains details for a handshake. A handshake is the secure exchange of information between two Amazon Web Services accounts: a sender and a recipient.

Note: Handshakes that are CANCELED, ACCEPTED, DECLINED, or EXPIRED show up in lists for only 30 days after entering that state After that they are deleted.

type nonrec handshakes = handshake list
type nonrec list_handshakes_for_organization_response = {
  1. next_token : next_token option;
    (*

    If present, indicates that more output is available than is included in the current response. Use this value in the NextToken request parameter in a subsequent call to the operation to get the next part of the output. You should repeat this until the NextToken response element comes back as null.

    *)
  2. handshakes : handshakes option;
    (*

    An array of Handshakeobjects. Contains details for a handshake.

    *)
}
type nonrec handshake_filter = {
  1. parent_handshake_id : handshake_id option;
    (*

    The parent handshake. Only used for handshake types that are a child of another type.

    If you specify ParentHandshakeId, you cannot also specify ActionType.

    The regex pattern for handshake ID string requires "h-" followed by from 8 to 32 lowercase letters or digits.

    *)
  2. action_type : action_type option;
    (*

    The type of handshake.

    If you specify ActionType, you cannot also specify ParentHandshakeId.

    *)
}

Contains the filter used to select the handshakes for an operation.

type nonrec list_handshakes_for_organization_request = {
  1. max_results : max_results option;
    (*

    The maximum number of items to return in the response. If more results exist than the specified MaxResults value, a token is included in the response so that you can retrieve the remaining results.

    *)
  2. next_token : next_token option;
    (*

    The parameter for receiving additional results if you receive a NextToken response in a previous request. A NextToken response indicates that more output is available. Set this parameter to the value of the previous call's NextToken response to indicate where the output should continue from.

    *)
  3. filter : handshake_filter option;
    (*

    A HandshakeFilter object. Contains the filer used to select the handshakes for an operation.

    *)
}
type nonrec list_handshakes_for_account_response = {
  1. next_token : next_token option;
    (*

    If present, indicates that more output is available than is included in the current response. Use this value in the NextToken request parameter in a subsequent call to the operation to get the next part of the output. You should repeat this until the NextToken response element comes back as null.

    *)
  2. handshakes : handshakes option;
    (*

    An array of Handshakeobjects. Contains details for a handshake.

    *)
}
type nonrec list_handshakes_for_account_request = {
  1. max_results : max_results option;
    (*

    The maximum number of items to return in the response. If more results exist than the specified MaxResults value, a token is included in the response so that you can retrieve the remaining results.

    *)
  2. next_token : next_token option;
    (*

    The parameter for receiving additional results if you receive a NextToken response in a previous request. A NextToken response indicates that more output is available. Set this parameter to the value of the previous call's NextToken response to indicate where the output should continue from.

    *)
  3. filter : handshake_filter option;
    (*

    A HandshakeFilter object. Contains the filer used to select the handshakes for an operation.

    *)
}
type nonrec effective_policy_type =
  1. | NETWORK_SECURITY_DIRECTOR_POLICY
  2. | S3_POLICY
  3. | BEDROCK_POLICY
  4. | UPGRADE_ROLLOUT_POLICY
  5. | INSPECTOR_POLICY
  6. | SECURITYHUB_POLICY
  7. | DECLARATIVE_POLICY_EC2
  8. | CHATBOT_POLICY
  9. | AISERVICES_OPT_OUT_POLICY
  10. | BACKUP_POLICY
  11. | TAG_POLICY
type nonrec error_code = string
type nonrec error_message = string
type nonrec effective_policy_validation_error = {
  1. contributing_policies : policy_ids option;
    (*

    The individual policies inherited and attached to the account which contributed to the validation error.

    *)
  2. path_to_error : path_to_error option;
    (*

    The path within the effective policy where the validation error occurred.

    *)
  3. error_message : error_message option;
    (*

    The error message for the validation error.

    *)
  4. error_code : error_code option;
    (*

    The error code for the validation error. For example, ELEMENTS_TOO_MANY.

    *)
}

Contains details about the validation errors that occurred when generating or enforcing an effective policy, such as which policies contributed to the error and location of the error.

type nonrec effective_policy_validation_errors = effective_policy_validation_error list
type nonrec list_effective_policy_validation_errors_response = {
  1. effective_policy_validation_errors : effective_policy_validation_errors option;
    (*

    The EffectivePolicyValidationError object contains details about the validation errors that occurred when generating or enforcing an effective policy, such as which policies contributed to the error and location of the error.

    *)
  2. next_token : next_token option;
    (*

    If present, indicates that more output is available than is included in the current response. Use this value in the NextToken request parameter in a subsequent call to the operation to get the next part of the output. You should repeat this until the NextToken response element comes back as null.

    *)
  3. evaluation_timestamp : timestamp option;
    (*

    The time when the latest effective policy was generated for the specified account.

    *)
  4. path : path option;
    (*

    The path in the organization where the specified account exists.

    *)
  5. policy_type : effective_policy_type option;
  6. account_id : account_id option;
    (*

    The ID of the specified account.

    *)
}
type nonrec list_effective_policy_validation_errors_request = {
  1. max_results : max_results option;
    (*

    The maximum number of items to return in the response. If more results exist than the specified MaxResults value, a token is included in the response so that you can retrieve the remaining results.

    *)
  2. next_token : next_token option;
    (*

    The parameter for receiving additional results if you receive a NextToken response in a previous request. A NextToken response indicates that more output is available. Set this parameter to the value of the previous call's NextToken response to indicate where the output should continue from.

    *)
  3. policy_type : effective_policy_type;
  4. account_id : account_id;
    (*

    The ID of the account that you want details about. Specifying an organization root or organizational unit (OU) as the target is not supported.

    *)
}
type nonrec effective_policy_not_found_exception = {
  1. message : exception_message option;
}

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.

type nonrec delegated_service = {
  1. delegation_enabled_date : timestamp option;
    (*

    The date that the account became a delegated administrator for this service.

    *)
  2. service_principal : service_principal option;
    (*

    The name of an Amazon Web Services service that can request an operation for the specified service. This is typically in the form of a URL, such as:

     {i servicename}.amazonaws.com

    .

    *)
}

Contains information about the Amazon Web Services service for which the account is a delegated administrator.

type nonrec delegated_services = delegated_service list
type nonrec list_delegated_services_for_account_response = {
  1. next_token : next_token option;
    (*

    If present, indicates that more output is available than is included in the current response. Use this value in the NextToken request parameter in a subsequent call to the operation to get the next part of the output. You should repeat this until the NextToken response element comes back as null.

    *)
  2. delegated_services : delegated_services option;
    (*

    The services for which the account is a delegated administrator.

    *)
}
type nonrec list_delegated_services_for_account_request = {
  1. max_results : max_results option;
    (*

    The maximum number of items to return in the response. If more results exist than the specified MaxResults value, a token is included in the response so that you can retrieve the remaining results.

    *)
  2. next_token : next_token option;
    (*

    The parameter for receiving additional results if you receive a NextToken response in a previous request. A NextToken response indicates that more output is available. Set this parameter to the value of the previous call's NextToken response to indicate where the output should continue from.

    *)
  3. account_id : account_id;
    (*

    The account ID number of a delegated administrator account in the organization.

    *)
}
type nonrec account_not_registered_exception = {
  1. message : exception_message option;
}

The specified account is not a delegated administrator for this Amazon Web Services service.

type nonrec account_name = string
type nonrec account_status =
  1. | PENDING_CLOSURE
  2. | SUSPENDED
  3. | ACTIVE
type nonrec account_state =
  1. | CLOSED
  2. | PENDING_CLOSURE
  3. | SUSPENDED
  4. | ACTIVE
  5. | PENDING_ACTIVATION
type nonrec account_joined_method =
  1. | CREATED
  2. | INVITED
type nonrec delegated_administrator = {
  1. delegation_enabled_date : timestamp option;
    (*

    The date when the account was made a delegated administrator.

    *)
  2. joined_timestamp : timestamp option;
    (*

    The date when the delegated administrator's account became a part of the organization.

    *)
  3. joined_method : account_joined_method option;
    (*

    The method by which the delegated administrator's account joined the organization.

    *)
  4. state : account_state option;
    (*

    Each state represents a specific phase in the account lifecycle. Use this information to manage account access, automate workflows, or trigger actions based on account state changes.

    For more information about account states and their implications, see Monitor the state of your Amazon Web Services accounts in the Organizations User Guide.

    *)
  5. status : account_status option;
    (*

    The status of the delegated administrator's account in the organization.

    *)
  6. name : account_name option;
    (*

    The friendly name of the delegated administrator's account.

    *)
  7. email : email option;
    (*

    The email address that is associated with the delegated administrator's Amazon Web Services account.

    *)
  8. arn : account_arn option;
    (*

    The Amazon Resource Name (ARN) of the delegated administrator's account.

    *)
  9. id : account_id option;
    (*

    The unique identifier (ID) of the delegated administrator's account.

    *)
}

Contains information about the delegated administrator.

type nonrec delegated_administrators = delegated_administrator list
type nonrec list_delegated_administrators_response = {
  1. next_token : next_token option;
    (*

    If present, indicates that more output is available than is included in the current response. Use this value in the NextToken request parameter in a subsequent call to the operation to get the next part of the output. You should repeat this until the NextToken response element comes back as null.

    *)
  2. delegated_administrators : delegated_administrators option;
    (*

    The list of delegated administrators in your organization.

    *)
}
type nonrec list_delegated_administrators_request = {
  1. max_results : max_results option;
    (*

    The maximum number of items to return in the response. If more results exist than the specified MaxResults value, a token is included in the response so that you can retrieve the remaining results.

    *)
  2. next_token : next_token option;
    (*

    The parameter for receiving additional results if you receive a NextToken response in a previous request. A NextToken response indicates that more output is available. Set this parameter to the value of the previous call's NextToken response to indicate where the output should continue from.

    *)
  3. service_principal : service_principal option;
    (*

    Specifies a service principal name. If specified, then the operation lists the delegated administrators only for the specified service.

    If you don't specify a service principal, the operation lists all delegated administrators for all services in your organization.

    *)
}
type nonrec create_account_request_id = string
type nonrec create_account_name = string
type nonrec create_account_state =
  1. | FAILED
  2. | SUCCEEDED
  3. | IN_PROGRESS
type nonrec create_account_failure_reason =
  1. | UPDATE_EXISTING_RESOURCE_POLICY_WITH_TAGS_NOT_SUPPORTED
  2. | INVALID_PAYMENT_INSTRUMENT
  3. | MISSING_PAYMENT_INSTRUMENT
  4. | UNKNOWN_BUSINESS_VALIDATION
  5. | INVALID_IDENTITY_FOR_BUSINESS_VALIDATION
  6. | PENDING_BUSINESS_VALIDATIONv
  7. | FAILED_BUSINESS_VALIDATION
  8. | MISSING_BUSINESS_VALIDATION
  9. | GOVCLOUD_ACCOUNT_ALREADY_EXISTS
  10. | INTERNAL_FAILURE
  11. | CONCURRENT_ACCOUNT_MODIFICATION
  12. | INVALID_EMAIL
  13. | INVALID_ADDRESS
  14. | EMAIL_ALREADY_EXISTS
  15. | ACCOUNT_LIMIT_EXCEEDED
type nonrec create_account_status = {
  1. failure_reason : create_account_failure_reason option;
    (*

    If the request failed, a description of the reason for the failure.

    • ACCOUNT_LIMIT_EXCEEDED: The account couldn't be created because you reached the limit on the number of accounts in your organization.
    • CONCURRENT_ACCOUNT_MODIFICATION: You already submitted a request with the same information.
    • EMAIL_ALREADY_EXISTS: The account could not be created because another Amazon Web Services account with that email address already exists.
    • FAILED_BUSINESS_VALIDATION: The Amazon Web Services account that owns your organization failed to receive business license validation.
    • GOVCLOUD_ACCOUNT_ALREADY_EXISTS: The account in the Amazon Web Services GovCloud (US) Region could not be created because this Region already includes an account with that email address.
    • IDENTITY_INVALID_BUSINESS_VALIDATION: The Amazon Web Services account that owns your organization can't complete business license validation because it doesn't have valid identity data.
    • INVALID_ADDRESS: The account could not be created because the address you provided is not valid.
    • INVALID_EMAIL: The account could not be created because the email address you provided is not valid.
    • INVALID_PAYMENT_INSTRUMENT: The Amazon Web Services account that owns your organization does not have a supported payment method 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.
    • INTERNAL_FAILURE: The account could not be created because of an internal failure. Try again later. If the problem persists, contact Amazon Web Services Customer Support.
    • MISSING_BUSINESS_VALIDATION: The Amazon Web Services account that owns your organization has not received Business Validation.
    • MISSING_PAYMENT_INSTRUMENT: You must configure the management account with a valid payment method, such as a credit card.
    • PENDING_BUSINESS_VALIDATION: The Amazon Web Services account that owns your organization is still in the process of completing business license validation.
    • UNKNOWN_BUSINESS_VALIDATION: The Amazon Web Services account that owns your organization has an unknown issue with business license validation.
    *)
  2. gov_cloud_account_id : account_id option;
    (*

    If the account was created successfully, the ID for the new account in the Amazon Web Services GovCloud (US) Region.

    *)
  3. account_id : account_id option;
    (*

    If the account was created successfully, the unique identifier (ID) of the new account.

    The regex pattern for an account ID string requires exactly 12 digits.

    *)
  4. completed_timestamp : timestamp option;
    (*

    The date and time that the account was created and the request completed.

    *)
  5. requested_timestamp : timestamp option;
    (*

    The date and time that the request was made for the account creation.

    *)
  6. state : create_account_state option;
    (*

    The status of the asynchronous request to create an Amazon Web Services account.

    *)
  7. account_name : create_account_name option;
    (*

    The account name given to the account when it was created.

    *)
  8. id : create_account_request_id option;
    (*

    The unique identifier (ID) that references this request. You get this value from the response of the initial CreateAccount request to create the account.

    The regex pattern for a create account request ID string requires "car-" followed by from 8 to 32 lowercase letters or digits.

    *)
}

Contains the status about a CreateAccount or CreateGovCloudAccount request to create an Amazon Web Services account or an Amazon Web Services GovCloud (US) account in an organization.

type nonrec create_account_statuses = create_account_status list
type nonrec list_create_account_status_response = {
  1. next_token : next_token option;
    (*

    If present, indicates that more output is available than is included in the current response. Use this value in the NextToken request parameter in a subsequent call to the operation to get the next part of the output. You should repeat this until the NextToken response element comes back as null.

    *)
  2. create_account_statuses : create_account_statuses option;
    (*

    A list of objects with details about the requests. Certain elements, such as the accountId number, are present in the output only after the account has been successfully created.

    *)
}
type nonrec create_account_states = create_account_state list
type nonrec list_create_account_status_request = {
  1. max_results : max_results option;
    (*

    The maximum number of items to return in the response. If more results exist than the specified MaxResults value, a token is included in the response so that you can retrieve the remaining results.

    *)
  2. next_token : next_token option;
    (*

    The parameter for receiving additional results if you receive a NextToken response in a previous request. A NextToken response indicates that more output is available. Set this parameter to the value of the previous call's NextToken response to indicate where the output should continue from.

    *)
  3. states : create_account_states option;
    (*

    A list of one or more states that you want included in the response. If this parameter isn't present, all requests are included in the response.

    *)
}
type nonrec child_type =
  1. | ORGANIZATIONAL_UNIT
  2. | ACCOUNT
type nonrec child = {
  1. type_ : child_type option;
    (*

    The type of this child entity.

    *)
  2. id : child_id option;
    (*

    The unique identifier (ID) of this child entity.

    The regex pattern for a child ID string requires one of the following:

    • Account - A string that consists of exactly 12 digits.
    • Organizational unit (OU) - A string that begins with "ou-" followed by from 4 to 32 lowercase letters or digits (the ID of the root that contains the OU). This string is followed by a second "-" dash and from 8 to 32 additional lowercase letters or digits.
    *)
}

Contains a list of child entities, either OUs or accounts.

type nonrec children = child list
type nonrec list_children_response = {
  1. next_token : next_token option;
    (*

    If present, indicates that more output is available than is included in the current response. Use this value in the NextToken request parameter in a subsequent call to the operation to get the next part of the output. You should repeat this until the NextToken response element comes back as null.

    *)
  2. children : children option;
    (*

    The list of children of the specified parent container.

    *)
}
type nonrec list_children_request = {
  1. max_results : max_results option;
    (*

    The maximum number of items to return in the response. If more results exist than the specified MaxResults value, a token is included in the response so that you can retrieve the remaining results.

    *)
  2. next_token : next_token option;
    (*

    The parameter for receiving additional results if you receive a NextToken response in a previous request. A NextToken response indicates that more output is available. Set this parameter to the value of the previous call's NextToken response to indicate where the output should continue from.

    *)
  3. child_type : child_type;
    (*

    Filters the output to include only the specified child type.

    *)
  4. parent_id : parent_id;
    (*

    The unique identifier (ID) for the parent root or OU whose children you want to list.

    The regex pattern for a parent ID string requires one of the following:

    • Root - A string that begins with "r-" followed by from 4 to 32 lowercase letters or digits.
    • Organizational unit (OU) - A string that begins with "ou-" followed by from 4 to 32 lowercase letters or digits (the ID of the root that the OU is in). This string is followed by a second "-" dash and from 8 to 32 additional lowercase letters or digits.
    *)
}
type nonrec account = {
  1. joined_timestamp : timestamp option;
    (*

    The date the account became a part of the organization.

    *)
  2. joined_method : account_joined_method option;
    (*

    The method by which the account joined the organization.

    *)
  3. paths : paths option;
    (*

    The paths in the organization where the account exists.

    *)
  4. state : account_state option;
    (*

    Each state represents a specific phase in the account lifecycle. Use this information to manage account access, automate workflows, or trigger actions based on account state changes.

    For more information about account states and their implications, see Monitor the state of your Amazon Web Services accounts in the Organizations User Guide.

    *)
  5. status : account_status option;
    (*

    The status of the account in the organization.

    The Status parameter in the Account object will be retired on September 9, 2026. Although both the account State and account Status parameters are currently available in the Organizations APIs (DescribeAccount, ListAccounts, ListAccountsForParent), we recommend that you update your scripts or other code to use the State parameter instead of Status before September 9, 2026.

    *)
  6. name : account_name option;
    (*

    The friendly name of the account.

    The regex pattern that is used to validate this parameter is a string of any of the characters in the ASCII character range.

    *)
  7. email : email option;
    (*

    The email address associated with the Amazon Web Services account.

    The regex pattern for this parameter is a string of characters that represents a standard internet email address.

    *)
  8. arn : account_arn option;
    (*

    The Amazon Resource Name (ARN) of the account.

    For more information about ARNs in Organizations, see ARN Formats Supported by Organizations in the Amazon Web Services Service Authorization Reference.

    *)
  9. id : account_id option;
    (*

    The unique identifier (ID) of the account.

    The regex pattern for an account ID string requires exactly 12 digits.

    *)
}

Contains information about an Amazon Web Services account that is a member of an organization.

type nonrec accounts = account list
type nonrec list_accounts_with_invalid_effective_policy_response = {
  1. next_token : next_token option;
    (*

    If present, indicates that more output is available than is included in the current response. Use this value in the NextToken request parameter in a subsequent call to the operation to get the next part of the output. You should repeat this until the NextToken response element comes back as null.

    *)
  2. policy_type : effective_policy_type option;
  3. accounts : accounts option;
    (*

    The accounts in the organization which have an invalid effective policy for the specified policy type.

    *)
}
type nonrec list_accounts_with_invalid_effective_policy_request = {
  1. max_results : max_results option;
    (*

    The maximum number of items to return in the response. If more results exist than the specified MaxResults value, a token is included in the response so that you can retrieve the remaining results.

    *)
  2. next_token : next_token option;
    (*

    The parameter for receiving additional results if you receive a NextToken response in a previous request. A NextToken response indicates that more output is available. Set this parameter to the value of the previous call's NextToken response to indicate where the output should continue from.

    *)
  3. policy_type : effective_policy_type;
}
type nonrec list_accounts_response = {
  1. next_token : next_token option;
    (*

    If present, indicates that more output is available than is included in the current response. Use this value in the NextToken request parameter in a subsequent call to the operation to get the next part of the output. You should repeat this until the NextToken response element comes back as null.

    *)
  2. accounts : accounts option;
    (*

    A list of objects in the organization.

    The Status parameter in the API response will be retired on September 9, 2026. Although both the account State and account Status parameters are currently available in the Organizations APIs (DescribeAccount, ListAccounts, ListAccountsForParent), we recommend that you update your scripts or other code to use the State parameter instead of Status before September 9, 2026.

    *)
}
type nonrec list_accounts_request = {
  1. max_results : max_results option;
    (*

    The maximum number of items to return in the response. If more results exist than the specified MaxResults value, a token is included in the response so that you can retrieve the remaining results.

    *)
  2. next_token : next_token option;
    (*

    The parameter for receiving additional results if you receive a NextToken response in a previous request. A NextToken response indicates that more output is available. Set this parameter to the value of the previous call's NextToken response to indicate where the output should continue from.

    *)
}
type nonrec list_accounts_for_parent_response = {
  1. next_token : next_token option;
    (*

    If present, indicates that more output is available than is included in the current response. Use this value in the NextToken request parameter in a subsequent call to the operation to get the next part of the output. You should repeat this until the NextToken response element comes back as null.

    *)
  2. accounts : accounts option;
    (*

    A list of the accounts in the specified root or OU.

    The Status parameter in the API response will be retired on September 9, 2026. Although both the account State and account Status parameters are currently available in the Organizations APIs (DescribeAccount, ListAccounts, ListAccountsForParent), we recommend that you update your scripts or other code to use the State parameter instead of Status before September 9, 2026.

    *)
}
type nonrec list_accounts_for_parent_request = {
  1. max_results : max_results option;
    (*

    The maximum number of items to return in the response. If more results exist than the specified MaxResults value, a token is included in the response so that you can retrieve the remaining results.

    *)
  2. next_token : next_token option;
    (*

    The parameter for receiving additional results if you receive a NextToken response in a previous request. A NextToken response indicates that more output is available. Set this parameter to the value of the previous call's NextToken response to indicate where the output should continue from.

    *)
  3. parent_id : parent_id;
    (*

    The unique identifier (ID) for the parent root or organization unit (OU) whose accounts you want to list.

    *)
}
type nonrec enabled_service_principal = {
  1. date_enabled : timestamp option;
    (*

    The date that the service principal was enabled for integration with Organizations.

    *)
  2. service_principal : service_principal option;
    (*

    The name of the service principal. This is typically in the form of a URL, such as:

     {i servicename}.amazonaws.com

    .

    *)
}

A structure that contains details of a service principal that represents an Amazon Web Services service that is enabled to integrate with Organizations.

type nonrec enabled_service_principals = enabled_service_principal list
type nonrec list_aws_service_access_for_organization_response = {
  1. next_token : next_token option;
    (*

    If present, indicates that more output is available than is included in the current response. Use this value in the NextToken request parameter in a subsequent call to the operation to get the next part of the output. You should repeat this until the NextToken response element comes back as null.

    *)
  2. enabled_service_principals : enabled_service_principals option;
    (*

    A list of the service principals for the services that are enabled to integrate with your organization. Each principal is a structure that includes the name and the date that it was enabled for integration with Organizations.

    *)
}
type nonrec list_aws_service_access_for_organization_request = {
  1. max_results : max_results option;
    (*

    The maximum number of items to return in the response. If more results exist than the specified MaxResults value, a token is included in the response so that you can retrieve the remaining results.

    *)
  2. next_token : next_token option;
    (*

    The parameter for receiving additional results if you receive a NextToken response in a previous request. A NextToken response indicates that more output is available. Set this parameter to the value of the previous call's NextToken response to indicate where the output should continue from.

    *)
}
type nonrec invite_organization_to_transfer_responsibility_response = {
  1. handshake : handshake option;
}
type nonrec handshake_notes = string
type nonrec invite_organization_to_transfer_responsibility_request = {
  1. tags : tags option;
    (*

    A list of tags that you want to attach to the transfer. For each tag in the list, you must specify both a tag key and a value. You can set the value to an empty string, but you can't set it to null. For more information about tagging, see Tagging Organizations resources in the Organizations User Guide.

    Any tags in the request are checked for compliance with any applicable tag policies when the request is made. The request is rejected if the tags in the request don't match the requirements of the policy at that time. Tag policy compliance is not checked again when the invitation is accepted and the tags are actually attached to the transfer. That means that if the tag policy changes between the invitation and the acceptance, then that tags could potentially be non-compliant.

    If any one of the tags is not valid or if you exceed the allowed number of tags for a transfer, then the entire request fails and invitations are not sent.

    *)
  2. source_name : responsibility_transfer_name;
    (*

    Name you want to assign to the transfer.

    *)
  3. start_timestamp : timestamp;
    (*

    Timestamp when the recipient will begin managing the specified responsibilities.

    *)
  4. notes : handshake_notes option;
    (*

    Additional information that you want to include in the invitation.

    *)
  5. target : handshake_party;
    (*

    A HandshakeParty object. Contains details for the account you want to invite. Currently, only ACCOUNT and EMAIL are supported.

    *)
  6. type_ : responsibility_transfer_type;
    (*

    The type of responsibility you want to designate to your organization. Currently, only BILLING is supported.

    *)
}
type nonrec handshake_constraint_violation_exception_reason =
  1. | LEGACY_PERMISSIONS_STILL_IN_USE
  2. | UNUSED_PREPAYMENT_BALANCE
  3. | SOURCE_AND_TARGET_CANNOT_MATCH
  4. | RESPONSIBILITY_TRANSFER_ALREADY_EXISTS
  5. | MANAGEMENT_ACCOUNT_EMAIL_NOT_VERIFIED
  6. | ORGANIZATION_MEMBERSHIP_CHANGE_RATE_LIMIT_EXCEEDED
  7. | ORGANIZATION_FROM_DIFFERENT_SELLER_OF_RECORD
  8. | PAYMENT_INSTRUMENT_REQUIRED
  9. | INVITE_DISABLED_DURING_ENABLE_ALL_FEATURES
  10. | ORGANIZATION_IS_ALREADY_PENDING_ALL_FEATURES_MIGRATION
  11. | ORGANIZATION_ALREADY_HAS_ALL_FEATURES
  12. | ALREADY_IN_AN_ORGANIZATION
  13. | HANDSHAKE_RATE_LIMIT_EXCEEDED
  14. | ACCOUNT_NUMBER_LIMIT_EXCEEDED
type nonrec handshake_constraint_violation_exception = {
  1. reason : handshake_constraint_violation_exception_reason option;
  2. message : exception_message option;
}

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.
  • LEGACY_PERMISSIONS_STILL_IN_USE: Your organization must migrate to use the new IAM fine-grained actions for billing, cost management, and accounts.
  • ORGANIZATION_ALREADY_HAS_ALL_FEATURES: The handshake request is invalid because the organization has already enabled 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.
  • 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_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.
  • RESPONSIBILITY_TRANSFER_ALREADY_EXISTS: You cannot perform this operation with the current transfer.
  • SOURCE_AND_TARGET_CANNOT_MATCH: An account can't accept a transfer invitation if it is both the sender and recipient of the invitation.
  • UNUSED_PREPAYMENT_BALANCE: Your organization has an outstanding pre-payment balance.
type nonrec duplicate_handshake_exception = {
  1. message : exception_message option;
}

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.

type nonrec invite_account_to_organization_response = {
  1. handshake : handshake option;
    (*

    A structure that contains details about the handshake that is created to support this invitation request.

    *)
}
type nonrec invite_account_to_organization_request = {
  1. tags : tags option;
    (*

    A list of tags that you want to attach to the account when it becomes a member of the organization. For each tag in the list, you must specify both a tag key and a value. You can set the value to an empty string, but you can't set it to null. For more information about tagging, see Tagging Organizations resources in the Organizations User Guide.

    Any tags in the request are checked for compliance with any applicable tag policies when the request is made. The request is rejected if the tags in the request don't match the requirements of the policy at that time. Tag policy compliance is not checked again when the invitation is accepted and the tags are actually attached to the account. That means that if the tag policy changes between the invitation and the acceptance, then that tags could potentially be non-compliant.

    If any one of the tags is not valid or if you exceed the allowed number of tags for an account, then the entire request fails and invitations are not sent.

    *)
  2. notes : handshake_notes option;
    (*

    Additional information that you want to include in the generated email to the recipient account owner.

    *)
  3. target : handshake_party;
    (*

    The identifier (ID) of the Amazon Web Services account that you want to invite to join your organization. This is a JSON object that contains the following elements:

    \{ "Type": "ACCOUNT", "Id": "<{i  {b account id number} }>" \}

    If you use the CLI, you can submit this as a single string, similar to the following example:

    --target Id=123456789012,Type=ACCOUNT

    If you specify "Type": "ACCOUNT", you must provide the Amazon Web Services account ID number as the Id. If you specify "Type": "EMAIL", you must specify the email address that is associated with the account.

    --target Id=diego@example.com,Type=EMAIL

    *)
}
type nonrec finalizing_organization_exception = {
  1. message : exception_message option;
}

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.

type nonrec account_owner_not_verified_exception = {
  1. message : exception_message option;
}

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.

type nonrec invalid_handshake_transition_exception = {
  1. message : exception_message option;
}

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.

type nonrec iam_user_access_to_billing =
  1. | DENY
  2. | ALLOW
type nonrec handshake_not_found_exception = {
  1. message : exception_message option;
}

We can't find a handshake with the HandshakeId that you specified.

type nonrec handshake_already_in_state_exception = {
  1. message : exception_message option;
}

The specified handshake is already in the requested state. For example, you can't accept a handshake that was already accepted.

type nonrec enable_policy_type_response = {
  1. root : root option;
    (*

    A structure that shows the root with the updated list of enabled policy types.

    *)
}
type nonrec enable_policy_type_request = {
  1. policy_type : policy_type;
  2. root_id : root_id;
    (*

    ID for the root in which you want to enable a policy type. You can get the ID from the ListRoots operation.

    The regex pattern for a root ID string requires "r-" followed by from 4 to 32 lowercase letters or digits.

    *)
}
type nonrec enable_all_features_response = {
  1. handshake : handshake option;
    (*

    A structure that contains details about the handshake created to support this request to enable all features in the organization.

    *)
}
type nonrec enable_all_features_request = unit
type nonrec enable_aws_service_access_request = {
  1. service_principal : service_principal;
    (*

    The service principal name of the Amazon Web Services service for which you want to enable integration with your organization. This is typically in the form of a URL, such as

     {i service-abbreviation}.amazonaws.com

    .

    *)
}
type nonrec effective_policy = {
  1. policy_type : effective_policy_type option;
    (*

    The policy type.

    *)
  2. target_id : policy_target_id option;
    (*

    The account ID of the policy target.

    *)
  3. last_updated_timestamp : timestamp option;
    (*

    The time of the last update to this policy.

    *)
  4. policy_content : policy_content option;
    (*

    The text content of the policy.

    *)
}

Contains rules to be applied to the affected accounts. The effective policy is the aggregation of any policies the account inherits, plus any policy directly attached to the account.

type nonrec duplicate_policy_attachment_exception = {
  1. message : exception_message option;
}

The selected policy is already attached to the specified target.

type nonrec disable_policy_type_response = {
  1. root : root option;
    (*

    A structure that shows the root with the updated list of enabled policy types.

    *)
}
type nonrec disable_policy_type_request = {
  1. policy_type : policy_type;
  2. root_id : root_id;
    (*

    ID for the root in which you want to disable a policy type. You can get the ID from the ListRoots operation.

    The regex pattern for a root ID string requires "r-" followed by from 4 to 32 lowercase letters or digits.

    *)
}
type nonrec disable_aws_service_access_request = {
  1. service_principal : service_principal;
    (*

    The service principal name of the Amazon Web Services service for which you want to disable integration with your organization. This is typically in the form of a URL, such as

     {i service-abbreviation}.amazonaws.com

    .

    *)
}
type nonrec detach_policy_request = {
  1. target_id : policy_target_id;
    (*

    ID for the root, OU, or account that you want to detach the policy from. You can get the ID from the ListRoots, ListOrganizationalUnitsForParent, or ListAccounts operations.

    The regex pattern for a target ID string requires one of the following:

    • Root - A string that begins with "r-" followed by from 4 to 32 lowercase letters or digits.
    • Account - A string that consists of exactly 12 digits.
    • Organizational unit (OU) - A string that begins with "ou-" followed by from 4 to 32 lowercase letters or digits (the ID of the root that the OU is in). This string is followed by a second "-" dash and from 8 to 32 additional lowercase letters or digits.
    *)
  2. policy_id : policy_id;
    (*

    ID for the policy you want to detach. You can get the ID from the ListPolicies or ListPoliciesForTarget operations.

    The regex pattern for a policy ID string requires "p-" followed by from 8 to 128 lowercase or uppercase letters, digits, or the underscore character (_).

    *)
}
type nonrec describe_responsibility_transfer_response = {
  1. responsibility_transfer : responsibility_transfer option;
    (*

    A ResponsibilityTransfer object. Contains details for a transfer.

    *)
}
type nonrec describe_responsibility_transfer_request = {
  1. id : responsibility_transfer_id;
    (*

    ID for the transfer.

    *)
}
type nonrec describe_resource_policy_response = {
  1. resource_policy : resource_policy option;
    (*

    A structure that contains details about the resource policy.

    *)
}
type nonrec describe_policy_response = {
  1. policy : policy option;
    (*

    A structure that contains details about the specified policy.

    *)
}
type nonrec describe_policy_request = {
  1. policy_id : policy_id;
    (*

    ID for the policy that you want details about. You can get the ID from the ListPolicies or ListPoliciesForTarget operations.

    The regex pattern for a policy ID string requires "p-" followed by from 8 to 128 lowercase or uppercase letters, digits, or the underscore character (_).

    *)
}
type nonrec describe_organizational_unit_response = {
  1. organizational_unit : organizational_unit option;
    (*

    A structure that contains details about the specified OU.

    *)
}
type nonrec describe_organizational_unit_request = {
  1. organizational_unit_id : organizational_unit_id;
    (*

    ID for the organizational unit that you want details about. You can get the ID from the ListOrganizationalUnitsForParent operation.

    The regex pattern for an organizational unit ID string requires "ou-" followed by from 4 to 32 lowercase letters or digits (the ID of the root that contains the OU). This string is followed by a second "-" dash and from 8 to 32 additional lowercase letters or digits.

    *)
}
type nonrec describe_organization_response = {
  1. organization : organization option;
    (*

    A structure that contains information about the organization.

    The AvailablePolicyTypes part of the response is deprecated, and you shouldn't use it in your apps. It doesn't include any policy type supported by Organizations other than SCPs. In the China (Ningxia) Region, no policy type is included. To determine which policy types are enabled in your organization, use the

     [ListRoots] 

    operation.

    *)
}
type nonrec describe_handshake_response = {
  1. handshake : handshake option;
    (*

    A Handshake object. Contains details for the handshake.

    *)
}
type nonrec describe_handshake_request = {
  1. handshake_id : handshake_id;
    (*

    ID for the handshake that you want information about.

    The regex pattern for handshake ID string requires "h-" followed by from 8 to 32 lowercase letters or digits.

    *)
}
type nonrec describe_effective_policy_response = {
  1. effective_policy : effective_policy option;
    (*

    The contents of the effective policy.

    *)
}
type nonrec describe_effective_policy_request = {
  1. target_id : policy_target_id option;
    (*

    When you're signed in as the management account, specify the ID of the account that you want details about. Specifying an organization root or organizational unit (OU) as the target is not supported.

    *)
  2. policy_type : effective_policy_type;
}
type nonrec describe_create_account_status_response = {
  1. create_account_status : create_account_status option;
    (*

    A structure that contains the current status of an account creation request.

    *)
}
type nonrec describe_create_account_status_request = {
  1. create_account_request_id : create_account_request_id;
    (*

    Specifies the Id value that uniquely identifies the CreateAccount request. You can get the value from the CreateAccountStatus.Id response in an earlier CreateAccount request, or from the ListCreateAccountStatus operation.

    The regex pattern for a create account request ID string requires "car-" followed by from 8 to 32 lowercase letters or digits.

    *)
}
type nonrec create_account_status_not_found_exception = {
  1. message : exception_message option;
}

We can't find an create account request with the CreateAccountRequestId that you specified.

type nonrec describe_account_response = {
  1. account : account option;
    (*

    A structure that contains information about the requested account.

    The Status parameter in the API response will be retired on September 9, 2026. Although both the account State and account Status parameters are currently available in the Organizations APIs (DescribeAccount, ListAccounts, ListAccountsForParent), we recommend that you update your scripts or other code to use the State parameter instead of Status before September 9, 2026.

    *)
}
type nonrec describe_account_request = {
  1. account_id : account_id;
    (*

    The unique identifier (ID) of the Amazon Web Services account that you want information about. You can get the ID from the ListAccounts or ListAccountsForParent operations.

    The regex pattern for an account ID string requires exactly 12 digits.

    *)
}
type nonrec deregister_delegated_administrator_request = {
  1. service_principal : service_principal;
    (*

    The service principal name of an Amazon Web Services service for which the account is a delegated administrator.

    Delegated administrator privileges are revoked for only the specified Amazon Web Services service from the member account. If the specified service is the only service for which the member account is a delegated administrator, the operation also revokes Organizations read action permissions.

    *)
  2. account_id : account_id;
    (*

    The account ID number of the member account in the organization that you want to deregister as a delegated administrator.

    *)
}
type nonrec delete_policy_request = {
  1. policy_id : policy_id;
    (*

    ID for the policy that you want to delete. You can get the ID from the ListPolicies or ListPoliciesForTarget operations.

    The regex pattern for a policy ID string requires "p-" followed by from 8 to 128 lowercase or uppercase letters, digits, or the underscore character (_).

    *)
}
type nonrec delete_organizational_unit_request = {
  1. organizational_unit_id : organizational_unit_id;
    (*

    ID for the organizational unit that you want to delete. You can get the ID from the ListOrganizationalUnitsForParent operation.

    The regex pattern for an organizational unit ID string requires "ou-" followed by from 4 to 32 lowercase letters or digits (the ID of the root that contains the OU). This string is followed by a second "-" dash and from 8 to 32 additional lowercase letters or digits.

    *)
}
type nonrec decline_handshake_response = {
  1. handshake : handshake option;
    (*

    A Handshake object. Contains details for the declined handshake.

    *)
}
type nonrec decline_handshake_request = {
  1. handshake_id : handshake_id;
    (*

    ID for the handshake that you want to decline. You can get the ID from the ListHandshakesForAccount operation.

    The regex pattern for handshake ID string requires "h-" followed by from 8 to 32 lowercase letters or digits.

    *)
}
type nonrec create_policy_response = {
  1. policy : policy option;
    (*

    A structure that contains details about the newly created policy.

    *)
}
type nonrec create_policy_request = {
  1. tags : tags option;
    (*

    A list of tags that you want to attach to the newly created policy. For each tag in the list, you must specify both a tag key and a value. You can set the value to an empty string, but you can't set it to null. For more information about tagging, see Tagging Organizations resources in the Organizations User Guide.

    If any one of the tags is not valid or if you exceed the allowed number of tags for a policy, then the entire request fails and the policy is not created.

    *)
  2. type_ : policy_type;
  3. name : policy_name;
    (*

    The friendly name to assign to the policy.

    The regex pattern that is used to validate this parameter is a string of any of the characters in the ASCII character range.

    *)
  4. description : policy_description;
    (*

    An optional description to assign to the policy.

    *)
  5. content : policy_content;
    (*

    The policy text content to add to the new policy. The text that you supply must adhere to the rules of the policy type you specify in the Type parameter.

    The maximum size of a policy document depends on the policy's type. For more information, see Maximum and minimum values in the Organizations User Guide.

    *)
}
type nonrec create_organizational_unit_response = {
  1. organizational_unit : organizational_unit option;
    (*

    A structure that contains details about the newly created OU.

    *)
}
type nonrec create_organizational_unit_request = {
  1. tags : tags option;
    (*

    A list of tags that you want to attach to the newly created OU. For each tag in the list, you must specify both a tag key and a value. You can set the value to an empty string, but you can't set it to null. For more information about tagging, see Tagging Organizations resources in the Organizations User Guide.

    If any one of the tags is not valid or if you exceed the allowed number of tags for an OU, then the entire request fails and the OU is not created.

    *)
  2. name : organizational_unit_name;
    (*

    The friendly name to assign to the new OU.

    *)
  3. parent_id : parent_id;
    (*

    ID for the parent root or OU that you want to create the new OU in.

    The regex pattern for a parent ID string requires one of the following:

    • Root - A string that begins with "r-" followed by from 4 to 32 lowercase letters or digits.
    • Organizational unit (OU) - A string that begins with "ou-" followed by from 4 to 32 lowercase letters or digits (the ID of the root that the OU is in). This string is followed by a second "-" dash and from 8 to 32 additional lowercase letters or digits.
    *)
}
type nonrec create_organization_response = {
  1. organization : organization option;
    (*

    A structure that contains details about the newly created organization.

    *)
}
type nonrec create_organization_request = {
  1. feature_set : organization_feature_set option;
    (*

    Specifies the feature set supported by the new organization. Each feature set supports different levels of functionality.

    • CONSOLIDATED_BILLING: All member accounts have their bills consolidated to and paid by the management account. For more information, see Consolidated billing in the Organizations User Guide.

      The consolidated billing feature subset isn't available for organizations in the Amazon Web Services GovCloud (US) Region.

    • ALL: In addition to all the features supported by the consolidated billing feature set, the management account can also apply any policy type to any member account in the organization. For more information, see All features in the Organizations User Guide.
    *)
}
type nonrec already_in_organization_exception = {
  1. message : exception_message option;
}

This account is already a member of an organization. An account can belong to only one organization at a time.

type nonrec access_denied_for_dependency_exception_reason =
  1. | ACCESS_DENIED_DURING_CREATE_SERVICE_LINKED_ROLE
type nonrec access_denied_for_dependency_exception = {
  1. reason : access_denied_for_dependency_exception_reason option;
  2. message : exception_message option;
}

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.

type nonrec create_gov_cloud_account_response = {
  1. create_account_status : create_account_status option;
}
type nonrec create_gov_cloud_account_request = {
  1. tags : tags option;
    (*

    A list of tags that you want to attach to the newly created account. These tags are attached to the commercial account associated with the GovCloud account, and not to the GovCloud account itself. To add tags to the actual GovCloud account, call the TagResource operation in the GovCloud region after the new GovCloud account exists.

    For each tag in the list, you must specify both a tag key and a value. You can set the value to an empty string, but you can't set it to null. For more information about tagging, see Tagging Organizations resources in the Organizations User Guide.

    If any one of the tags is not valid or if you exceed the maximum allowed number of tags for an account, then the entire request fails and the account is not created.

    *)
  2. iam_user_access_to_billing : iam_user_access_to_billing option;
    (*

    If set to ALLOW, the new linked account in the commercial Region enables IAM users to access account billing information if they have the required permissions. If set to DENY, only the root user of the new account can access account billing information. 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.

    If you don't specify this parameter, the value defaults to ALLOW, and IAM users and roles with the required permissions can access billing information for the new account.

    *)
  3. role_name : role_name option;
    (*

    (Optional)

    The name of an IAM role that Organizations automatically preconfigures in the new member accounts in both the Amazon Web Services GovCloud (US) Region and in the commercial Region. This role trusts the management account, allowing users in the management account to assume the role, as permitted by the management account administrator. The role has administrator permissions in the new member account.

    If you don't specify this parameter, the role name defaults to OrganizationAccountAccessRole.

    For more information about how to use this role to access the member account, see the following links:

    The regex pattern that is used to validate this parameter. The pattern can include uppercase letters, lowercase letters, digits with no spaces, and any of the following characters: =,.@-

    *)
  4. account_name : create_account_name;
    (*

    The friendly name of the member account.

    The account name can consist of only the characters [a-z],[A-Z],[0-9], hyphen (-), or dot (.) You can't separate characters with a dash (–).

    *)
  5. email : email;
    (*

    Specifies the email address of the owner to assign to the new member account in the commercial Region. This email address must not already be associated with another Amazon Web Services account. You must use a valid email address to complete account creation.

    The rules for a valid email address:

    • The address must be a minimum of 6 and a maximum of 64 characters long.
    • All characters must be 7-bit ASCII characters.
    • There must be one and only one @ symbol, which separates the local name from the domain name.
    • The local name can't contain any of the following characters:

      whitespace, " ' ( ) < > [ ] : ; , \ | % &

    • The local name can't begin with a dot (.)
    • The domain name can consist of only the characters [a-z],[A-Z],[0-9], hyphen (-), or dot (.)
    • The domain name can't begin or end with a hyphen (-) or dot (.)
    • The domain name must contain at least one dot

    You can't access the root user of the account or remove an account that was created with an invalid email address. Like all request parameters for CreateGovCloudAccount, the request for the email address for the Amazon Web Services GovCloud (US) account originates from the commercial Region, not from the Amazon Web Services GovCloud (US) Region.

    *)
}
type nonrec create_account_response = {
  1. create_account_status : create_account_status option;
    (*

    A structure that contains details about the request to create an account. This response structure might not be fully populated when you first receive it because account creation is an asynchronous process. You can pass the returned CreateAccountStatus ID as a parameter to DescribeCreateAccountStatus to get status about the progress of the request at later times. You can also check the CloudTrail log for the CreateAccountResult event. For more information, see Logging and monitoring in Organizations in the Organizations User Guide.

    *)
}
type nonrec create_account_request = {
  1. tags : tags option;
    (*

    A list of tags that you want to attach to the newly created account. For each tag in the list, you must specify both a tag key and a value. You can set the value to an empty string, but you can't set it to null. For more information about tagging, see Tagging Organizations resources in the Organizations User Guide.

    If any one of the tags is not valid or if you exceed the maximum allowed number of tags for an account, then the entire request fails and the account is not created.

    *)
  2. iam_user_access_to_billing : iam_user_access_to_billing option;
    (*

    If set to ALLOW, the new account enables IAM users to access account billing information if they have the required permissions. If set to DENY, only the root user of the new account can access account billing information. 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.

    If you don't specify this parameter, the value defaults to ALLOW, and IAM users and roles with the required permissions can access billing information for the new account.

    *)
  3. role_name : role_name option;
    (*

    The name of an IAM role that Organizations automatically preconfigures in the new member account. This role trusts the management account, allowing users in the management account to assume the role, as permitted by the management account administrator. The role has administrator permissions in the new member account.

    If you don't specify this parameter, the role name defaults to OrganizationAccountAccessRole.

    For more information about how to use this role to access the member account, see the following links:

    The regex pattern that is used to validate this parameter. The pattern can include uppercase letters, lowercase letters, digits with no spaces, and any of the following characters: =,.@-

    *)
  4. account_name : create_account_name;
    (*

    The friendly name of the member account.

    *)
  5. email : email;
    (*

    The email address of the owner to assign to the new member account. This email address must not already be associated with another Amazon Web Services account. You must use a valid email address to complete account creation.

    The rules for a valid email address:

    • The address must be a minimum of 6 and a maximum of 64 characters long.
    • All characters must be 7-bit ASCII characters.
    • There must be one and only one @ symbol, which separates the local name from the domain name.
    • The local name can't contain any of the following characters:

      whitespace, " ' ( ) < > [ ] : ; , \ | % &

    • The local name can't begin with a dot (.)
    • The domain name can consist of only the characters [a-z],[A-Z],[0-9], hyphen (-), or dot (.)
    • The domain name can't begin or end with a hyphen (-) or dot (.)
    • The domain name must contain at least one dot

    You can't access the root user of the account or remove an account that was created with an invalid email address.

    *)
}
type nonrec conflict_exception = {
  1. message : exception_message option;
}

The request failed because it conflicts with the current state of the specified resource.

type nonrec close_account_request = {
  1. account_id : account_id;
    (*

    Retrieves the Amazon Web Services account Id for the current CloseAccount API request.

    *)
}
type nonrec account_already_closed_exception = {
  1. message : exception_message option;
}

You attempted to close an account that is already closed.

type nonrec cancel_handshake_response = {
  1. handshake : handshake option;
    (*

    A Handshake object. Contains for the handshake that you canceled.

    *)
}
type nonrec cancel_handshake_request = {
  1. handshake_id : handshake_id;
    (*

    ID for the handshake that you want to cancel. You can get the ID from the ListHandshakesForOrganization operation.

    The regex pattern for handshake ID string requires "h-" followed by from 8 to 32 lowercase letters or digits.

    *)
}
type nonrec attach_policy_request = {
  1. target_id : policy_target_id;
    (*

    ID for the root, OU, or account that you want to attach the policy to. You can get the ID by calling the ListRoots, ListOrganizationalUnitsForParent, or ListAccounts operations.

    The regex pattern for a target ID string requires one of the following:

    • Root - A string that begins with "r-" followed by from 4 to 32 lowercase letters or digits.
    • Account - A string that consists of exactly 12 digits.
    • Organizational unit (OU) - A string that begins with "ou-" followed by from 4 to 32 lowercase letters or digits (the ID of the root that the OU is in). This string is followed by a second "-" dash and from 8 to 32 additional lowercase letters or digits.
    *)
  2. policy_id : policy_id;
    (*

    ID for the policy that you want to attach to the target. You can get the ID for the policy by calling the ListPolicies operation.

    The regex pattern for a policy ID string requires "p-" followed by from 8 to 128 lowercase or uppercase letters, digits, or the underscore character (_).

    *)
}
type nonrec accept_handshake_response = {
  1. handshake : handshake option;
    (*

    A Handshake object. Contains details for the handshake.

    *)
}
type nonrec accept_handshake_request = {
  1. handshake_id : handshake_id;
    (*

    ID for the handshake that you want to accept.

    The regex pattern for handshake ID string requires "h-" followed by from 8 to 32 lowercase letters or digits.

    *)
}