Undocumented AWS Mananagement Console API Client
Project description
coto: An AWS Management Console Client
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
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
File details
Details for the file coto-0.4.2.tar.gz
.
File metadata
- Download URL: coto-0.4.2.tar.gz
- Upload date:
- Size: 20.0 kB
- Tags: Source
- Uploaded using 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
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | b39e0f0dbd5ea77d71d0c84c6d15a6d7c0520d04f2a846f9a1982b8fc1025f2b |
|
MD5 | 32b882df397e441749ff38a86954fcdf |
|
BLAKE2b-256 | ede80d1a258eddf7b495706896743fdc7115f8b076d129b401deddcda7c79fe0 |
File details
Details for the file coto-0.4.2-py3.9.egg
.
File metadata
- Download URL: coto-0.4.2-py3.9.egg
- Upload date:
- Size: 60.8 kB
- Tags: Source
- Uploaded using 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
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | f69c38cb9b1592a3de79bcaf1fab040109bdbe4972758b2d7ebf57b640fbfa31 |
|
MD5 | 51675c35710f312cb6e61fc6bd1575e5 |
|
BLAKE2b-256 | 329797fbdc656157f05028dc6ceee0742fc0b038ed114ac9ad9636d39bc7329a |