ic-code 1.3.5__tar.gz → 1.5.0__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.3.5/src/ic_code.egg-info → ic_code-1.5.0}/PKG-INFO +54 -21
- {ic_code-1.3.5 → ic_code-1.5.0}/README.md +51 -20
- ic_code-1.5.0/docs/gcp/README.md +80 -0
- {ic_code-1.3.5 → ic_code-1.5.0}/docs/tencent/README.md +11 -2
- {ic_code-1.3.5 → ic_code-1.5.0}/docs/user_guide.md +24 -5
- {ic_code-1.3.5 → ic_code-1.5.0}/pyproject.toml +4 -2
- {ic_code-1.3.5 → ic_code-1.5.0}/src/common/gather_env.py +1 -7
- {ic_code-1.3.5 → ic_code-1.5.0}/src/common/gcp_config_validator.py +3 -37
- {ic_code-1.3.5 → ic_code-1.5.0}/src/common/gcp_monitoring.py +34 -91
- {ic_code-1.3.5 → ic_code-1.5.0}/src/common/gcp_utils.py +87 -30
- {ic_code-1.3.5 → ic_code-1.5.0}/src/common/log.py +5 -8
- {ic_code-1.3.5 → ic_code-1.5.0}/src/common/progress_decorator.py +18 -12
- {ic_code-1.3.5 → ic_code-1.5.0}/src/common/slack.py +18 -8
- {ic_code-1.3.5 → ic_code-1.5.0}/src/common/utils.py +10 -4
- {ic_code-1.3.5 → ic_code-1.5.0}/src/ic/__init__.py +1 -1
- {ic_code-1.3.5 → ic_code-1.5.0}/src/ic/cli.py +2 -2
- {ic_code-1.3.5 → ic_code-1.5.0}/src/ic/config/docs_organizer.py +8 -6
- {ic_code-1.3.5 → ic_code-1.5.0}/src/ic/core/desc_helper.py +10 -2
- {ic_code-1.3.5 → ic_code-1.5.0}/src/ic/core/interfaces/command.py +26 -10
- {ic_code-1.3.5 → ic_code-1.5.0}/src/ic/core/interfaces/formatter.py +22 -7
- {ic_code-1.3.5 → ic_code-1.5.0}/src/ic/core/interfaces/result.py +61 -6
- {ic_code-1.3.5 → ic_code-1.5.0}/src/ic/platforms/aws/cloudfront/info.py +61 -1
- {ic_code-1.3.5 → ic_code-1.5.0}/src/ic/platforms/aws/codepipeline/build.py +35 -21
- {ic_code-1.3.5 → ic_code-1.5.0}/src/ic/platforms/aws/codepipeline/deploy.py +35 -21
- {ic_code-1.3.5 → ic_code-1.5.0}/src/ic/platforms/aws/ecs/info.py +33 -17
- {ic_code-1.3.5 → ic_code-1.5.0}/src/ic/platforms/aws/eks/info.py +34 -16
- {ic_code-1.3.5 → ic_code-1.5.0}/src/ic/platforms/aws/msk/info.py +32 -18
- {ic_code-1.3.5 → ic_code-1.5.0}/src/ic/platforms/aws/rds/info.py +32 -9
- {ic_code-1.3.5 → ic_code-1.5.0}/src/ic/platforms/aws/s3/info.py +31 -8
- {ic_code-1.3.5 → ic_code-1.5.0}/src/ic/platforms/aws/vpc/info.py +31 -9
- ic_code-1.5.0/src/ic/platforms/cloudflare/account/info.py +180 -0
- {ic_code-1.3.5 → ic_code-1.5.0}/src/ic/platforms/cloudflare/dns/info.py +100 -121
- {ic_code-1.3.5 → ic_code-1.5.0}/src/ic/platforms/cloudflare/dns/list_info.py +1 -8
- ic_code-1.5.0/src/ic/platforms/cloudflare/zone/info.py +235 -0
- {ic_code-1.3.5 → ic_code-1.5.0}/src/ic/platforms/gcp/billing/info.py +165 -171
- ic_code-1.5.0/src/ic/platforms/gcp/compute/desc.py +370 -0
- ic_code-1.5.0/src/ic/platforms/gcp/compute/info.py +776 -0
- ic_code-1.5.0/src/ic/platforms/gcp/compute/mock_data.json +191 -0
- ic_code-1.5.0/src/ic/platforms/gcp/dns/__init__.py +1 -0
- ic_code-1.5.0/src/ic/platforms/gcp/dns/info.py +380 -0
- ic_code-1.5.0/src/ic/platforms/gcp/dns/mock_data.json +142 -0
- {ic_code-1.3.5 → ic_code-1.5.0}/src/ic/platforms/gcp/firewall/info.py +189 -175
- ic_code-1.5.0/src/ic/platforms/gcp/firewall/mock_data.json +53 -0
- {ic_code-1.3.5 → ic_code-1.5.0}/src/ic/platforms/gcp/functions/info.py +178 -164
- ic_code-1.5.0/src/ic/platforms/gcp/functions/mock_data.json +26 -0
- {ic_code-1.3.5 → ic_code-1.5.0}/src/ic/platforms/gcp/gke/info.py +167 -159
- ic_code-1.5.0/src/ic/platforms/gcp/lb/desc.py +279 -0
- {ic_code-1.3.5 → ic_code-1.5.0}/src/ic/platforms/gcp/lb/info.py +217 -186
- ic_code-1.5.0/src/ic/platforms/gcp/lb/mock_data.json +154 -0
- ic_code-1.5.0/src/ic/platforms/gcp/profile/__init__.py +3 -0
- ic_code-1.5.0/src/ic/platforms/gcp/profile/info.py +276 -0
- ic_code-1.5.0/src/ic/platforms/gcp/profile/mock_data.json +20 -0
- ic_code-1.5.0/src/ic/platforms/gcp/project/__init__.py +1 -0
- ic_code-1.5.0/src/ic/platforms/gcp/project/info.py +479 -0
- ic_code-1.5.0/src/ic/platforms/gcp/project/mock_data.json +138 -0
- {ic_code-1.3.5 → ic_code-1.5.0}/src/ic/platforms/gcp/run/info.py +271 -293
- ic_code-1.5.0/src/ic/platforms/gcp/run/mock_data.json +28 -0
- {ic_code-1.3.5 → ic_code-1.5.0}/src/ic/platforms/gcp/sql/info.py +190 -169
- ic_code-1.5.0/src/ic/platforms/gcp/sql/mock_data.json +28 -0
- {ic_code-1.3.5 → ic_code-1.5.0}/src/ic/platforms/gcp/storage/info.py +153 -152
- ic_code-1.5.0/src/ic/platforms/gcp/storage/mock_data.json +38 -0
- {ic_code-1.3.5 → ic_code-1.5.0}/src/ic/platforms/gcp/vpc/info.py +175 -163
- {ic_code-1.3.5 → ic_code-1.5.0}/src/ic/platforms/oci/compartment/info.py +59 -42
- {ic_code-1.3.5 → ic_code-1.5.0}/src/ic/platforms/oci/cost/credit.py +48 -39
- {ic_code-1.3.5 → ic_code-1.5.0}/src/ic/platforms/oci/cost/usage.py +40 -27
- {ic_code-1.3.5 → ic_code-1.5.0}/src/ic/platforms/oci/lb/info.py +58 -19
- {ic_code-1.3.5 → ic_code-1.5.0}/src/ic/platforms/oci/nsg/info.py +58 -16
- {ic_code-1.3.5 → ic_code-1.5.0}/src/ic/platforms/oci/obj/info.py +50 -21
- {ic_code-1.3.5 → ic_code-1.5.0}/src/ic/platforms/oci/policy/info.py +45 -12
- {ic_code-1.3.5 → ic_code-1.5.0}/src/ic/platforms/oci/vcn/info.py +43 -21
- {ic_code-1.3.5 → ic_code-1.5.0}/src/ic/platforms/oci/vm/info.py +42 -18
- {ic_code-1.3.5 → ic_code-1.5.0}/src/ic/platforms/oci/volume/info.py +55 -15
- ic_code-1.5.0/src/ic/platforms/ssh/auto/scan.py +175 -0
- ic_code-1.5.0/src/ic/platforms/ssh/server/info.py +145 -0
- {ic_code-1.3.5 → ic_code-1.5.0}/src/ic/platforms/tencent/clb/traffic.py +57 -38
- {ic_code-1.3.5 → ic_code-1.5.0}/src/ic/platforms/tencent/lighthouse/info.py +58 -40
- {ic_code-1.3.5 → ic_code-1.5.0}/src/ic/platforms/tencent/nat/info.py +52 -33
- {ic_code-1.3.5 → ic_code-1.5.0}/src/ic/platforms/tencent/profile/info.py +30 -7
- {ic_code-1.3.5 → ic_code-1.5.0}/src/ic/platforms/tencent/sg/info.py +69 -48
- {ic_code-1.3.5 → ic_code-1.5.0}/src/ic/platforms/tencent/tke/info.py +54 -35
- {ic_code-1.3.5 → ic_code-1.5.0}/src/ic/platforms/tencent/vpc/info.py +53 -34
- {ic_code-1.3.5 → ic_code-1.5.0/src/ic_code.egg-info}/PKG-INFO +54 -21
- {ic_code-1.3.5 → ic_code-1.5.0}/src/ic_code.egg-info/SOURCES.txt +17 -0
- {ic_code-1.3.5 → ic_code-1.5.0}/src/ic_code.egg-info/requires.txt +2 -0
- ic_code-1.3.5/docs/gcp/README.md +0 -35
- ic_code-1.3.5/src/ic/platforms/cloudflare/account/info.py +0 -222
- ic_code-1.3.5/src/ic/platforms/cloudflare/zone/info.py +0 -323
- ic_code-1.3.5/src/ic/platforms/gcp/compute/info.py +0 -605
- ic_code-1.3.5/src/ic/platforms/gcp/compute/mock_data.json +0 -32
- ic_code-1.3.5/src/ic/platforms/ssh/auto/scan.py +0 -171
- ic_code-1.3.5/src/ic/platforms/ssh/server/info.py +0 -149
- {ic_code-1.3.5 → ic_code-1.5.0}/LICENSE +0 -0
- {ic_code-1.3.5 → ic_code-1.5.0}/MANIFEST.in +0 -0
- {ic_code-1.3.5 → ic_code-1.5.0}/SECURITY.md +0 -0
- {ic_code-1.3.5 → ic_code-1.5.0}/config/default.yaml +0 -0
- {ic_code-1.3.5 → ic_code-1.5.0}/docs/README.md +0 -0
- {ic_code-1.3.5 → ic_code-1.5.0}/docs/aws/README.md +0 -0
- {ic_code-1.3.5 → ic_code-1.5.0}/docs/cloudflare/README.md +0 -0
- {ic_code-1.3.5 → ic_code-1.5.0}/docs/installation.md +0 -0
- {ic_code-1.3.5 → ic_code-1.5.0}/docs/oci/README.md +0 -0
- {ic_code-1.3.5 → ic_code-1.5.0}/docs/release-guide.md +0 -0
- {ic_code-1.3.5 → ic_code-1.5.0}/docs/security.md +0 -0
- {ic_code-1.3.5 → ic_code-1.5.0}/docs/ssh/README.md +0 -0
- {ic_code-1.3.5 → ic_code-1.5.0}/docs/troubleshooting.md +0 -0
- {ic_code-1.3.5 → ic_code-1.5.0}/requirements.txt +0 -0
- {ic_code-1.3.5 → ic_code-1.5.0}/scripts/bump-version.sh +0 -0
- {ic_code-1.3.5 → ic_code-1.5.0}/scripts/cf_edge_nsg_make/cf_edge_nsg_make.py +0 -0
- {ic_code-1.3.5 → ic_code-1.5.0}/scripts/ci-detect-platforms.py +0 -0
- {ic_code-1.3.5 → ic_code-1.5.0}/scripts/ci-generate-matrix.py +0 -0
- {ic_code-1.3.5 → ic_code-1.5.0}/scripts/ci-smoke-test.sh +0 -0
- {ic_code-1.3.5 → ic_code-1.5.0}/scripts/deploy.sh +0 -0
- {ic_code-1.3.5 → ic_code-1.5.0}/scripts/oracle-policy/user_policy.py +0 -0
- {ic_code-1.3.5 → ic_code-1.5.0}/setup.cfg +0 -0
- {ic_code-1.3.5 → ic_code-1.5.0}/setup.py +0 -0
- {ic_code-1.3.5 → ic_code-1.5.0}/src/common/__init__.py +0 -0
- {ic_code-1.3.5 → ic_code-1.5.0}/src/ic/commands/__init__.py +0 -0
- {ic_code-1.3.5 → ic_code-1.5.0}/src/ic/commands/config.py +0 -0
- {ic_code-1.3.5 → ic_code-1.5.0}/src/ic/commands/security.py +0 -0
- {ic_code-1.3.5 → ic_code-1.5.0}/src/ic/compat/__init__.py +0 -0
- {ic_code-1.3.5 → ic_code-1.5.0}/src/ic/compat/cli.py +0 -0
- {ic_code-1.3.5 → ic_code-1.5.0}/src/ic/compat/common.py +0 -0
- {ic_code-1.3.5 → ic_code-1.5.0}/src/ic/config/__init__.py +0 -0
- {ic_code-1.3.5 → ic_code-1.5.0}/src/ic/config/cleanup.py +0 -0
- {ic_code-1.3.5 → ic_code-1.5.0}/src/ic/config/external.py +0 -0
- {ic_code-1.3.5 → ic_code-1.5.0}/src/ic/config/installer.py +0 -0
- {ic_code-1.3.5 → ic_code-1.5.0}/src/ic/config/manager.py +0 -0
- {ic_code-1.3.5 → ic_code-1.5.0}/src/ic/config/migration.py +0 -0
- {ic_code-1.3.5 → ic_code-1.5.0}/src/ic/config/migration_utils.py +0 -0
- {ic_code-1.3.5 → ic_code-1.5.0}/src/ic/config/path_manager.py +0 -0
- {ic_code-1.3.5 → ic_code-1.5.0}/src/ic/config/schema.py +0 -0
- {ic_code-1.3.5 → ic_code-1.5.0}/src/ic/config/secrets.py +0 -0
- {ic_code-1.3.5 → ic_code-1.5.0}/src/ic/config/security.py +0 -0
- {ic_code-1.3.5 → ic_code-1.5.0}/src/ic/core/__init__.py +0 -0
- {ic_code-1.3.5 → ic_code-1.5.0}/src/ic/core/dependency_validator.py +0 -0
- {ic_code-1.3.5 → ic_code-1.5.0}/src/ic/core/interfaces/__init__.py +0 -0
- {ic_code-1.3.5 → ic_code-1.5.0}/src/ic/core/logging.py +0 -0
- {ic_code-1.3.5 → ic_code-1.5.0}/src/ic/core/platform_discovery.py +0 -0
- {ic_code-1.3.5 → ic_code-1.5.0}/src/ic/core/session.py +0 -0
- {ic_code-1.3.5 → ic_code-1.5.0}/src/ic/core/silence_logging.py +0 -0
- {ic_code-1.3.5 → ic_code-1.5.0}/src/ic/platforms/__init__.py +0 -0
- {ic_code-1.3.5 → ic_code-1.5.0}/src/ic/platforms/aws/__init__.py +0 -0
- {ic_code-1.3.5 → ic_code-1.5.0}/src/ic/platforms/aws/cloudfront/__init__.py +0 -0
- {ic_code-1.3.5 → ic_code-1.5.0}/src/ic/platforms/aws/codepipeline/__init__.py +0 -0
- {ic_code-1.3.5 → ic_code-1.5.0}/src/ic/platforms/aws/ec2/__init__.py +0 -0
- {ic_code-1.3.5 → ic_code-1.5.0}/src/ic/platforms/aws/ec2/desc.py +0 -0
- {ic_code-1.3.5 → ic_code-1.5.0}/src/ic/platforms/aws/ec2/info.py +0 -0
- {ic_code-1.3.5 → ic_code-1.5.0}/src/ic/platforms/aws/ec2/list_tags.py +0 -0
- {ic_code-1.3.5 → ic_code-1.5.0}/src/ic/platforms/aws/ec2/tag_check.py +0 -0
- {ic_code-1.3.5 → ic_code-1.5.0}/src/ic/platforms/aws/ecs/__init__.py +0 -0
- {ic_code-1.3.5 → ic_code-1.5.0}/src/ic/platforms/aws/ecs/service.py +0 -0
- {ic_code-1.3.5 → ic_code-1.5.0}/src/ic/platforms/aws/ecs/task.py +0 -0
- {ic_code-1.3.5 → ic_code-1.5.0}/src/ic/platforms/aws/eks/__init__.py +0 -0
- {ic_code-1.3.5 → ic_code-1.5.0}/src/ic/platforms/aws/eks/addons.py +0 -0
- {ic_code-1.3.5 → ic_code-1.5.0}/src/ic/platforms/aws/eks/fargate.py +0 -0
- {ic_code-1.3.5 → ic_code-1.5.0}/src/ic/platforms/aws/eks/nodes.py +0 -0
- {ic_code-1.3.5 → ic_code-1.5.0}/src/ic/platforms/aws/eks/pods.py +0 -0
- {ic_code-1.3.5 → ic_code-1.5.0}/src/ic/platforms/aws/eks/update_config.py +0 -0
- {ic_code-1.3.5 → ic_code-1.5.0}/src/ic/platforms/aws/fargate/__init__.py +0 -0
- {ic_code-1.3.5 → ic_code-1.5.0}/src/ic/platforms/aws/fargate/info.py +0 -0
- {ic_code-1.3.5 → ic_code-1.5.0}/src/ic/platforms/aws/healthdashboard/__init__.py +0 -0
- {ic_code-1.3.5 → ic_code-1.5.0}/src/ic/platforms/aws/healthdashboard/reboot.py +0 -0
- {ic_code-1.3.5 → ic_code-1.5.0}/src/ic/platforms/aws/lb/__init__.py +0 -0
- {ic_code-1.3.5 → ic_code-1.5.0}/src/ic/platforms/aws/lb/desc.py +0 -0
- {ic_code-1.3.5 → ic_code-1.5.0}/src/ic/platforms/aws/lb/info.py +0 -0
- {ic_code-1.3.5 → ic_code-1.5.0}/src/ic/platforms/aws/lb/list_tags.py +0 -0
- {ic_code-1.3.5 → ic_code-1.5.0}/src/ic/platforms/aws/lb/tag_check.py +0 -0
- {ic_code-1.3.5 → ic_code-1.5.0}/src/ic/platforms/aws/msk/__init__.py +0 -0
- {ic_code-1.3.5 → ic_code-1.5.0}/src/ic/platforms/aws/msk/broker.py +0 -0
- {ic_code-1.3.5 → ic_code-1.5.0}/src/ic/platforms/aws/nat/__init__.py +0 -0
- {ic_code-1.3.5 → ic_code-1.5.0}/src/ic/platforms/aws/nat/list_tags.py +0 -0
- {ic_code-1.3.5 → ic_code-1.5.0}/src/ic/platforms/aws/nat/tag_check.py +0 -0
- {ic_code-1.3.5 → ic_code-1.5.0}/src/ic/platforms/aws/profile/__init__.py +0 -0
- {ic_code-1.3.5 → ic_code-1.5.0}/src/ic/platforms/aws/profile/info.py +0 -0
- {ic_code-1.3.5 → ic_code-1.5.0}/src/ic/platforms/aws/rds/__init__.py +0 -0
- {ic_code-1.3.5 → ic_code-1.5.0}/src/ic/platforms/aws/rds/list_tags.py +0 -0
- {ic_code-1.3.5 → ic_code-1.5.0}/src/ic/platforms/aws/rds/tag_check.py +0 -0
- {ic_code-1.3.5 → ic_code-1.5.0}/src/ic/platforms/aws/s3/__init__.py +0 -0
- {ic_code-1.3.5 → ic_code-1.5.0}/src/ic/platforms/aws/s3/list_tags.py +0 -0
- {ic_code-1.3.5 → ic_code-1.5.0}/src/ic/platforms/aws/s3/tag_check.py +0 -0
- {ic_code-1.3.5 → ic_code-1.5.0}/src/ic/platforms/aws/sg/__init__.py +0 -0
- {ic_code-1.3.5 → ic_code-1.5.0}/src/ic/platforms/aws/sg/info.py +0 -0
- {ic_code-1.3.5 → ic_code-1.5.0}/src/ic/platforms/aws/vpc/__init__.py +0 -0
- {ic_code-1.3.5 → ic_code-1.5.0}/src/ic/platforms/aws/vpc/list_tags.py +0 -0
- {ic_code-1.3.5 → ic_code-1.5.0}/src/ic/platforms/aws/vpc/tag_check.py +0 -0
- {ic_code-1.3.5 → ic_code-1.5.0}/src/ic/platforms/aws/vpn/__init__.py +0 -0
- {ic_code-1.3.5 → ic_code-1.5.0}/src/ic/platforms/aws/vpn/info.py +0 -0
- {ic_code-1.3.5 → ic_code-1.5.0}/src/ic/platforms/cloudflare/__init__.py +0 -0
- {ic_code-1.3.5 → ic_code-1.5.0}/src/ic/platforms/cloudflare/account/__init__.py +0 -0
- {ic_code-1.3.5 → ic_code-1.5.0}/src/ic/platforms/cloudflare/client.py +0 -0
- {ic_code-1.3.5 → ic_code-1.5.0}/src/ic/platforms/cloudflare/dns/__init__.py +0 -0
- {ic_code-1.3.5 → ic_code-1.5.0}/src/ic/platforms/cloudflare/rules/__init__.py +0 -0
- {ic_code-1.3.5 → ic_code-1.5.0}/src/ic/platforms/cloudflare/rules/info.py +0 -0
- {ic_code-1.3.5 → ic_code-1.5.0}/src/ic/platforms/cloudflare/traffic/__init__.py +0 -0
- {ic_code-1.3.5 → ic_code-1.5.0}/src/ic/platforms/cloudflare/traffic/info.py +0 -0
- {ic_code-1.3.5 → ic_code-1.5.0}/src/ic/platforms/cloudflare/waf/__init__.py +0 -0
- {ic_code-1.3.5 → ic_code-1.5.0}/src/ic/platforms/cloudflare/waf/info.py +0 -0
- {ic_code-1.3.5 → ic_code-1.5.0}/src/ic/platforms/cloudflare/zone/__init__.py +0 -0
- {ic_code-1.3.5 → ic_code-1.5.0}/src/ic/platforms/gcp/__init__.py +0 -0
- {ic_code-1.3.5 → ic_code-1.5.0}/src/ic/platforms/gcp/billing/__init__.py +0 -0
- {ic_code-1.3.5 → ic_code-1.5.0}/src/ic/platforms/gcp/billing/mock_data.json +0 -0
- {ic_code-1.3.5 → ic_code-1.5.0}/src/ic/platforms/gcp/compute/__init__.py +0 -0
- {ic_code-1.3.5 → ic_code-1.5.0}/src/ic/platforms/gcp/firewall/__init__.py +0 -0
- {ic_code-1.3.5 → ic_code-1.5.0}/src/ic/platforms/gcp/functions/__init__.py +0 -0
- {ic_code-1.3.5 → ic_code-1.5.0}/src/ic/platforms/gcp/gke/__init__.py +0 -0
- {ic_code-1.3.5 → ic_code-1.5.0}/src/ic/platforms/gcp/gke/mock_data.json +0 -0
- {ic_code-1.3.5 → ic_code-1.5.0}/src/ic/platforms/gcp/lb/__init__.py +0 -0
- {ic_code-1.3.5 → ic_code-1.5.0}/src/ic/platforms/gcp/run/__init__.py +0 -0
- {ic_code-1.3.5 → ic_code-1.5.0}/src/ic/platforms/gcp/sql/__init__.py +0 -0
- {ic_code-1.3.5 → ic_code-1.5.0}/src/ic/platforms/gcp/storage/__init__.py +0 -0
- {ic_code-1.3.5 → ic_code-1.5.0}/src/ic/platforms/gcp/vpc/__init__.py +0 -0
- {ic_code-1.3.5 → ic_code-1.5.0}/src/ic/platforms/gcp/vpc/mock_data.json +0 -0
- {ic_code-1.3.5 → ic_code-1.5.0}/src/ic/platforms/oci/__init__.py +0 -0
- {ic_code-1.3.5 → ic_code-1.5.0}/src/ic/platforms/oci/common/__init__.py +0 -0
- {ic_code-1.3.5 → ic_code-1.5.0}/src/ic/platforms/oci/common/utils.py +0 -0
- {ic_code-1.3.5 → ic_code-1.5.0}/src/ic/platforms/oci/compartment/__init__.py +0 -0
- {ic_code-1.3.5 → ic_code-1.5.0}/src/ic/platforms/oci/cost/__init__.py +0 -0
- {ic_code-1.3.5 → ic_code-1.5.0}/src/ic/platforms/oci/info/__init__.py +0 -0
- {ic_code-1.3.5 → ic_code-1.5.0}/src/ic/platforms/oci/info/oci_info.py +0 -0
- {ic_code-1.3.5 → ic_code-1.5.0}/src/ic/platforms/oci/lb/__init__.py +0 -0
- {ic_code-1.3.5 → ic_code-1.5.0}/src/ic/platforms/oci/nsg/__init__.py +0 -0
- {ic_code-1.3.5 → ic_code-1.5.0}/src/ic/platforms/oci/obj/__init__.py +0 -0
- {ic_code-1.3.5 → ic_code-1.5.0}/src/ic/platforms/oci/policy/__init__.py +0 -0
- {ic_code-1.3.5 → ic_code-1.5.0}/src/ic/platforms/oci/policy/search.py +0 -0
- {ic_code-1.3.5 → ic_code-1.5.0}/src/ic/platforms/oci/vcn/__init__.py +0 -0
- {ic_code-1.3.5 → ic_code-1.5.0}/src/ic/platforms/oci/vm/__init__.py +0 -0
- {ic_code-1.3.5 → ic_code-1.5.0}/src/ic/platforms/oci/volume/__init__.py +0 -0
- {ic_code-1.3.5 → ic_code-1.5.0}/src/ic/platforms/ssh/__init__.py +0 -0
- {ic_code-1.3.5 → ic_code-1.5.0}/src/ic/platforms/ssh/auto/__init__.py +0 -0
- {ic_code-1.3.5 → ic_code-1.5.0}/src/ic/platforms/ssh/auto_ssh.py +0 -0
- {ic_code-1.3.5 → ic_code-1.5.0}/src/ic/platforms/ssh/server/__init__.py +0 -0
- {ic_code-1.3.5 → ic_code-1.5.0}/src/ic/platforms/ssh/server_info.py +0 -0
- {ic_code-1.3.5 → ic_code-1.5.0}/src/ic/platforms/tencent/__init__.py +0 -0
- {ic_code-1.3.5 → ic_code-1.5.0}/src/ic/platforms/tencent/clb/__init__.py +0 -0
- {ic_code-1.3.5 → ic_code-1.5.0}/src/ic/platforms/tencent/clb/desc.py +0 -0
- {ic_code-1.3.5 → ic_code-1.5.0}/src/ic/platforms/tencent/clb/info.py +0 -0
- {ic_code-1.3.5 → ic_code-1.5.0}/src/ic/platforms/tencent/client.py +0 -0
- {ic_code-1.3.5 → ic_code-1.5.0}/src/ic/platforms/tencent/cvm/__init__.py +0 -0
- {ic_code-1.3.5 → ic_code-1.5.0}/src/ic/platforms/tencent/cvm/desc.py +0 -0
- {ic_code-1.3.5 → ic_code-1.5.0}/src/ic/platforms/tencent/cvm/info.py +0 -0
- {ic_code-1.3.5 → ic_code-1.5.0}/src/ic/platforms/tencent/lighthouse/__init__.py +0 -0
- {ic_code-1.3.5 → ic_code-1.5.0}/src/ic/platforms/tencent/nat/__init__.py +0 -0
- {ic_code-1.3.5 → ic_code-1.5.0}/src/ic/platforms/tencent/profile/__init__.py +0 -0
- {ic_code-1.3.5 → ic_code-1.5.0}/src/ic/platforms/tencent/sg/__init__.py +0 -0
- {ic_code-1.3.5 → ic_code-1.5.0}/src/ic/platforms/tencent/tke/__init__.py +0 -0
- {ic_code-1.3.5 → ic_code-1.5.0}/src/ic/platforms/tencent/vpc/__init__.py +0 -0
- {ic_code-1.3.5 → ic_code-1.5.0}/src/ic/security/__init__.py +0 -0
- {ic_code-1.3.5 → ic_code-1.5.0}/src/ic/security/config.py +0 -0
- {ic_code-1.3.5 → ic_code-1.5.0}/src/ic/security/detector.py +0 -0
- {ic_code-1.3.5 → ic_code-1.5.0}/src/ic/security/guidance.py +0 -0
- {ic_code-1.3.5 → ic_code-1.5.0}/src/ic/security/hooks.py +0 -0
- {ic_code-1.3.5 → ic_code-1.5.0}/src/ic/security/patterns.py +0 -0
- {ic_code-1.3.5 → ic_code-1.5.0}/src/ic/security/scanner.py +0 -0
- {ic_code-1.3.5 → ic_code-1.5.0}/src/ic_code.egg-info/dependency_links.txt +0 -0
- {ic_code-1.3.5 → ic_code-1.5.0}/src/ic_code.egg-info/entry_points.txt +0 -0
- {ic_code-1.3.5 → ic_code-1.5.0}/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
|
+
Version: 1.5.0
|
|
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
|
+

|
|
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
|
|
144
|
-
- **
|
|
145
|
-
- **
|
|
146
|
-
- **
|
|
147
|
-
- **
|
|
150
|
+
### 3. 🟩 GCP Services (Production Ready - v1.5.0)
|
|
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.0)
|
|
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
|
-
|
|
329
|
-
|
|
330
|
-
|
|
331
|
-
#
|
|
332
|
-
ic gcp
|
|
333
|
-
|
|
334
|
-
#
|
|
335
|
-
ic gcp
|
|
336
|
-
|
|
337
|
-
#
|
|
338
|
-
|
|
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
|
+

|
|
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
|
|
40
|
-
- **
|
|
41
|
-
- **
|
|
42
|
-
- **
|
|
43
|
-
- **
|
|
44
|
+
### 3. 🟩 GCP Services (Production Ready - v1.5.0)
|
|
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.0)
|
|
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
|
-
|
|
225
|
-
|
|
226
|
-
|
|
227
|
-
#
|
|
228
|
-
ic gcp
|
|
229
|
-
|
|
230
|
-
#
|
|
231
|
-
ic gcp
|
|
232
|
-
|
|
233
|
-
#
|
|
234
|
-
|
|
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.0).
|
|
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.0)
|
|
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
|
+

|
|
9
|
+
|
|
10
|
+
---
|
|
11
|
+
|
|
5
12
|
## 📦 Supported Tencent Cloud Services
|
|
6
13
|
|
|
7
14
|
### 1. CVM (Cloud Virtual Machine)
|
|
8
|
-
- **
|
|
9
|
-
-
|
|
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
|
|
52
|
-
-
|
|
53
|
-
-
|
|
54
|
-
-
|
|
50
|
+
### 3. 🟩 GCP Services (v1.5.0)
|
|
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.
|
|
7
|
+
version = "1.5.0"
|
|
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
|
-
#
|
|
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
|
|
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.
|
|
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
|
"""
|