Skip to main content

coto: An AWS Management Console Client

Documentation Status Version

Almost any AWS service can be fully controlled using the AWS API, for this we strongly recommend the use of boto3. The problem is, that there exist some administrative tasks for which there is no public API, and there exist some AWS tasks that still require the AWS Account Root User.

For example when creating a new account in an AWS Organization, there are some things that you are unable to do using the documented APIs, such as:

  • set tax registration information (no documented API)
  • set additional contacts (no documented API)
  • reset AWS Account Root User password (no documented API)
  • setup MFA for the AWS Account Root User (requires root user)

Note:

This project provides a client for the undocumented APIs that are used by the AWS Management Console. These APIs will be changing without any upfront warning! As a result of this, coto can break at any moment.

Examples

Login using a boto session.

import boto3
import coto

session = coto.Session(
    boto3_session=boto3.Session()
)

Login using root user password.

import coto

session = coto.Session(
    email='email@example.com',
    password='s3cur3 p4ssw0rd!'
)

Login using root user password with virtual MFA.

import coto

session = coto.Session(
    email='email@example.com',
    password='s3cur3 p4ssw0rd!',
    mfa_secret='MFAxSECRETxSEEDxXXXXXXXXXXXXXXXXXX'
)

Get account information

iam = session.client('iam')
iam.get_account_info()

Set tax registration

billing = session.client('billing')
billing.set_tax_registration(
    TaxRegistration={
        'address': {
            'addressLine1': 'Adresweg 1',
            'addressLine2': None,
            'city': 'Delft',
            'countryCode': 'NL',
            'postalCode': '2600 AA',
            'state': 'Zuid-Holland',
        },
        'authority': {'country': 'NL', 'state': None},
        'legalName': 'Besloten Venootschap B.V.',
        'localTaxRegistration': False,
        'registrationId': 'NL000000000B01',
    }
)

Development

pipenv install -d
pipenv run nosetests tests
cd docs
pipenv run make html

Metadata

Release files for coto 0.4.2

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for coto 0.4.2
File Size Uploaded
coto-0.4.2.tar.gz 20.0 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for coto 0.4.2
File Interpreter ABI Platform
coto-0.4.2-py3.9.egg Legacy Egg format - - Details

Total release size: 80.8 kB

Release files / coto-0.4.2.tar.gz

Download URL coto-0.4.2.tar.gz
Size 20.0 kB
Tags Source
SHA-256 checksum
How to use checksums
b39e0f0dbd5ea77d71d0c84c6d15a6d7c0520d04f2a846f9a1982b8fc1025f2b
BLAKE2b-256 checksum
How to use checksums
ede80d1a258eddf7b495706896743fdc7115f8b076d129b401deddcda7c79fe0
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/3.8.0 pkginfo/1.8.2 readme-renderer/34.0 requests/2.25.1 requests-toolbelt/0.9.1 urllib3/1.26.3 tqdm/4.63.0 importlib-metadata/4.11.3 keyring/23.5.0 rfc3986/2.0.0 colorama/0.4.4 CPython/3.9.10

Release files / coto-0.4.2-py3.9.egg

Download URL coto-0.4.2-py3.9.egg
Size 60.8 kB
Tags Egg
SHA-256 checksum
How to use checksums
f69c38cb9b1592a3de79bcaf1fab040109bdbe4972758b2d7ebf57b640fbfa31
BLAKE2b-256 checksum
How to use checksums
329797fbdc656157f05028dc6ceee0742fc0b038ed114ac9ad9636d39bc7329a
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/3.8.0 pkginfo/1.8.2 readme-renderer/34.0 requests/2.25.1 requests-toolbelt/0.9.1 urllib3/1.26.3 tqdm/4.63.0 importlib-metadata/4.11.3 keyring/23.5.0 rfc3986/2.0.0 colorama/0.4.4 CPython/3.9.10

Release history Release notifications | RSS feed

This release

0.4.2 This release

2 release files

0.4.0

3 release files

0.3.0

2 release files

0.2.4

2 release files

0.2.3

2 release files

0.2.2

2 release files

0.2.1

2 release files

0.2.0

2 release files

0.0.0

1 release file

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page