reverse-diagrams 1.2.4__tar.gz → 1.3.1__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (44) hide show
  1. reverse_diagrams-1.3.1/CHANGELOG.md +220 -0
  2. {reverse_diagrams-1.2.4 → reverse_diagrams-1.3.1}/PKG-INFO +42 -11
  3. {reverse_diagrams-1.2.4 → reverse_diagrams-1.3.1}/README.md +41 -10
  4. reverse_diagrams-1.3.1/docs/images/show_console_view.gif +0 -0
  5. {reverse_diagrams-1.2.4 → reverse_diagrams-1.3.1}/pyproject.toml +1 -1
  6. reverse_diagrams-1.3.1/show_console_view.cast +160 -0
  7. {reverse_diagrams-1.2.4 → reverse_diagrams-1.3.1}/src/aws/describe_identity_store.py +11 -7
  8. {reverse_diagrams-1.2.4 → reverse_diagrams-1.3.1}/src/aws/describe_organization.py +64 -47
  9. {reverse_diagrams-1.2.4 → reverse_diagrams-1.3.1}/src/reports/console_view.py +62 -33
  10. {reverse_diagrams-1.2.4 → reverse_diagrams-1.3.1}/src/reverse_diagrams.py +6 -10
  11. {reverse_diagrams-1.2.4 → reverse_diagrams-1.3.1}/src/version.py +1 -1
  12. reverse_diagrams-1.2.4/CHANGELOG.md +0 -103
  13. reverse_diagrams-1.2.4/src/reports/organizations_complete_state.json +0 -93
  14. {reverse_diagrams-1.2.4 → reverse_diagrams-1.3.1}/.github/workflows/publish-to-test-pypi.yml +0 -0
  15. {reverse_diagrams-1.2.4 → reverse_diagrams-1.3.1}/.gitignore +0 -0
  16. {reverse_diagrams-1.2.4 → reverse_diagrams-1.3.1}/.pre-commit-config.yaml +0 -0
  17. {reverse_diagrams-1.2.4 → reverse_diagrams-1.3.1}/LICENSE +0 -0
  18. {reverse_diagrams-1.2.4 → reverse_diagrams-1.3.1}/diagrams/code/graph_org.py +0 -0
  19. {reverse_diagrams-1.2.4 → reverse_diagrams-1.3.1}/diagrams/code/graph_sso.py +0 -0
  20. {reverse_diagrams-1.2.4 → reverse_diagrams-1.3.1}/diagrams/code/graph_sso_complete.py +0 -0
  21. {reverse_diagrams-1.2.4 → reverse_diagrams-1.3.1}/diagrams/code/iam_identity_center.png +0 -0
  22. {reverse_diagrams-1.2.4 → reverse_diagrams-1.3.1}/diagrams/code/organizations-state.png +0 -0
  23. {reverse_diagrams-1.2.4 → reverse_diagrams-1.3.1}/diagrams/code/organizations_complete.json +0 -0
  24. {reverse_diagrams-1.2.4 → reverse_diagrams-1.3.1}/diagrams/code/sso-state.png +0 -0
  25. {reverse_diagrams-1.2.4 → reverse_diagrams-1.3.1}/diagrams/json/account_assignments.json +0 -0
  26. {reverse_diagrams-1.2.4 → reverse_diagrams-1.3.1}/diagrams/json/groups.json +0 -0
  27. {reverse_diagrams-1.2.4 → reverse_diagrams-1.3.1}/diagrams/json/organizations.json +0 -0
  28. {reverse_diagrams-1.2.4 → reverse_diagrams-1.3.1}/diagrams/json/organizations_complete.json +0 -0
  29. {reverse_diagrams-1.2.4 → reverse_diagrams-1.3.1}/docs/images/organizations-state-copy.png +0 -0
  30. {reverse_diagrams-1.2.4 → reverse_diagrams-1.3.1}/src/__init__.py +0 -0
  31. {reverse_diagrams-1.2.4 → reverse_diagrams-1.3.1}/src/aws/__init__.py +0 -0
  32. {reverse_diagrams-1.2.4 → reverse_diagrams-1.3.1}/src/aws/describe_sso.py +0 -0
  33. {reverse_diagrams-1.2.4 → reverse_diagrams-1.3.1}/src/banner/__init__.py +0 -0
  34. {reverse_diagrams-1.2.4 → reverse_diagrams-1.3.1}/src/banner/banner.py +0 -0
  35. {reverse_diagrams-1.2.4 → reverse_diagrams-1.3.1}/src/dgms/__init__.py +0 -0
  36. {reverse_diagrams-1.2.4 → reverse_diagrams-1.3.1}/src/dgms/graph_mapper.py +0 -0
  37. {reverse_diagrams-1.2.4 → reverse_diagrams-1.3.1}/src/dgms/graph_template.py +0 -0
  38. {reverse_diagrams-1.2.4 → reverse_diagrams-1.3.1}/src/reports/__init__.py +0 -0
  39. {reverse_diagrams-1.2.4 → reverse_diagrams-1.3.1}/src/reports/save_results.py +0 -0
  40. {reverse_diagrams-1.2.4 → reverse_diagrams-1.3.1}/src/reports/tes.py +0 -0
  41. {reverse_diagrams-1.2.4 → reverse_diagrams-1.3.1}/test.py +0 -0
  42. {reverse_diagrams-1.2.4 → reverse_diagrams-1.3.1}/test2.py +0 -0
  43. {reverse_diagrams-1.2.4 → reverse_diagrams-1.3.1}/test3.py +0 -0
  44. {reverse_diagrams-1.2.4 → reverse_diagrams-1.3.1}/testdata.txt +0 -0
@@ -0,0 +1,220 @@
1
+ # Changelog
2
+
3
+ All notable changes to this project will be documented in this file.
4
+
5
+ The format is based on [Keep a Changelog](http://keepachangelog.com/en/1.0.0/)
6
+ and this project adheres to [Semantic Versioning](http://semver.org/spec/v2.0.0.html).
7
+
8
+ <!-- insertion marker -->
9
+ ## [v1.3.0](https://github.com/velez94/reverse_diagrams/releases/tag/v1.3.0) - 2024-02-03
10
+
11
+ <small>[Compare with v1.2.0](https://github.com/velez94/reverse_diagrams/compare/v1.2.0...v1.3.0)</small>
12
+
13
+ ### Bug Fixes
14
+
15
+ - fix graph on demand ([e24481a](https://github.com/velez94/reverse_diagrams/commit/e24481a4acb04e1dcfbccfac1392f28d8c3b701f) by wilmar.velezl).
16
+ - get information organization complete just one level of netsted OUs ([a01d149](https://github.com/velez94/reverse_diagrams/commit/a01d14952f56d6a80526db6eaecbc8f859ad705f) by alejandro.velez).
17
+
18
+ ### Features
19
+
20
+ - get organization info into json ([f108156](https://github.com/velez94/reverse_diagrams/commit/f1081560cbd6d4e45f3cefe546dae62b3b67be69) by alejandro.velez).
21
+
22
+ ### Code Refactoring
23
+
24
+ - add interactive option to watch account assigments ([b57cfba](https://github.com/velez94/reverse_diagrams/commit/b57cfba9db5d2f5c0c809506a957da41ea61afe2) by wilmar.velezl).
25
+
26
+ ### Docs
27
+
28
+ - update readme ([1a7a173](https://github.com/velez94/reverse_diagrams/commit/1a7a173642cec9bf08cdd56dbd3499eb70058e95) by alejandro.velez).
29
+
30
+ ## [v1.2.0](https://github.com/velez94/reverse_diagrams/releases/tag/v1.2.0) - 2024-01-31
31
+
32
+ <small>[Compare with v1.1.2](https://github.com/velez94/reverse_diagrams/compare/v1.1.2...v1.2.0)</small>
33
+
34
+ ### Bug Fixes
35
+
36
+ - update version ([57bdb14](https://github.com/velez94/reverse_diagrams/commit/57bdb143631616314fddecd43be3f1211fa387b3) by alejandro.velez).
37
+
38
+ ### Features
39
+
40
+ - add watch subcommand ([a1844c3](https://github.com/velez94/reverse_diagrams/commit/a1844c3b114e3d3174618b5cd50e1d140e4dc5a2) by alejandro.velez).
41
+
42
+ ### Docs
43
+
44
+ - update change log ([8616c15](https://github.com/velez94/reverse_diagrams/commit/8616c1575deff814ee50c5aec4b45c9279d4672e) by alejandro.velez).
45
+
46
+ ## [v1.1.2](https://github.com/velez94/reverse_diagrams/releases/tag/v1.1.2) - 2024-01-31
47
+
48
+ <small>[Compare with v1.1.0](https://github.com/velez94/reverse_diagrams/compare/v1.1.0...v1.1.2)</small>
49
+
50
+ ### Bug Fixes
51
+
52
+ - modify console view according to describe account assgnments information ([5214926](https://github.com/velez94/reverse_diagrams/commit/52149269bad5919fa1f32088774022e1b4d43e10) by wilmar.velezl).
53
+
54
+ ### Docs
55
+
56
+ - update Readme.md ([0e020ac](https://github.com/velez94/reverse_diagrams/commit/0e020acf15522c5355617c014134a95ae0cd97a6) by alejandro.velez).
57
+
58
+ ## [v1.1.0](https://github.com/velez94/reverse_diagrams/releases/tag/v1.1.0) - 2024-01-30
59
+
60
+ <small>[Compare with v1.0.4](https://github.com/velez94/reverse_diagrams/compare/v1.0.4...v1.1.0)</small>
61
+
62
+ ### Bug Fixes
63
+
64
+ - optimize execution describe identity ([717a099](https://github.com/velez94/reverse_diagrams/commit/717a099c9e2b74fa1bc409b2fe651b6722bfe9ff) by alejandro.velez).
65
+
66
+ ### Features
67
+
68
+ - add print to console pretty ([e23dbfb](https://github.com/velez94/reverse_diagrams/commit/e23dbfb2bd8719b4416f7edfb92ab5a52fe5471c) by wilmar.velezl).
69
+
70
+ ### Docs
71
+
72
+ - update changelog ([1dce63d](https://github.com/velez94/reverse_diagrams/commit/1dce63d0bbfef2b6223ebddc1fe3de8866065506) by wilmar.velezl).
73
+ - run pre-commit ([143415f](https://github.com/velez94/reverse_diagrams/commit/143415f200b58cea4b5714b35d379aabcbeab7f4) by wilmar.velezl).
74
+
75
+ ## [v1.0.4](https://github.com/velez94/reverse_diagrams/releases/tag/v1.0.4) - 2024-01-29
76
+
77
+ <small>[Compare with v1.0.2](https://github.com/velez94/reverse_diagrams/compare/v1.0.2...v1.0.4)</small>
78
+
79
+ ### Bug Fixes
80
+
81
+ - optimize execution describe identity ([2db7868](https://github.com/velez94/reverse_diagrams/commit/2db7868647e002435d082616c1afa9900ffcf6e7) by alejandro.velez).
82
+
83
+ ## [v1.0.2](https://github.com/velez94/reverse_diagrams/releases/tag/v1.0.2) - 2024-01-29
84
+
85
+ <small>[Compare with v1.0.1](https://github.com/velez94/reverse_diagrams/compare/v1.0.1...v1.0.2)</small>
86
+
87
+ ### Bug Fixes
88
+
89
+ - repair describe organizations function ([a8e0f2b](https://github.com/velez94/reverse_diagrams/commit/a8e0f2b341bf0cb1d17576d2aa57f9a51f027463) by alejandro.velez).
90
+
91
+ ### Code Refactoring
92
+
93
+ - refactor getting account assignments ([9c77a98](https://github.com/velez94/reverse_diagrams/commit/9c77a985e93ddd4a86158fda123752b18673c1a9) by alejandro.velez).
94
+
95
+ ## [v1.0.1](https://github.com/velez94/reverse_diagrams/releases/tag/v1.0.1) - 2024-01-29
96
+
97
+ <small>[Compare with v1.0.0](https://github.com/velez94/reverse_diagrams/compare/v1.0.0...v1.0.1)</small>
98
+
99
+ ### Code Refactoring
100
+
101
+ - refactor getting account assignments ([42f29cd](https://github.com/velez94/reverse_diagrams/commit/42f29cd131f356b871b2c2aed8f7a996ed114435) by alejandro.velez).
102
+
103
+ ### Docs
104
+
105
+ - add changelog ([f57076c](https://github.com/velez94/reverse_diagrams/commit/f57076c0f8cf9cbdc9b2a286c6ef3ee553dc3818) by alejandro.velez).
106
+
107
+ ## [v1.0.0](https://github.com/velez94/reverse_diagrams/releases/tag/v1.0.0) - 2024-01-29
108
+
109
+ <small>[Compare with v0.2.5](https://github.com/velez94/reverse_diagrams/compare/v0.2.5...v1.0.0)</small>
110
+
111
+ ### Features
112
+
113
+ - v1.0.0 release beta ([8c2fcb2](https://github.com/velez94/reverse_diagrams/commit/8c2fcb253fc0bc4b5dbfdf292979d9fd63c3393f) by alejandro.velez).
114
+ - update license ([e6446f0](https://github.com/velez94/reverse_diagrams/commit/e6446f059cbfd52708f4f3fa5b0bbc33d7af5dae) by alejandro.velez).
115
+ - add workflow ([4800e02](https://github.com/velez94/reverse_diagrams/commit/4800e0215336b6e3d54be7dbc6f72b5608ed2847) by alejandro.velez).
116
+ - add pagination option to get group members ([79f26e7](https://github.com/velez94/reverse_diagrams/commit/79f26e7729655e2c0acc220d1daaa909b47e2b24) by wilmar.velezl).
117
+
118
+ ## [v0.2.5](https://github.com/velez94/reverse_diagrams/releases/tag/v0.2.5) - 2023-01-30
119
+
120
+ <small>[Compare with v0.2.3](https://github.com/velez94/reverse_diagrams/compare/v0.2.3...v0.2.5)</small>
121
+
122
+ ## [v0.2.3](https://github.com/velez94/reverse_diagrams/releases/tag/v0.2.3) - 2023-01-30
123
+
124
+ <small>[Compare with first commit](https://github.com/velez94/reverse_diagrams/compare/9ee05c383bf95a8f575e794e08b52672ad7c16cb...v0.2.3)</small>
125
+
126
+ ## [v1.2.1](https://github.com/velez94/reverse_diagrams/releases/tag/v1.2.1) - 2024-01-31
127
+
128
+ <small>[Compare with v1.2.0](https://github.com/velez94/reverse_diagrams/compare/v1.2.0...v1.2.1)</small>
129
+
130
+ ### Docs
131
+
132
+ - update readme ([4510b94](https://github.com/velez94/reverse_diagrams/commit/4510b948f8571dbd8bec1f82e7ceb57bea426dd7) by alejandro.velez).
133
+
134
+ ## [v1.2.0](https://github.com/velez94/reverse_diagrams/releases/tag/v1.2.0) - 2024-01-31
135
+
136
+ <small>[Compare with v1.1.2](https://github.com/velez94/reverse_diagrams/compare/v1.1.2...v1.2.0)</small>
137
+
138
+ ### Features
139
+
140
+ - add watch subcommand ([a1844c3](https://github.com/velez94/reverse_diagrams/commit/a1844c3b114e3d3174618b5cd50e1d140e4dc5a2) by alejandro.velez).
141
+
142
+ ## [v1.1.2](https://github.com/velez94/reverse_diagrams/releases/tag/v1.1.2) - 2024-01-31
143
+
144
+ <small>[Compare with v1.1.0](https://github.com/velez94/reverse_diagrams/compare/v1.1.0...v1.1.2)</small>
145
+
146
+ ### Bug Fixes
147
+
148
+ - modify console view according to describe account assgnments information ([5214926](https://github.com/velez94/reverse_diagrams/commit/52149269bad5919fa1f32088774022e1b4d43e10) by wilmar.velezl).
149
+
150
+ ### Docs
151
+
152
+ - update Readme.md ([0e020ac](https://github.com/velez94/reverse_diagrams/commit/0e020acf15522c5355617c014134a95ae0cd97a6) by alejandro.velez).
153
+
154
+ ## [v1.1.0](https://github.com/velez94/reverse_diagrams/releases/tag/v1.1.0) - 2024-01-30
155
+
156
+ <small>[Compare with v1.0.4](https://github.com/velez94/reverse_diagrams/compare/v1.0.4...v1.1.0)</small>
157
+
158
+ ### Bug Fixes
159
+
160
+ - optimize execution describe identity ([717a099](https://github.com/velez94/reverse_diagrams/commit/717a099c9e2b74fa1bc409b2fe651b6722bfe9ff) by alejandro.velez).
161
+
162
+ ### Features
163
+
164
+ - add print to console pretty ([e23dbfb](https://github.com/velez94/reverse_diagrams/commit/e23dbfb2bd8719b4416f7edfb92ab5a52fe5471c) by wilmar.velezl).
165
+
166
+ ### Docs
167
+
168
+ - update changelog ([1dce63d](https://github.com/velez94/reverse_diagrams/commit/1dce63d0bbfef2b6223ebddc1fe3de8866065506) by wilmar.velezl).
169
+ - run pre-commit ([143415f](https://github.com/velez94/reverse_diagrams/commit/143415f200b58cea4b5714b35d379aabcbeab7f4) by wilmar.velezl).
170
+
171
+ ## [v1.0.4](https://github.com/velez94/reverse_diagrams/releases/tag/v1.0.4) - 2024-01-29
172
+
173
+ <small>[Compare with v1.0.2](https://github.com/velez94/reverse_diagrams/compare/v1.0.2...v1.0.4)</small>
174
+
175
+ ### Bug Fixes
176
+
177
+ - optimize execution describe identity ([2db7868](https://github.com/velez94/reverse_diagrams/commit/2db7868647e002435d082616c1afa9900ffcf6e7) by alejandro.velez).
178
+
179
+ ## [v1.0.2](https://github.com/velez94/reverse_diagrams/releases/tag/v1.0.2) - 2024-01-29
180
+
181
+ <small>[Compare with v1.0.1](https://github.com/velez94/reverse_diagrams/compare/v1.0.1...v1.0.2)</small>
182
+
183
+ ### Bug Fixes
184
+
185
+ - repair describe organizations function ([a8e0f2b](https://github.com/velez94/reverse_diagrams/commit/a8e0f2b341bf0cb1d17576d2aa57f9a51f027463) by alejandro.velez).
186
+
187
+ ### Code Refactoring
188
+
189
+ - refactor getting account assignments ([9c77a98](https://github.com/velez94/reverse_diagrams/commit/9c77a985e93ddd4a86158fda123752b18673c1a9) by alejandro.velez).
190
+
191
+ ## [v1.0.1](https://github.com/velez94/reverse_diagrams/releases/tag/v1.0.1) - 2024-01-29
192
+
193
+ <small>[Compare with v1.0.0](https://github.com/velez94/reverse_diagrams/compare/v1.0.0...v1.0.1)</small>
194
+
195
+ ### Code Refactoring
196
+
197
+ - refactor getting account assignments ([42f29cd](https://github.com/velez94/reverse_diagrams/commit/42f29cd131f356b871b2c2aed8f7a996ed114435) by alejandro.velez).
198
+
199
+ ### Docs
200
+
201
+ - add changelog ([f57076c](https://github.com/velez94/reverse_diagrams/commit/f57076c0f8cf9cbdc9b2a286c6ef3ee553dc3818) by alejandro.velez).
202
+
203
+ ## [v1.0.0](https://github.com/velez94/reverse_diagrams/releases/tag/v1.0.0) - 2024-01-29
204
+
205
+ <small>[Compare with v0.2.5](https://github.com/velez94/reverse_diagrams/compare/v0.2.5...v1.0.0)</small>
206
+
207
+ ### Features
208
+
209
+ - v1.0.0 release beta ([8c2fcb2](https://github.com/velez94/reverse_diagrams/commit/8c2fcb253fc0bc4b5dbfdf292979d9fd63c3393f) by alejandro.velez).
210
+ - update license ([e6446f0](https://github.com/velez94/reverse_diagrams/commit/e6446f059cbfd52708f4f3fa5b0bbc33d7af5dae) by alejandro.velez).
211
+ - add workflow ([4800e02](https://github.com/velez94/reverse_diagrams/commit/4800e0215336b6e3d54be7dbc6f72b5608ed2847) by alejandro.velez).
212
+ - add pagination option to get group members ([79f26e7](https://github.com/velez94/reverse_diagrams/commit/79f26e7729655e2c0acc220d1daaa909b47e2b24) by wilmar.velezl).
213
+
214
+ ## [v0.2.5](https://github.com/velez94/reverse_diagrams/releases/tag/v0.2.5) - 2023-01-30
215
+
216
+ <small>[Compare with v0.2.3](https://github.com/velez94/reverse_diagrams/compare/v0.2.3...v0.2.5)</small>
217
+
218
+ ## [v0.2.3](https://github.com/velez94/reverse_diagrams/releases/tag/v0.2.3) - 2023-01-30
219
+
220
+ <small>[Compare with first commit](https://github.com/velez94/reverse_diagrams/compare/9ee05c383bf95a8f575e794e08b52672ad7c16cb...v0.2.3)</small>
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: reverse_diagrams
3
- Version: 1.2.4
3
+ Version: 1.3.1
4
4
  Summary: Continuous Documentation Tool - Documentation as Code Tool - This package create reverse diagrams based on your current state in your cloud environment using diagrams library
5
5
  Project-URL: Homepage, https://github.com/velez94/reverse_diagrams
6
6
  Project-URL: Bug Tracker, https://github.com/velez94/reverse_diagrams/issues
@@ -40,10 +40,12 @@ Description-Content-Type: text/markdown
40
40
  - [Use](#use)
41
41
  - [Subcommands](#subcommands)
42
42
  - [watch](#watch)
43
- - [Service supported](#service-supported)
44
- - [AWS Organizations](#aws-organizations)
45
- - [Identity and Access Manager Center (SSO)](#identity-and-access-manager-center-sso)
46
- - [Additional Commands](#additional-commands)
43
+ - [Service supported](#service-supported)
44
+ - [AWS Organizations](#aws-organizations)
45
+ - [Identity and Access Manager Center (SSO)](#identity-and-access-manager-center-sso)
46
+ - [Additional Commands](#additional-commands)
47
+ - [watch](#watch-1)
48
+ - [Options](#options)
47
49
  - [Combine the options](#combine-the-options)
48
50
  - [Extras](#extras)
49
51
  - [Enable autocomplete](#enable-autocomplete)
@@ -54,10 +56,11 @@ Description-Content-Type: text/markdown
54
56
 
55
57
  > Continuous Documentation Tool - Documentation as Code Tool
56
58
 
57
- This package create reverse diagrams based on your current state in your cloud environment.
59
+ This package create diagrams and help to audit your services from your shell.
60
+
58
61
  # Requirement
59
62
 
60
- AWS programmatic access using AWS CLI. :arrow_right: [Configuring the AWS CLI](https://docs.aws.amazon.com/cli/latest/userguide/cli-chap-configure.html)
63
+ AWS programmatic access using AWS CLI. [Configuring the AWS CLI](https://docs.aws.amazon.com/cli/latest/userguide/cli-chap-configure.html)
61
64
 
62
65
 
63
66
  # Install
@@ -170,19 +173,47 @@ Create view of diagrams in console based on kind of diagram and json file.:
170
173
  diagrams/json/account_assignments.json.jso
171
174
  ```
172
175
 
173
- ## Service supported
176
+ # Service supported
174
177
 
175
- #### AWS Organizations
178
+ ## AWS Organizations
176
179
 
177
180
  ```commandline
178
181
  reverse_diagrams -p my-profile -o -r us-east-2
179
182
  ```
180
- #### Identity and Access Manager Center (SSO)
183
+ ## Identity and Access Manager Center (SSO)
181
184
 
182
185
  ```commandline
183
186
  reverse_diagrams -p my-profile -i -r us-east-2
184
187
  ```
185
- ## Additional Commands
188
+ # Additional Commands
189
+
190
+ ## watch
191
+ You can watch the configuration and summary in your shell based on json files generated previously.
192
+
193
+ ### Options
194
+
195
+ ```commandline
196
+ $ reverse_diagrams watch -h
197
+ usage: reverse_diagrams watch [-h] [-wo WATCH_GRAPH_ORGANIZATION] [-wi WATCH_GRAPH_IDENTITY] [-wa WATCH_GRAPH_ACCOUNTS_ASSIGNMENTS]
198
+
199
+ Create view of diagrams in console based on kind of diagram and json file.
200
+
201
+ options:
202
+ -h, --help show this help message and exit
203
+
204
+ Create view of diagrams in console based on kind of diagram and json file.:
205
+ -wo WATCH_GRAPH_ORGANIZATION, --watch_graph_organization WATCH_GRAPH_ORGANIZATION
206
+ Set if you want to see graph for your organization structure summary. For example: reverse_diagrams watch watch -wo diagrams/json/organizations.json
207
+ -wi WATCH_GRAPH_IDENTITY, --watch_graph_identity WATCH_GRAPH_IDENTITY
208
+ Set if you want to see graph for your groups and users. For example: reverse_diagrams watch watch -wi diagrams/json/groups.json
209
+ -wa WATCH_GRAPH_ACCOUNTS_ASSIGNMENTS, --watch_graph_accounts_assignments WATCH_GRAPH_ACCOUNTS_ASSIGNMENTS
210
+ Set if you want to see graph for your IAM Center- Accounts assignments. For example: reverse_diagrams watch watch -wa diagrams/json/account_assignments.json
211
+
212
+ ```
213
+
214
+ For example, to watch account assignments:
215
+
216
+ ![view Acoount assigments](docs/images/show_console_view.gif)
186
217
 
187
218
  ### Combine the options
188
219
 
@@ -8,10 +8,12 @@
8
8
  - [Use](#use)
9
9
  - [Subcommands](#subcommands)
10
10
  - [watch](#watch)
11
- - [Service supported](#service-supported)
12
- - [AWS Organizations](#aws-organizations)
13
- - [Identity and Access Manager Center (SSO)](#identity-and-access-manager-center-sso)
14
- - [Additional Commands](#additional-commands)
11
+ - [Service supported](#service-supported)
12
+ - [AWS Organizations](#aws-organizations)
13
+ - [Identity and Access Manager Center (SSO)](#identity-and-access-manager-center-sso)
14
+ - [Additional Commands](#additional-commands)
15
+ - [watch](#watch-1)
16
+ - [Options](#options)
15
17
  - [Combine the options](#combine-the-options)
16
18
  - [Extras](#extras)
17
19
  - [Enable autocomplete](#enable-autocomplete)
@@ -22,10 +24,11 @@
22
24
 
23
25
  > Continuous Documentation Tool - Documentation as Code Tool
24
26
 
25
- This package create reverse diagrams based on your current state in your cloud environment.
27
+ This package create diagrams and help to audit your services from your shell.
28
+
26
29
  # Requirement
27
30
 
28
- AWS programmatic access using AWS CLI. :arrow_right: [Configuring the AWS CLI](https://docs.aws.amazon.com/cli/latest/userguide/cli-chap-configure.html)
31
+ AWS programmatic access using AWS CLI. [Configuring the AWS CLI](https://docs.aws.amazon.com/cli/latest/userguide/cli-chap-configure.html)
29
32
 
30
33
 
31
34
  # Install
@@ -138,19 +141,47 @@ Create view of diagrams in console based on kind of diagram and json file.:
138
141
  diagrams/json/account_assignments.json.jso
139
142
  ```
140
143
 
141
- ## Service supported
144
+ # Service supported
142
145
 
143
- #### AWS Organizations
146
+ ## AWS Organizations
144
147
 
145
148
  ```commandline
146
149
  reverse_diagrams -p my-profile -o -r us-east-2
147
150
  ```
148
- #### Identity and Access Manager Center (SSO)
151
+ ## Identity and Access Manager Center (SSO)
149
152
 
150
153
  ```commandline
151
154
  reverse_diagrams -p my-profile -i -r us-east-2
152
155
  ```
153
- ## Additional Commands
156
+ # Additional Commands
157
+
158
+ ## watch
159
+ You can watch the configuration and summary in your shell based on json files generated previously.
160
+
161
+ ### Options
162
+
163
+ ```commandline
164
+ $ reverse_diagrams watch -h
165
+ usage: reverse_diagrams watch [-h] [-wo WATCH_GRAPH_ORGANIZATION] [-wi WATCH_GRAPH_IDENTITY] [-wa WATCH_GRAPH_ACCOUNTS_ASSIGNMENTS]
166
+
167
+ Create view of diagrams in console based on kind of diagram and json file.
168
+
169
+ options:
170
+ -h, --help show this help message and exit
171
+
172
+ Create view of diagrams in console based on kind of diagram and json file.:
173
+ -wo WATCH_GRAPH_ORGANIZATION, --watch_graph_organization WATCH_GRAPH_ORGANIZATION
174
+ Set if you want to see graph for your organization structure summary. For example: reverse_diagrams watch watch -wo diagrams/json/organizations.json
175
+ -wi WATCH_GRAPH_IDENTITY, --watch_graph_identity WATCH_GRAPH_IDENTITY
176
+ Set if you want to see graph for your groups and users. For example: reverse_diagrams watch watch -wi diagrams/json/groups.json
177
+ -wa WATCH_GRAPH_ACCOUNTS_ASSIGNMENTS, --watch_graph_accounts_assignments WATCH_GRAPH_ACCOUNTS_ASSIGNMENTS
178
+ Set if you want to see graph for your IAM Center- Accounts assignments. For example: reverse_diagrams watch watch -wa diagrams/json/account_assignments.json
179
+
180
+ ```
181
+
182
+ For example, to watch account assignments:
183
+
184
+ ![view Acoount assigments](docs/images/show_console_view.gif)
154
185
 
155
186
  ### Combine the options
156
187
 
@@ -4,7 +4,7 @@ build-backend = "hatchling.build"
4
4
 
5
5
  [project]
6
6
  name = "reverse_diagrams"
7
- version = "1.2.4"
7
+ version = "1.3.1"
8
8
  authors = [
9
9
  { name = "Alejandro Velez", email = "avelez@labvel.io" },
10
10
  ]
@@ -0,0 +1,160 @@
1
+ {"version": 2, "width": 228, "height": 39, "timestamp": 1706995448, "env": {"SHELL": "/bin/bash", "TERM": "xterm-256color"}}
2
+ [0.827773, "o", "\u001b[?2004h\u001b]0;labvel@VelPro: ~/projects/tools/reverse_diagram\u0007\u001b[01;32mlabvel@VelPro\u001b[00m:\u001b[01;34m~/projects/tools/reverse_diagram\u001b[00m$ "]
3
+ [2.223691, "o", "r"]
4
+ [2.249747, "o", "e"]
5
+ [2.956989, "o", "v"]
6
+ [3.055056, "o", "e"]
7
+ [3.15205, "o", "r"]
8
+ [3.542826, "o", "s"]
9
+ [3.763098, "o", "e"]
10
+ [6.101301, "o", "_diagrams "]
11
+ [9.211815, "o", "w"]
12
+ [9.443427, "o", "a"]
13
+ [9.733763, "o", "t"]
14
+ [10.025879, "o", "h"]
15
+ [11.12321, "o", "c"]
16
+ [11.53722, "o", "\b\u001b[K"]
17
+ [11.683835, "o", "\b\u001b[K"]
18
+ [11.8305, "o", "c"]
19
+ [11.977883, "o", "h"]
20
+ [12.270243, "o", " "]
21
+ [13.000114, "o", "-"]
22
+ [14.462642, "o", "w"]
23
+ [14.68208, "o", "a"]
24
+ [14.951478, "o", " "]
25
+ [16.169336, "o", "d"]
26
+ [16.243394, "o", "i"]
27
+ [16.412736, "o", "a"]
28
+ [17.147224, "o", "grams/"]
29
+ [17.679768, "o", "j"]
30
+ [17.900295, "o", "s"]
31
+ [18.539112, "o", "on/"]
32
+ [19.411246, "o", "a"]
33
+ [19.629954, "o", "c"]
34
+ [19.776335, "o", "c"]
35
+ [20.222914, "o", "ount_assignments.json "]
36
+ [21.67721, "o", "\r\n"]
37
+ [21.677286, "o", "\u001b[?2004l\r"]
38
+ [21.894967, "o", "\u001b[J\r\u001b7\u001b[227;1H\u001b[J\u001b8"]
39
+ [21.895035, "o", "\r\n\u001b[A\u001b[K\u001b(B\u001b[m[\u001b[33m?\u001b(B\u001b[m]\u001b(B\u001b[m Do you want to watch all account assignments or account by account?: all\r\n \u001b[36m> all\u001b(B\u001b[m\u001b[K\r\n \u001b(B\u001b[m one-at-time\u001b(B\u001b[m\u001b[K\r\n"]
40
+ [23.529819, "o", "\r"]
41
+ [23.529993, "o", "\u001b[A\u001b[A\u001b[A\r"]
42
+ [23.530076, "o", "\u001b7\u001b[227;1H\u001b[J\u001b8\r\n\u001b[A\u001b[K\u001b(B\u001b[m[\u001b[33m?\u001b(B\u001b[m]\u001b(B\u001b[m Do you want to watch all account assignments or account by account?: one-at-time\r\n"]
43
+ [23.53015, "o", " \u001b(B\u001b[m all\u001b(B\u001b[m\u001b[K\r\n \u001b[36m> one-at-time\u001b(B\u001b[m\u001b[K\r\n"]
44
+ [23.871457, "o", "\r\u001b[A\u001b[A\u001b[A\r"]
45
+ [23.871539, "o", "\u001b7\u001b[227;1H\u001b[J\u001b8\r\n\u001b[A\u001b[K\u001b(B\u001b[m[\u001b[33m?\u001b(B\u001b[m]\u001b(B\u001b[m Do you want to watch all account assignments or account by account?: all\r\n \u001b[36m> all\u001b(B\u001b[m\u001b[K\r\n"]
46
+ [23.871655, "o", " \u001b(B\u001b[m one-at-time\u001b(B\u001b[m\u001b[K\r\n"]
47
+ [24.23765, "o", "\r\u001b[A\u001b[A\u001b[A\r"]
48
+ [24.237752, "o", "\u001b7\u001b[227;1H\u001b[J\u001b8"]
49
+ [24.237779, "o", "\r\n\u001b[A\u001b[K\u001b(B\u001b[m[\u001b[33m?\u001b(B\u001b[m]\u001b(B\u001b[m Do you want to watch all account assignments or account by account?: one-at-time\r\n"]
50
+ [24.237819, "o", " \u001b(B\u001b[m all\u001b(B\u001b[m\u001b[K\r\n \u001b[36m> one-at-time\u001b(B\u001b[m\u001b[K\r\n"]
51
+ [25.04349, "o", "\r\n"]
52
+ [25.045331, "o", "\u001b[J\r\u001b7\u001b[227;1H"]
53
+ [25.045371, "o", "\u001b[J\u001b8"]
54
+ [25.045408, "o", "\r\n\u001b[A\u001b[K\u001b(B\u001b[m[\u001b[33m?\u001b(B\u001b[m]\u001b(B\u001b[m Which account do you want to see?: Log archive\r\n"]
55
+ [25.045417, "o", " \u001b[36m> Log archive\u001b(B\u001b[m\u001b[K\r\n"]
56
+ [25.045462, "o", " \u001b(B\u001b[m SecOps\u001b(B\u001b[m\u001b[K\r\n \u001b(B\u001b[m Prod\u001b(B\u001b[m\u001b[K\r\n \u001b(B\u001b[m SecurityTooling\u001b(B\u001b[m\u001b[K\r\n"]
57
+ [25.045508, "o", " \u001b(B\u001b[m DevSecOps\u001b(B\u001b[m\u001b[K\r\n"]
58
+ [25.045707, "o", " \u001b(B\u001b[m Ops\u001b(B\u001b[m\u001b[K\r\n \u001b(B\u001b[m SharedServices\u001b(B\u001b[m\u001b[K\r\n \u001b(B\u001b[m ClowPiloto\u001b(B\u001b[m\u001b[K\r\n \u001b(B\u001b[m LabVel\u001b(B\u001b[m\u001b[K\r\n \u001b(B\u001b[m OrganizationManager\u001b(B\u001b[m\u001b[K\r\n \u001b(B\u001b[m Dev\u001b(B\u001b[m\u001b[K\r\n"]
59
+ [25.942627, "o", "\r\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\r"]
60
+ [25.942693, "o", "\u001b7\u001b[227;1H"]
61
+ [25.942714, "o", "\u001b[J\u001b8"]
62
+ [25.942951, "o", "\r\n\u001b[A\u001b[K\u001b(B\u001b[m[\u001b[33m?\u001b(B\u001b[m]\u001b(B\u001b[m Which account do you want to see?: SecOps\r\n \u001b(B\u001b[m Log archive\u001b(B\u001b[m\u001b[K\r\n \u001b[36m> SecOps\u001b(B\u001b[m\u001b[K\r\n \u001b(B\u001b[m Prod\u001b(B\u001b[m\u001b[K\r\n"]
63
+ [25.943089, "o", " \u001b(B\u001b[m SecurityTooling\u001b(B\u001b[m\u001b[K\r\n \u001b(B\u001b[m DevSecOps\u001b(B\u001b[m\u001b[K\r\n \u001b(B\u001b[m Ops\u001b(B\u001b[m\u001b[K\r\n \u001b(B\u001b[m SharedServices\u001b(B\u001b[m\u001b[K\r\n \u001b(B\u001b[m ClowPiloto\u001b(B\u001b[m\u001b[K\r\n \u001b(B\u001b[m LabVel\u001b(B\u001b[m\u001b[K\r\n \u001b(B\u001b[m OrganizationManager\u001b(B\u001b[m\u001b[K\r\n \u001b(B\u001b[m Dev\u001b(B\u001b[m\u001b[K\r\n"]
64
+ [26.138769, "o", "\r\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\r"]
65
+ [26.138911, "o", "\u001b7\u001b[227;1H\u001b[J\u001b8"]
66
+ [26.139167, "o", "\r\n\u001b[A\u001b[K\u001b(B\u001b[m[\u001b[33m?\u001b(B\u001b[m]\u001b(B\u001b[m Which account do you want to see?: Prod\r\n \u001b(B\u001b[m Log archive\u001b(B\u001b[m\u001b[K\r\n \u001b(B\u001b[m SecOps\u001b(B\u001b[m\u001b[K\r\n"]
67
+ [26.139211, "o", " \u001b[36m> Prod\u001b(B\u001b[m\u001b[K\r\n \u001b(B\u001b[m SecurityTooling\u001b(B\u001b[m\u001b[K\r\n"]
68
+ [26.139341, "o", " \u001b(B\u001b[m DevSecOps\u001b(B\u001b[m\u001b[K\r\n \u001b(B\u001b[m Ops\u001b(B\u001b[m\u001b[K\r\n \u001b(B\u001b[m SharedServices\u001b(B\u001b[m\u001b[K\r\n \u001b(B\u001b[m ClowPiloto\u001b(B\u001b[m\u001b[K\r\n \u001b(B\u001b[m LabVel\u001b(B\u001b[m\u001b[K\r\n \u001b(B\u001b[m OrganizationManager\u001b(B\u001b[m\u001b[K\r\n \u001b(B\u001b[m Dev\u001b(B\u001b[m\u001b[K\r\n"]
69
+ [26.33296, "o", "\r"]
70
+ [26.333026, "o", "\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\r"]
71
+ [26.333265, "o", "\u001b7\u001b[227;1H\u001b[J\u001b8"]
72
+ [26.333371, "o", "\r\n\u001b[A\u001b[K\u001b(B\u001b[m[\u001b[33m?\u001b(B\u001b[m]\u001b(B\u001b[m Which account do you want to see?: SecurityTooling\r\n \u001b(B\u001b[m Log archive\u001b(B\u001b[m\u001b[K\r\n \u001b(B\u001b[m SecOps\u001b(B\u001b[m\u001b[K\r\n \u001b(B\u001b[m Prod\u001b(B\u001b[m\u001b[K\r\n"]
73
+ [26.333414, "o", " \u001b[36m> SecurityTooling\u001b(B\u001b[m\u001b[K\r\n \u001b(B\u001b[m DevSecOps\u001b(B\u001b[m\u001b[K\r\n \u001b(B\u001b[m Ops\u001b(B\u001b[m\u001b[K\r\n \u001b(B\u001b[m SharedServices\u001b(B\u001b[m\u001b[K\r\n \u001b(B\u001b[m ClowPiloto\u001b(B\u001b[m\u001b[K\r\n \u001b(B\u001b[m LabVel\u001b(B\u001b[m\u001b[K\r\n \u001b(B\u001b[m OrganizationManager\u001b(B\u001b[m\u001b[K\r\n \u001b(B\u001b[m Dev\u001b(B\u001b[m\u001b[K\r\n"]
74
+ [26.577296, "o", "\r\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\r"]
75
+ [26.577354, "o", "\u001b7\u001b[227;1H"]
76
+ [26.57737, "o", "\u001b[J\u001b8"]
77
+ [26.577554, "o", "\r\n\u001b[A\u001b[K\u001b(B\u001b[m[\u001b[33m?\u001b(B\u001b[m]\u001b(B\u001b[m Which account do you want to see?: DevSecOps\r\n"]
78
+ [26.577707, "o", " \u001b(B\u001b[m Log archive\u001b(B\u001b[m\u001b[K\r\n \u001b(B\u001b[m SecOps\u001b(B\u001b[m\u001b[K\r\n \u001b(B\u001b[m Prod\u001b(B\u001b[m\u001b[K\r\n \u001b(B\u001b[m SecurityTooling\u001b(B\u001b[m\u001b[K\r\n"]
79
+ [26.577733, "o", " \u001b[36m> DevSecOps\u001b(B\u001b[m\u001b[K\r\n \u001b(B\u001b[m Ops\u001b(B\u001b[m\u001b[K\r\n \u001b(B\u001b[m SharedServices\u001b(B\u001b[m\u001b[K\r\n \u001b(B\u001b[m ClowPiloto\u001b(B\u001b[m\u001b[K\r\n \u001b(B\u001b[m LabVel\u001b(B\u001b[m\u001b[K\r\n \u001b(B\u001b[m OrganizationManager\u001b(B\u001b[m\u001b[K\r\n \u001b(B\u001b[m Dev\u001b(B\u001b[m\u001b[K\r\n"]
80
+ [26.747639, "o", "\r\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\r"]
81
+ [26.74785, "o", "\u001b7\u001b[227;1H\u001b[J\u001b8"]
82
+ [26.748191, "o", "\r\n\u001b[A\u001b[K\u001b(B\u001b[m[\u001b[33m?\u001b(B\u001b[m]\u001b(B\u001b[m Which account do you want to see?: Ops\r\n \u001b(B\u001b[m Log archive\u001b(B\u001b[m\u001b[K\r\n \u001b(B\u001b[m SecOps\u001b(B\u001b[m\u001b[K\r\n \u001b(B\u001b[m Prod\u001b(B\u001b[m\u001b[K\r\n \u001b(B\u001b[m SecurityTooling\u001b(B\u001b[m\u001b[K\r\n \u001b(B\u001b[m DevSecOps\u001b(B\u001b[m\u001b[K\r\n \u001b[36m> Ops\u001b(B\u001b[m\u001b[K\r\n"]
83
+ [26.748418, "o", " \u001b(B\u001b[m SharedServices\u001b(B\u001b[m\u001b[K\r\n \u001b(B\u001b[m ClowPiloto\u001b(B\u001b[m\u001b[K\r\n \u001b(B\u001b[m LabVel\u001b(B\u001b[m\u001b[K\r\n \u001b(B\u001b[m OrganizationManager\u001b(B\u001b[m\u001b[K\r\n \u001b(B\u001b[m Dev\u001b(B\u001b[m\u001b[K\r\n"]
84
+ [27.430323, "o", "\r\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\r"]
85
+ [27.430413, "o", "\u001b7\u001b[227;1H"]
86
+ [27.430478, "o", "\u001b[J\u001b8"]
87
+ [27.430753, "o", "\r\n\u001b[A\u001b[K\u001b(B\u001b[m[\u001b[33m?\u001b(B\u001b[m]\u001b(B\u001b[m Which account do you want to see?: DevSecOps\r\n"]
88
+ [27.430886, "o", " \u001b(B\u001b[m Log archive\u001b(B\u001b[m\u001b[K\r\n \u001b(B\u001b[m SecOps\u001b(B\u001b[m\u001b[K\r\n \u001b(B\u001b[m Prod\u001b(B\u001b[m\u001b[K\r\n \u001b(B\u001b[m SecurityTooling\u001b(B\u001b[m\u001b[K\r\n \u001b[36m> DevSecOps\u001b(B\u001b[m\u001b[K\r\n \u001b(B\u001b[m Ops\u001b(B\u001b[m\u001b[K\r\n \u001b(B\u001b[m SharedServices\u001b(B\u001b[m\u001b[K\r\n \u001b(B\u001b[m ClowPiloto\u001b(B\u001b[m\u001b[K\r\n \u001b(B\u001b[m LabVel\u001b(B\u001b[m\u001b[K\r\n \u001b(B\u001b[m OrganizationManager\u001b(B\u001b[m\u001b[K\r\n \u001b(B\u001b[m Dev\u001b(B\u001b[m\u001b[K\r\n"]
89
+ [28.235424, "o", "\r\n"]
90
+ [28.237941, "o", "╭──────────────────────────────────────────────╮\r\n│ \u001b[1mDevSecOps\u001b[0m │\r\n│ \u001b[34mGroupName: AWSSecurityAuditPowerUsers\u001b[0m │\r\n│ \u001b[34mPermissionSetName: AWSPowerUserAccess\u001b[0m │\r\n│ │\r\n│ \u001b[34mGroupName: DevSecOps_Admins\u001b[0m │\r\n│ \u001b[34mPermissionSetName: LabvelDevSecOpsUsers\u001b[0m │\r\n│ │\r\n│ \u001b[34mGroupName: DevSecOps_Admins\u001b[0m │\r\n│ \u001b[34mPermissionSetName: AWSAdministratorAccess\u001b[0m │\r\n│ │\r\n│ \u001b[34mUserName: u+devsecops-labs@mycompany.com\u001b[0m │\r\n│ \u001b[34mPermissionSetName: AWSAdministratorAccess\u001b[0m │\r\n│ │\r\n│ \u001b[34mGroupName: DevSecOps_Admins\u001b[0m │\r\n│ \u001b[34mPermissionSetName: LabvelDevSecOpsRW\u001b[0m │\r\n│ │\r\n│ \u001b[34mGroupName: AWSSecurityAuditors\u001b[0m │\r\n│ \u001b[34mPermissionSetName: AWSReadOnlyAccess\u001b[0m │\r\n│ │\r\n│ │\r\n╰──────────────────────────────────────────────╯\r\n"]
91
+ [28.239117, "o", "\u001b[J\r\u001b7\u001b[227;1H\u001b[J\u001b8"]
92
+ [28.239182, "o", "\r\n\u001b[A\u001b[K\u001b(B\u001b[m[\u001b[33m?\u001b(B\u001b[m]\u001b(B\u001b[m Do you want to watch another account ?: yes\r\n \u001b[36m> yes\u001b(B\u001b[m\u001b[K\r\n \u001b(B\u001b[m no\u001b(B\u001b[m\u001b[K\r\n"]
93
+ [29.965024, "o", "\r\u001b[A\u001b[A\u001b[A\r"]
94
+ [29.965289, "o", "\u001b7\u001b[227;1H\u001b[J\u001b8\r\n\u001b[A\u001b[K\u001b(B\u001b[m[\u001b[33m?\u001b(B\u001b[m]\u001b(B\u001b[m Do you want to watch another account ?: no\r\n \u001b(B\u001b[m yes\u001b(B\u001b[m\u001b[K\r\n \u001b[36m> no\u001b(B\u001b[m\u001b[K\r\n"]
95
+ [30.379612, "o", "\r\u001b[A\u001b[A\u001b[A\r"]
96
+ [30.379825, "o", "\u001b7\u001b[227;1H\u001b[J\u001b8\r\n\u001b[A\u001b[K\u001b(B\u001b[m[\u001b[33m?\u001b(B\u001b[m]\u001b(B\u001b[m Do you want to watch another account ?: yes\r\n"]
97
+ [30.380024, "o", " \u001b[36m> yes\u001b(B\u001b[m\u001b[K\r\n \u001b(B\u001b[m no\u001b(B\u001b[m\u001b[K\r\n"]
98
+ [30.720774, "o", "\r\u001b[A\u001b[A\u001b[A\r"]
99
+ [30.720853, "o", "\u001b7\u001b[227;1H\u001b[J\u001b8"]
100
+ [30.721121, "o", "\r\n\u001b[A\u001b[K\u001b(B\u001b[m[\u001b[33m?\u001b(B\u001b[m]\u001b(B\u001b[m Do you want to watch another account ?: no\r\n \u001b(B\u001b[m yes\u001b(B\u001b[m\u001b[K\r\n \u001b[36m> no\u001b(B\u001b[m\u001b[K\r\n"]
101
+ [31.135154, "o", "\r\u001b[A\u001b[A\u001b[A\r"]
102
+ [31.13528, "o", "\u001b7\u001b[227;1H\u001b[J\u001b8"]
103
+ [31.135406, "o", "\r\n\u001b[A\u001b[K\u001b(B\u001b[m[\u001b[33m?\u001b(B\u001b[m]\u001b(B\u001b[m Do you want to watch another account ?: yes\r\n"]
104
+ [31.135544, "o", " \u001b[36m> yes\u001b(B\u001b[m\u001b[K\r\n \u001b(B\u001b[m no\u001b(B\u001b[m\u001b[K\r\n"]
105
+ [33.525416, "o", "\r\n"]
106
+ [33.527116, "o", "\u001b[J\r"]
107
+ [33.527163, "o", "\u001b7\u001b[227;1H"]
108
+ [33.52718, "o", "\u001b[J\u001b8"]
109
+ [33.527277, "o", "\r\n\u001b[A\u001b[K\u001b(B\u001b[m[\u001b[33m?\u001b(B\u001b[m]\u001b(B\u001b[m Which account do you want to see?: Log archive\r\n \u001b[36m> Log archive\u001b(B\u001b[m\u001b[K\r\n"]
110
+ [33.527355, "o", " \u001b(B\u001b[m SecOps\u001b(B\u001b[m\u001b[K\r\n \u001b(B\u001b[m Prod\u001b(B\u001b[m\u001b[K\r\n \u001b(B\u001b[m SecurityTooling\u001b(B\u001b[m\u001b[K\r\n \u001b(B\u001b[m DevSecOps\u001b(B\u001b[m\u001b[K\r\n \u001b(B\u001b[m Ops\u001b(B\u001b[m\u001b[K\r\n \u001b(B\u001b[m SharedServices\u001b(B\u001b[m\u001b[K\r\n \u001b(B\u001b[m ClowPiloto\u001b(B\u001b[m\u001b[K\r\n \u001b(B\u001b[m LabVel\u001b(B\u001b[m\u001b[K\r\n"]
111
+ [33.527473, "o", " \u001b(B\u001b[m OrganizationManager\u001b(B\u001b[m\u001b[K\r\n \u001b(B\u001b[m Dev\u001b(B\u001b[m\u001b[K\r\n"]
112
+ [35.498081, "o", "\r"]
113
+ [35.498249, "o", "\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\r\u001b7\u001b[227;1H\u001b[J\u001b8"]
114
+ [35.498383, "o", "\r\n\u001b[A\u001b[K\u001b(B\u001b[m[\u001b[33m?\u001b(B\u001b[m]\u001b(B\u001b[m Which account do you want to see?: SecOps\r\n \u001b(B\u001b[m Log archive\u001b(B\u001b[m\u001b[K\r\n"]
115
+ [35.498515, "o", " \u001b[36m> SecOps\u001b(B\u001b[m\u001b[K\r\n \u001b(B\u001b[m Prod\u001b(B\u001b[m\u001b[K\r\n \u001b(B\u001b[m SecurityTooling\u001b(B\u001b[m\u001b[K\r\n \u001b(B\u001b[m DevSecOps\u001b(B\u001b[m\u001b[K\r\n"]
116
+ [35.49871, "o", " \u001b(B\u001b[m Ops\u001b(B\u001b[m\u001b[K\r\n \u001b(B\u001b[m SharedServices\u001b(B\u001b[m\u001b[K\r\n \u001b(B\u001b[m ClowPiloto\u001b(B\u001b[m\u001b[K\r\n \u001b(B\u001b[m LabVel\u001b(B\u001b[m\u001b[K\r\n \u001b(B\u001b[m OrganizationManager\u001b(B\u001b[m\u001b[K\r\n \u001b(B\u001b[m Dev\u001b(B\u001b[m\u001b[K\r\n"]
117
+ [35.695029, "o", "\r\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\r\u001b7\u001b[227;1H"]
118
+ [35.695087, "o", "\u001b[J\u001b8"]
119
+ [35.695183, "o", "\r\n\u001b[A\u001b[K\u001b(B\u001b[m[\u001b[33m?\u001b(B\u001b[m]\u001b(B\u001b[m Which account do you want to see?: Prod\r\n"]
120
+ [35.6953, "o", " \u001b(B\u001b[m Log archive\u001b(B\u001b[m\u001b[K\r\n \u001b(B\u001b[m SecOps\u001b(B\u001b[m\u001b[K\r\n \u001b[36m> Prod\u001b(B\u001b[m\u001b[K\r\n \u001b(B\u001b[m SecurityTooling\u001b(B\u001b[m\u001b[K\r\n \u001b(B\u001b[m DevSecOps\u001b(B\u001b[m\u001b[K\r\n \u001b(B\u001b[m Ops\u001b(B\u001b[m\u001b[K\r\n \u001b(B\u001b[m SharedServices\u001b(B\u001b[m\u001b[K\r\n"]
121
+ [35.695485, "o", " \u001b(B\u001b[m ClowPiloto\u001b(B\u001b[m\u001b[K\r\n \u001b(B\u001b[m LabVel\u001b(B\u001b[m\u001b[K\r\n \u001b(B\u001b[m OrganizationManager\u001b(B\u001b[m\u001b[K\r\n \u001b(B\u001b[m Dev\u001b(B\u001b[m\u001b[K\r\n"]
122
+ [35.863923, "o", "\r\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\r"]
123
+ [35.86406, "o", "\u001b7\u001b[227;1H\u001b[J\u001b8\r\n\u001b[A\u001b[K\u001b(B\u001b[m[\u001b[33m?\u001b(B\u001b[m]\u001b(B\u001b[m Which account do you want to see?: SecurityTooling\r\n"]
124
+ [35.864069, "o", " \u001b(B\u001b[m Log archive\u001b(B\u001b[m\u001b[K\r\n \u001b(B\u001b[m SecOps\u001b(B\u001b[m\u001b[K\r\n \u001b(B\u001b[m Prod\u001b(B\u001b[m\u001b[K\r\n"]
125
+ [35.864252, "o", " \u001b[36m> SecurityTooling\u001b(B\u001b[m\u001b[K\r\n \u001b(B\u001b[m DevSecOps\u001b(B\u001b[m\u001b[K\r\n \u001b(B\u001b[m Ops\u001b(B\u001b[m\u001b[K\r\n \u001b(B\u001b[m SharedServices\u001b(B\u001b[m\u001b[K\r\n \u001b(B\u001b[m ClowPiloto\u001b(B\u001b[m\u001b[K\r\n"]
126
+ [35.864302, "o", " \u001b(B\u001b[m LabVel\u001b(B\u001b[m\u001b[K\r\n \u001b(B\u001b[m OrganizationManager\u001b(B\u001b[m\u001b[K\r\n \u001b(B\u001b[m Dev\u001b(B\u001b[m\u001b[K\r\n"]
127
+ [36.376534, "o", "\r\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\r"]
128
+ [36.37686, "o", "\u001b7\u001b[227;1H\u001b[J\u001b8"]
129
+ [36.376949, "o", "\r\n\u001b[A\u001b[K\u001b(B\u001b[m[\u001b[33m?\u001b(B\u001b[m]\u001b(B\u001b[m Which account do you want to see?: Prod\r\n \u001b(B\u001b[m Log archive\u001b(B\u001b[m\u001b[K\r\n \u001b(B\u001b[m SecOps\u001b(B\u001b[m\u001b[K\r\n"]
130
+ [36.377134, "o", " \u001b[36m> Prod\u001b(B\u001b[m\u001b[K\r\n \u001b(B\u001b[m SecurityTooling\u001b(B\u001b[m\u001b[K\r\n \u001b(B\u001b[m DevSecOps\u001b(B\u001b[m\u001b[K\r\n \u001b(B\u001b[m Ops\u001b(B\u001b[m\u001b[K\r\n \u001b(B\u001b[m SharedServices\u001b(B\u001b[m\u001b[K\r\n \u001b(B\u001b[m ClowPiloto\u001b(B\u001b[m\u001b[K\r\n \u001b(B\u001b[m LabVel\u001b(B\u001b[m\u001b[K\r\n \u001b(B\u001b[m OrganizationManager\u001b(B\u001b[m\u001b[K\r\n \u001b(B\u001b[m Dev\u001b(B\u001b[m\u001b[K\r\n"]
131
+ [36.547229, "o", "\r"]
132
+ [36.547281, "o", "\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\r"]
133
+ [36.547388, "o", "\u001b7\u001b[227;1H\u001b[J\u001b8"]
134
+ [36.547529, "o", "\r\n\u001b[A\u001b[K\u001b(B\u001b[m[\u001b[33m?\u001b(B\u001b[m]\u001b(B\u001b[m Which account do you want to see?: SecOps\r\n \u001b(B\u001b[m Log archive\u001b(B\u001b[m\u001b[K\r\n \u001b[36m> SecOps\u001b(B\u001b[m\u001b[K\r\n"]
135
+ [36.547554, "o", " \u001b(B\u001b[m Prod\u001b(B\u001b[m\u001b[K\r\n \u001b(B\u001b[m SecurityTooling\u001b(B\u001b[m\u001b[K\r\n"]
136
+ [36.547636, "o", " \u001b(B\u001b[m DevSecOps\u001b(B\u001b[m\u001b[K\r\n \u001b(B\u001b[m Ops\u001b(B\u001b[m\u001b[K\r\n \u001b(B\u001b[m SharedServices\u001b(B\u001b[m\u001b[K\r\n \u001b(B\u001b[m ClowPiloto\u001b(B\u001b[m\u001b[K\r\n \u001b(B\u001b[m LabVel\u001b(B\u001b[m\u001b[K\r\n \u001b(B\u001b[m OrganizationManager\u001b(B\u001b[m\u001b[K\r\n \u001b(B\u001b[m Dev\u001b(B\u001b[m\u001b[K\r\n"]
137
+ [37.887818, "o", "\r\n"]
138
+ [37.890369, "o", "╭───────────────────────────────────────────╮\r\n│ \u001b[1mSecOps\u001b[0m │\r\n│ \u001b[34mGroupName: AWSSecurityAuditPowerUsers\u001b[0m │\r\n│ \u001b[34mPermissionSetName: AWSPowerUserAccess\u001b[0m │\r\n│ │\r\n│ \u001b[34mUserName: u+secops-labs@mycompany.com\u001b[0m │\r\n│ \u001b[34mPermissionSetName: AWSAdministratorAccess\u001b[0m │\r\n│ │\r\n│ \u001b[34mGroupName: AWSSecurityAuditors\u001b[0m │\r\n│ \u001b[34mPermissionSetName: AWSReadOnlyAccess\u001b[0m │\r\n│ │\r\n│ │\r\n╰───────────────────────────────────────────╯\r\n"]
139
+ [37.891604, "o", "\u001b[J\r\u001b7\u001b[227;1H\u001b[J\u001b8"]
140
+ [37.891658, "o", "\r\n\u001b[A\u001b[K\u001b(B\u001b[m[\u001b[33m?\u001b(B\u001b[m]\u001b(B\u001b[m Do you want to watch another account ?: yes\r\n"]
141
+ [37.891714, "o", " \u001b[36m> yes\u001b(B\u001b[m\u001b[K\r\n"]
142
+ [37.891794, "o", " \u001b(B\u001b[m no\u001b(B\u001b[m\u001b[K\r\n"]
143
+ [39.203251, "o", "\r\u001b[A\u001b[A\u001b[A\r"]
144
+ [39.203562, "o", "\u001b7\u001b[227;1H\u001b[J\u001b8\r\n\u001b[A\u001b[K\u001b(B\u001b[m[\u001b[33m?\u001b(B\u001b[m]\u001b(B\u001b[m Do you want to watch another account ?: no\r\n \u001b(B\u001b[m yes\u001b(B\u001b[m\u001b[K\r\n"]
145
+ [39.203687, "o", " \u001b[36m> no\u001b(B\u001b[m\u001b[K\r\n"]
146
+ [39.593853, "o", "\r"]
147
+ [39.593988, "o", "\u001b[A\u001b[A\u001b[A\r"]
148
+ [39.594068, "o", "\u001b7\u001b[227;1H\u001b[J\u001b8\r\n\u001b[A\u001b[K\u001b(B\u001b[m[\u001b[33m?\u001b(B\u001b[m]\u001b(B\u001b[m Do you want to watch another account ?: yes\r\n \u001b[36m> yes\u001b(B\u001b[m\u001b[K\r\n"]
149
+ [39.594091, "o", " \u001b(B\u001b[m no\u001b(B\u001b[m\u001b[K\r\n"]
150
+ [40.106271, "o", "\r\u001b[A\u001b[A\u001b[A\r"]
151
+ [40.106353, "o", "\u001b7\u001b[227;1H\u001b[J\u001b8\r\n\u001b[A\u001b[K\u001b(B\u001b[m[\u001b[33m?\u001b(B\u001b[m]\u001b(B\u001b[m Do you want to watch another account ?: no\r\n"]
152
+ [40.106544, "o", " \u001b(B\u001b[m yes\u001b(B\u001b[m\u001b[K\r\n \u001b[36m> no\u001b(B\u001b[m\u001b[K\r\n"]
153
+ [40.910026, "o", "\r\n"]
154
+ [40.964271, "o", "\u001b[?2004h\u001b]0;labvel@VelPro: ~/projects/tools/reverse_diagram\u0007\u001b[01;32mlabvel@VelPro\u001b[00m:\u001b[01;34m~/projects/tools/reverse_diagram\u001b[00m$ "]
155
+ [42.93309, "o", "e"]
156
+ [43.177415, "o", "x"]
157
+ [43.34758, "o", "i"]
158
+ [43.542189, "o", "t"]
159
+ [43.908195, "o", "\r\n\u001b[?2004l\r"]
160
+ [43.908257, "o", "exit\r\n"]
@@ -15,6 +15,10 @@ from ..dgms.graph_template import (
15
15
  graph_template_sso,
16
16
  graph_template_sso_complete,
17
17
  )
18
+ from ..reports.console_view import (
19
+ create_account_assignments_view,
20
+ create_group_console_view,
21
+ )
18
22
  from ..reports.save_results import save_results
19
23
  from .describe_organization import list_accounts
20
24
  from .describe_sso import (
@@ -24,7 +28,6 @@ from .describe_sso import (
24
28
  list_instances,
25
29
  list_permissions_set,
26
30
  )
27
- from ..reports.console_view import create_group_console_view, create_account_assignments_view, load_json
28
31
 
29
32
 
30
33
  def list_groups_pag(identity_store_id, region, next_token: str = None):
@@ -59,8 +62,7 @@ def list_groups(identity_store_id, region):
59
62
  identity_client = client("identitystore", region_name=region)
60
63
 
61
64
  groups = identity_client.list_groups(
62
- IdentityStoreId=identity_store_id,
63
- MaxResults=20
65
+ IdentityStoreId=identity_store_id, MaxResults=20
64
66
  )
65
67
 
66
68
  logging.info(groups)
@@ -278,7 +280,7 @@ def extend_account_assignments(accounts_list, permissions_sets, store_arn, regio
278
280
  for p, y in zip(
279
281
  permissions_sets,
280
282
  track(
281
- range(len(permissions_sets) ),
283
+ range(len(permissions_sets)),
282
284
  description="Getting account assignments ...",
283
285
  ),
284
286
  ):
@@ -314,7 +316,7 @@ def add_users_and_groups_assign(
314
316
  for a, y in zip(
315
317
  account_assignments_list,
316
318
  track(
317
- range(len(account_assignments_list) ),
319
+ range(len(account_assignments_list)),
318
320
  description="Create user and groups assignments ...",
319
321
  ),
320
322
  ):
@@ -483,8 +485,10 @@ def graph_identity_center(diagrams_path, region, auto):
483
485
  print(Fore.RED + "❌ Error creating diagrams")
484
486
  print(command)
485
487
 
486
- create_group_console_view(groups= d_groups)#(f"{json_path}/groups.json")
487
- create_account_assignments_view(assign=f_accounts)#load_json(f"{json_path}/account_assignments.json"))
488
+ create_group_console_view(groups=d_groups) # (f"{json_path}/groups.json")
489
+ create_account_assignments_view(
490
+ assign=f_accounts
491
+ ) # load_json(f"{json_path}/account_assignments.json"))
488
492
  else:
489
493
  print(
490
494
  Fore.YELLOW