Continuous Documentation Tool - Documentation as Code Tool - This package create reverse diagrams based on your current state in your cloud environment using diagrams library
Project description
Table of Contents
Reverse Diagrams
Continuous Documentation Tool - Documentation as Code Tool
This package create reverse diagrams based on your current state in your cloud environment.
Requirement
AWS programmatic access using AWS CLI. :arrow_right: Configuring the AWS CLI
Install
pip install reverse-diagrams
Use
The following are the available options
$ reverse_diagrams -h
usage: reverse_diagrams [-h] [-p PROFILE] [-od OUTPUT_DIR_PATH] [-r REGION] [-o] [-i] [-a] [-v] [-d] {watch} ...
Create architecture diagram, inspect and audit your AWS services from your current state.
options:
-h, --help show this help message and exit
-p PROFILE, --profile PROFILE
AWS cli profile for AWS Apis
-od OUTPUT_DIR_PATH, --output_dir_path OUTPUT_DIR_PATH
Name of folder to save the diagrams python code files
-r REGION, --region REGION
AWS region
-o, --graph_organization
Set if you want to create graph for your organization
-i, --graph_identity Set if you want to create graph for your IAM Center
-a, --auto_create Create Automatically diagrams
-v, --version Show version
-d, --debug Debug Mode
Commands:
Command and functionalities
{watch} reverse_diagrams Commands
watch Create pretty console viewexample: reverse_diagrams watch -wi diagrams/json/account_assignments.json
Thanks for using reverse_diagrams!
For example:
reverse_diagrams -p labvel-master -o -i -r us-east-1
❇️ Describe Organization
❇️ Getting Organization Info
❇️ Listing Organizational Units
❇️ Getting the Account list info
ℹ️ There are 11 Accounts in your organization
ℹ️ The accounts are stored in diagrams/json/organizations.json
❇️ Creating diagrams in diagrams/code
❇️ Getting Identity store instance info
❇️ List groups
ℹ️ There are 10 Groups in your Identity Store
❇️ Get groups and Users info
Getting groups members... ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 100% 0:00:07
Getting account assignments ... ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 100% 0:05:23
Create user and groups assignments ... ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 100% 0:00:00
❇️ Getting account assignments, users and groups
ℹ️ The accounts are stored in diagrams/json/account_assignments.json
ℹ️ The accounts are stored in diagrams/json/groups.json
❇️ Creating diagrams in diagrams/code
Then run python3 graph_org.py
to create a png screenshot (organizations-state.png
) for your current state.
Both files are saved into the current directory.
$ reverse_diagrams -p labvel-master -o -r us-east-2
Date: 2022-12-17 22:44:07.623260
❇️ Getting Organization Info
❇️ The Organizational Units list
❇️ Getting the Account list info
Run -> python3 graph_org.py
$ python3 graph_org.py
$ ls
graph_org.py
organizations-state.png
For example:
Now you can edit graph_org.py
file or add to your repositories for keeping the documentation update.
Subcommands
watch
Watch the result in console with a beautiful print style.
reverse_diagrams watch -h
usage: reverse_diagrams watch [-h] [-wo WATCH_GRAPH_ORGANIZATION] [-wi WATCH_GRAPH_IDENTITY] [-wa WATCH_GRAPH_ACCOUNTS_ASSIGNMENTS]
Create view of diagrams in console based on kind of diagram and json file.
options:
-h, --help show this help message and exit
Create view of diagrams in console based on kind of diagram and json file.:
-wo WATCH_GRAPH_ORGANIZATION, --watch_graph_organization WATCH_GRAPH_ORGANIZATION
Set if you want to see graph for your organization structure summary. For example: reverse_diagrams watch watch -wi diagrams/json/organizations.json
-wi WATCH_GRAPH_IDENTITY, --watch_graph_identity WATCH_GRAPH_IDENTITY
Set if you want to see graph for your groups and users. For example: reverse_diagrams watch watch -wi diagrams/json/groups.json
-wa WATCH_GRAPH_ACCOUNTS_ASSIGNMENTS, --watch_graph_accounts_assignments WATCH_GRAPH_ACCOUNTS_ASSIGNMENTS
Set if you want to see graph for your IAM Center- Accounts assignments. For example: reverse_diagrams watch watch -wi
diagrams/json/account_assignments.json.jso
Service supported
AWS Organizations
reverse_diagrams -p my-profile -o -r us-east-2
Identity and Access Manager Center (SSO)
reverse_diagrams -p my-profile -i -r us-east-2
Additional Commands
Combine the options
reverse_diagrams -p my-profile -o -i -r us-east-2
Extras
Enable autocomplete
Argcomplete provides easy, extensible command line tab completion of arguments for your Python application.
It makes two assumptions:
-
You’re using bash or zsh as your shell
-
You’re using argparse to manage your command line arguments/options
Argcomplete is particularly useful if your program has lots of options or subparsers, and if your program can dynamically suggest completions for your argument/option values (for example, if the user is browsing resources over the network). Run:
activate-global-python-argcomplete
and to make sure that bash knows about this script, you use
echo 'eval "$(register-python-argcomplete reverse_diagrams)"' >> ~/.bashrc
source ~/.bashrc
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
Hashes for reverse_diagrams-1.2.2-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 5f79a159d70fccdbc7c19180fd6b8016e402bd31169affa8aeb53863c79667de |
|
MD5 | f3a5f0778fce2127a077346339618553 |
|
BLAKE2b-256 | 91dab94db18be380f1eff6dc0cb703fb5067c5256177d46bd8c1a52c561b17af |