ic-code 1.2.7__tar.gz → 1.2.9__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.
- {ic_code-1.2.7/src/ic_code.egg-info → ic_code-1.2.9}/PKG-INFO +45 -11
- {ic_code-1.2.7 → ic_code-1.2.9}/README.md +42 -10
- {ic_code-1.2.7 → ic_code-1.2.9}/pyproject.toml +12 -2
- {ic_code-1.2.7 → ic_code-1.2.9}/requirements.txt +1 -0
- {ic_code-1.2.7 → ic_code-1.2.9}/src/common/utils.py +1 -1
- {ic_code-1.2.7 → ic_code-1.2.9}/src/ic/__init__.py +1 -1
- {ic_code-1.2.7 → ic_code-1.2.9}/src/ic/cli.py +6 -5
- {ic_code-1.2.7 → ic_code-1.2.9}/src/ic/platforms/aws/lb/info.py +131 -64
- ic_code-1.2.9/src/ic/platforms/tencent/__init__.py +1 -0
- ic_code-1.2.9/src/ic/platforms/tencent/clb/__init__.py +0 -0
- ic_code-1.2.9/src/ic/platforms/tencent/clb/info.py +378 -0
- ic_code-1.2.9/src/ic/platforms/tencent/client.py +427 -0
- ic_code-1.2.9/src/ic/platforms/tencent/cvm/__init__.py +0 -0
- ic_code-1.2.9/src/ic/platforms/tencent/cvm/info.py +316 -0
- ic_code-1.2.9/src/ic/platforms/tencent/lighthouse/__init__.py +0 -0
- ic_code-1.2.9/src/ic/platforms/tencent/lighthouse/info.py +287 -0
- ic_code-1.2.9/src/ic/platforms/tencent/nat/__init__.py +0 -0
- ic_code-1.2.9/src/ic/platforms/tencent/nat/info.py +223 -0
- ic_code-1.2.9/src/ic/platforms/tencent/profile/__init__.py +0 -0
- ic_code-1.2.9/src/ic/platforms/tencent/profile/info.py +213 -0
- ic_code-1.2.9/src/ic/platforms/tencent/sg/__init__.py +0 -0
- ic_code-1.2.9/src/ic/platforms/tencent/sg/info.py +308 -0
- ic_code-1.2.9/src/ic/platforms/tencent/tke/__init__.py +0 -0
- ic_code-1.2.9/src/ic/platforms/tencent/tke/info.py +236 -0
- ic_code-1.2.9/src/ic/platforms/tencent/vpc/__init__.py +0 -0
- ic_code-1.2.9/src/ic/platforms/tencent/vpc/info.py +214 -0
- {ic_code-1.2.7 → ic_code-1.2.9/src/ic_code.egg-info}/PKG-INFO +45 -11
- {ic_code-1.2.7 → ic_code-1.2.9}/src/ic_code.egg-info/SOURCES.txt +18 -0
- {ic_code-1.2.7 → ic_code-1.2.9}/src/ic_code.egg-info/requires.txt +2 -0
- {ic_code-1.2.7 → ic_code-1.2.9}/LICENSE +0 -0
- {ic_code-1.2.7 → ic_code-1.2.9}/MANIFEST.in +0 -0
- {ic_code-1.2.7 → ic_code-1.2.9}/SECURITY.md +0 -0
- {ic_code-1.2.7 → ic_code-1.2.9}/config/default.yaml +0 -0
- {ic_code-1.2.7 → ic_code-1.2.9}/docs/README.md +0 -0
- {ic_code-1.2.7 → ic_code-1.2.9}/docs/_templates/configuration.md +0 -0
- {ic_code-1.2.7 → ic_code-1.2.9}/docs/_templates/installation.md +0 -0
- {ic_code-1.2.7 → ic_code-1.2.9}/docs/_templates/troubleshooting.md +0 -0
- {ic_code-1.2.7 → ic_code-1.2.9}/docs/_templates/usage.md +0 -0
- {ic_code-1.2.7 → ic_code-1.2.9}/docs/aws/README.md +0 -0
- {ic_code-1.2.7 → ic_code-1.2.9}/docs/aws/aws_cli_prd.md +0 -0
- {ic_code-1.2.7 → ic_code-1.2.9}/docs/aws/installation.md +0 -0
- {ic_code-1.2.7 → ic_code-1.2.9}/docs/ci-workflow-guide.md +0 -0
- {ic_code-1.2.7 → ic_code-1.2.9}/docs/cloudflare_configuration_example.md +0 -0
- {ic_code-1.2.7 → ic_code-1.2.9}/docs/config_migration.md +0 -0
- {ic_code-1.2.7 → ic_code-1.2.9}/docs/deployment.md +0 -0
- {ic_code-1.2.7 → ic_code-1.2.9}/docs/development/README.md +0 -0
- {ic_code-1.2.7 → ic_code-1.2.9}/docs/development/cleanup_summary.md +0 -0
- {ic_code-1.2.7 → ic_code-1.2.9}/docs/development/development_guide.md +0 -0
- {ic_code-1.2.7 → ic_code-1.2.9}/docs/development/import_patterns.md +0 -0
- {ic_code-1.2.7 → ic_code-1.2.9}/docs/development/migration_guide.md +0 -0
- {ic_code-1.2.7 → ic_code-1.2.9}/docs/gcp/GCP_CONFIGURATION_GUIDE.md +0 -0
- {ic_code-1.2.7 → ic_code-1.2.9}/docs/gcp/GCP_SECURITY_BEST_PRACTICES.md +0 -0
- {ic_code-1.2.7 → ic_code-1.2.9}/docs/gcp/README.md +0 -0
- {ic_code-1.2.7 → ic_code-1.2.9}/docs/general/configuration.md +0 -0
- {ic_code-1.2.7 → ic_code-1.2.9}/docs/installation.md +0 -0
- {ic_code-1.2.7 → ic_code-1.2.9}/docs/migration.md +0 -0
- {ic_code-1.2.7 → ic_code-1.2.9}/docs/migration_guide.md +0 -0
- {ic_code-1.2.7 → ic_code-1.2.9}/docs/oci/README.md +0 -0
- {ic_code-1.2.7 → ic_code-1.2.9}/docs/oci/installation.md +0 -0
- {ic_code-1.2.7 → ic_code-1.2.9}/docs/release-guide.md +0 -0
- {ic_code-1.2.7 → ic_code-1.2.9}/docs/security.md +0 -0
- {ic_code-1.2.7 → ic_code-1.2.9}/docs/ssh/configuration.md +0 -0
- {ic_code-1.2.7 → ic_code-1.2.9}/docs/troubleshooting.md +0 -0
- {ic_code-1.2.7 → ic_code-1.2.9}/docs/user_guide.md +0 -0
- {ic_code-1.2.7 → ic_code-1.2.9}/scripts/analysis_summary.py +0 -0
- {ic_code-1.2.7 → ic_code-1.2.9}/scripts/bump-version.sh +0 -0
- {ic_code-1.2.7 → ic_code-1.2.9}/scripts/cf_edge_nsg_make/cf_edge_nsg_make.py +0 -0
- {ic_code-1.2.7 → ic_code-1.2.9}/scripts/ci-detect-platforms.py +0 -0
- {ic_code-1.2.7 → ic_code-1.2.9}/scripts/ci-generate-matrix.py +0 -0
- {ic_code-1.2.7 → ic_code-1.2.9}/scripts/cli_usage_analysis.py +0 -0
- {ic_code-1.2.7 → ic_code-1.2.9}/scripts/dependency_mapper.py +0 -0
- {ic_code-1.2.7 → ic_code-1.2.9}/scripts/deploy.sh +0 -0
- {ic_code-1.2.7 → ic_code-1.2.9}/scripts/final_validation_and_documentation.py +0 -0
- {ic_code-1.2.7 → ic_code-1.2.9}/scripts/fix_consolidated_imports.py +0 -0
- {ic_code-1.2.7 → ic_code-1.2.9}/scripts/migration_execution_and_validation.py +0 -0
- {ic_code-1.2.7 → ic_code-1.2.9}/scripts/oracle-policy/user_policy.py +0 -0
- {ic_code-1.2.7 → ic_code-1.2.9}/scripts/performance_optimization.py +0 -0
- {ic_code-1.2.7 → ic_code-1.2.9}/scripts/setup_venv.py +0 -0
- {ic_code-1.2.7 → ic_code-1.2.9}/scripts/test-ci-detection.sh +0 -0
- {ic_code-1.2.7 → ic_code-1.2.9}/scripts/unset_env.sh +0 -0
- {ic_code-1.2.7 → ic_code-1.2.9}/scripts/validate_config.py +0 -0
- {ic_code-1.2.7 → ic_code-1.2.9}/scripts/validate_dependencies.py +0 -0
- {ic_code-1.2.7 → ic_code-1.2.9}/setup.cfg +0 -0
- {ic_code-1.2.7 → ic_code-1.2.9}/setup.py +0 -0
- {ic_code-1.2.7 → ic_code-1.2.9}/src/common/__init__.py +0 -0
- {ic_code-1.2.7 → ic_code-1.2.9}/src/common/gather_env.py +0 -0
- {ic_code-1.2.7 → ic_code-1.2.9}/src/common/gcp_config_validator.py +0 -0
- {ic_code-1.2.7 → ic_code-1.2.9}/src/common/gcp_monitoring.py +0 -0
- {ic_code-1.2.7 → ic_code-1.2.9}/src/common/gcp_utils.py +0 -0
- {ic_code-1.2.7 → ic_code-1.2.9}/src/common/log.py +0 -0
- {ic_code-1.2.7 → ic_code-1.2.9}/src/common/progress_decorator.py +0 -0
- {ic_code-1.2.7 → ic_code-1.2.9}/src/common/slack.py +0 -0
- {ic_code-1.2.7 → ic_code-1.2.9}/src/ic/commands/__init__.py +0 -0
- {ic_code-1.2.7 → ic_code-1.2.9}/src/ic/commands/config.py +0 -0
- {ic_code-1.2.7 → ic_code-1.2.9}/src/ic/commands/security.py +0 -0
- {ic_code-1.2.7 → ic_code-1.2.9}/src/ic/compat/__init__.py +0 -0
- {ic_code-1.2.7 → ic_code-1.2.9}/src/ic/compat/cli.py +0 -0
- {ic_code-1.2.7 → ic_code-1.2.9}/src/ic/compat/common.py +0 -0
- {ic_code-1.2.7 → ic_code-1.2.9}/src/ic/config/__init__.py +0 -0
- {ic_code-1.2.7 → ic_code-1.2.9}/src/ic/config/cleanup.py +0 -0
- {ic_code-1.2.7 → ic_code-1.2.9}/src/ic/config/docs_organizer.py +0 -0
- {ic_code-1.2.7 → ic_code-1.2.9}/src/ic/config/external.py +0 -0
- {ic_code-1.2.7 → ic_code-1.2.9}/src/ic/config/installer.py +0 -0
- {ic_code-1.2.7 → ic_code-1.2.9}/src/ic/config/manager.py +0 -0
- {ic_code-1.2.7 → ic_code-1.2.9}/src/ic/config/migration.py +0 -0
- {ic_code-1.2.7 → ic_code-1.2.9}/src/ic/config/migration_utils.py +0 -0
- {ic_code-1.2.7 → ic_code-1.2.9}/src/ic/config/path_manager.py +0 -0
- {ic_code-1.2.7 → ic_code-1.2.9}/src/ic/config/schema.py +0 -0
- {ic_code-1.2.7 → ic_code-1.2.9}/src/ic/config/secrets.py +0 -0
- {ic_code-1.2.7 → ic_code-1.2.9}/src/ic/config/security.py +0 -0
- {ic_code-1.2.7 → ic_code-1.2.9}/src/ic/core/__init__.py +0 -0
- {ic_code-1.2.7 → ic_code-1.2.9}/src/ic/core/dependency_validator.py +0 -0
- {ic_code-1.2.7 → ic_code-1.2.9}/src/ic/core/logging.py +0 -0
- {ic_code-1.2.7 → ic_code-1.2.9}/src/ic/core/platform_discovery.py +0 -0
- {ic_code-1.2.7 → ic_code-1.2.9}/src/ic/core/session.py +0 -0
- {ic_code-1.2.7 → ic_code-1.2.9}/src/ic/core/silence_logging.py +0 -0
- {ic_code-1.2.7 → ic_code-1.2.9}/src/ic/platforms/__init__.py +0 -0
- {ic_code-1.2.7 → ic_code-1.2.9}/src/ic/platforms/aws/__init__.py +0 -0
- {ic_code-1.2.7 → ic_code-1.2.9}/src/ic/platforms/aws/cloudfront/__init__.py +0 -0
- {ic_code-1.2.7 → ic_code-1.2.9}/src/ic/platforms/aws/cloudfront/info.py +0 -0
- {ic_code-1.2.7 → ic_code-1.2.9}/src/ic/platforms/aws/codepipeline/__init__.py +0 -0
- {ic_code-1.2.7 → ic_code-1.2.9}/src/ic/platforms/aws/codepipeline/build.py +0 -0
- {ic_code-1.2.7 → ic_code-1.2.9}/src/ic/platforms/aws/codepipeline/deploy.py +0 -0
- {ic_code-1.2.7 → ic_code-1.2.9}/src/ic/platforms/aws/ec2/__init__.py +0 -0
- {ic_code-1.2.7 → ic_code-1.2.9}/src/ic/platforms/aws/ec2/info.py +0 -0
- {ic_code-1.2.7 → ic_code-1.2.9}/src/ic/platforms/aws/ec2/list_tags.py +0 -0
- {ic_code-1.2.7 → ic_code-1.2.9}/src/ic/platforms/aws/ec2/tag_check.py +0 -0
- {ic_code-1.2.7 → ic_code-1.2.9}/src/ic/platforms/aws/ecs/__init__.py +0 -0
- {ic_code-1.2.7 → ic_code-1.2.9}/src/ic/platforms/aws/ecs/info.py +0 -0
- {ic_code-1.2.7 → ic_code-1.2.9}/src/ic/platforms/aws/ecs/service.py +0 -0
- {ic_code-1.2.7 → ic_code-1.2.9}/src/ic/platforms/aws/ecs/task.py +0 -0
- {ic_code-1.2.7 → ic_code-1.2.9}/src/ic/platforms/aws/eks/__init__.py +0 -0
- {ic_code-1.2.7 → ic_code-1.2.9}/src/ic/platforms/aws/eks/addons.py +0 -0
- {ic_code-1.2.7 → ic_code-1.2.9}/src/ic/platforms/aws/eks/fargate.py +0 -0
- {ic_code-1.2.7 → ic_code-1.2.9}/src/ic/platforms/aws/eks/info.py +0 -0
- {ic_code-1.2.7 → ic_code-1.2.9}/src/ic/platforms/aws/eks/nodes.py +0 -0
- {ic_code-1.2.7 → ic_code-1.2.9}/src/ic/platforms/aws/eks/pods.py +0 -0
- {ic_code-1.2.7 → ic_code-1.2.9}/src/ic/platforms/aws/eks/update_config.py +0 -0
- {ic_code-1.2.7 → ic_code-1.2.9}/src/ic/platforms/aws/fargate/__init__.py +0 -0
- {ic_code-1.2.7 → ic_code-1.2.9}/src/ic/platforms/aws/fargate/info.py +0 -0
- {ic_code-1.2.7 → ic_code-1.2.9}/src/ic/platforms/aws/lb/__init__.py +0 -0
- {ic_code-1.2.7 → ic_code-1.2.9}/src/ic/platforms/aws/lb/list_tags.py +0 -0
- {ic_code-1.2.7 → ic_code-1.2.9}/src/ic/platforms/aws/lb/tag_check.py +0 -0
- {ic_code-1.2.7 → ic_code-1.2.9}/src/ic/platforms/aws/msk/__init__.py +0 -0
- {ic_code-1.2.7 → ic_code-1.2.9}/src/ic/platforms/aws/msk/broker.py +0 -0
- {ic_code-1.2.7 → ic_code-1.2.9}/src/ic/platforms/aws/msk/info.py +0 -0
- {ic_code-1.2.7 → ic_code-1.2.9}/src/ic/platforms/aws/nat/__init__.py +0 -0
- {ic_code-1.2.7 → ic_code-1.2.9}/src/ic/platforms/aws/nat/list_tags.py +0 -0
- {ic_code-1.2.7 → ic_code-1.2.9}/src/ic/platforms/aws/nat/tag_check.py +0 -0
- {ic_code-1.2.7 → ic_code-1.2.9}/src/ic/platforms/aws/profile/__init__.py +0 -0
- {ic_code-1.2.7 → ic_code-1.2.9}/src/ic/platforms/aws/profile/info.py +0 -0
- {ic_code-1.2.7 → ic_code-1.2.9}/src/ic/platforms/aws/rds/__init__.py +0 -0
- {ic_code-1.2.7 → ic_code-1.2.9}/src/ic/platforms/aws/rds/info.py +0 -0
- {ic_code-1.2.7 → ic_code-1.2.9}/src/ic/platforms/aws/rds/list_tags.py +0 -0
- {ic_code-1.2.7 → ic_code-1.2.9}/src/ic/platforms/aws/rds/tag_check.py +0 -0
- {ic_code-1.2.7 → ic_code-1.2.9}/src/ic/platforms/aws/s3/__init__.py +0 -0
- {ic_code-1.2.7 → ic_code-1.2.9}/src/ic/platforms/aws/s3/info.py +0 -0
- {ic_code-1.2.7 → ic_code-1.2.9}/src/ic/platforms/aws/s3/list_tags.py +0 -0
- {ic_code-1.2.7 → ic_code-1.2.9}/src/ic/platforms/aws/s3/tag_check.py +0 -0
- {ic_code-1.2.7 → ic_code-1.2.9}/src/ic/platforms/aws/sg/__init__.py +0 -0
- {ic_code-1.2.7 → ic_code-1.2.9}/src/ic/platforms/aws/sg/info.py +0 -0
- {ic_code-1.2.7 → ic_code-1.2.9}/src/ic/platforms/aws/vpc/__init__.py +0 -0
- {ic_code-1.2.7 → ic_code-1.2.9}/src/ic/platforms/aws/vpc/info.py +0 -0
- {ic_code-1.2.7 → ic_code-1.2.9}/src/ic/platforms/aws/vpc/list_tags.py +0 -0
- {ic_code-1.2.7 → ic_code-1.2.9}/src/ic/platforms/aws/vpc/tag_check.py +0 -0
- {ic_code-1.2.7 → ic_code-1.2.9}/src/ic/platforms/aws/vpn/__init__.py +0 -0
- {ic_code-1.2.7 → ic_code-1.2.9}/src/ic/platforms/aws/vpn/info.py +0 -0
- {ic_code-1.2.7 → ic_code-1.2.9}/src/ic/platforms/cloudflare/README.md +0 -0
- {ic_code-1.2.7 → ic_code-1.2.9}/src/ic/platforms/cloudflare/__init__.py +0 -0
- {ic_code-1.2.7 → ic_code-1.2.9}/src/ic/platforms/cloudflare/account/__init__.py +0 -0
- {ic_code-1.2.7 → ic_code-1.2.9}/src/ic/platforms/cloudflare/account/info.py +0 -0
- {ic_code-1.2.7 → ic_code-1.2.9}/src/ic/platforms/cloudflare/client.py +0 -0
- {ic_code-1.2.7 → ic_code-1.2.9}/src/ic/platforms/cloudflare/dns/__init__.py +0 -0
- {ic_code-1.2.7 → ic_code-1.2.9}/src/ic/platforms/cloudflare/dns/info.py +0 -0
- {ic_code-1.2.7 → ic_code-1.2.9}/src/ic/platforms/cloudflare/dns/list_info.py +0 -0
- {ic_code-1.2.7 → ic_code-1.2.9}/src/ic/platforms/cloudflare/rules/__init__.py +0 -0
- {ic_code-1.2.7 → ic_code-1.2.9}/src/ic/platforms/cloudflare/rules/info.py +0 -0
- {ic_code-1.2.7 → ic_code-1.2.9}/src/ic/platforms/cloudflare/traffic/__init__.py +0 -0
- {ic_code-1.2.7 → ic_code-1.2.9}/src/ic/platforms/cloudflare/traffic/info.py +0 -0
- {ic_code-1.2.7 → ic_code-1.2.9}/src/ic/platforms/cloudflare/waf/__init__.py +0 -0
- {ic_code-1.2.7 → ic_code-1.2.9}/src/ic/platforms/cloudflare/waf/info.py +0 -0
- {ic_code-1.2.7 → ic_code-1.2.9}/src/ic/platforms/cloudflare/zone/__init__.py +0 -0
- {ic_code-1.2.7 → ic_code-1.2.9}/src/ic/platforms/cloudflare/zone/info.py +0 -0
- {ic_code-1.2.7 → ic_code-1.2.9}/src/ic/platforms/gcp/README.md +0 -0
- {ic_code-1.2.7 → ic_code-1.2.9}/src/ic/platforms/gcp/__init__.py +0 -0
- {ic_code-1.2.7 → ic_code-1.2.9}/src/ic/platforms/gcp/billing/__init__.py +0 -0
- {ic_code-1.2.7 → ic_code-1.2.9}/src/ic/platforms/gcp/billing/info.py +0 -0
- {ic_code-1.2.7 → ic_code-1.2.9}/src/ic/platforms/gcp/billing/mock_data.json +0 -0
- {ic_code-1.2.7 → ic_code-1.2.9}/src/ic/platforms/gcp/compute/__init__.py +0 -0
- {ic_code-1.2.7 → ic_code-1.2.9}/src/ic/platforms/gcp/compute/info.py +0 -0
- {ic_code-1.2.7 → ic_code-1.2.9}/src/ic/platforms/gcp/compute/mock_data.json +0 -0
- {ic_code-1.2.7 → ic_code-1.2.9}/src/ic/platforms/gcp/firewall/__init__.py +0 -0
- {ic_code-1.2.7 → ic_code-1.2.9}/src/ic/platforms/gcp/firewall/info.py +0 -0
- {ic_code-1.2.7 → ic_code-1.2.9}/src/ic/platforms/gcp/functions/__init__.py +0 -0
- {ic_code-1.2.7 → ic_code-1.2.9}/src/ic/platforms/gcp/functions/info.py +0 -0
- {ic_code-1.2.7 → ic_code-1.2.9}/src/ic/platforms/gcp/gke/__init__.py +0 -0
- {ic_code-1.2.7 → ic_code-1.2.9}/src/ic/platforms/gcp/gke/info.py +0 -0
- {ic_code-1.2.7 → ic_code-1.2.9}/src/ic/platforms/gcp/gke/mock_data.json +0 -0
- {ic_code-1.2.7 → ic_code-1.2.9}/src/ic/platforms/gcp/lb/__init__.py +0 -0
- {ic_code-1.2.7 → ic_code-1.2.9}/src/ic/platforms/gcp/lb/info.py +0 -0
- {ic_code-1.2.7 → ic_code-1.2.9}/src/ic/platforms/gcp/run/__init__.py +0 -0
- {ic_code-1.2.7 → ic_code-1.2.9}/src/ic/platforms/gcp/run/info.py +0 -0
- {ic_code-1.2.7 → ic_code-1.2.9}/src/ic/platforms/gcp/sql/__init__.py +0 -0
- {ic_code-1.2.7 → ic_code-1.2.9}/src/ic/platforms/gcp/sql/info.py +0 -0
- {ic_code-1.2.7 → ic_code-1.2.9}/src/ic/platforms/gcp/storage/__init__.py +0 -0
- {ic_code-1.2.7 → ic_code-1.2.9}/src/ic/platforms/gcp/storage/info.py +0 -0
- {ic_code-1.2.7 → ic_code-1.2.9}/src/ic/platforms/gcp/vpc/__init__.py +0 -0
- {ic_code-1.2.7 → ic_code-1.2.9}/src/ic/platforms/gcp/vpc/info.py +0 -0
- {ic_code-1.2.7 → ic_code-1.2.9}/src/ic/platforms/gcp/vpc/mock_data.json +0 -0
- {ic_code-1.2.7 → ic_code-1.2.9}/src/ic/platforms/oci/README.md +0 -0
- {ic_code-1.2.7 → ic_code-1.2.9}/src/ic/platforms/oci/__init__.py +0 -0
- {ic_code-1.2.7 → ic_code-1.2.9}/src/ic/platforms/oci/common/__init__.py +0 -0
- {ic_code-1.2.7 → ic_code-1.2.9}/src/ic/platforms/oci/common/utils.py +0 -0
- {ic_code-1.2.7 → ic_code-1.2.9}/src/ic/platforms/oci/compartment/__init__.py +0 -0
- {ic_code-1.2.7 → ic_code-1.2.9}/src/ic/platforms/oci/compartment/info.py +0 -0
- {ic_code-1.2.7 → ic_code-1.2.9}/src/ic/platforms/oci/cost/__init__.py +0 -0
- {ic_code-1.2.7 → ic_code-1.2.9}/src/ic/platforms/oci/cost/credit.py +0 -0
- {ic_code-1.2.7 → ic_code-1.2.9}/src/ic/platforms/oci/cost/usage.py +0 -0
- {ic_code-1.2.7 → ic_code-1.2.9}/src/ic/platforms/oci/info/__init__.py +0 -0
- {ic_code-1.2.7 → ic_code-1.2.9}/src/ic/platforms/oci/info/oci_info.py +0 -0
- {ic_code-1.2.7 → ic_code-1.2.9}/src/ic/platforms/oci/lb/__init__.py +0 -0
- {ic_code-1.2.7 → ic_code-1.2.9}/src/ic/platforms/oci/lb/info.py +0 -0
- {ic_code-1.2.7 → ic_code-1.2.9}/src/ic/platforms/oci/nsg/__init__.py +0 -0
- {ic_code-1.2.7 → ic_code-1.2.9}/src/ic/platforms/oci/nsg/info.py +0 -0
- {ic_code-1.2.7 → ic_code-1.2.9}/src/ic/platforms/oci/obj/__init__.py +0 -0
- {ic_code-1.2.7 → ic_code-1.2.9}/src/ic/platforms/oci/obj/info.py +0 -0
- {ic_code-1.2.7 → ic_code-1.2.9}/src/ic/platforms/oci/policy/__init__.py +0 -0
- {ic_code-1.2.7 → ic_code-1.2.9}/src/ic/platforms/oci/policy/info.py +0 -0
- {ic_code-1.2.7 → ic_code-1.2.9}/src/ic/platforms/oci/policy/search.py +0 -0
- {ic_code-1.2.7 → ic_code-1.2.9}/src/ic/platforms/oci/vcn/__init__.py +0 -0
- {ic_code-1.2.7 → ic_code-1.2.9}/src/ic/platforms/oci/vcn/info.py +0 -0
- {ic_code-1.2.7 → ic_code-1.2.9}/src/ic/platforms/oci/vm/__init__.py +0 -0
- {ic_code-1.2.7 → ic_code-1.2.9}/src/ic/platforms/oci/vm/info.py +0 -0
- {ic_code-1.2.7 → ic_code-1.2.9}/src/ic/platforms/oci/volume/__init__.py +0 -0
- {ic_code-1.2.7 → ic_code-1.2.9}/src/ic/platforms/oci/volume/info.py +0 -0
- {ic_code-1.2.7 → ic_code-1.2.9}/src/ic/platforms/ssh/README.md +0 -0
- {ic_code-1.2.7 → ic_code-1.2.9}/src/ic/platforms/ssh/__init__.py +0 -0
- {ic_code-1.2.7 → ic_code-1.2.9}/src/ic/platforms/ssh/auto/__init__.py +0 -0
- {ic_code-1.2.7 → ic_code-1.2.9}/src/ic/platforms/ssh/auto/scan.py +0 -0
- {ic_code-1.2.7 → ic_code-1.2.9}/src/ic/platforms/ssh/auto_ssh.py +0 -0
- {ic_code-1.2.7 → ic_code-1.2.9}/src/ic/platforms/ssh/server/__init__.py +0 -0
- {ic_code-1.2.7 → ic_code-1.2.9}/src/ic/platforms/ssh/server/info.py +0 -0
- {ic_code-1.2.7 → ic_code-1.2.9}/src/ic/platforms/ssh/server_info.py +0 -0
- {ic_code-1.2.7 → ic_code-1.2.9}/src/ic/security/README.md +0 -0
- {ic_code-1.2.7 → ic_code-1.2.9}/src/ic/security/__init__.py +0 -0
- {ic_code-1.2.7 → ic_code-1.2.9}/src/ic/security/config.py +0 -0
- {ic_code-1.2.7 → ic_code-1.2.9}/src/ic/security/detector.py +0 -0
- {ic_code-1.2.7 → ic_code-1.2.9}/src/ic/security/guidance.py +0 -0
- {ic_code-1.2.7 → ic_code-1.2.9}/src/ic/security/hooks.py +0 -0
- {ic_code-1.2.7 → ic_code-1.2.9}/src/ic/security/patterns.py +0 -0
- {ic_code-1.2.7 → ic_code-1.2.9}/src/ic/security/scanner.py +0 -0
- {ic_code-1.2.7 → ic_code-1.2.9}/src/ic_code.egg-info/dependency_links.txt +0 -0
- {ic_code-1.2.7 → ic_code-1.2.9}/src/ic_code.egg-info/entry_points.txt +0 -0
- {ic_code-1.2.7 → ic_code-1.2.9}/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.2.
|
|
3
|
+
Version: 1.2.9
|
|
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
|
|
@@ -62,12 +62,14 @@ Requires-Dist: cerberus<2.0.0,>=1.3.5
|
|
|
62
62
|
Requires-Dist: pydantic<3.0.0,>=2.7.0
|
|
63
63
|
Requires-Dist: packaging<25.0,>=24.0
|
|
64
64
|
Requires-Dist: setuptools<76.0.0,>=69.0.0
|
|
65
|
+
Requires-Dist: tencentcloud-sdk-python<4.0.0,>=3.0.0
|
|
65
66
|
Provides-Extra: dev
|
|
66
67
|
Requires-Dist: pytest<9.0.0,>=8.0.0; extra == "dev"
|
|
67
68
|
Requires-Dist: pytest-cov<7.0.0,>=5.0.0; extra == "dev"
|
|
68
69
|
Requires-Dist: black<25.0.0,>=24.0.0; extra == "dev"
|
|
69
70
|
Requires-Dist: flake8<8.0.0,>=7.0.0; extra == "dev"
|
|
70
71
|
Requires-Dist: mypy<2.0.0,>=1.10.0; extra == "dev"
|
|
72
|
+
Requires-Dist: pyrefly>=1.2.0; extra == "dev"
|
|
71
73
|
Requires-Dist: pre-commit<4.0.0,>=3.7.0; extra == "dev"
|
|
72
74
|
Dynamic: author
|
|
73
75
|
Dynamic: home-page
|
|
@@ -80,16 +82,16 @@ Dynamic: requires-python
|
|
|
80
82
|
[](https://www.python.org/downloads/)
|
|
81
83
|
[](https://opensource.org/licenses/MIT)
|
|
82
84
|
|
|
83
|
-
A comprehensive, production-grade Infrastructure Command Line Interface tool for managing multi-cloud infrastructure and server components across multiple platforms. IC CLI provides unified access to **AWS**, **GCP**, **Oracle Cloud Infrastructure (OCI)**, **CloudFlare**, and **SSH** server management with rich progress indicators and secure configuration management.
|
|
85
|
+
A comprehensive, production-grade Infrastructure Command Line Interface tool for managing multi-cloud infrastructure and server components across multiple platforms. IC CLI provides unified access to **AWS**, **Tencent Cloud**, **GCP**, **Oracle Cloud Infrastructure (OCI)**, **CloudFlare**, and **SSH** server management with rich progress indicators and secure configuration management.
|
|
84
86
|
|
|
85
87
|
---
|
|
86
88
|
|
|
87
89
|
## ✨ Key Features
|
|
88
90
|
|
|
89
|
-
- **🚀 Multi-Cloud Support**: AWS, GCP, OCI, CloudFlare, and SSH server management
|
|
91
|
+
- **🚀 Multi-Cloud Support**: AWS, Tencent Cloud, GCP, OCI, CloudFlare, and SSH server management
|
|
90
92
|
- **📊 Rich Progress Bars**: Real-time progress indicators for all long-running operations across accounts and regions
|
|
91
|
-
- **🔒 Secure Configuration**: Modern YAML-based configuration (`~/.ic/config/`)
|
|
92
|
-
- **🌍 Multi-Account / Multi-Region**: Concurrent querying across multiple cloud accounts and regions
|
|
93
|
+
- **🔒 Secure Configuration**: Modern YAML-based configuration (`~/.ic/config/`) and native credential files (`~/.aws/config`, `~/.tencent/credentials`)
|
|
94
|
+
- **🌍 Multi-Account / Multi-Region**: Concurrent querying across multiple cloud accounts and regions with STS / CAM AssumeRole support
|
|
93
95
|
- **🎨 Beautiful Terminal UI**: Rich terminal output with tables, colors, JSON formatting, and tree diagrams
|
|
94
96
|
- **⚡ High Performance**: Optimized async and concurrent execution for fast resource discovery
|
|
95
97
|
- **🛡️ Security First**: Built-in credential masking, secret scanning, and pre-commit hook support
|
|
@@ -101,26 +103,32 @@ A comprehensive, production-grade Infrastructure Command Line Interface tool for
|
|
|
101
103
|
### 1. 🟧 AWS Services (Production Ready)
|
|
102
104
|
- **Compute**: EC2 instances, ECS services/tasks, EKS clusters/nodes/pods, Fargate profiles
|
|
103
105
|
- **Storage & DB**: S3 buckets (with tagging compliance checks), RDS instances & clusters
|
|
104
|
-
- **Networking**: VPC, Subnets, Gateways, Load Balancers (ALB/NLB), Security Groups (with Ingress & Egress rule analysis & tree view), VPN connections
|
|
106
|
+
- **Networking**: VPC, Subnets, Gateways, Load Balancers (ALB/NLB with listener rules, health check path & target health analysis), Security Groups (with Ingress & Egress rule analysis & tree view), VPN connections
|
|
105
107
|
- **Integrations**: CloudFront distributions, MSK Kafka brokers, CodePipeline build/deploy status, Profile management
|
|
106
108
|
|
|
107
|
-
### 2.
|
|
109
|
+
### 2. 🟦 Tencent Cloud Services (Production Ready)
|
|
110
|
+
- **Compute**: CVM instances (with CPU, Mem, Disk, IP, SGs), Lighthouse lightweight application servers
|
|
111
|
+
- **Containers**: TKE (Tencent Kubernetes Engine) clusters & node details
|
|
112
|
+
- **Networking**: VPC, Subnets, NAT Gateways, CLB (Load Balancers - with listener rules, health check path & target health analysis), Security Groups (with Ingress/Egress rules & tree view)
|
|
113
|
+
- **Authentication**: Multi-account STS AssumeRole support, Profile management (`ic tencent profile info` via `~/.tencent/credentials`)
|
|
114
|
+
|
|
115
|
+
### 3. 🟩 GCP Services (Production Ready)
|
|
108
116
|
- **Compute Engine**: VM instances with status, zone, and network interface details
|
|
109
117
|
- **Cloud Storage**: Bucket lists, location, and storage class information
|
|
110
118
|
- **VPC Network**: Subnets, routes, and firewall rule visibility
|
|
111
119
|
- **GKE**: Kubernetes Engine clusters and node pool configurations
|
|
112
120
|
- **Cloud SQL**: Database instances, engines, and status
|
|
113
121
|
|
|
114
|
-
###
|
|
122
|
+
### 4. 🟥 Oracle Cloud Infrastructure (OCI) (Production Ready)
|
|
115
123
|
- **Compute & Containers**: VM instances, Container instances (ACI)
|
|
116
124
|
- **Networking**: VCN, Subnets, Load Balancers, Network Security Groups (NSG)
|
|
117
125
|
- **Storage**: Block Volumes, Object Storage buckets
|
|
118
126
|
- **IAM & Cost**: Compartment hierarchy, IAM Policy search/validation, Cost usage & billing credits
|
|
119
127
|
|
|
120
|
-
###
|
|
128
|
+
### 5. 🟧 CloudFlare (Production Ready)
|
|
121
129
|
- **DNS & Zones**: Zone listings, DNS record management, and account filtering
|
|
122
130
|
|
|
123
|
-
###
|
|
131
|
+
### 6. 🟦 SSH Server Management (Production Ready)
|
|
124
132
|
- **Discovery**: Automatic server registration, connection verification, and security filtering
|
|
125
133
|
|
|
126
134
|
---
|
|
@@ -130,7 +138,7 @@ A comprehensive, production-grade Infrastructure Command Line Interface tool for
|
|
|
130
138
|
### From PyPI (Recommended)
|
|
131
139
|
|
|
132
140
|
```bash
|
|
133
|
-
# Install the latest stable version (v1.2.
|
|
141
|
+
# Install the latest stable version (v1.2.9+)
|
|
134
142
|
pip install ic-code
|
|
135
143
|
|
|
136
144
|
# Verify installation
|
|
@@ -258,6 +266,32 @@ ic aws eks info
|
|
|
258
266
|
ic aws ecs info
|
|
259
267
|
```
|
|
260
268
|
|
|
269
|
+
### Tencent Cloud Commands
|
|
270
|
+
|
|
271
|
+
```bash
|
|
272
|
+
# List CVM instances across accounts and regions
|
|
273
|
+
ic tencent cvm info
|
|
274
|
+
ic tencent cvm info -a my-account
|
|
275
|
+
|
|
276
|
+
# List Lighthouse lightweight instances
|
|
277
|
+
ic tencent lighthouse info
|
|
278
|
+
|
|
279
|
+
# Security Group Info (Tables and Tree view)
|
|
280
|
+
ic tencent sg info
|
|
281
|
+
ic tencent sg info -o tree
|
|
282
|
+
|
|
283
|
+
# Load Balancer (CLB) with listeners, health check path & target health
|
|
284
|
+
ic tencent clb info
|
|
285
|
+
|
|
286
|
+
# VPC, Subnets, NAT Gateways & TKE Clusters
|
|
287
|
+
ic tencent vpc info
|
|
288
|
+
ic tencent nat info
|
|
289
|
+
ic tencent tke info
|
|
290
|
+
|
|
291
|
+
# Check credentials and profiles (~/.tencent/credentials)
|
|
292
|
+
ic tencent profile info
|
|
293
|
+
```
|
|
294
|
+
|
|
261
295
|
### GCP Commands
|
|
262
296
|
|
|
263
297
|
```bash
|
|
@@ -4,16 +4,16 @@
|
|
|
4
4
|
[](https://www.python.org/downloads/)
|
|
5
5
|
[](https://opensource.org/licenses/MIT)
|
|
6
6
|
|
|
7
|
-
A comprehensive, production-grade Infrastructure Command Line Interface tool for managing multi-cloud infrastructure and server components across multiple platforms. IC CLI provides unified access to **AWS**, **GCP**, **Oracle Cloud Infrastructure (OCI)**, **CloudFlare**, and **SSH** server management with rich progress indicators and secure configuration management.
|
|
7
|
+
A comprehensive, production-grade Infrastructure Command Line Interface tool for managing multi-cloud infrastructure and server components across multiple platforms. IC CLI provides unified access to **AWS**, **Tencent Cloud**, **GCP**, **Oracle Cloud Infrastructure (OCI)**, **CloudFlare**, and **SSH** server management with rich progress indicators and secure configuration management.
|
|
8
8
|
|
|
9
9
|
---
|
|
10
10
|
|
|
11
11
|
## ✨ Key Features
|
|
12
12
|
|
|
13
|
-
- **🚀 Multi-Cloud Support**: AWS, GCP, OCI, CloudFlare, and SSH server management
|
|
13
|
+
- **🚀 Multi-Cloud Support**: AWS, Tencent Cloud, GCP, OCI, CloudFlare, and SSH server management
|
|
14
14
|
- **📊 Rich Progress Bars**: Real-time progress indicators for all long-running operations across accounts and regions
|
|
15
|
-
- **🔒 Secure Configuration**: Modern YAML-based configuration (`~/.ic/config/`)
|
|
16
|
-
- **🌍 Multi-Account / Multi-Region**: Concurrent querying across multiple cloud accounts and regions
|
|
15
|
+
- **🔒 Secure Configuration**: Modern YAML-based configuration (`~/.ic/config/`) and native credential files (`~/.aws/config`, `~/.tencent/credentials`)
|
|
16
|
+
- **🌍 Multi-Account / Multi-Region**: Concurrent querying across multiple cloud accounts and regions with STS / CAM AssumeRole support
|
|
17
17
|
- **🎨 Beautiful Terminal UI**: Rich terminal output with tables, colors, JSON formatting, and tree diagrams
|
|
18
18
|
- **⚡ High Performance**: Optimized async and concurrent execution for fast resource discovery
|
|
19
19
|
- **🛡️ Security First**: Built-in credential masking, secret scanning, and pre-commit hook support
|
|
@@ -25,26 +25,32 @@ A comprehensive, production-grade Infrastructure Command Line Interface tool for
|
|
|
25
25
|
### 1. 🟧 AWS Services (Production Ready)
|
|
26
26
|
- **Compute**: EC2 instances, ECS services/tasks, EKS clusters/nodes/pods, Fargate profiles
|
|
27
27
|
- **Storage & DB**: S3 buckets (with tagging compliance checks), RDS instances & clusters
|
|
28
|
-
- **Networking**: VPC, Subnets, Gateways, Load Balancers (ALB/NLB), Security Groups (with Ingress & Egress rule analysis & tree view), VPN connections
|
|
28
|
+
- **Networking**: VPC, Subnets, Gateways, Load Balancers (ALB/NLB with listener rules, health check path & target health analysis), Security Groups (with Ingress & Egress rule analysis & tree view), VPN connections
|
|
29
29
|
- **Integrations**: CloudFront distributions, MSK Kafka brokers, CodePipeline build/deploy status, Profile management
|
|
30
30
|
|
|
31
|
-
### 2.
|
|
31
|
+
### 2. 🟦 Tencent Cloud Services (Production Ready)
|
|
32
|
+
- **Compute**: CVM instances (with CPU, Mem, Disk, IP, SGs), Lighthouse lightweight application servers
|
|
33
|
+
- **Containers**: TKE (Tencent Kubernetes Engine) clusters & node details
|
|
34
|
+
- **Networking**: VPC, Subnets, NAT Gateways, CLB (Load Balancers - with listener rules, health check path & target health analysis), Security Groups (with Ingress/Egress rules & tree view)
|
|
35
|
+
- **Authentication**: Multi-account STS AssumeRole support, Profile management (`ic tencent profile info` via `~/.tencent/credentials`)
|
|
36
|
+
|
|
37
|
+
### 3. 🟩 GCP Services (Production Ready)
|
|
32
38
|
- **Compute Engine**: VM instances with status, zone, and network interface details
|
|
33
39
|
- **Cloud Storage**: Bucket lists, location, and storage class information
|
|
34
40
|
- **VPC Network**: Subnets, routes, and firewall rule visibility
|
|
35
41
|
- **GKE**: Kubernetes Engine clusters and node pool configurations
|
|
36
42
|
- **Cloud SQL**: Database instances, engines, and status
|
|
37
43
|
|
|
38
|
-
###
|
|
44
|
+
### 4. 🟥 Oracle Cloud Infrastructure (OCI) (Production Ready)
|
|
39
45
|
- **Compute & Containers**: VM instances, Container instances (ACI)
|
|
40
46
|
- **Networking**: VCN, Subnets, Load Balancers, Network Security Groups (NSG)
|
|
41
47
|
- **Storage**: Block Volumes, Object Storage buckets
|
|
42
48
|
- **IAM & Cost**: Compartment hierarchy, IAM Policy search/validation, Cost usage & billing credits
|
|
43
49
|
|
|
44
|
-
###
|
|
50
|
+
### 5. 🟧 CloudFlare (Production Ready)
|
|
45
51
|
- **DNS & Zones**: Zone listings, DNS record management, and account filtering
|
|
46
52
|
|
|
47
|
-
###
|
|
53
|
+
### 6. 🟦 SSH Server Management (Production Ready)
|
|
48
54
|
- **Discovery**: Automatic server registration, connection verification, and security filtering
|
|
49
55
|
|
|
50
56
|
---
|
|
@@ -54,7 +60,7 @@ A comprehensive, production-grade Infrastructure Command Line Interface tool for
|
|
|
54
60
|
### From PyPI (Recommended)
|
|
55
61
|
|
|
56
62
|
```bash
|
|
57
|
-
# Install the latest stable version (v1.2.
|
|
63
|
+
# Install the latest stable version (v1.2.9+)
|
|
58
64
|
pip install ic-code
|
|
59
65
|
|
|
60
66
|
# Verify installation
|
|
@@ -182,6 +188,32 @@ ic aws eks info
|
|
|
182
188
|
ic aws ecs info
|
|
183
189
|
```
|
|
184
190
|
|
|
191
|
+
### Tencent Cloud Commands
|
|
192
|
+
|
|
193
|
+
```bash
|
|
194
|
+
# List CVM instances across accounts and regions
|
|
195
|
+
ic tencent cvm info
|
|
196
|
+
ic tencent cvm info -a my-account
|
|
197
|
+
|
|
198
|
+
# List Lighthouse lightweight instances
|
|
199
|
+
ic tencent lighthouse info
|
|
200
|
+
|
|
201
|
+
# Security Group Info (Tables and Tree view)
|
|
202
|
+
ic tencent sg info
|
|
203
|
+
ic tencent sg info -o tree
|
|
204
|
+
|
|
205
|
+
# Load Balancer (CLB) with listeners, health check path & target health
|
|
206
|
+
ic tencent clb info
|
|
207
|
+
|
|
208
|
+
# VPC, Subnets, NAT Gateways & TKE Clusters
|
|
209
|
+
ic tencent vpc info
|
|
210
|
+
ic tencent nat info
|
|
211
|
+
ic tencent tke info
|
|
212
|
+
|
|
213
|
+
# Check credentials and profiles (~/.tencent/credentials)
|
|
214
|
+
ic tencent profile info
|
|
215
|
+
```
|
|
216
|
+
|
|
185
217
|
### GCP Commands
|
|
186
218
|
|
|
187
219
|
```bash
|
|
@@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta"
|
|
|
4
4
|
|
|
5
5
|
[project]
|
|
6
6
|
name = "ic-code"
|
|
7
|
-
version = "1.2.
|
|
7
|
+
version = "1.2.9"
|
|
8
8
|
authors = [
|
|
9
9
|
{name = "sykim", email = "cruiser594@gmail.com"},
|
|
10
10
|
]
|
|
@@ -79,6 +79,9 @@ dependencies = [
|
|
|
79
79
|
# Package management and compatibility
|
|
80
80
|
"packaging>=24.0,<25.0", # Version parsing and comparison
|
|
81
81
|
"setuptools>=69.0.0,<76.0.0", # Package building tools
|
|
82
|
+
|
|
83
|
+
# Tencent Cloud SDK
|
|
84
|
+
"tencentcloud-sdk-python>=3.0.0,<4.0.0", # Tencent Cloud SDK (CVM, CLB, VPC, TKE, Lighthouse, STS)
|
|
82
85
|
]
|
|
83
86
|
|
|
84
87
|
[project.optional-dependencies]
|
|
@@ -88,6 +91,7 @@ dev = [
|
|
|
88
91
|
"black>=24.0.0,<25.0.0",
|
|
89
92
|
"flake8>=7.0.0,<8.0.0",
|
|
90
93
|
"mypy>=1.10.0,<2.0.0",
|
|
94
|
+
"pyrefly>=1.2.0",
|
|
91
95
|
"pre-commit>=3.7.0,<4.0.0",
|
|
92
96
|
]
|
|
93
97
|
|
|
@@ -147,4 +151,10 @@ markers = [
|
|
|
147
151
|
"ci_safe: Tests safe to run in CI environment",
|
|
148
152
|
"requires_config: Tests that require configuration files",
|
|
149
153
|
"requires_credentials: Tests that require live credentials"
|
|
150
|
-
]
|
|
154
|
+
]
|
|
155
|
+
|
|
156
|
+
[tool.pyright]
|
|
157
|
+
pythonVersion = "3.13"
|
|
158
|
+
venvPath = "."
|
|
159
|
+
venv = ".venv"
|
|
160
|
+
extraPaths = ["."]
|
|
@@ -89,7 +89,7 @@ def resolve_accounts(account_input=None) -> list:
|
|
|
89
89
|
resolved.append(name_to_account[item_lower])
|
|
90
90
|
continue
|
|
91
91
|
|
|
92
|
-
# 3. 프로필 이름 부분 매칭 (예:
|
|
92
|
+
# 3. 프로필 이름 부분 매칭 (예: dev-rnd -> dev-rnd-aws)
|
|
93
93
|
matched = False
|
|
94
94
|
for prof_name, acct_id in name_to_account.items():
|
|
95
95
|
if item_lower in prof_name:
|
|
@@ -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, GCP, OCI, CloudFlare, and SSH resources.
|
|
5
5
|
"""
|
|
6
6
|
|
|
7
|
-
__version__ = "1.2.
|
|
7
|
+
__version__ = "1.2.9"
|
|
8
8
|
__author__ = "SangYun"
|
|
9
9
|
__email__ = "cruiser594@gmail.com"
|
|
10
10
|
|
|
@@ -263,7 +263,7 @@ def execute_multi_service_command(platform_name, services, command, args):
|
|
|
263
263
|
result = execute_service(service)
|
|
264
264
|
if result['success']:
|
|
265
265
|
print(f"\n✓ {platform_name.upper()} {service.upper()} Results:")
|
|
266
|
-
if result
|
|
266
|
+
if str(result.get('output', '')).strip():
|
|
267
267
|
print(result['output'])
|
|
268
268
|
else:
|
|
269
269
|
print(f"\n✗ {platform_name.upper()} {service.upper()} Failed: {result['error']}")
|
|
@@ -313,7 +313,7 @@ def execute_single_command(args):
|
|
|
313
313
|
# Execute the command
|
|
314
314
|
try:
|
|
315
315
|
config_manager = get_config_manager()
|
|
316
|
-
config = config_manager.load_all_configs() if config_manager else None
|
|
316
|
+
config = config_manager.load_all_configs() if config_manager is not None else None
|
|
317
317
|
|
|
318
318
|
# Check function signature to determine how to call it
|
|
319
319
|
import inspect
|
|
@@ -349,7 +349,7 @@ def setup_platform_parsers(platform_subparsers):
|
|
|
349
349
|
platforms = discovery.discover_platforms()
|
|
350
350
|
|
|
351
351
|
# Development status platforms
|
|
352
|
-
dev_platforms = {'gcp'}
|
|
352
|
+
dev_platforms = {'gcp', 'tencent'}
|
|
353
353
|
|
|
354
354
|
for platform_name, platform_info in platforms.items():
|
|
355
355
|
if not platform_info.available:
|
|
@@ -431,6 +431,7 @@ def main():
|
|
|
431
431
|
description="Infra CLI: Platform Resource CLI Tool\n\n"
|
|
432
432
|
"⚠️ Development Status:\n"
|
|
433
433
|
" • GCP: In development - usable but may contain bugs\n"
|
|
434
|
+
" • Tencent: In development - usable but may contain bugs\n"
|
|
434
435
|
" • AWS, OCI, Cloudflare, SSH: Production ready",
|
|
435
436
|
usage="ic <platform|config> <service> <command> [options]",
|
|
436
437
|
formatter_class=argparse.RawDescriptionHelpFormatter
|
|
@@ -443,7 +444,7 @@ def main():
|
|
|
443
444
|
platform_subparsers = parser.add_subparsers(
|
|
444
445
|
dest="platform",
|
|
445
446
|
required=False,
|
|
446
|
-
help="클라우드 플랫폼 (aws, oci, cf, ssh, gcp) 또는 config 관리"
|
|
447
|
+
help="클라우드 플랫폼 (aws, oci, cf, ssh, gcp, tencent) 또는 config 관리"
|
|
447
448
|
)
|
|
448
449
|
|
|
449
450
|
# Add version command
|
|
@@ -453,7 +454,7 @@ def main():
|
|
|
453
454
|
# Add config commands
|
|
454
455
|
from .commands.config import ConfigCommands
|
|
455
456
|
config_commands = ConfigCommands()
|
|
456
|
-
config_commands.add_subparsers(platform_subparsers)
|
|
457
|
+
config_commands.add_subparsers(platform_subparsers) # type: ignore[arg-type]
|
|
457
458
|
|
|
458
459
|
# Add security commands
|
|
459
460
|
from .commands.security import SecurityCommands
|