ic-code 1.3.5__tar.gz → 1.5.2__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 (255) hide show
  1. {ic_code-1.3.5/src/ic_code.egg-info → ic_code-1.5.2}/PKG-INFO +54 -21
  2. {ic_code-1.3.5 → ic_code-1.5.2}/README.md +51 -20
  3. ic_code-1.5.2/docs/gcp/README.md +80 -0
  4. {ic_code-1.3.5 → ic_code-1.5.2}/docs/tencent/README.md +11 -2
  5. {ic_code-1.3.5 → ic_code-1.5.2}/docs/user_guide.md +24 -5
  6. {ic_code-1.3.5 → ic_code-1.5.2}/pyproject.toml +4 -2
  7. {ic_code-1.3.5 → ic_code-1.5.2}/src/common/gather_env.py +1 -7
  8. {ic_code-1.3.5 → ic_code-1.5.2}/src/common/gcp_config_validator.py +3 -37
  9. {ic_code-1.3.5 → ic_code-1.5.2}/src/common/gcp_monitoring.py +34 -91
  10. {ic_code-1.3.5 → ic_code-1.5.2}/src/common/gcp_utils.py +122 -57
  11. {ic_code-1.3.5 → ic_code-1.5.2}/src/common/log.py +12 -8
  12. {ic_code-1.3.5 → ic_code-1.5.2}/src/common/progress_decorator.py +18 -12
  13. {ic_code-1.3.5 → ic_code-1.5.2}/src/common/slack.py +18 -8
  14. {ic_code-1.3.5 → ic_code-1.5.2}/src/common/utils.py +10 -4
  15. {ic_code-1.3.5 → ic_code-1.5.2}/src/ic/__init__.py +1 -1
  16. {ic_code-1.3.5 → ic_code-1.5.2}/src/ic/cli.py +2 -2
  17. {ic_code-1.3.5 → ic_code-1.5.2}/src/ic/compat/common.py +18 -5
  18. {ic_code-1.3.5 → ic_code-1.5.2}/src/ic/config/docs_organizer.py +8 -6
  19. {ic_code-1.3.5 → ic_code-1.5.2}/src/ic/core/desc_helper.py +10 -2
  20. {ic_code-1.3.5 → ic_code-1.5.2}/src/ic/core/interfaces/command.py +26 -10
  21. {ic_code-1.3.5 → ic_code-1.5.2}/src/ic/core/interfaces/formatter.py +22 -7
  22. {ic_code-1.3.5 → ic_code-1.5.2}/src/ic/core/interfaces/result.py +61 -6
  23. {ic_code-1.3.5 → ic_code-1.5.2}/src/ic/core/logging.py +30 -32
  24. {ic_code-1.3.5 → ic_code-1.5.2}/src/ic/platforms/aws/cloudfront/info.py +61 -1
  25. {ic_code-1.3.5 → ic_code-1.5.2}/src/ic/platforms/aws/codepipeline/build.py +35 -21
  26. {ic_code-1.3.5 → ic_code-1.5.2}/src/ic/platforms/aws/codepipeline/deploy.py +35 -21
  27. {ic_code-1.3.5 → ic_code-1.5.2}/src/ic/platforms/aws/ecs/info.py +33 -17
  28. {ic_code-1.3.5 → ic_code-1.5.2}/src/ic/platforms/aws/eks/info.py +34 -16
  29. {ic_code-1.3.5 → ic_code-1.5.2}/src/ic/platforms/aws/msk/info.py +32 -18
  30. {ic_code-1.3.5 → ic_code-1.5.2}/src/ic/platforms/aws/rds/info.py +32 -9
  31. {ic_code-1.3.5 → ic_code-1.5.2}/src/ic/platforms/aws/s3/info.py +31 -8
  32. {ic_code-1.3.5 → ic_code-1.5.2}/src/ic/platforms/aws/vpc/info.py +31 -9
  33. ic_code-1.5.2/src/ic/platforms/cloudflare/account/info.py +180 -0
  34. {ic_code-1.3.5 → ic_code-1.5.2}/src/ic/platforms/cloudflare/dns/info.py +100 -121
  35. {ic_code-1.3.5 → ic_code-1.5.2}/src/ic/platforms/cloudflare/dns/list_info.py +1 -8
  36. ic_code-1.5.2/src/ic/platforms/cloudflare/zone/info.py +235 -0
  37. {ic_code-1.3.5 → ic_code-1.5.2}/src/ic/platforms/gcp/billing/info.py +165 -171
  38. ic_code-1.5.2/src/ic/platforms/gcp/compute/desc.py +370 -0
  39. ic_code-1.5.2/src/ic/platforms/gcp/compute/info.py +776 -0
  40. ic_code-1.5.2/src/ic/platforms/gcp/compute/mock_data.json +191 -0
  41. ic_code-1.5.2/src/ic/platforms/gcp/dns/__init__.py +1 -0
  42. ic_code-1.5.2/src/ic/platforms/gcp/dns/info.py +380 -0
  43. ic_code-1.5.2/src/ic/platforms/gcp/dns/mock_data.json +142 -0
  44. {ic_code-1.3.5 → ic_code-1.5.2}/src/ic/platforms/gcp/firewall/info.py +398 -185
  45. ic_code-1.5.2/src/ic/platforms/gcp/firewall/mock_data.json +59 -0
  46. {ic_code-1.3.5 → ic_code-1.5.2}/src/ic/platforms/gcp/functions/info.py +178 -164
  47. ic_code-1.5.2/src/ic/platforms/gcp/functions/mock_data.json +26 -0
  48. {ic_code-1.3.5 → ic_code-1.5.2}/src/ic/platforms/gcp/gke/info.py +167 -159
  49. ic_code-1.5.2/src/ic/platforms/gcp/lb/desc.py +279 -0
  50. {ic_code-1.3.5 → ic_code-1.5.2}/src/ic/platforms/gcp/lb/info.py +543 -236
  51. ic_code-1.5.2/src/ic/platforms/gcp/lb/mock_data.json +218 -0
  52. ic_code-1.5.2/src/ic/platforms/gcp/profile/__init__.py +3 -0
  53. ic_code-1.5.2/src/ic/platforms/gcp/profile/info.py +276 -0
  54. ic_code-1.5.2/src/ic/platforms/gcp/profile/mock_data.json +20 -0
  55. ic_code-1.5.2/src/ic/platforms/gcp/project/__init__.py +1 -0
  56. ic_code-1.5.2/src/ic/platforms/gcp/project/info.py +479 -0
  57. ic_code-1.5.2/src/ic/platforms/gcp/project/mock_data.json +138 -0
  58. {ic_code-1.3.5 → ic_code-1.5.2}/src/ic/platforms/gcp/run/info.py +271 -293
  59. ic_code-1.5.2/src/ic/platforms/gcp/run/mock_data.json +28 -0
  60. {ic_code-1.3.5 → ic_code-1.5.2}/src/ic/platforms/gcp/sql/info.py +190 -169
  61. ic_code-1.5.2/src/ic/platforms/gcp/sql/mock_data.json +28 -0
  62. {ic_code-1.3.5 → ic_code-1.5.2}/src/ic/platforms/gcp/storage/info.py +153 -152
  63. ic_code-1.5.2/src/ic/platforms/gcp/storage/mock_data.json +38 -0
  64. {ic_code-1.3.5 → ic_code-1.5.2}/src/ic/platforms/gcp/vpc/info.py +182 -169
  65. {ic_code-1.3.5 → ic_code-1.5.2}/src/ic/platforms/oci/compartment/info.py +59 -42
  66. {ic_code-1.3.5 → ic_code-1.5.2}/src/ic/platforms/oci/cost/credit.py +48 -39
  67. {ic_code-1.3.5 → ic_code-1.5.2}/src/ic/platforms/oci/cost/usage.py +40 -27
  68. {ic_code-1.3.5 → ic_code-1.5.2}/src/ic/platforms/oci/lb/info.py +58 -19
  69. {ic_code-1.3.5 → ic_code-1.5.2}/src/ic/platforms/oci/nsg/info.py +58 -16
  70. {ic_code-1.3.5 → ic_code-1.5.2}/src/ic/platforms/oci/obj/info.py +50 -21
  71. {ic_code-1.3.5 → ic_code-1.5.2}/src/ic/platforms/oci/policy/info.py +45 -12
  72. {ic_code-1.3.5 → ic_code-1.5.2}/src/ic/platforms/oci/vcn/info.py +43 -21
  73. {ic_code-1.3.5 → ic_code-1.5.2}/src/ic/platforms/oci/vm/info.py +42 -18
  74. {ic_code-1.3.5 → ic_code-1.5.2}/src/ic/platforms/oci/volume/info.py +55 -15
  75. ic_code-1.5.2/src/ic/platforms/ssh/auto/scan.py +175 -0
  76. ic_code-1.5.2/src/ic/platforms/ssh/server/info.py +145 -0
  77. {ic_code-1.3.5 → ic_code-1.5.2}/src/ic/platforms/tencent/clb/traffic.py +57 -38
  78. {ic_code-1.3.5 → ic_code-1.5.2}/src/ic/platforms/tencent/lighthouse/info.py +58 -40
  79. {ic_code-1.3.5 → ic_code-1.5.2}/src/ic/platforms/tencent/nat/info.py +52 -33
  80. {ic_code-1.3.5 → ic_code-1.5.2}/src/ic/platforms/tencent/profile/info.py +30 -7
  81. {ic_code-1.3.5 → ic_code-1.5.2}/src/ic/platforms/tencent/sg/info.py +69 -48
  82. {ic_code-1.3.5 → ic_code-1.5.2}/src/ic/platforms/tencent/tke/info.py +54 -35
  83. {ic_code-1.3.5 → ic_code-1.5.2}/src/ic/platforms/tencent/vpc/info.py +53 -34
  84. {ic_code-1.3.5 → ic_code-1.5.2/src/ic_code.egg-info}/PKG-INFO +54 -21
  85. {ic_code-1.3.5 → ic_code-1.5.2}/src/ic_code.egg-info/SOURCES.txt +17 -0
  86. {ic_code-1.3.5 → ic_code-1.5.2}/src/ic_code.egg-info/requires.txt +2 -0
  87. ic_code-1.3.5/docs/gcp/README.md +0 -35
  88. ic_code-1.3.5/src/ic/platforms/cloudflare/account/info.py +0 -222
  89. ic_code-1.3.5/src/ic/platforms/cloudflare/zone/info.py +0 -323
  90. ic_code-1.3.5/src/ic/platforms/gcp/compute/info.py +0 -605
  91. ic_code-1.3.5/src/ic/platforms/gcp/compute/mock_data.json +0 -32
  92. ic_code-1.3.5/src/ic/platforms/ssh/auto/scan.py +0 -171
  93. ic_code-1.3.5/src/ic/platforms/ssh/server/info.py +0 -149
  94. {ic_code-1.3.5 → ic_code-1.5.2}/LICENSE +0 -0
  95. {ic_code-1.3.5 → ic_code-1.5.2}/MANIFEST.in +0 -0
  96. {ic_code-1.3.5 → ic_code-1.5.2}/SECURITY.md +0 -0
  97. {ic_code-1.3.5 → ic_code-1.5.2}/config/default.yaml +0 -0
  98. {ic_code-1.3.5 → ic_code-1.5.2}/docs/README.md +0 -0
  99. {ic_code-1.3.5 → ic_code-1.5.2}/docs/aws/README.md +0 -0
  100. {ic_code-1.3.5 → ic_code-1.5.2}/docs/cloudflare/README.md +0 -0
  101. {ic_code-1.3.5 → ic_code-1.5.2}/docs/installation.md +0 -0
  102. {ic_code-1.3.5 → ic_code-1.5.2}/docs/oci/README.md +0 -0
  103. {ic_code-1.3.5 → ic_code-1.5.2}/docs/release-guide.md +0 -0
  104. {ic_code-1.3.5 → ic_code-1.5.2}/docs/security.md +0 -0
  105. {ic_code-1.3.5 → ic_code-1.5.2}/docs/ssh/README.md +0 -0
  106. {ic_code-1.3.5 → ic_code-1.5.2}/docs/troubleshooting.md +0 -0
  107. {ic_code-1.3.5 → ic_code-1.5.2}/requirements.txt +0 -0
  108. {ic_code-1.3.5 → ic_code-1.5.2}/scripts/bump-version.sh +0 -0
  109. {ic_code-1.3.5 → ic_code-1.5.2}/scripts/cf_edge_nsg_make/cf_edge_nsg_make.py +0 -0
  110. {ic_code-1.3.5 → ic_code-1.5.2}/scripts/ci-detect-platforms.py +0 -0
  111. {ic_code-1.3.5 → ic_code-1.5.2}/scripts/ci-generate-matrix.py +0 -0
  112. {ic_code-1.3.5 → ic_code-1.5.2}/scripts/ci-smoke-test.sh +0 -0
  113. {ic_code-1.3.5 → ic_code-1.5.2}/scripts/deploy.sh +0 -0
  114. {ic_code-1.3.5 → ic_code-1.5.2}/scripts/oracle-policy/user_policy.py +0 -0
  115. {ic_code-1.3.5 → ic_code-1.5.2}/setup.cfg +0 -0
  116. {ic_code-1.3.5 → ic_code-1.5.2}/setup.py +0 -0
  117. {ic_code-1.3.5 → ic_code-1.5.2}/src/common/__init__.py +0 -0
  118. {ic_code-1.3.5 → ic_code-1.5.2}/src/ic/commands/__init__.py +0 -0
  119. {ic_code-1.3.5 → ic_code-1.5.2}/src/ic/commands/config.py +0 -0
  120. {ic_code-1.3.5 → ic_code-1.5.2}/src/ic/commands/security.py +0 -0
  121. {ic_code-1.3.5 → ic_code-1.5.2}/src/ic/compat/__init__.py +0 -0
  122. {ic_code-1.3.5 → ic_code-1.5.2}/src/ic/compat/cli.py +0 -0
  123. {ic_code-1.3.5 → ic_code-1.5.2}/src/ic/config/__init__.py +0 -0
  124. {ic_code-1.3.5 → ic_code-1.5.2}/src/ic/config/cleanup.py +0 -0
  125. {ic_code-1.3.5 → ic_code-1.5.2}/src/ic/config/external.py +0 -0
  126. {ic_code-1.3.5 → ic_code-1.5.2}/src/ic/config/installer.py +0 -0
  127. {ic_code-1.3.5 → ic_code-1.5.2}/src/ic/config/manager.py +0 -0
  128. {ic_code-1.3.5 → ic_code-1.5.2}/src/ic/config/migration.py +0 -0
  129. {ic_code-1.3.5 → ic_code-1.5.2}/src/ic/config/migration_utils.py +0 -0
  130. {ic_code-1.3.5 → ic_code-1.5.2}/src/ic/config/path_manager.py +0 -0
  131. {ic_code-1.3.5 → ic_code-1.5.2}/src/ic/config/schema.py +0 -0
  132. {ic_code-1.3.5 → ic_code-1.5.2}/src/ic/config/secrets.py +0 -0
  133. {ic_code-1.3.5 → ic_code-1.5.2}/src/ic/config/security.py +0 -0
  134. {ic_code-1.3.5 → ic_code-1.5.2}/src/ic/core/__init__.py +0 -0
  135. {ic_code-1.3.5 → ic_code-1.5.2}/src/ic/core/dependency_validator.py +0 -0
  136. {ic_code-1.3.5 → ic_code-1.5.2}/src/ic/core/interfaces/__init__.py +0 -0
  137. {ic_code-1.3.5 → ic_code-1.5.2}/src/ic/core/platform_discovery.py +0 -0
  138. {ic_code-1.3.5 → ic_code-1.5.2}/src/ic/core/session.py +0 -0
  139. {ic_code-1.3.5 → ic_code-1.5.2}/src/ic/core/silence_logging.py +0 -0
  140. {ic_code-1.3.5 → ic_code-1.5.2}/src/ic/platforms/__init__.py +0 -0
  141. {ic_code-1.3.5 → ic_code-1.5.2}/src/ic/platforms/aws/__init__.py +0 -0
  142. {ic_code-1.3.5 → ic_code-1.5.2}/src/ic/platforms/aws/cloudfront/__init__.py +0 -0
  143. {ic_code-1.3.5 → ic_code-1.5.2}/src/ic/platforms/aws/codepipeline/__init__.py +0 -0
  144. {ic_code-1.3.5 → ic_code-1.5.2}/src/ic/platforms/aws/ec2/__init__.py +0 -0
  145. {ic_code-1.3.5 → ic_code-1.5.2}/src/ic/platforms/aws/ec2/desc.py +0 -0
  146. {ic_code-1.3.5 → ic_code-1.5.2}/src/ic/platforms/aws/ec2/info.py +0 -0
  147. {ic_code-1.3.5 → ic_code-1.5.2}/src/ic/platforms/aws/ec2/list_tags.py +0 -0
  148. {ic_code-1.3.5 → ic_code-1.5.2}/src/ic/platforms/aws/ec2/tag_check.py +0 -0
  149. {ic_code-1.3.5 → ic_code-1.5.2}/src/ic/platforms/aws/ecs/__init__.py +0 -0
  150. {ic_code-1.3.5 → ic_code-1.5.2}/src/ic/platforms/aws/ecs/service.py +0 -0
  151. {ic_code-1.3.5 → ic_code-1.5.2}/src/ic/platforms/aws/ecs/task.py +0 -0
  152. {ic_code-1.3.5 → ic_code-1.5.2}/src/ic/platforms/aws/eks/__init__.py +0 -0
  153. {ic_code-1.3.5 → ic_code-1.5.2}/src/ic/platforms/aws/eks/addons.py +0 -0
  154. {ic_code-1.3.5 → ic_code-1.5.2}/src/ic/platforms/aws/eks/fargate.py +0 -0
  155. {ic_code-1.3.5 → ic_code-1.5.2}/src/ic/platforms/aws/eks/nodes.py +0 -0
  156. {ic_code-1.3.5 → ic_code-1.5.2}/src/ic/platforms/aws/eks/pods.py +0 -0
  157. {ic_code-1.3.5 → ic_code-1.5.2}/src/ic/platforms/aws/eks/update_config.py +0 -0
  158. {ic_code-1.3.5 → ic_code-1.5.2}/src/ic/platforms/aws/fargate/__init__.py +0 -0
  159. {ic_code-1.3.5 → ic_code-1.5.2}/src/ic/platforms/aws/fargate/info.py +0 -0
  160. {ic_code-1.3.5 → ic_code-1.5.2}/src/ic/platforms/aws/healthdashboard/__init__.py +0 -0
  161. {ic_code-1.3.5 → ic_code-1.5.2}/src/ic/platforms/aws/healthdashboard/reboot.py +0 -0
  162. {ic_code-1.3.5 → ic_code-1.5.2}/src/ic/platforms/aws/lb/__init__.py +0 -0
  163. {ic_code-1.3.5 → ic_code-1.5.2}/src/ic/platforms/aws/lb/desc.py +0 -0
  164. {ic_code-1.3.5 → ic_code-1.5.2}/src/ic/platforms/aws/lb/info.py +0 -0
  165. {ic_code-1.3.5 → ic_code-1.5.2}/src/ic/platforms/aws/lb/list_tags.py +0 -0
  166. {ic_code-1.3.5 → ic_code-1.5.2}/src/ic/platforms/aws/lb/tag_check.py +0 -0
  167. {ic_code-1.3.5 → ic_code-1.5.2}/src/ic/platforms/aws/msk/__init__.py +0 -0
  168. {ic_code-1.3.5 → ic_code-1.5.2}/src/ic/platforms/aws/msk/broker.py +0 -0
  169. {ic_code-1.3.5 → ic_code-1.5.2}/src/ic/platforms/aws/nat/__init__.py +0 -0
  170. {ic_code-1.3.5 → ic_code-1.5.2}/src/ic/platforms/aws/nat/list_tags.py +0 -0
  171. {ic_code-1.3.5 → ic_code-1.5.2}/src/ic/platforms/aws/nat/tag_check.py +0 -0
  172. {ic_code-1.3.5 → ic_code-1.5.2}/src/ic/platforms/aws/profile/__init__.py +0 -0
  173. {ic_code-1.3.5 → ic_code-1.5.2}/src/ic/platforms/aws/profile/info.py +0 -0
  174. {ic_code-1.3.5 → ic_code-1.5.2}/src/ic/platforms/aws/rds/__init__.py +0 -0
  175. {ic_code-1.3.5 → ic_code-1.5.2}/src/ic/platforms/aws/rds/list_tags.py +0 -0
  176. {ic_code-1.3.5 → ic_code-1.5.2}/src/ic/platforms/aws/rds/tag_check.py +0 -0
  177. {ic_code-1.3.5 → ic_code-1.5.2}/src/ic/platforms/aws/s3/__init__.py +0 -0
  178. {ic_code-1.3.5 → ic_code-1.5.2}/src/ic/platforms/aws/s3/list_tags.py +0 -0
  179. {ic_code-1.3.5 → ic_code-1.5.2}/src/ic/platforms/aws/s3/tag_check.py +0 -0
  180. {ic_code-1.3.5 → ic_code-1.5.2}/src/ic/platforms/aws/sg/__init__.py +0 -0
  181. {ic_code-1.3.5 → ic_code-1.5.2}/src/ic/platforms/aws/sg/info.py +0 -0
  182. {ic_code-1.3.5 → ic_code-1.5.2}/src/ic/platforms/aws/vpc/__init__.py +0 -0
  183. {ic_code-1.3.5 → ic_code-1.5.2}/src/ic/platforms/aws/vpc/list_tags.py +0 -0
  184. {ic_code-1.3.5 → ic_code-1.5.2}/src/ic/platforms/aws/vpc/tag_check.py +0 -0
  185. {ic_code-1.3.5 → ic_code-1.5.2}/src/ic/platforms/aws/vpn/__init__.py +0 -0
  186. {ic_code-1.3.5 → ic_code-1.5.2}/src/ic/platforms/aws/vpn/info.py +0 -0
  187. {ic_code-1.3.5 → ic_code-1.5.2}/src/ic/platforms/cloudflare/__init__.py +0 -0
  188. {ic_code-1.3.5 → ic_code-1.5.2}/src/ic/platforms/cloudflare/account/__init__.py +0 -0
  189. {ic_code-1.3.5 → ic_code-1.5.2}/src/ic/platforms/cloudflare/client.py +0 -0
  190. {ic_code-1.3.5 → ic_code-1.5.2}/src/ic/platforms/cloudflare/dns/__init__.py +0 -0
  191. {ic_code-1.3.5 → ic_code-1.5.2}/src/ic/platforms/cloudflare/rules/__init__.py +0 -0
  192. {ic_code-1.3.5 → ic_code-1.5.2}/src/ic/platforms/cloudflare/rules/info.py +0 -0
  193. {ic_code-1.3.5 → ic_code-1.5.2}/src/ic/platforms/cloudflare/traffic/__init__.py +0 -0
  194. {ic_code-1.3.5 → ic_code-1.5.2}/src/ic/platforms/cloudflare/traffic/info.py +0 -0
  195. {ic_code-1.3.5 → ic_code-1.5.2}/src/ic/platforms/cloudflare/waf/__init__.py +0 -0
  196. {ic_code-1.3.5 → ic_code-1.5.2}/src/ic/platforms/cloudflare/waf/info.py +0 -0
  197. {ic_code-1.3.5 → ic_code-1.5.2}/src/ic/platforms/cloudflare/zone/__init__.py +0 -0
  198. {ic_code-1.3.5 → ic_code-1.5.2}/src/ic/platforms/gcp/__init__.py +0 -0
  199. {ic_code-1.3.5 → ic_code-1.5.2}/src/ic/platforms/gcp/billing/__init__.py +0 -0
  200. {ic_code-1.3.5 → ic_code-1.5.2}/src/ic/platforms/gcp/billing/mock_data.json +0 -0
  201. {ic_code-1.3.5 → ic_code-1.5.2}/src/ic/platforms/gcp/compute/__init__.py +0 -0
  202. {ic_code-1.3.5 → ic_code-1.5.2}/src/ic/platforms/gcp/firewall/__init__.py +0 -0
  203. {ic_code-1.3.5 → ic_code-1.5.2}/src/ic/platforms/gcp/functions/__init__.py +0 -0
  204. {ic_code-1.3.5 → ic_code-1.5.2}/src/ic/platforms/gcp/gke/__init__.py +0 -0
  205. {ic_code-1.3.5 → ic_code-1.5.2}/src/ic/platforms/gcp/gke/mock_data.json +0 -0
  206. {ic_code-1.3.5 → ic_code-1.5.2}/src/ic/platforms/gcp/lb/__init__.py +0 -0
  207. {ic_code-1.3.5 → ic_code-1.5.2}/src/ic/platforms/gcp/run/__init__.py +0 -0
  208. {ic_code-1.3.5 → ic_code-1.5.2}/src/ic/platforms/gcp/sql/__init__.py +0 -0
  209. {ic_code-1.3.5 → ic_code-1.5.2}/src/ic/platforms/gcp/storage/__init__.py +0 -0
  210. {ic_code-1.3.5 → ic_code-1.5.2}/src/ic/platforms/gcp/vpc/__init__.py +0 -0
  211. {ic_code-1.3.5 → ic_code-1.5.2}/src/ic/platforms/gcp/vpc/mock_data.json +0 -0
  212. {ic_code-1.3.5 → ic_code-1.5.2}/src/ic/platforms/oci/__init__.py +0 -0
  213. {ic_code-1.3.5 → ic_code-1.5.2}/src/ic/platforms/oci/common/__init__.py +0 -0
  214. {ic_code-1.3.5 → ic_code-1.5.2}/src/ic/platforms/oci/common/utils.py +0 -0
  215. {ic_code-1.3.5 → ic_code-1.5.2}/src/ic/platforms/oci/compartment/__init__.py +0 -0
  216. {ic_code-1.3.5 → ic_code-1.5.2}/src/ic/platforms/oci/cost/__init__.py +0 -0
  217. {ic_code-1.3.5 → ic_code-1.5.2}/src/ic/platforms/oci/info/__init__.py +0 -0
  218. {ic_code-1.3.5 → ic_code-1.5.2}/src/ic/platforms/oci/info/oci_info.py +0 -0
  219. {ic_code-1.3.5 → ic_code-1.5.2}/src/ic/platforms/oci/lb/__init__.py +0 -0
  220. {ic_code-1.3.5 → ic_code-1.5.2}/src/ic/platforms/oci/nsg/__init__.py +0 -0
  221. {ic_code-1.3.5 → ic_code-1.5.2}/src/ic/platforms/oci/obj/__init__.py +0 -0
  222. {ic_code-1.3.5 → ic_code-1.5.2}/src/ic/platforms/oci/policy/__init__.py +0 -0
  223. {ic_code-1.3.5 → ic_code-1.5.2}/src/ic/platforms/oci/policy/search.py +0 -0
  224. {ic_code-1.3.5 → ic_code-1.5.2}/src/ic/platforms/oci/vcn/__init__.py +0 -0
  225. {ic_code-1.3.5 → ic_code-1.5.2}/src/ic/platforms/oci/vm/__init__.py +0 -0
  226. {ic_code-1.3.5 → ic_code-1.5.2}/src/ic/platforms/oci/volume/__init__.py +0 -0
  227. {ic_code-1.3.5 → ic_code-1.5.2}/src/ic/platforms/ssh/__init__.py +0 -0
  228. {ic_code-1.3.5 → ic_code-1.5.2}/src/ic/platforms/ssh/auto/__init__.py +0 -0
  229. {ic_code-1.3.5 → ic_code-1.5.2}/src/ic/platforms/ssh/auto_ssh.py +0 -0
  230. {ic_code-1.3.5 → ic_code-1.5.2}/src/ic/platforms/ssh/server/__init__.py +0 -0
  231. {ic_code-1.3.5 → ic_code-1.5.2}/src/ic/platforms/ssh/server_info.py +0 -0
  232. {ic_code-1.3.5 → ic_code-1.5.2}/src/ic/platforms/tencent/__init__.py +0 -0
  233. {ic_code-1.3.5 → ic_code-1.5.2}/src/ic/platforms/tencent/clb/__init__.py +0 -0
  234. {ic_code-1.3.5 → ic_code-1.5.2}/src/ic/platforms/tencent/clb/desc.py +0 -0
  235. {ic_code-1.3.5 → ic_code-1.5.2}/src/ic/platforms/tencent/clb/info.py +0 -0
  236. {ic_code-1.3.5 → ic_code-1.5.2}/src/ic/platforms/tencent/client.py +0 -0
  237. {ic_code-1.3.5 → ic_code-1.5.2}/src/ic/platforms/tencent/cvm/__init__.py +0 -0
  238. {ic_code-1.3.5 → ic_code-1.5.2}/src/ic/platforms/tencent/cvm/desc.py +0 -0
  239. {ic_code-1.3.5 → ic_code-1.5.2}/src/ic/platforms/tencent/cvm/info.py +0 -0
  240. {ic_code-1.3.5 → ic_code-1.5.2}/src/ic/platforms/tencent/lighthouse/__init__.py +0 -0
  241. {ic_code-1.3.5 → ic_code-1.5.2}/src/ic/platforms/tencent/nat/__init__.py +0 -0
  242. {ic_code-1.3.5 → ic_code-1.5.2}/src/ic/platforms/tencent/profile/__init__.py +0 -0
  243. {ic_code-1.3.5 → ic_code-1.5.2}/src/ic/platforms/tencent/sg/__init__.py +0 -0
  244. {ic_code-1.3.5 → ic_code-1.5.2}/src/ic/platforms/tencent/tke/__init__.py +0 -0
  245. {ic_code-1.3.5 → ic_code-1.5.2}/src/ic/platforms/tencent/vpc/__init__.py +0 -0
  246. {ic_code-1.3.5 → ic_code-1.5.2}/src/ic/security/__init__.py +0 -0
  247. {ic_code-1.3.5 → ic_code-1.5.2}/src/ic/security/config.py +0 -0
  248. {ic_code-1.3.5 → ic_code-1.5.2}/src/ic/security/detector.py +0 -0
  249. {ic_code-1.3.5 → ic_code-1.5.2}/src/ic/security/guidance.py +0 -0
  250. {ic_code-1.3.5 → ic_code-1.5.2}/src/ic/security/hooks.py +0 -0
  251. {ic_code-1.3.5 → ic_code-1.5.2}/src/ic/security/patterns.py +0 -0
  252. {ic_code-1.3.5 → ic_code-1.5.2}/src/ic/security/scanner.py +0 -0
  253. {ic_code-1.3.5 → ic_code-1.5.2}/src/ic_code.egg-info/dependency_links.txt +0 -0
  254. {ic_code-1.3.5 → ic_code-1.5.2}/src/ic_code.egg-info/entry_points.txt +0 -0
  255. {ic_code-1.3.5 → ic_code-1.5.2}/src/ic_code.egg-info/top_level.txt +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: ic-code
3
- Version: 1.3.5
3
+ Version: 1.5.2
4
4
  Summary: Infrastructure CLI tool for managing AWS, GCP, OCI, CloudFlare, SSH, and more
5
5
  Home-page: https://github.com/dgr009/ic
6
6
  Author: SangYun Kim
@@ -60,6 +60,7 @@ Requires-Dist: google-cloud-storage<3.0.0,>=2.18.0; extra == "gcp"
60
60
  Requires-Dist: google-cloud-functions<2.0.0,>=1.16.0; extra == "gcp"
61
61
  Requires-Dist: google-cloud-run<1.0.0,>=0.11.0; extra == "gcp"
62
62
  Requires-Dist: google-cloud-billing<2.0.0,>=1.13.0; extra == "gcp"
63
+ Requires-Dist: google-cloud-dns<1.0.0,>=0.34.0; extra == "gcp"
63
64
  Requires-Dist: google-cloud-resource-manager<2.0.0,>=1.12.0; extra == "gcp"
64
65
  Requires-Dist: google-auth<3.0.0,>=2.29.0; extra == "gcp"
65
66
  Requires-Dist: google-auth-oauthlib<2.0.0,>=1.2.0; extra == "gcp"
@@ -81,6 +82,7 @@ Requires-Dist: google-cloud-storage<3.0.0,>=2.18.0; extra == "all"
81
82
  Requires-Dist: google-cloud-functions<2.0.0,>=1.16.0; extra == "all"
82
83
  Requires-Dist: google-cloud-run<1.0.0,>=0.11.0; extra == "all"
83
84
  Requires-Dist: google-cloud-billing<2.0.0,>=1.13.0; extra == "all"
85
+ Requires-Dist: google-cloud-dns<1.0.0,>=0.34.0; extra == "all"
84
86
  Requires-Dist: google-cloud-resource-manager<2.0.0,>=1.12.0; extra == "all"
85
87
  Requires-Dist: google-auth<3.0.0,>=2.29.0; extra == "all"
86
88
  Requires-Dist: google-auth-oauthlib<2.0.0,>=1.2.0; extra == "all"
@@ -124,6 +126,12 @@ A comprehensive, production-grade Infrastructure Command Line Interface tool for
124
126
 
125
127
  ---
126
128
 
129
+ ## 🖥️ Terminal UI Preview
130
+
131
+ ![Tencent CVM Info Terminal UI](docs/tencent/use_sample.png)
132
+
133
+ ---
134
+
127
135
  ## 📦 Supported Platforms & Services
128
136
 
129
137
  ### 1. 🟧 AWS Services (Production Ready)
@@ -139,12 +147,21 @@ A comprehensive, production-grade Infrastructure Command Line Interface tool for
139
147
  - **Networking**: VPC, Subnets, NAT Gateways, CLB (Load Balancers - listener rules, health check, target health analysis & network traffic bandwidth statistics), Security Groups (with Ingress/Egress rules & tree view)
140
148
  - **Authentication**: Multi-account STS AssumeRole support, Profile management (`ic tencent profile info` via `~/.tencent/credentials`)
141
149
 
142
- ### 3. 🟩 GCP Services (Production Ready)
143
- - **Compute Engine**: VM instances with status, zone, and network interface details
144
- - **Cloud Storage**: Bucket lists, location, and storage class information
145
- - **VPC Network**: Subnets, routes, and firewall rule visibility
146
- - **GKE**: Kubernetes Engine clusters and node pool configurations
147
- - **Cloud SQL**: Database instances, engines, and status
150
+ ### 3. 🟩 GCP Services (Production Ready - v1.5.2)
151
+ - **Compute Engine**: VM instances with status, zone, machine type (custom parsing), vCPU, memory, disks, IPs, tags, and verbose 15-column output (`ic gcp compute info -v`)
152
+ - **Compute Detailed Inspection (`desc`)**: Full attribute discovery, dot-notation key filtering (`-k / --keys`), schema discovery (`-l / --list-keys`) for instances
153
+ - **Load Balancing (LB)**: Forwarding rules, Target proxies, URL maps, Backend services, Health checks, and SSL certificates (`ic gcp lb info`)
154
+ - **LB Detailed Inspection (`desc`)**: Deep hierarchical inspection of proxies, rules, backends, and health checks with dot-notation key filtering (`ic gcp lb desc`)
155
+ - **GKE**: Kubernetes Engine clusters and node pool configurations (`ic gcp gke info`)
156
+ - **Cloud Run**: Serverless container services, ready status, CPU/Mem, and revisions (`ic gcp run info`)
157
+ - **Cloud Functions**: Serverless functions, triggers, runtime, and memory (`ic gcp functions info`)
158
+ - **Cloud SQL**: Managed database instances, engine versions, HA, and status (`ic gcp sql info`)
159
+ - **Cloud Storage**: Buckets, locations, storage classes, and lifecycle (`ic gcp storage info`)
160
+ - **VPC & Firewall**: Virtual networks, subnets, and ingress/egress firewall rules (`ic gcp vpc info`, `ic gcp firewall info`)
161
+ - **Cloud DNS**: Managed public and private DNS zones and record sets (`ic gcp dns info`)
162
+ - **Resource Hierarchy & Projects**: Multi-level folder tree, project status, and active project indicators (`ic gcp project info`)
163
+ - **Billing**: Cost by service, budgets, and alerts (`ic gcp billing info`)
164
+ - **Profile**: gcloud CLI configurations and active account verification (`ic gcp profile info`)
148
165
 
149
166
  ### 4. 🟥 Oracle Cloud Infrastructure (OCI) (Production Ready)
150
167
  - **Compute & Containers**: VM instances, Container instances (ACI)
@@ -319,23 +336,39 @@ ic tencent tke info
319
336
  ic tencent profile info
320
337
  ```
321
338
 
322
- ### GCP Commands
339
+ ### GCP Commands (v1.5.2)
323
340
 
324
341
  ```bash
325
- # Compute Engine VM instances
342
+ # Compute Engine VM instances (summary & verbose 15-column output)
326
343
  ic gcp compute info
327
-
328
- # Cloud Storage buckets
329
- ic gcp storage info
330
-
331
- # VPC networks and subnets
332
- ic gcp vpc info
333
-
334
- # GKE Clusters
335
- ic gcp gke info
336
-
337
- # Cloud SQL databases
338
- ic gcp sql info
344
+ ic gcp compute info -v
345
+
346
+ # Compute Engine detailed resource inspection (desc)
347
+ ic gcp compute desc # Full YAML dump
348
+ ic gcp compute desc -l # Discover queryable dot-notation keys
349
+ ic gcp compute desc -k status,machine_type,internal_ip # Filter attributes into table
350
+
351
+ # Load Balancers (ALB / NLB)
352
+ ic gcp lb info
353
+ ic gcp lb desc -l # Discover LB schema keys
354
+ ic gcp lb desc -k type,ip_address,backend_services.0.name # Inspect LB backend services
355
+
356
+ # Container & Serverless
357
+ ic gcp gke info # GKE clusters & node pools
358
+ ic gcp run info # Cloud Run services & revisions
359
+ ic gcp functions info # Cloud Functions & triggers
360
+
361
+ # Databases, Storage & Networking
362
+ ic gcp sql info # Cloud SQL instances
363
+ ic gcp storage info # Cloud Storage buckets
364
+ ic gcp vpc info # VPC networks & subnets
365
+ ic gcp firewall info # Firewall ingress/egress rules
366
+ ic gcp dns info # Cloud DNS managed zones
367
+
368
+ # Resource Hierarchy & Project Management
369
+ ic gcp project info # Active project & folder tree view
370
+ ic gcp billing info # Monthly billing costs by service
371
+ ic gcp profile info # gcloud active configurations
339
372
  ```
340
373
 
341
374
  ### OCI Commands
@@ -20,6 +20,12 @@ A comprehensive, production-grade Infrastructure Command Line Interface tool for
20
20
 
21
21
  ---
22
22
 
23
+ ## 🖥️ Terminal UI Preview
24
+
25
+ ![Tencent CVM Info Terminal UI](docs/tencent/use_sample.png)
26
+
27
+ ---
28
+
23
29
  ## 📦 Supported Platforms & Services
24
30
 
25
31
  ### 1. 🟧 AWS Services (Production Ready)
@@ -35,12 +41,21 @@ A comprehensive, production-grade Infrastructure Command Line Interface tool for
35
41
  - **Networking**: VPC, Subnets, NAT Gateways, CLB (Load Balancers - listener rules, health check, target health analysis & network traffic bandwidth statistics), Security Groups (with Ingress/Egress rules & tree view)
36
42
  - **Authentication**: Multi-account STS AssumeRole support, Profile management (`ic tencent profile info` via `~/.tencent/credentials`)
37
43
 
38
- ### 3. 🟩 GCP Services (Production Ready)
39
- - **Compute Engine**: VM instances with status, zone, and network interface details
40
- - **Cloud Storage**: Bucket lists, location, and storage class information
41
- - **VPC Network**: Subnets, routes, and firewall rule visibility
42
- - **GKE**: Kubernetes Engine clusters and node pool configurations
43
- - **Cloud SQL**: Database instances, engines, and status
44
+ ### 3. 🟩 GCP Services (Production Ready - v1.5.2)
45
+ - **Compute Engine**: VM instances with status, zone, machine type (custom parsing), vCPU, memory, disks, IPs, tags, and verbose 15-column output (`ic gcp compute info -v`)
46
+ - **Compute Detailed Inspection (`desc`)**: Full attribute discovery, dot-notation key filtering (`-k / --keys`), schema discovery (`-l / --list-keys`) for instances
47
+ - **Load Balancing (LB)**: Forwarding rules, Target proxies, URL maps, Backend services, Health checks, and SSL certificates (`ic gcp lb info`)
48
+ - **LB Detailed Inspection (`desc`)**: Deep hierarchical inspection of proxies, rules, backends, and health checks with dot-notation key filtering (`ic gcp lb desc`)
49
+ - **GKE**: Kubernetes Engine clusters and node pool configurations (`ic gcp gke info`)
50
+ - **Cloud Run**: Serverless container services, ready status, CPU/Mem, and revisions (`ic gcp run info`)
51
+ - **Cloud Functions**: Serverless functions, triggers, runtime, and memory (`ic gcp functions info`)
52
+ - **Cloud SQL**: Managed database instances, engine versions, HA, and status (`ic gcp sql info`)
53
+ - **Cloud Storage**: Buckets, locations, storage classes, and lifecycle (`ic gcp storage info`)
54
+ - **VPC & Firewall**: Virtual networks, subnets, and ingress/egress firewall rules (`ic gcp vpc info`, `ic gcp firewall info`)
55
+ - **Cloud DNS**: Managed public and private DNS zones and record sets (`ic gcp dns info`)
56
+ - **Resource Hierarchy & Projects**: Multi-level folder tree, project status, and active project indicators (`ic gcp project info`)
57
+ - **Billing**: Cost by service, budgets, and alerts (`ic gcp billing info`)
58
+ - **Profile**: gcloud CLI configurations and active account verification (`ic gcp profile info`)
44
59
 
45
60
  ### 4. 🟥 Oracle Cloud Infrastructure (OCI) (Production Ready)
46
61
  - **Compute & Containers**: VM instances, Container instances (ACI)
@@ -215,23 +230,39 @@ ic tencent tke info
215
230
  ic tencent profile info
216
231
  ```
217
232
 
218
- ### GCP Commands
233
+ ### GCP Commands (v1.5.2)
219
234
 
220
235
  ```bash
221
- # Compute Engine VM instances
236
+ # Compute Engine VM instances (summary & verbose 15-column output)
222
237
  ic gcp compute info
223
-
224
- # Cloud Storage buckets
225
- ic gcp storage info
226
-
227
- # VPC networks and subnets
228
- ic gcp vpc info
229
-
230
- # GKE Clusters
231
- ic gcp gke info
232
-
233
- # Cloud SQL databases
234
- ic gcp sql info
238
+ ic gcp compute info -v
239
+
240
+ # Compute Engine detailed resource inspection (desc)
241
+ ic gcp compute desc # Full YAML dump
242
+ ic gcp compute desc -l # Discover queryable dot-notation keys
243
+ ic gcp compute desc -k status,machine_type,internal_ip # Filter attributes into table
244
+
245
+ # Load Balancers (ALB / NLB)
246
+ ic gcp lb info
247
+ ic gcp lb desc -l # Discover LB schema keys
248
+ ic gcp lb desc -k type,ip_address,backend_services.0.name # Inspect LB backend services
249
+
250
+ # Container & Serverless
251
+ ic gcp gke info # GKE clusters & node pools
252
+ ic gcp run info # Cloud Run services & revisions
253
+ ic gcp functions info # Cloud Functions & triggers
254
+
255
+ # Databases, Storage & Networking
256
+ ic gcp sql info # Cloud SQL instances
257
+ ic gcp storage info # Cloud Storage buckets
258
+ ic gcp vpc info # VPC networks & subnets
259
+ ic gcp firewall info # Firewall ingress/egress rules
260
+ ic gcp dns info # Cloud DNS managed zones
261
+
262
+ # Resource Hierarchy & Project Management
263
+ ic gcp project info # Active project & folder tree view
264
+ ic gcp billing info # Monthly billing costs by service
265
+ ic gcp profile info # gcloud active configurations
235
266
  ```
236
267
 
237
268
  ### OCI Commands
@@ -0,0 +1,80 @@
1
+ # GCP Platform Documentation
2
+
3
+ This directory contains documentation for the GCP (Google Cloud Platform) integration in IC CLI (v1.5.2).
4
+
5
+ ---
6
+
7
+ ## Available Guides
8
+
9
+ - [Installation Guide](../installation.md) - How to install and set up GCP integration
10
+ - [User & Usage Guide](../user_guide.md) - Complete command reference for GCP commands
11
+ - [Troubleshooting Guide](../troubleshooting.md) - Common issues and solutions
12
+
13
+ ---
14
+
15
+ ## Services Supported (v1.5.2)
16
+
17
+ | Service | Commands | Key Features |
18
+ |---|---|---|
19
+ | **Compute Engine** | `ic gcp compute info`, `ic gcp compute desc` | VM list with zone, machine type, vCPU, memory, disks, IPs, tags. Verbose 15-column view (`-v`). Full schema & dot-notation key filtering (`desc -k`, `desc -l`). |
20
+ | **Load Balancing** | `ic gcp lb info`, `ic gcp lb desc` | Global & Regional Forwarding Rules, Target Proxies, URL Maps, Backend Services, Health Checks, SSL Certs. Detailed hierarchical inspection (`desc`). |
21
+ | **Google Kubernetes Engine (GKE)** | `ic gcp gke info` | GKE clusters, versions, node pools, machine types, autoscaling, and private cluster status. |
22
+ | **Cloud Run** | `ic gcp run info` | Serverless container services, ready status, CPU/Mem allocations, min/max instances, and URLs. |
23
+ | **Cloud Functions** | `ic gcp functions info` | 1st & 2nd Gen Cloud Functions, triggers, runtimes, memory, and status. |
24
+ | **Cloud SQL** | `ic gcp sql info` | MySQL, PostgreSQL, SQL Server instances, versions, tiers, HA, and backup status. |
25
+ | **Cloud Storage (GCS)** | `ic gcp storage info` | Storage buckets, locations, storage classes, object counts, sizes, and versioning. |
26
+ | **VPC & Networking** | `ic gcp vpc info` | VPC networks, auto/custom subnets, CIDR ranges, and gateway configurations. |
27
+ | **Firewall** | `ic gcp firewall info` | Ingress and Egress firewall rules, priorities, allowed/denied protocols/ports, and target tags. |
28
+ | **Cloud DNS** | `ic gcp dns info` | Managed public and private DNS zones, nameservers, and record sets. |
29
+ | **Resource Manager (Projects)** | `ic gcp project info` | Multi-level folder resource hierarchy tree, active project indicators, and project states. |
30
+ | **Cloud Billing** | `ic gcp billing info` | Current month spend by service, budgets, and alert thresholds. |
31
+ | **Profile** | `ic gcp profile info` | Active gcloud configurations, authenticated accounts, and default project settings. |
32
+
33
+ ---
34
+
35
+ ## Quick Start Commands
36
+
37
+ ```bash
38
+ # 1. Compute Engine VM instances
39
+ ic gcp compute info
40
+ ic gcp compute info -v # 15-column verbose output
41
+ ic gcp compute desc -l # Schema discovery (47+ keys)
42
+ ic gcp compute desc -k status,machine_type,internal_ip,labels.env # Dot-notation attribute extraction
43
+
44
+ # 2. Load Balancing (ALB / NLB)
45
+ ic gcp lb info
46
+ ic gcp lb desc -l # Discover queryable LB keys (56+ keys)
47
+ ic gcp lb desc -k type,ip_address,backend_services.0.name # Deep attribute inspection
48
+
49
+ # 3. Containers & Serverless
50
+ ic gcp gke info # GKE clusters & node pools
51
+ ic gcp run info # Cloud Run services
52
+ ic gcp functions info # Cloud Functions
53
+
54
+ # 4. Storage & Databases
55
+ ic gcp storage info # Cloud Storage buckets
56
+ ic gcp sql info # Cloud SQL instances
57
+
58
+ # 5. Networking & Security
59
+ ic gcp vpc info # VPC networks & subnets
60
+ ic gcp firewall info # Firewall rules
61
+ ic gcp dns info # Cloud DNS managed zones
62
+
63
+ # 6. Projects & Billing
64
+ ic gcp project info # Folder hierarchy tree & project states
65
+ ic gcp billing info # Cost breakdown by service
66
+ ic gcp profile info # gcloud CLI active configurations
67
+ ```
68
+
69
+ ---
70
+
71
+ ## Common Options
72
+
73
+ All GCP commands support standard IC CLI options:
74
+ - `-a, --account, --project <PROJECT_ID>`: Filter by one or more GCP project IDs (comma-separated).
75
+ - `--all-projects`: Concurrently inspect all accessible GCP projects.
76
+ - `-r, --region, --regions <REGION>`: Filter by region (e.g. `asia-northeast3`).
77
+ - `-z, --zone, --zones <ZONE>`: Filter by zone (e.g. `asia-northeast3-a`).
78
+ - `-n, --name <NAME>`: Filter by resource name (partial match).
79
+ - `-o, --output {table,tree,json,yaml}`: Choose output format (Default: `table`).
80
+ - `--mock`: Run offline using built-in mock datasets for testing and verification.
@@ -2,11 +2,19 @@
2
2
 
3
3
  IC CLI provides comprehensive, production-grade management for **Tencent Cloud** resources.
4
4
 
5
+ ## 🖥️ Terminal UI Preview
6
+
7
+ ### CVM Instance Inspection (`ic tencent cvm info`)
8
+ ![Tencent CVM Info Terminal UI](use_sample.png)
9
+
10
+ ---
11
+
5
12
  ## 📦 Supported Tencent Cloud Services
6
13
 
7
14
  ### 1. CVM (Cloud Virtual Machine)
8
- - **Command**: `ic tencent cvm info`
9
- - **Features**: List CVM instances across regions/accounts, displaying Instance ID, Name, State, CPU/Memory, Zone, Private/Public IPs, and attached Security Groups.
15
+ - **Commands**:
16
+ - `ic tencent cvm info`: List CVM instances across regions/accounts, displaying Instance ID, Name, State, CPU/Memory, Zone, Private/Public IPs, and attached Security Groups.
17
+ - `ic tencent cvm desc`: Deep inspection of CVM instance attributes in tree, JSON, or YAML format with key filtering (`-k / --keys`, `-l / --list-keys`).
10
18
 
11
19
  ### 2. Lighthouse (Lightweight Application Server)
12
20
  - **Command**: `ic tencent lighthouse info`
@@ -16,6 +24,7 @@ IC CLI provides comprehensive, production-grade management for **Tencent Cloud**
16
24
  - **Commands**:
17
25
  - `ic tencent clb info`: Inspect Load Balancers, listeners, rules, health check paths, and target instance health status.
18
26
  - `ic tencent clb traffic`: Query network bandwidth statistics (Client Input/Output Bandwidth Avg/Max in Mbps) and total data transfer over a given period (default: 7 days, `-d 30` for 30 days).
27
+ - `ic tencent clb desc`: Detailed CLB configuration and listener/rule hierarchy inspection with dot-notation key filtering.
19
28
 
20
29
  ### 4. VPC & Networking
21
30
  - **Commands**: `ic tencent vpc info`, `ic tencent nat info`
@@ -47,11 +47,30 @@ ic config show
47
47
  - **VPC / NAT / TKE**: `ic tencent vpc info` / `ic tencent nat info` / `ic tencent tke info`
48
48
  - **자격 증명 확인**: `ic tencent profile info`
49
49
 
50
- ### 3. 🟩 GCP Services
51
- - **Compute Engine**: `ic gcp compute info`
52
- - **Cloud Storage**: `ic gcp storage info`
53
- - **VPC & Firewall**: `ic gcp vpc info`
54
- - **GKE & Cloud SQL**: `ic gcp gke info` / `ic gcp sql info`
50
+ ### 3. 🟩 GCP Services (v1.5.2)
51
+ - **Compute Engine (요약 & 15개 컬럼 상세 & desc)**:
52
+ - `ic gcp compute info`: 기본 요약 목록
53
+ - `ic gcp compute info -v`: 상세 15열 뷰 (vCPU, Mem, Disks, Net/Subnet, Tags 등)
54
+ - `ic gcp compute desc -l`: 조회 가능한 전체 점 표기법 키 목록 탐색
55
+ - `ic gcp compute desc -k status,machine_type,internal_ip`: 원하는 속성만 테이블로 추출
56
+ - **Load Balancing (ALB/NLB 요약 & desc 상세 계층 탐색)**:
57
+ - `ic gcp lb info`: 로드 밸런서, 프로토콜, 포트, 백엔드 및 헬스체크 요약
58
+ - `ic gcp lb desc -l`: 전체 계층 속성 키 목록 검색
59
+ - `ic gcp lb desc -k type,ip_address,backend_services.0.name,health_checks.0.type`: 세부 속성 추출
60
+ - **컨테이너 & 서버리스**:
61
+ - `ic gcp gke info`: GKE 클러스터 및 노드 풀
62
+ - `ic gcp run info`: Cloud Run 서비스 및 컨테이너 리소스
63
+ - `ic gcp functions info`: Cloud Functions 및 이벤트 트리거
64
+ - **데이터베이스, 스토리지 & 네트워크**:
65
+ - `ic gcp sql info`: Cloud SQL 인스턴스
66
+ - `ic gcp storage info`: Cloud Storage 버킷
67
+ - `ic gcp vpc info`: VPC 네트워크 및 서브넷
68
+ - `ic gcp firewall info`: 인그레스/이그레스 방화벽 규칙
69
+ - `ic gcp dns info`: Cloud DNS 관리형 영역
70
+ - **조직 계층 및 프로젝트 관리**:
71
+ - `ic gcp project info`: 멀티레벨 폴더 계층 트리 뷰 및 활성 프로젝트 확인
72
+ - `ic gcp billing info`: 서비스별 월별 청구 비용
73
+ - `ic gcp profile info`: gcloud 활성 계정 및 프로필 확인
55
74
 
56
75
  ### 4. 🟥 OCI (Oracle Cloud) Services
57
76
  - **VM 인스턴스 & VCN**: `ic oci vm info` / `ic oci vcn info`
@@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta"
4
4
 
5
5
  [project]
6
6
  name = "ic-code"
7
- version = "1.3.5"
7
+ version = "1.5.2"
8
8
  authors = [
9
9
  {name = "sykim", email = "cruiser594@gmail.com"},
10
10
  ]
@@ -77,6 +77,7 @@ gcp = [
77
77
  "google-cloud-functions>=1.16.0,<2.0.0",
78
78
  "google-cloud-run>=0.11.0,<1.0.0",
79
79
  "google-cloud-billing>=1.13.0,<2.0.0",
80
+ "google-cloud-dns>=0.34.0,<1.0.0",
80
81
  "google-cloud-resource-manager>=1.12.0,<2.0.0",
81
82
  "google-auth>=2.29.0,<3.0.0",
82
83
  "google-auth-oauthlib>=1.2.0,<2.0.0",
@@ -101,6 +102,7 @@ all = [
101
102
  "google-cloud-functions>=1.16.0,<2.0.0",
102
103
  "google-cloud-run>=0.11.0,<1.0.0",
103
104
  "google-cloud-billing>=1.13.0,<2.0.0",
105
+ "google-cloud-dns>=0.34.0,<1.0.0",
104
106
  "google-cloud-resource-manager>=1.12.0,<2.0.0",
105
107
  "google-auth>=2.29.0,<3.0.0",
106
108
  "google-auth-oauthlib>=1.2.0,<2.0.0",
@@ -182,4 +184,4 @@ markers = [
182
184
  pythonVersion = "3.13"
183
185
  venvPath = "."
184
186
  venv = ".venv"
185
- extraPaths = ["."]
187
+ extraPaths = ["src", "."]
@@ -155,13 +155,7 @@ def gather_env_for_command(platform, service, command):
155
155
  elif platform == "gcp":
156
156
  # GCP 서비스들에서 공통으로 사용하는 환경변수
157
157
  relevant_keys = [
158
- # MCP Server Configuration (Primary)
159
- "MCP_GCP_ENABLED",
160
- "MCP_GCP_ENDPOINT",
161
- "MCP_GCP_AUTH_METHOD",
162
- "GCP_PREFER_MCP",
163
-
164
- # Authentication (Fallback)
158
+ # Authentication
165
159
  "GCP_SERVICE_ACCOUNT_KEY_PATH",
166
160
  "GCP_SERVICE_ACCOUNT_KEY",
167
161
  "GOOGLE_APPLICATION_CREDENTIALS",
@@ -2,7 +2,7 @@
2
2
 
3
3
  import os
4
4
  import json
5
- from typing import Dict, List, Optional, Tuple
5
+ from typing import List, Tuple
6
6
  from rich.console import Console
7
7
  from rich.panel import Panel
8
8
  from rich.text import Text
@@ -27,9 +27,6 @@ class GCPConfigValidator:
27
27
  self.warnings.clear()
28
28
  self.suggestions.clear()
29
29
 
30
- # MCP 설정 검증
31
- self._validate_mcp_config()
32
-
33
30
  # 인증 설정 검증
34
31
  self._validate_authentication()
35
32
 
@@ -48,34 +45,7 @@ class GCPConfigValidator:
48
45
  is_valid = len(self.errors) == 0
49
46
  return is_valid, self.errors, self.warnings
50
47
 
51
- def _validate_mcp_config(self):
52
- """MCP 서버 설정 검증"""
53
- mcp_config = self.config.get('mcp', {})
54
- mcp_enabled = str(mcp_config.get('gcp_enabled', os.getenv('MCP_GCP_ENABLED', 'false'))).lower() == 'true'
55
- prefer_mcp = str(self.gcp_config.get('prefer_mcp', os.getenv('GCP_PREFER_MCP', 'true'))).lower() == 'true'
56
-
57
- if prefer_mcp and not mcp_enabled:
58
- self.warnings.append(
59
- "GCP_PREFER_MCP is true but MCP_GCP_ENABLED is false. "
60
- "Will fallback to direct API access."
61
- )
62
-
63
- if mcp_enabled:
64
- endpoint = mcp_config.get('gcp_endpoint', os.getenv('MCP_GCP_ENDPOINT'))
65
- if not endpoint:
66
- self.errors.append(
67
- "MCP_GCP_ENDPOINT is required when MCP_GCP_ENABLED=true"
68
- )
69
-
70
- auth_method = mcp_config.get('gcp_auth_method', os.getenv('MCP_GCP_AUTH_METHOD'))
71
- if auth_method and auth_method not in ['service_account', 'adc', 'gcloud']:
72
- self.errors.append(
73
- f"Invalid MCP_GCP_AUTH_METHOD: {auth_method}. "
74
- "Valid options: service_account, adc, gcloud"
75
- )
76
-
77
48
  def _validate_authentication(self):
78
- """인증 설정 검증"""
79
49
  service_account_path = self.gcp_config.get('service_account_key_path', os.getenv('GCP_SERVICE_ACCOUNT_KEY_PATH'))
80
50
  service_account_key = self.gcp_config.get('service_account_key', os.getenv('GCP_SERVICE_ACCOUNT_KEY'))
81
51
  google_credentials = self.gcp_config.get('google_application_credentials', os.getenv('GOOGLE_APPLICATION_CREDENTIALS'))
@@ -307,12 +277,7 @@ GCP Configuration Setup Guide:
307
277
  - Set: GCP_REGIONS=us-central1,us-east1
308
278
  - Set: GCP_ZONES=us-central1-a,us-central1-b
309
279
 
310
- 4. MCP Server Configuration (Recommended):
311
- - Set: MCP_GCP_ENABLED=true
312
- - Set: MCP_GCP_ENDPOINT=http://localhost:8080/gcp
313
- - Set: MCP_GCP_AUTH_METHOD=service_account
314
-
315
- 5. Required GCP APIs:
280
+ 4. Required GCP APIs:
316
281
  Enable the following APIs in your GCP projects:
317
282
  - Compute Engine API (compute.googleapis.com)
318
283
  - Kubernetes Engine API (container.googleapis.com)
@@ -321,6 +286,7 @@ GCP Configuration Setup Guide:
321
286
  - Cloud Functions API (cloudfunctions.googleapis.com)
322
287
  - Cloud Run API (run.googleapis.com)
323
288
  - Cloud Billing API (cloudbilling.googleapis.com)
289
+ - Cloud DNS API (dns.googleapis.com)
324
290
 
325
291
  For more details, see: https://cloud.google.com/docs/authentication
326
292
  """