def create_account(Email=None, AccountName=None, RoleName=None,
    IamUserAccessToBilling=None):
    """
    Creates an AWS account that is automatically a member of the organization whose credentials made the request. This is an asynchronous request that AWS performs in the background. If you want to check the status of the request later, you need the OperationId response element from this operation to provide as a parameter to the  DescribeCreateAccountStatus operation.
    AWS Organizations preconfigures the new member account with a role (named OrganizationAccountAccessRole by default) that grants administrator permissions to the new account. Principals in the master account can assume the role. AWS Organizations clones the company name and address information for the new account from the organization's master account.
    For more information about creating accounts, see Creating an AWS Account in Your Organization in the AWS Organizations User Guide .
    This operation can be called only from the organization's master account.
    See also: AWS API Documentation
    
    
    :example: response = client.create_account(
        Email='string',
        AccountName='string',
        RoleName='string',
        IamUserAccessToBilling='ALLOW'|'DENY'
    )
    
    
    :type Email: string
    :param Email: [REQUIRED]
            The email address of the owner to assign to the new member account. This email address must not already be associated with another AWS account.
            

    :type AccountName: string
    :param AccountName: [REQUIRED]
            The friendly name of the member account.
            

    :type RoleName: string
    :param RoleName: (Optional)
            The name of an IAM role that Organizations automatically preconfigures in the new member account. This role trusts the master account, allowing users in the master account to assume the role, as permitted by the master account administrator. The role has administrator permissions in the new member account.
            If you do not specify this parameter, the role name defaults to OrganizationAccountAccessRole .
            For more information about how to use this role to access the member account, see Accessing and Administering the Member Accounts in Your Organization in the AWS Organizations User Guide , and steps 2 and 3 in Tutorial: Delegate Access Across AWS Accounts Using IAM Roles in the IAM User Guide .
            The regex pattern that is used to validate this parameter is a string of characters that can consist of uppercase letters, lowercase letters, digits with no spaces, and any of the following characters: =,.@-
            

    :type IamUserAccessToBilling: string
    :param IamUserAccessToBilling: 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 , then only the root user of the new account can access account billing information. For more information, see Activating Access to the Billing and Cost Management Console in the AWS Billing and Cost Management User Guide .
            If you do not 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.
            

    :rtype: dict
    :return: {
        'CreateAccountStatus': {
            'Id': 'string',
            'AccountName': 'string',
            'State': 'IN_PROGRESS'|'SUCCEEDED'|'FAILED',
            'RequestedTimestamp': datetime(2015, 1, 1),
            'CompletedTimestamp': datetime(2015, 1, 1),
            'AccountId': 'string',
            'FailureReason': 'ACCOUNT_LIMIT_EXCEEDED'|'EMAIL_ALREADY_EXISTS'|'INVALID_ADDRESS'|'INVALID_EMAIL'|'INTERNAL_FAILURE'
        }
    }
    
    
    :returns: 
    ACCOUNT_LIMIT_EXCEEDED: The account could not be created because you have reached the limit on the number of accounts in your organization.
    EMAIL_ALREADY_EXISTS: The account could not be created because another AWS account with that email address already exists.
    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.
    INTERNAL_FAILURE: The account could not be created because of an internal failure. Try again later. If the problem persists, contact Customer Support.
    
    """
    pass
