ic-code 1.2.1__tar.gz → 1.2.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 (289) hide show
  1. {ic_code-1.2.1/src/ic_code.egg-info → ic_code-1.2.2}/PKG-INFO +1 -1
  2. {ic_code-1.2.1 → ic_code-1.2.2}/pyproject.toml +1 -1
  3. {ic_code-1.2.1 → ic_code-1.2.2}/src/ic/__init__.py +1 -1
  4. {ic_code-1.2.1 → ic_code-1.2.2}/src/ic/platforms/aws/ec2/list_tags.py +2 -2
  5. {ic_code-1.2.1 → ic_code-1.2.2}/src/ic/platforms/aws/lb/list_tags.py +2 -2
  6. {ic_code-1.2.1 → ic_code-1.2.2}/src/ic/platforms/aws/nat/list_tags.py +39 -7
  7. {ic_code-1.2.1 → ic_code-1.2.2}/src/ic/platforms/aws/rds/list_tags.py +41 -8
  8. {ic_code-1.2.1 → ic_code-1.2.2}/src/ic/platforms/aws/s3/list_tags.py +41 -6
  9. {ic_code-1.2.1 → ic_code-1.2.2}/src/ic/platforms/aws/vpc/list_tags.py +2 -2
  10. {ic_code-1.2.1 → ic_code-1.2.2/src/ic_code.egg-info}/PKG-INFO +1 -1
  11. {ic_code-1.2.1 → ic_code-1.2.2}/LICENSE +0 -0
  12. {ic_code-1.2.1 → ic_code-1.2.2}/MANIFEST.in +0 -0
  13. {ic_code-1.2.1 → ic_code-1.2.2}/README.md +0 -0
  14. {ic_code-1.2.1 → ic_code-1.2.2}/SECURITY.md +0 -0
  15. {ic_code-1.2.1 → ic_code-1.2.2}/docs/README.md +0 -0
  16. {ic_code-1.2.1 → ic_code-1.2.2}/docs/_templates/configuration.md +0 -0
  17. {ic_code-1.2.1 → ic_code-1.2.2}/docs/_templates/installation.md +0 -0
  18. {ic_code-1.2.1 → ic_code-1.2.2}/docs/_templates/troubleshooting.md +0 -0
  19. {ic_code-1.2.1 → ic_code-1.2.2}/docs/_templates/usage.md +0 -0
  20. {ic_code-1.2.1 → ic_code-1.2.2}/docs/aws/README.md +0 -0
  21. {ic_code-1.2.1 → ic_code-1.2.2}/docs/aws/aws_cli_prd.md +0 -0
  22. {ic_code-1.2.1 → ic_code-1.2.2}/docs/aws/installation.md +0 -0
  23. {ic_code-1.2.1 → ic_code-1.2.2}/docs/azure/README.md +0 -0
  24. {ic_code-1.2.1 → ic_code-1.2.2}/docs/ci-workflow-guide.md +0 -0
  25. {ic_code-1.2.1 → ic_code-1.2.2}/docs/config_migration.md +0 -0
  26. {ic_code-1.2.1 → ic_code-1.2.2}/docs/deployment.md +0 -0
  27. {ic_code-1.2.1 → ic_code-1.2.2}/docs/development/README.md +0 -0
  28. {ic_code-1.2.1 → ic_code-1.2.2}/docs/development/cleanup_summary.md +0 -0
  29. {ic_code-1.2.1 → ic_code-1.2.2}/docs/development/development_guide.md +0 -0
  30. {ic_code-1.2.1 → ic_code-1.2.2}/docs/development/import_patterns.md +0 -0
  31. {ic_code-1.2.1 → ic_code-1.2.2}/docs/development/migration_guide.md +0 -0
  32. {ic_code-1.2.1 → ic_code-1.2.2}/docs/gcp/GCP_CONFIGURATION_GUIDE.md +0 -0
  33. {ic_code-1.2.1 → ic_code-1.2.2}/docs/gcp/GCP_SECURITY_BEST_PRACTICES.md +0 -0
  34. {ic_code-1.2.1 → ic_code-1.2.2}/docs/gcp/README.md +0 -0
  35. {ic_code-1.2.1 → ic_code-1.2.2}/docs/general/configuration.md +0 -0
  36. {ic_code-1.2.1 → ic_code-1.2.2}/docs/installation.md +0 -0
  37. {ic_code-1.2.1 → ic_code-1.2.2}/docs/mcp_integration.md +0 -0
  38. {ic_code-1.2.1 → ic_code-1.2.2}/docs/migration.md +0 -0
  39. {ic_code-1.2.1 → ic_code-1.2.2}/docs/migration_guide.md +0 -0
  40. {ic_code-1.2.1 → ic_code-1.2.2}/docs/ncp/README.md +0 -0
  41. {ic_code-1.2.1 → ic_code-1.2.2}/docs/ncp/configuration.md +0 -0
  42. {ic_code-1.2.1 → ic_code-1.2.2}/docs/ncp/installation.md +0 -0
  43. {ic_code-1.2.1 → ic_code-1.2.2}/docs/ncp/troubleshooting.md +0 -0
  44. {ic_code-1.2.1 → ic_code-1.2.2}/docs/ncp/usage.md +0 -0
  45. {ic_code-1.2.1 → ic_code-1.2.2}/docs/ncpgov/README.md +0 -0
  46. {ic_code-1.2.1 → ic_code-1.2.2}/docs/ncpgov/installation.md +0 -0
  47. {ic_code-1.2.1 → ic_code-1.2.2}/docs/oci/README.md +0 -0
  48. {ic_code-1.2.1 → ic_code-1.2.2}/docs/oci/installation.md +0 -0
  49. {ic_code-1.2.1 → ic_code-1.2.2}/docs/release-guide.md +0 -0
  50. {ic_code-1.2.1 → ic_code-1.2.2}/docs/security.md +0 -0
  51. {ic_code-1.2.1 → ic_code-1.2.2}/docs/ssh/configuration.md +0 -0
  52. {ic_code-1.2.1 → ic_code-1.2.2}/docs/troubleshooting.md +0 -0
  53. {ic_code-1.2.1 → ic_code-1.2.2}/docs/user_guide.md +0 -0
  54. {ic_code-1.2.1 → ic_code-1.2.2}/requirements.txt +0 -0
  55. {ic_code-1.2.1 → ic_code-1.2.2}/scripts/analysis_summary.py +0 -0
  56. {ic_code-1.2.1 → ic_code-1.2.2}/scripts/bump-version.sh +0 -0
  57. {ic_code-1.2.1 → ic_code-1.2.2}/scripts/cf_edge_nsg_make/cf_edge_nsg_make.py +0 -0
  58. {ic_code-1.2.1 → ic_code-1.2.2}/scripts/ci-detect-platforms.py +0 -0
  59. {ic_code-1.2.1 → ic_code-1.2.2}/scripts/ci-generate-matrix.py +0 -0
  60. {ic_code-1.2.1 → ic_code-1.2.2}/scripts/cli_usage_analysis.py +0 -0
  61. {ic_code-1.2.1 → ic_code-1.2.2}/scripts/dependency_mapper.py +0 -0
  62. {ic_code-1.2.1 → ic_code-1.2.2}/scripts/deploy.sh +0 -0
  63. {ic_code-1.2.1 → ic_code-1.2.2}/scripts/final_validation_and_documentation.py +0 -0
  64. {ic_code-1.2.1 → ic_code-1.2.2}/scripts/fix_consolidated_imports.py +0 -0
  65. {ic_code-1.2.1 → ic_code-1.2.2}/scripts/migration_execution_and_validation.py +0 -0
  66. {ic_code-1.2.1 → ic_code-1.2.2}/scripts/ncp_security_scanner.py +0 -0
  67. {ic_code-1.2.1 → ic_code-1.2.2}/scripts/oracle-policy/user_policy.py +0 -0
  68. {ic_code-1.2.1 → ic_code-1.2.2}/scripts/performance_optimization.py +0 -0
  69. {ic_code-1.2.1 → ic_code-1.2.2}/scripts/setup_venv.py +0 -0
  70. {ic_code-1.2.1 → ic_code-1.2.2}/scripts/test-ci-detection.sh +0 -0
  71. {ic_code-1.2.1 → ic_code-1.2.2}/scripts/unset_env.sh +0 -0
  72. {ic_code-1.2.1 → ic_code-1.2.2}/scripts/validate_config.py +0 -0
  73. {ic_code-1.2.1 → ic_code-1.2.2}/scripts/validate_dependencies.py +0 -0
  74. {ic_code-1.2.1 → ic_code-1.2.2}/scripts/validate_ncp_security.py +0 -0
  75. {ic_code-1.2.1 → ic_code-1.2.2}/setup.cfg +0 -0
  76. {ic_code-1.2.1 → ic_code-1.2.2}/setup.py +0 -0
  77. {ic_code-1.2.1 → ic_code-1.2.2}/src/common/__init__.py +0 -0
  78. {ic_code-1.2.1 → ic_code-1.2.2}/src/common/azure_utils.py +0 -0
  79. {ic_code-1.2.1 → ic_code-1.2.2}/src/common/gather_env.py +0 -0
  80. {ic_code-1.2.1 → ic_code-1.2.2}/src/common/gcp_config_validator.py +0 -0
  81. {ic_code-1.2.1 → ic_code-1.2.2}/src/common/gcp_monitoring.py +0 -0
  82. {ic_code-1.2.1 → ic_code-1.2.2}/src/common/gcp_utils.py +0 -0
  83. {ic_code-1.2.1 → ic_code-1.2.2}/src/common/log.py +0 -0
  84. {ic_code-1.2.1 → ic_code-1.2.2}/src/common/ncp_security_utils.py +0 -0
  85. {ic_code-1.2.1 → ic_code-1.2.2}/src/common/ncp_utils.py +0 -0
  86. {ic_code-1.2.1 → ic_code-1.2.2}/src/common/ncpgov_utils.py +0 -0
  87. {ic_code-1.2.1 → ic_code-1.2.2}/src/common/progress_decorator.py +0 -0
  88. {ic_code-1.2.1 → ic_code-1.2.2}/src/common/slack.py +0 -0
  89. {ic_code-1.2.1 → ic_code-1.2.2}/src/common/utils.py +0 -0
  90. {ic_code-1.2.1 → ic_code-1.2.2}/src/ic/cli.py +0 -0
  91. {ic_code-1.2.1 → ic_code-1.2.2}/src/ic/cli_backup.py +0 -0
  92. {ic_code-1.2.1 → ic_code-1.2.2}/src/ic/commands/__init__.py +0 -0
  93. {ic_code-1.2.1 → ic_code-1.2.2}/src/ic/commands/config.py +0 -0
  94. {ic_code-1.2.1 → ic_code-1.2.2}/src/ic/commands/migration.py +0 -0
  95. {ic_code-1.2.1 → ic_code-1.2.2}/src/ic/commands/security.py +0 -0
  96. {ic_code-1.2.1 → ic_code-1.2.2}/src/ic/compat/__init__.py +0 -0
  97. {ic_code-1.2.1 → ic_code-1.2.2}/src/ic/compat/cli.py +0 -0
  98. {ic_code-1.2.1 → ic_code-1.2.2}/src/ic/compat/common.py +0 -0
  99. {ic_code-1.2.1 → ic_code-1.2.2}/src/ic/config/__init__.py +0 -0
  100. {ic_code-1.2.1 → ic_code-1.2.2}/src/ic/config/cleanup.py +0 -0
  101. {ic_code-1.2.1 → ic_code-1.2.2}/src/ic/config/docs_organizer.py +0 -0
  102. {ic_code-1.2.1 → ic_code-1.2.2}/src/ic/config/external.py +0 -0
  103. {ic_code-1.2.1 → ic_code-1.2.2}/src/ic/config/installer.py +0 -0
  104. {ic_code-1.2.1 → ic_code-1.2.2}/src/ic/config/manager.py +0 -0
  105. {ic_code-1.2.1 → ic_code-1.2.2}/src/ic/config/migration.py +0 -0
  106. {ic_code-1.2.1 → ic_code-1.2.2}/src/ic/config/migration_utils.py +0 -0
  107. {ic_code-1.2.1 → ic_code-1.2.2}/src/ic/config/path_manager.py +0 -0
  108. {ic_code-1.2.1 → ic_code-1.2.2}/src/ic/config/schema.py +0 -0
  109. {ic_code-1.2.1 → ic_code-1.2.2}/src/ic/config/secrets.py +0 -0
  110. {ic_code-1.2.1 → ic_code-1.2.2}/src/ic/config/security.py +0 -0
  111. {ic_code-1.2.1 → ic_code-1.2.2}/src/ic/core/__init__.py +0 -0
  112. {ic_code-1.2.1 → ic_code-1.2.2}/src/ic/core/dependency_validator.py +0 -0
  113. {ic_code-1.2.1 → ic_code-1.2.2}/src/ic/core/logging.py +0 -0
  114. {ic_code-1.2.1 → ic_code-1.2.2}/src/ic/core/mcp_manager.py +0 -0
  115. {ic_code-1.2.1 → ic_code-1.2.2}/src/ic/core/platform_discovery.py +0 -0
  116. {ic_code-1.2.1 → ic_code-1.2.2}/src/ic/core/session.py +0 -0
  117. {ic_code-1.2.1 → ic_code-1.2.2}/src/ic/core/silence_logging.py +0 -0
  118. {ic_code-1.2.1 → ic_code-1.2.2}/src/ic/migration/__init__.py +0 -0
  119. {ic_code-1.2.1 → ic_code-1.2.2}/src/ic/migration/manager.py +0 -0
  120. {ic_code-1.2.1 → ic_code-1.2.2}/src/ic/migration/post_validation.py +0 -0
  121. {ic_code-1.2.1 → ic_code-1.2.2}/src/ic/migration/rollback.py +0 -0
  122. {ic_code-1.2.1 → ic_code-1.2.2}/src/ic/migration/validation.py +0 -0
  123. {ic_code-1.2.1 → ic_code-1.2.2}/src/ic/platforms/__init__.py +0 -0
  124. {ic_code-1.2.1 → ic_code-1.2.2}/src/ic/platforms/aws/__init__.py +0 -0
  125. {ic_code-1.2.1 → ic_code-1.2.2}/src/ic/platforms/aws/cloudfront/__init__.py +0 -0
  126. {ic_code-1.2.1 → ic_code-1.2.2}/src/ic/platforms/aws/cloudfront/info.py +0 -0
  127. {ic_code-1.2.1 → ic_code-1.2.2}/src/ic/platforms/aws/codepipeline/__init__.py +0 -0
  128. {ic_code-1.2.1 → ic_code-1.2.2}/src/ic/platforms/aws/codepipeline/build.py +0 -0
  129. {ic_code-1.2.1 → ic_code-1.2.2}/src/ic/platforms/aws/codepipeline/deploy.py +0 -0
  130. {ic_code-1.2.1 → ic_code-1.2.2}/src/ic/platforms/aws/ec2/__init__.py +0 -0
  131. {ic_code-1.2.1 → ic_code-1.2.2}/src/ic/platforms/aws/ec2/info.py +0 -0
  132. {ic_code-1.2.1 → ic_code-1.2.2}/src/ic/platforms/aws/ec2/tag_check.py +0 -0
  133. {ic_code-1.2.1 → ic_code-1.2.2}/src/ic/platforms/aws/ecs/__init__.py +0 -0
  134. {ic_code-1.2.1 → ic_code-1.2.2}/src/ic/platforms/aws/ecs/info.py +0 -0
  135. {ic_code-1.2.1 → ic_code-1.2.2}/src/ic/platforms/aws/ecs/service.py +0 -0
  136. {ic_code-1.2.1 → ic_code-1.2.2}/src/ic/platforms/aws/ecs/task.py +0 -0
  137. {ic_code-1.2.1 → ic_code-1.2.2}/src/ic/platforms/aws/eks/__init__.py +0 -0
  138. {ic_code-1.2.1 → ic_code-1.2.2}/src/ic/platforms/aws/eks/addons.py +0 -0
  139. {ic_code-1.2.1 → ic_code-1.2.2}/src/ic/platforms/aws/eks/fargate.py +0 -0
  140. {ic_code-1.2.1 → ic_code-1.2.2}/src/ic/platforms/aws/eks/info.py +0 -0
  141. {ic_code-1.2.1 → ic_code-1.2.2}/src/ic/platforms/aws/eks/nodes.py +0 -0
  142. {ic_code-1.2.1 → ic_code-1.2.2}/src/ic/platforms/aws/eks/pods.py +0 -0
  143. {ic_code-1.2.1 → ic_code-1.2.2}/src/ic/platforms/aws/eks/update_config.py +0 -0
  144. {ic_code-1.2.1 → ic_code-1.2.2}/src/ic/platforms/aws/fargate/__init__.py +0 -0
  145. {ic_code-1.2.1 → ic_code-1.2.2}/src/ic/platforms/aws/fargate/info.py +0 -0
  146. {ic_code-1.2.1 → ic_code-1.2.2}/src/ic/platforms/aws/lb/__init__.py +0 -0
  147. {ic_code-1.2.1 → ic_code-1.2.2}/src/ic/platforms/aws/lb/info.py +0 -0
  148. {ic_code-1.2.1 → ic_code-1.2.2}/src/ic/platforms/aws/lb/tag_check.py +0 -0
  149. {ic_code-1.2.1 → ic_code-1.2.2}/src/ic/platforms/aws/msk/__init__.py +0 -0
  150. {ic_code-1.2.1 → ic_code-1.2.2}/src/ic/platforms/aws/msk/broker.py +0 -0
  151. {ic_code-1.2.1 → ic_code-1.2.2}/src/ic/platforms/aws/msk/info.py +0 -0
  152. {ic_code-1.2.1 → ic_code-1.2.2}/src/ic/platforms/aws/nat/__init__.py +0 -0
  153. {ic_code-1.2.1 → ic_code-1.2.2}/src/ic/platforms/aws/nat/tag_check.py +0 -0
  154. {ic_code-1.2.1 → ic_code-1.2.2}/src/ic/platforms/aws/profile/__init__.py +0 -0
  155. {ic_code-1.2.1 → ic_code-1.2.2}/src/ic/platforms/aws/profile/info.py +0 -0
  156. {ic_code-1.2.1 → ic_code-1.2.2}/src/ic/platforms/aws/rds/__init__.py +0 -0
  157. {ic_code-1.2.1 → ic_code-1.2.2}/src/ic/platforms/aws/rds/info.py +0 -0
  158. {ic_code-1.2.1 → ic_code-1.2.2}/src/ic/platforms/aws/rds/tag_check.py +0 -0
  159. {ic_code-1.2.1 → ic_code-1.2.2}/src/ic/platforms/aws/s3/__init__.py +0 -0
  160. {ic_code-1.2.1 → ic_code-1.2.2}/src/ic/platforms/aws/s3/info.py +0 -0
  161. {ic_code-1.2.1 → ic_code-1.2.2}/src/ic/platforms/aws/s3/tag_check.py +0 -0
  162. {ic_code-1.2.1 → ic_code-1.2.2}/src/ic/platforms/aws/sg/__init__.py +0 -0
  163. {ic_code-1.2.1 → ic_code-1.2.2}/src/ic/platforms/aws/sg/info.py +0 -0
  164. {ic_code-1.2.1 → ic_code-1.2.2}/src/ic/platforms/aws/vpc/__init__.py +0 -0
  165. {ic_code-1.2.1 → ic_code-1.2.2}/src/ic/platforms/aws/vpc/info.py +0 -0
  166. {ic_code-1.2.1 → ic_code-1.2.2}/src/ic/platforms/aws/vpc/tag_check.py +0 -0
  167. {ic_code-1.2.1 → ic_code-1.2.2}/src/ic/platforms/aws/vpn/__init__.py +0 -0
  168. {ic_code-1.2.1 → ic_code-1.2.2}/src/ic/platforms/aws/vpn/info.py +0 -0
  169. {ic_code-1.2.1 → ic_code-1.2.2}/src/ic/platforms/azure/README.md +0 -0
  170. {ic_code-1.2.1 → ic_code-1.2.2}/src/ic/platforms/azure/__init__.py +0 -0
  171. {ic_code-1.2.1 → ic_code-1.2.2}/src/ic/platforms/azure/aci/__init__.py +0 -0
  172. {ic_code-1.2.1 → ic_code-1.2.2}/src/ic/platforms/azure/aci/info.py +0 -0
  173. {ic_code-1.2.1 → ic_code-1.2.2}/src/ic/platforms/azure/aks/__init__.py +0 -0
  174. {ic_code-1.2.1 → ic_code-1.2.2}/src/ic/platforms/azure/aks/info.py +0 -0
  175. {ic_code-1.2.1 → ic_code-1.2.2}/src/ic/platforms/azure/lb/__init__.py +0 -0
  176. {ic_code-1.2.1 → ic_code-1.2.2}/src/ic/platforms/azure/lb/info.py +0 -0
  177. {ic_code-1.2.1 → ic_code-1.2.2}/src/ic/platforms/azure/nsg/__init__.py +0 -0
  178. {ic_code-1.2.1 → ic_code-1.2.2}/src/ic/platforms/azure/nsg/info.py +0 -0
  179. {ic_code-1.2.1 → ic_code-1.2.2}/src/ic/platforms/azure/storage/__init__.py +0 -0
  180. {ic_code-1.2.1 → ic_code-1.2.2}/src/ic/platforms/azure/storage/info.py +0 -0
  181. {ic_code-1.2.1 → ic_code-1.2.2}/src/ic/platforms/azure/vm/__init__.py +0 -0
  182. {ic_code-1.2.1 → ic_code-1.2.2}/src/ic/platforms/azure/vm/info.py +0 -0
  183. {ic_code-1.2.1 → ic_code-1.2.2}/src/ic/platforms/azure/vm/mock_data.json +0 -0
  184. {ic_code-1.2.1 → ic_code-1.2.2}/src/ic/platforms/azure/vnet/__init__.py +0 -0
  185. {ic_code-1.2.1 → ic_code-1.2.2}/src/ic/platforms/azure/vnet/info.py +0 -0
  186. {ic_code-1.2.1 → ic_code-1.2.2}/src/ic/platforms/azure/vnet/mock_data.json +0 -0
  187. {ic_code-1.2.1 → ic_code-1.2.2}/src/ic/platforms/cloudflare/README.md +0 -0
  188. {ic_code-1.2.1 → ic_code-1.2.2}/src/ic/platforms/cloudflare/__init__.py +0 -0
  189. {ic_code-1.2.1 → ic_code-1.2.2}/src/ic/platforms/cloudflare/dns/__init__.py +0 -0
  190. {ic_code-1.2.1 → ic_code-1.2.2}/src/ic/platforms/cloudflare/dns/list_info.py +0 -0
  191. {ic_code-1.2.1 → ic_code-1.2.2}/src/ic/platforms/gcp/README.md +0 -0
  192. {ic_code-1.2.1 → ic_code-1.2.2}/src/ic/platforms/gcp/__init__.py +0 -0
  193. {ic_code-1.2.1 → ic_code-1.2.2}/src/ic/platforms/gcp/billing/__init__.py +0 -0
  194. {ic_code-1.2.1 → ic_code-1.2.2}/src/ic/platforms/gcp/billing/info.py +0 -0
  195. {ic_code-1.2.1 → ic_code-1.2.2}/src/ic/platforms/gcp/billing/mock_data.json +0 -0
  196. {ic_code-1.2.1 → ic_code-1.2.2}/src/ic/platforms/gcp/compute/__init__.py +0 -0
  197. {ic_code-1.2.1 → ic_code-1.2.2}/src/ic/platforms/gcp/compute/info.py +0 -0
  198. {ic_code-1.2.1 → ic_code-1.2.2}/src/ic/platforms/gcp/compute/mock_data.json +0 -0
  199. {ic_code-1.2.1 → ic_code-1.2.2}/src/ic/platforms/gcp/firewall/__init__.py +0 -0
  200. {ic_code-1.2.1 → ic_code-1.2.2}/src/ic/platforms/gcp/firewall/info.py +0 -0
  201. {ic_code-1.2.1 → ic_code-1.2.2}/src/ic/platforms/gcp/functions/__init__.py +0 -0
  202. {ic_code-1.2.1 → ic_code-1.2.2}/src/ic/platforms/gcp/functions/info.py +0 -0
  203. {ic_code-1.2.1 → ic_code-1.2.2}/src/ic/platforms/gcp/gke/__init__.py +0 -0
  204. {ic_code-1.2.1 → ic_code-1.2.2}/src/ic/platforms/gcp/gke/info.py +0 -0
  205. {ic_code-1.2.1 → ic_code-1.2.2}/src/ic/platforms/gcp/gke/mock_data.json +0 -0
  206. {ic_code-1.2.1 → ic_code-1.2.2}/src/ic/platforms/gcp/lb/__init__.py +0 -0
  207. {ic_code-1.2.1 → ic_code-1.2.2}/src/ic/platforms/gcp/lb/info.py +0 -0
  208. {ic_code-1.2.1 → ic_code-1.2.2}/src/ic/platforms/gcp/run/__init__.py +0 -0
  209. {ic_code-1.2.1 → ic_code-1.2.2}/src/ic/platforms/gcp/run/info.py +0 -0
  210. {ic_code-1.2.1 → ic_code-1.2.2}/src/ic/platforms/gcp/sql/__init__.py +0 -0
  211. {ic_code-1.2.1 → ic_code-1.2.2}/src/ic/platforms/gcp/sql/info.py +0 -0
  212. {ic_code-1.2.1 → ic_code-1.2.2}/src/ic/platforms/gcp/storage/__init__.py +0 -0
  213. {ic_code-1.2.1 → ic_code-1.2.2}/src/ic/platforms/gcp/storage/info.py +0 -0
  214. {ic_code-1.2.1 → ic_code-1.2.2}/src/ic/platforms/gcp/vpc/__init__.py +0 -0
  215. {ic_code-1.2.1 → ic_code-1.2.2}/src/ic/platforms/gcp/vpc/info.py +0 -0
  216. {ic_code-1.2.1 → ic_code-1.2.2}/src/ic/platforms/gcp/vpc/mock_data.json +0 -0
  217. {ic_code-1.2.1 → ic_code-1.2.2}/src/ic/platforms/ncp/__init__.py +0 -0
  218. {ic_code-1.2.1 → ic_code-1.2.2}/src/ic/platforms/ncp/client.py +0 -0
  219. {ic_code-1.2.1 → ic_code-1.2.2}/src/ic/platforms/ncp/ec2/__init__.py +0 -0
  220. {ic_code-1.2.1 → ic_code-1.2.2}/src/ic/platforms/ncp/ec2/info.py +0 -0
  221. {ic_code-1.2.1 → ic_code-1.2.2}/src/ic/platforms/ncp/rds/__init__.py +0 -0
  222. {ic_code-1.2.1 → ic_code-1.2.2}/src/ic/platforms/ncp/rds/info.py +0 -0
  223. {ic_code-1.2.1 → ic_code-1.2.2}/src/ic/platforms/ncp/s3/__init__.py +0 -0
  224. {ic_code-1.2.1 → ic_code-1.2.2}/src/ic/platforms/ncp/s3/info.py +0 -0
  225. {ic_code-1.2.1 → ic_code-1.2.2}/src/ic/platforms/ncp/sg/__init__.py +0 -0
  226. {ic_code-1.2.1 → ic_code-1.2.2}/src/ic/platforms/ncp/sg/info.py +0 -0
  227. {ic_code-1.2.1 → ic_code-1.2.2}/src/ic/platforms/ncp/vpc/__init__.py +0 -0
  228. {ic_code-1.2.1 → ic_code-1.2.2}/src/ic/platforms/ncp/vpc/info.py +0 -0
  229. {ic_code-1.2.1 → ic_code-1.2.2}/src/ic/platforms/ncpgov/__init__.py +0 -0
  230. {ic_code-1.2.1 → ic_code-1.2.2}/src/ic/platforms/ncpgov/client.py +0 -0
  231. {ic_code-1.2.1 → ic_code-1.2.2}/src/ic/platforms/ncpgov/ec2/__init__.py +0 -0
  232. {ic_code-1.2.1 → ic_code-1.2.2}/src/ic/platforms/ncpgov/ec2/info.py +0 -0
  233. {ic_code-1.2.1 → ic_code-1.2.2}/src/ic/platforms/ncpgov/rds/__init__.py +0 -0
  234. {ic_code-1.2.1 → ic_code-1.2.2}/src/ic/platforms/ncpgov/rds/info.py +0 -0
  235. {ic_code-1.2.1 → ic_code-1.2.2}/src/ic/platforms/ncpgov/s3/__init__.py +0 -0
  236. {ic_code-1.2.1 → ic_code-1.2.2}/src/ic/platforms/ncpgov/s3/info.py +0 -0
  237. {ic_code-1.2.1 → ic_code-1.2.2}/src/ic/platforms/ncpgov/sg/__init__.py +0 -0
  238. {ic_code-1.2.1 → ic_code-1.2.2}/src/ic/platforms/ncpgov/sg/info.py +0 -0
  239. {ic_code-1.2.1 → ic_code-1.2.2}/src/ic/platforms/ncpgov/vpc/__init__.py +0 -0
  240. {ic_code-1.2.1 → ic_code-1.2.2}/src/ic/platforms/ncpgov/vpc/info.py +0 -0
  241. {ic_code-1.2.1 → ic_code-1.2.2}/src/ic/platforms/oci/README.md +0 -0
  242. {ic_code-1.2.1 → ic_code-1.2.2}/src/ic/platforms/oci/__init__.py +0 -0
  243. {ic_code-1.2.1 → ic_code-1.2.2}/src/ic/platforms/oci/common/__init__.py +0 -0
  244. {ic_code-1.2.1 → ic_code-1.2.2}/src/ic/platforms/oci/common/utils.py +0 -0
  245. {ic_code-1.2.1 → ic_code-1.2.2}/src/ic/platforms/oci/compartment/__init__.py +0 -0
  246. {ic_code-1.2.1 → ic_code-1.2.2}/src/ic/platforms/oci/compartment/info.py +0 -0
  247. {ic_code-1.2.1 → ic_code-1.2.2}/src/ic/platforms/oci/cost/__init__.py +0 -0
  248. {ic_code-1.2.1 → ic_code-1.2.2}/src/ic/platforms/oci/cost/credit.py +0 -0
  249. {ic_code-1.2.1 → ic_code-1.2.2}/src/ic/platforms/oci/cost/usage.py +0 -0
  250. {ic_code-1.2.1 → ic_code-1.2.2}/src/ic/platforms/oci/info/__init__.py +0 -0
  251. {ic_code-1.2.1 → ic_code-1.2.2}/src/ic/platforms/oci/info/oci_info.py +0 -0
  252. {ic_code-1.2.1 → ic_code-1.2.2}/src/ic/platforms/oci/lb/__init__.py +0 -0
  253. {ic_code-1.2.1 → ic_code-1.2.2}/src/ic/platforms/oci/lb/info.py +0 -0
  254. {ic_code-1.2.1 → ic_code-1.2.2}/src/ic/platforms/oci/nsg/__init__.py +0 -0
  255. {ic_code-1.2.1 → ic_code-1.2.2}/src/ic/platforms/oci/nsg/info.py +0 -0
  256. {ic_code-1.2.1 → ic_code-1.2.2}/src/ic/platforms/oci/obj/__init__.py +0 -0
  257. {ic_code-1.2.1 → ic_code-1.2.2}/src/ic/platforms/oci/obj/info.py +0 -0
  258. {ic_code-1.2.1 → ic_code-1.2.2}/src/ic/platforms/oci/policy/__init__.py +0 -0
  259. {ic_code-1.2.1 → ic_code-1.2.2}/src/ic/platforms/oci/policy/info.py +0 -0
  260. {ic_code-1.2.1 → ic_code-1.2.2}/src/ic/platforms/oci/policy/search.py +0 -0
  261. {ic_code-1.2.1 → ic_code-1.2.2}/src/ic/platforms/oci/vcn/__init__.py +0 -0
  262. {ic_code-1.2.1 → ic_code-1.2.2}/src/ic/platforms/oci/vcn/info.py +0 -0
  263. {ic_code-1.2.1 → ic_code-1.2.2}/src/ic/platforms/oci/vm/__init__.py +0 -0
  264. {ic_code-1.2.1 → ic_code-1.2.2}/src/ic/platforms/oci/vm/info.py +0 -0
  265. {ic_code-1.2.1 → ic_code-1.2.2}/src/ic/platforms/oci/volume/__init__.py +0 -0
  266. {ic_code-1.2.1 → ic_code-1.2.2}/src/ic/platforms/oci/volume/info.py +0 -0
  267. {ic_code-1.2.1 → ic_code-1.2.2}/src/ic/platforms/ssh/README.md +0 -0
  268. {ic_code-1.2.1 → ic_code-1.2.2}/src/ic/platforms/ssh/__init__.py +0 -0
  269. {ic_code-1.2.1 → ic_code-1.2.2}/src/ic/platforms/ssh/auto/__init__.py +0 -0
  270. {ic_code-1.2.1 → ic_code-1.2.2}/src/ic/platforms/ssh/auto/scan.py +0 -0
  271. {ic_code-1.2.1 → ic_code-1.2.2}/src/ic/platforms/ssh/auto_ssh.py +0 -0
  272. {ic_code-1.2.1 → ic_code-1.2.2}/src/ic/platforms/ssh/server/__init__.py +0 -0
  273. {ic_code-1.2.1 → ic_code-1.2.2}/src/ic/platforms/ssh/server/info.py +0 -0
  274. {ic_code-1.2.1 → ic_code-1.2.2}/src/ic/platforms/ssh/server_info.py +0 -0
  275. {ic_code-1.2.1 → ic_code-1.2.2}/src/ic/security/README.md +0 -0
  276. {ic_code-1.2.1 → ic_code-1.2.2}/src/ic/security/__init__.py +0 -0
  277. {ic_code-1.2.1 → ic_code-1.2.2}/src/ic/security/config.py +0 -0
  278. {ic_code-1.2.1 → ic_code-1.2.2}/src/ic/security/detector.py +0 -0
  279. {ic_code-1.2.1 → ic_code-1.2.2}/src/ic/security/guidance.py +0 -0
  280. {ic_code-1.2.1 → ic_code-1.2.2}/src/ic/security/hooks.py +0 -0
  281. {ic_code-1.2.1 → ic_code-1.2.2}/src/ic/security/patterns.py +0 -0
  282. {ic_code-1.2.1 → ic_code-1.2.2}/src/ic/security/scanner.py +0 -0
  283. {ic_code-1.2.1 → ic_code-1.2.2}/src/ic_code.egg-info/SOURCES.txt +0 -0
  284. {ic_code-1.2.1 → ic_code-1.2.2}/src/ic_code.egg-info/dependency_links.txt +0 -0
  285. {ic_code-1.2.1 → ic_code-1.2.2}/src/ic_code.egg-info/entry_points.txt +0 -0
  286. {ic_code-1.2.1 → ic_code-1.2.2}/src/ic_code.egg-info/requires.txt +0 -0
  287. {ic_code-1.2.1 → ic_code-1.2.2}/src/ic_code.egg-info/top_level.txt +0 -0
  288. {ic_code-1.2.1 → ic_code-1.2.2}/src/mcp/__init__.py +0 -0
  289. {ic_code-1.2.1 → ic_code-1.2.2}/src/mcp/gcp_connector.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: ic-code
3
- Version: 1.2.1
3
+ Version: 1.2.2
4
4
  Summary: Infrastructure CLI tool for managing AWS, Azure, GCP, OCI, NCP, CloudFlare, SSH, and more
5
5
  Home-page: https://github.com/dgr009/ic
6
6
  Author: SangYun Kim
@@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta"
4
4
 
5
5
  [project]
6
6
  name = "ic-code"
7
- version = "1.2.1"
7
+ version = "1.2.2"
8
8
  authors = [
9
9
  {name = "sykim", email = "cruiser594@gmail.com"},
10
10
  ]
@@ -4,7 +4,7 @@ IC (Infra Resource Management CLI) - A comprehensive tool for managing cloud inf
4
4
  This package provides CLI tools and libraries for managing AWS, Azure, GCP, OCI, and CloudFlare resources.
5
5
  """
6
6
 
7
- __version__ = "1.2.1"
7
+ __version__ = "1.2.2"
8
8
  __author__ = "SangYun"
9
9
  __email__ = "cruiser594@gmail.com"
10
10
 
@@ -42,8 +42,8 @@ def get_tag_keys():
42
42
  """설정에서 태그 키를 가져옵니다."""
43
43
  if config and 'aws' in config and 'tags' in config['aws']:
44
44
  aws_tags = config['aws']['tags']
45
- required_tags = aws_tags.get('required', ['User', 'Team', 'Environment'])
46
- optional_tags = aws_tags.get('optional', ['Service', 'Application'])
45
+ required_tags = aws_tags.get('required', [])
46
+ optional_tags = aws_tags.get('optional', [])
47
47
  else:
48
48
  # Fallback to environment variables
49
49
  env_required = os.getenv("REQUIRED_TAGS", "User,Team,Environment")
@@ -45,8 +45,8 @@ def get_tag_keys():
45
45
  """설정에서 태그 키를 가져옵니다."""
46
46
  if config and 'aws' in config and 'tags' in config['aws']:
47
47
  aws_tags = config['aws']['tags']
48
- required_tags = aws_tags.get('required', ['User', 'Team', 'Environment'])
49
- optional_tags = aws_tags.get('optional', ['Service', 'Application'])
48
+ required_tags = aws_tags.get('required', [])
49
+ optional_tags = aws_tags.get('optional', [])
50
50
  else:
51
51
  # Fallback to environment variables
52
52
  env_required = os.getenv("REQUIRED_TAGS", "User,Team,Environment")
@@ -18,17 +18,49 @@ except ImportError:
18
18
  from rich.console import Console
19
19
  from rich.table import Table
20
20
 
21
- load_dotenv()
21
+ # 새로운 설정 시스템 import
22
+ try:
23
+ from src.ic.config.manager import ConfigManager
24
+ config_manager = ConfigManager()
25
+ config = config_manager.get_config()
26
+ except ImportError:
27
+ try:
28
+ from ic.config.manager import ConfigManager
29
+ config_manager = ConfigManager()
30
+ config = config_manager.get_config()
31
+ except ImportError:
32
+ # Legacy fallback for development
33
+ import sys
34
+ import os
35
+ sys.path.insert(0, os.path.join(os.path.dirname(__file__), '..', '..', '..'))
36
+ from ic.config.manager import ConfigManager
37
+ config_manager = ConfigManager()
38
+ config = config_manager.get_config()
39
+ except ImportError:
40
+ # 호환성을 위한 fallback
41
+ from dotenv import load_dotenv
42
+ load_dotenv()
43
+ config = {}
22
44
 
23
45
  console = Console()
24
46
 
25
- # .env에서 공통 태그 키를 읽기 (EC2 / LB와 동일)
26
- env_required = os.getenv("REQUIRED_TAGS", "User,Team,Environment")
27
- env_optional = os.getenv("OPTIONAL_TAGS", "Service,Application")
47
+ # 새로운 설정 시스템에서 태그 가져오기
48
+ def get_tag_keys():
49
+ """설정에서 태그 키를 가져옵니다."""
50
+ if config and 'aws' in config and 'tags' in config['aws']:
51
+ aws_tags = config['aws']['tags']
52
+ required_tags = aws_tags.get('required', [])
53
+ optional_tags = aws_tags.get('optional', [])
54
+ else:
55
+ # Fallback to environment variables
56
+ env_required = os.getenv("REQUIRED_TAGS", "User,Team,Environment")
57
+ env_optional = os.getenv("OPTIONAL_TAGS", "Service,Application")
58
+ required_tags = [t.strip() for t in env_required.split(",") if t.strip()]
59
+ optional_tags = [t.strip() for t in env_optional.split(",") if t.strip()]
60
+
61
+ return required_tags + optional_tags
28
62
 
29
- required_tags = [t.strip() for t in env_required.split(",") if t.strip()]
30
- optional_tags = [t.strip() for t in env_optional.split(",") if t.strip()]
31
- TAG_KEYS = required_tags + optional_tags
63
+ TAG_KEYS = get_tag_keys()
32
64
 
33
65
  @log_decorator
34
66
  def fetch_nat_tags(account_id, profile_name, region):
@@ -14,16 +14,49 @@ except ImportError:
14
14
  from rich.console import Console
15
15
  from rich.table import Table
16
16
 
17
- load_dotenv()
18
- console = Console()
17
+ # 새로운 설정 시스템 import
18
+ try:
19
+ from src.ic.config.manager import ConfigManager
20
+ config_manager = ConfigManager()
21
+ config = config_manager.get_config()
22
+ except ImportError:
23
+ try:
24
+ from ic.config.manager import ConfigManager
25
+ config_manager = ConfigManager()
26
+ config = config_manager.get_config()
27
+ except ImportError:
28
+ # Legacy fallback for development
29
+ import sys
30
+ import os
31
+ sys.path.insert(0, os.path.join(os.path.dirname(__file__), '..', '..', '..'))
32
+ from ic.config.manager import ConfigManager
33
+ config_manager = ConfigManager()
34
+ config = config_manager.get_config()
35
+ except ImportError:
36
+ # 호환성을 위한 fallback
37
+ from dotenv import load_dotenv
38
+ load_dotenv()
39
+ config = {}
19
40
 
20
- # .env에서 공통 태그 키 불러오기
21
- env_required = os.getenv("REQUIRED_TAGS", "User,Team,Environment")
22
- env_optional = os.getenv("OPTIONAL_TAGS", "Service,Application")
41
+ console = Console()
23
42
 
24
- required_tags = [t.strip() for t in env_required.split(",") if t.strip()]
25
- optional_tags = [t.strip() for t in env_optional.split(",") if t.strip()]
26
- TAG_KEYS = required_tags + optional_tags
43
+ # 새로운 설정 시스템에서 태그 가져오기
44
+ def get_tag_keys():
45
+ """설정에서 태그 키를 가져옵니다."""
46
+ if config and 'aws' in config and 'tags' in config['aws']:
47
+ aws_tags = config['aws']['tags']
48
+ required_tags = aws_tags.get('required', [])
49
+ optional_tags = aws_tags.get('optional', [])
50
+ else:
51
+ # Fallback to environment variables
52
+ env_required = os.getenv("REQUIRED_TAGS", "User,Team,Environment")
53
+ env_optional = os.getenv("OPTIONAL_TAGS", "Service,Application")
54
+ required_tags = [t.strip() for t in env_required.split(",") if t.strip()]
55
+ optional_tags = [t.strip() for t in env_optional.split(",") if t.strip()]
56
+
57
+ return required_tags + optional_tags
58
+
59
+ TAG_KEYS = get_tag_keys()
27
60
 
28
61
  @log_decorator
29
62
  def fetch_rds_tags(account_id, profile_name, region):
@@ -15,14 +15,49 @@ except ImportError:
15
15
  from rich.console import Console
16
16
  from rich.table import Table
17
17
 
18
- load_dotenv()
18
+ # 새로운 설정 시스템 import
19
+ try:
20
+ from src.ic.config.manager import ConfigManager
21
+ config_manager = ConfigManager()
22
+ config = config_manager.get_config()
23
+ except ImportError:
24
+ try:
25
+ from ic.config.manager import ConfigManager
26
+ config_manager = ConfigManager()
27
+ config = config_manager.get_config()
28
+ except ImportError:
29
+ # Legacy fallback for development
30
+ import sys
31
+ import os
32
+ sys.path.insert(0, os.path.join(os.path.dirname(__file__), '..', '..', '..'))
33
+ from ic.config.manager import ConfigManager
34
+ config_manager = ConfigManager()
35
+ config = config_manager.get_config()
36
+ except ImportError:
37
+ # 호환성을 위한 fallback
38
+ from dotenv import load_dotenv
39
+ load_dotenv()
40
+ config = {}
41
+
19
42
  console = Console()
20
43
 
21
- env_required = os.getenv("REQUIRED_TAGS", "User,Team,Environment")
22
- env_optional = os.getenv("OPTIONAL_TAGS", "Service,Application")
23
- required_tags = [t.strip() for t in env_required.split(",") if t.strip()]
24
- optional_tags = [t.strip() for t in env_optional.split(",") if t.strip()]
25
- TAG_KEYS = required_tags + optional_tags
44
+ # 새로운 설정 시스템에서 태그 키 가져오기
45
+ def get_tag_keys():
46
+ """설정에서 태그 키를 가져옵니다."""
47
+ if config and 'aws' in config and 'tags' in config['aws']:
48
+ aws_tags = config['aws']['tags']
49
+ required_tags = aws_tags.get('required', [])
50
+ optional_tags = aws_tags.get('optional', [])
51
+ else:
52
+ # Fallback to environment variables
53
+ env_required = os.getenv("REQUIRED_TAGS", "User,Team,Environment")
54
+ env_optional = os.getenv("OPTIONAL_TAGS", "Service,Application")
55
+ required_tags = [t.strip() for t in env_required.split(",") if t.strip()]
56
+ optional_tags = [t.strip() for t in env_optional.split(",") if t.strip()]
57
+
58
+ return required_tags + optional_tags
59
+
60
+ TAG_KEYS = get_tag_keys()
26
61
 
27
62
  @log_decorator
28
63
  def fetch_s3_tags(account_id, profile_name, region):
@@ -45,8 +45,8 @@ def get_tag_keys():
45
45
  """설정에서 태그 키를 가져옵니다."""
46
46
  if config and 'aws' in config and 'tags' in config['aws']:
47
47
  aws_tags = config['aws']['tags']
48
- required_tags = aws_tags.get('required', ['User', 'Team', 'Environment'])
49
- optional_tags = aws_tags.get('optional', ['Service', 'Application'])
48
+ required_tags = aws_tags.get('required', [])
49
+ optional_tags = aws_tags.get('optional', [])
50
50
  else:
51
51
  # Fallback to environment variables
52
52
  env_required = os.getenv("REQUIRED_TAGS", "User,Team,Environment")
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: ic-code
3
- Version: 1.2.1
3
+ Version: 1.2.2
4
4
  Summary: Infrastructure CLI tool for managing AWS, Azure, GCP, OCI, NCP, CloudFlare, SSH, and more
5
5
  Home-page: https://github.com/dgr009/ic
6
6
  Author: SangYun Kim
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes