ic-code 1.1.0__tar.gz → 1.1.1__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {ic_code-1.1.0/src/ic_code.egg-info → ic_code-1.1.1}/PKG-INFO +1 -1
- {ic_code-1.1.0 → ic_code-1.1.1}/common/ncp_utils.py +2 -2
- {ic_code-1.1.0 → ic_code-1.1.1}/common/ncpgov_utils.py +2 -2
- {ic_code-1.1.0 → ic_code-1.1.1}/pyproject.toml +1 -1
- {ic_code-1.1.0 → ic_code-1.1.1}/scripts/cli_usage_analysis.py +4 -4
- {ic_code-1.1.0 → ic_code-1.1.1}/scripts/fix_consolidated_imports.py +3 -3
- {ic_code-1.1.0 → ic_code-1.1.1}/setup.py +1 -1
- ic_code-1.1.1/src/ic/__init__.py +36 -0
- {ic_code-1.1.0 → ic_code-1.1.1}/src/ic/cli.py +137 -57
- {ic_code-1.1.0 → ic_code-1.1.1}/src/ic/commands/migration.py +4 -1
- {ic_code-1.1.0 → ic_code-1.1.1}/src/ic/migration/__init__.py +4 -1
- {ic_code-1.1.0 → ic_code-1.1.1}/src/ic/migration/post_validation.py +52 -13
- {ic_code-1.1.0 → ic_code-1.1.1}/src/ic/platforms/ncp/ec2/info.py +4 -1
- {ic_code-1.1.0 → ic_code-1.1.1}/src/ic/platforms/ncp/rds/info.py +4 -1
- {ic_code-1.1.0 → ic_code-1.1.1}/src/ic/platforms/ncp/s3/info.py +4 -1
- {ic_code-1.1.0 → ic_code-1.1.1}/src/ic/platforms/ncp/sg/info.py +4 -1
- {ic_code-1.1.0 → ic_code-1.1.1}/src/ic/platforms/ncp/vpc/info.py +4 -1
- {ic_code-1.1.0 → ic_code-1.1.1}/src/ic/platforms/ncpgov/ec2/info.py +8 -2
- {ic_code-1.1.0 → ic_code-1.1.1}/src/ic/platforms/ncpgov/rds/info.py +4 -1
- {ic_code-1.1.0 → ic_code-1.1.1}/src/ic/platforms/ncpgov/s3/info.py +8 -2
- {ic_code-1.1.0 → ic_code-1.1.1}/src/ic/platforms/ncpgov/sg/info.py +4 -1
- {ic_code-1.1.0 → ic_code-1.1.1}/src/ic/platforms/ncpgov/vpc/info.py +4 -1
- {ic_code-1.1.0 → ic_code-1.1.1}/src/ic/platforms/oci/lb/info.py +4 -1
- {ic_code-1.1.0 → ic_code-1.1.1}/src/ic/platforms/oci/nsg/info.py +4 -1
- {ic_code-1.1.0 → ic_code-1.1.1}/src/ic/platforms/oci/obj/info.py +4 -1
- {ic_code-1.1.0 → ic_code-1.1.1}/src/ic/platforms/oci/policy/info.py +4 -1
- {ic_code-1.1.0 → ic_code-1.1.1}/src/ic/platforms/oci/vcn/info.py +4 -1
- {ic_code-1.1.0 → ic_code-1.1.1}/src/ic/platforms/oci/vm/info.py +4 -1
- {ic_code-1.1.0 → ic_code-1.1.1}/src/ic/platforms/oci/volume/info.py +4 -1
- {ic_code-1.1.0 → ic_code-1.1.1/src/ic_code.egg-info}/PKG-INFO +1 -1
- ic_code-1.1.0/src/ic/__init__.py +0 -29
- {ic_code-1.1.0 → ic_code-1.1.1}/CHANGELOG.md +0 -0
- {ic_code-1.1.0 → ic_code-1.1.1}/LICENSE +0 -0
- {ic_code-1.1.0 → ic_code-1.1.1}/MANIFEST.in +0 -0
- {ic_code-1.1.0 → ic_code-1.1.1}/README.md +0 -0
- {ic_code-1.1.0 → ic_code-1.1.1}/SECURITY.md +0 -0
- {ic_code-1.1.0 → ic_code-1.1.1}/common/__init__.py +0 -0
- {ic_code-1.1.0 → ic_code-1.1.1}/common/azure_utils.py +0 -0
- {ic_code-1.1.0 → ic_code-1.1.1}/common/gather_env.py +0 -0
- {ic_code-1.1.0 → ic_code-1.1.1}/common/gcp_config_validator.py +0 -0
- {ic_code-1.1.0 → ic_code-1.1.1}/common/gcp_monitoring.py +0 -0
- {ic_code-1.1.0 → ic_code-1.1.1}/common/gcp_utils.py +0 -0
- {ic_code-1.1.0 → ic_code-1.1.1}/common/log.py +0 -0
- {ic_code-1.1.0 → ic_code-1.1.1}/common/ncp_security_utils.py +0 -0
- {ic_code-1.1.0 → ic_code-1.1.1}/common/progress_decorator.py +0 -0
- {ic_code-1.1.0 → ic_code-1.1.1}/common/slack.py +0 -0
- {ic_code-1.1.0 → ic_code-1.1.1}/common/utils.py +0 -0
- {ic_code-1.1.0 → ic_code-1.1.1}/docs/README.md +0 -0
- {ic_code-1.1.0 → ic_code-1.1.1}/docs/_templates/configuration.md +0 -0
- {ic_code-1.1.0 → ic_code-1.1.1}/docs/_templates/installation.md +0 -0
- {ic_code-1.1.0 → ic_code-1.1.1}/docs/_templates/troubleshooting.md +0 -0
- {ic_code-1.1.0 → ic_code-1.1.1}/docs/_templates/usage.md +0 -0
- {ic_code-1.1.0 → ic_code-1.1.1}/docs/aws/AWS_IMPLEMENTATION_SUMMARY.md +0 -0
- {ic_code-1.1.0 → ic_code-1.1.1}/docs/aws/README.md +0 -0
- {ic_code-1.1.0 → ic_code-1.1.1}/docs/aws/aws_cli_prd.md +0 -0
- {ic_code-1.1.0 → ic_code-1.1.1}/docs/aws/installation.md +0 -0
- {ic_code-1.1.0 → ic_code-1.1.1}/docs/azure/README.md +0 -0
- {ic_code-1.1.0 → ic_code-1.1.1}/docs/config_migration.md +0 -0
- {ic_code-1.1.0 → ic_code-1.1.1}/docs/deployment.md +0 -0
- {ic_code-1.1.0 → ic_code-1.1.1}/docs/gcp/GCP_CONFIGURATION_GUIDE.md +0 -0
- {ic_code-1.1.0 → ic_code-1.1.1}/docs/gcp/GCP_SECURITY_BEST_PRACTICES.md +0 -0
- {ic_code-1.1.0 → ic_code-1.1.1}/docs/gcp/README.md +0 -0
- {ic_code-1.1.0 → ic_code-1.1.1}/docs/general/configuration.md +0 -0
- {ic_code-1.1.0 → ic_code-1.1.1}/docs/installation.md +0 -0
- {ic_code-1.1.0 → ic_code-1.1.1}/docs/mcp_integration.md +0 -0
- {ic_code-1.1.0 → ic_code-1.1.1}/docs/migration.md +0 -0
- {ic_code-1.1.0 → ic_code-1.1.1}/docs/migration_guide.md +0 -0
- {ic_code-1.1.0 → ic_code-1.1.1}/docs/ncp/README.md +0 -0
- {ic_code-1.1.0 → ic_code-1.1.1}/docs/ncp/configuration.md +0 -0
- {ic_code-1.1.0 → ic_code-1.1.1}/docs/ncp/installation.md +0 -0
- {ic_code-1.1.0 → ic_code-1.1.1}/docs/ncp/troubleshooting.md +0 -0
- {ic_code-1.1.0 → ic_code-1.1.1}/docs/ncp/usage.md +0 -0
- {ic_code-1.1.0 → ic_code-1.1.1}/docs/ncpgov/README.md +0 -0
- {ic_code-1.1.0 → ic_code-1.1.1}/docs/ncpgov/installation.md +0 -0
- {ic_code-1.1.0 → ic_code-1.1.1}/docs/oci/README.md +0 -0
- {ic_code-1.1.0 → ic_code-1.1.1}/docs/oci/installation.md +0 -0
- {ic_code-1.1.0 → ic_code-1.1.1}/docs/security.md +0 -0
- {ic_code-1.1.0 → ic_code-1.1.1}/docs/ssh/configuration.md +0 -0
- {ic_code-1.1.0 → ic_code-1.1.1}/docs/troubleshooting.md +0 -0
- {ic_code-1.1.0 → ic_code-1.1.1}/docs/user_guide.md +0 -0
- {ic_code-1.1.0 → ic_code-1.1.1}/mcp/__init__.py +0 -0
- {ic_code-1.1.0 → ic_code-1.1.1}/mcp/gcp_connector.py +0 -0
- {ic_code-1.1.0 → ic_code-1.1.1}/requirements.txt +0 -0
- {ic_code-1.1.0 → ic_code-1.1.1}/scripts/analysis_summary.py +0 -0
- {ic_code-1.1.0 → ic_code-1.1.1}/scripts/bump-version.sh +0 -0
- {ic_code-1.1.0 → ic_code-1.1.1}/scripts/cf_edge_nsg_make/cf_edge_nsg_make.py +0 -0
- {ic_code-1.1.0 → ic_code-1.1.1}/scripts/dependency_mapper.py +0 -0
- {ic_code-1.1.0 → ic_code-1.1.1}/scripts/deploy.sh +0 -0
- {ic_code-1.1.0 → ic_code-1.1.1}/scripts/final_validation_and_documentation.py +0 -0
- {ic_code-1.1.0 → ic_code-1.1.1}/scripts/migration_execution_and_validation.py +0 -0
- {ic_code-1.1.0 → ic_code-1.1.1}/scripts/ncp_security_scanner.py +0 -0
- {ic_code-1.1.0 → ic_code-1.1.1}/scripts/oracle-policy/user_policy.py +0 -0
- {ic_code-1.1.0 → ic_code-1.1.1}/scripts/performance_optimization.py +0 -0
- {ic_code-1.1.0 → ic_code-1.1.1}/scripts/setup_venv.py +0 -0
- {ic_code-1.1.0 → ic_code-1.1.1}/scripts/unset_env.sh +0 -0
- {ic_code-1.1.0 → ic_code-1.1.1}/scripts/validate_config.py +0 -0
- {ic_code-1.1.0 → ic_code-1.1.1}/scripts/validate_dependencies.py +0 -0
- {ic_code-1.1.0 → ic_code-1.1.1}/scripts/validate_ncp_security.py +0 -0
- {ic_code-1.1.0 → ic_code-1.1.1}/setup.cfg +0 -0
- {ic_code-1.1.0 → ic_code-1.1.1}/src/ic/commands/__init__.py +0 -0
- {ic_code-1.1.0 → ic_code-1.1.1}/src/ic/commands/config.py +0 -0
- {ic_code-1.1.0 → ic_code-1.1.1}/src/ic/commands/security.py +0 -0
- {ic_code-1.1.0 → ic_code-1.1.1}/src/ic/compat/__init__.py +0 -0
- {ic_code-1.1.0 → ic_code-1.1.1}/src/ic/compat/cli.py +0 -0
- {ic_code-1.1.0 → ic_code-1.1.1}/src/ic/compat/common.py +0 -0
- {ic_code-1.1.0 → ic_code-1.1.1}/src/ic/config/__init__.py +0 -0
- {ic_code-1.1.0 → ic_code-1.1.1}/src/ic/config/cleanup.py +0 -0
- {ic_code-1.1.0 → ic_code-1.1.1}/src/ic/config/docs_organizer.py +0 -0
- {ic_code-1.1.0 → ic_code-1.1.1}/src/ic/config/external.py +0 -0
- {ic_code-1.1.0 → ic_code-1.1.1}/src/ic/config/installer.py +0 -0
- {ic_code-1.1.0 → ic_code-1.1.1}/src/ic/config/manager.py +0 -0
- {ic_code-1.1.0 → ic_code-1.1.1}/src/ic/config/migration.py +0 -0
- {ic_code-1.1.0 → ic_code-1.1.1}/src/ic/config/migration_utils.py +0 -0
- {ic_code-1.1.0 → ic_code-1.1.1}/src/ic/config/path_manager.py +0 -0
- {ic_code-1.1.0 → ic_code-1.1.1}/src/ic/config/schema.py +0 -0
- {ic_code-1.1.0 → ic_code-1.1.1}/src/ic/config/secrets.py +0 -0
- {ic_code-1.1.0 → ic_code-1.1.1}/src/ic/config/security.py +0 -0
- {ic_code-1.1.0 → ic_code-1.1.1}/src/ic/core/__init__.py +0 -0
- {ic_code-1.1.0 → ic_code-1.1.1}/src/ic/core/dependency_validator.py +0 -0
- {ic_code-1.1.0 → ic_code-1.1.1}/src/ic/core/logging.py +0 -0
- {ic_code-1.1.0 → ic_code-1.1.1}/src/ic/core/mcp_manager.py +0 -0
- {ic_code-1.1.0 → ic_code-1.1.1}/src/ic/core/session.py +0 -0
- {ic_code-1.1.0 → ic_code-1.1.1}/src/ic/core/silence_logging.py +0 -0
- {ic_code-1.1.0 → ic_code-1.1.1}/src/ic/migration/manager.py +0 -0
- {ic_code-1.1.0 → ic_code-1.1.1}/src/ic/migration/rollback.py +0 -0
- {ic_code-1.1.0 → ic_code-1.1.1}/src/ic/migration/validation.py +0 -0
- {ic_code-1.1.0 → ic_code-1.1.1}/src/ic/platforms/__init__.py +0 -0
- {ic_code-1.1.0 → ic_code-1.1.1}/src/ic/platforms/aws/__init__.py +0 -0
- {ic_code-1.1.0 → ic_code-1.1.1}/src/ic/platforms/aws/cloudfront/__init__.py +0 -0
- {ic_code-1.1.0 → ic_code-1.1.1}/src/ic/platforms/aws/cloudfront/info.py +0 -0
- {ic_code-1.1.0 → ic_code-1.1.1}/src/ic/platforms/aws/codepipeline/__init__.py +0 -0
- {ic_code-1.1.0 → ic_code-1.1.1}/src/ic/platforms/aws/codepipeline/build.py +0 -0
- {ic_code-1.1.0 → ic_code-1.1.1}/src/ic/platforms/aws/codepipeline/deploy.py +0 -0
- {ic_code-1.1.0 → ic_code-1.1.1}/src/ic/platforms/aws/ec2/__init__.py +0 -0
- {ic_code-1.1.0 → ic_code-1.1.1}/src/ic/platforms/aws/ec2/info.py +0 -0
- {ic_code-1.1.0 → ic_code-1.1.1}/src/ic/platforms/aws/ec2/list_tags.py +0 -0
- {ic_code-1.1.0 → ic_code-1.1.1}/src/ic/platforms/aws/ec2/tag_check.py +0 -0
- {ic_code-1.1.0 → ic_code-1.1.1}/src/ic/platforms/aws/ecs/__init__.py +0 -0
- {ic_code-1.1.0 → ic_code-1.1.1}/src/ic/platforms/aws/ecs/info.py +0 -0
- {ic_code-1.1.0 → ic_code-1.1.1}/src/ic/platforms/aws/ecs/service.py +0 -0
- {ic_code-1.1.0 → ic_code-1.1.1}/src/ic/platforms/aws/ecs/task.py +0 -0
- {ic_code-1.1.0 → ic_code-1.1.1}/src/ic/platforms/aws/eks/__init__.py +0 -0
- {ic_code-1.1.0 → ic_code-1.1.1}/src/ic/platforms/aws/eks/addons.py +0 -0
- {ic_code-1.1.0 → ic_code-1.1.1}/src/ic/platforms/aws/eks/fargate.py +0 -0
- {ic_code-1.1.0 → ic_code-1.1.1}/src/ic/platforms/aws/eks/info.py +0 -0
- {ic_code-1.1.0 → ic_code-1.1.1}/src/ic/platforms/aws/eks/nodes.py +0 -0
- {ic_code-1.1.0 → ic_code-1.1.1}/src/ic/platforms/aws/eks/pods.py +0 -0
- {ic_code-1.1.0 → ic_code-1.1.1}/src/ic/platforms/aws/eks/update_config.py +0 -0
- {ic_code-1.1.0 → ic_code-1.1.1}/src/ic/platforms/aws/fargate/__init__.py +0 -0
- {ic_code-1.1.0 → ic_code-1.1.1}/src/ic/platforms/aws/fargate/info.py +0 -0
- {ic_code-1.1.0 → ic_code-1.1.1}/src/ic/platforms/aws/lb/__init__.py +0 -0
- {ic_code-1.1.0 → ic_code-1.1.1}/src/ic/platforms/aws/lb/info.py +0 -0
- {ic_code-1.1.0 → ic_code-1.1.1}/src/ic/platforms/aws/lb/list_tags.py +0 -0
- {ic_code-1.1.0 → ic_code-1.1.1}/src/ic/platforms/aws/lb/tag_check.py +0 -0
- {ic_code-1.1.0 → ic_code-1.1.1}/src/ic/platforms/aws/msk/__init__.py +0 -0
- {ic_code-1.1.0 → ic_code-1.1.1}/src/ic/platforms/aws/msk/broker.py +0 -0
- {ic_code-1.1.0 → ic_code-1.1.1}/src/ic/platforms/aws/msk/info.py +0 -0
- {ic_code-1.1.0 → ic_code-1.1.1}/src/ic/platforms/aws/nat/__init__.py +0 -0
- {ic_code-1.1.0 → ic_code-1.1.1}/src/ic/platforms/aws/nat/list_tags.py +0 -0
- {ic_code-1.1.0 → ic_code-1.1.1}/src/ic/platforms/aws/nat/tag_check.py +0 -0
- {ic_code-1.1.0 → ic_code-1.1.1}/src/ic/platforms/aws/profile/__init__.py +0 -0
- {ic_code-1.1.0 → ic_code-1.1.1}/src/ic/platforms/aws/profile/info.py +0 -0
- {ic_code-1.1.0 → ic_code-1.1.1}/src/ic/platforms/aws/rds/__init__.py +0 -0
- {ic_code-1.1.0 → ic_code-1.1.1}/src/ic/platforms/aws/rds/info.py +0 -0
- {ic_code-1.1.0 → ic_code-1.1.1}/src/ic/platforms/aws/rds/list_tags.py +0 -0
- {ic_code-1.1.0 → ic_code-1.1.1}/src/ic/platforms/aws/rds/tag_check.py +0 -0
- {ic_code-1.1.0 → ic_code-1.1.1}/src/ic/platforms/aws/s3/__init__.py +0 -0
- {ic_code-1.1.0 → ic_code-1.1.1}/src/ic/platforms/aws/s3/info.py +0 -0
- {ic_code-1.1.0 → ic_code-1.1.1}/src/ic/platforms/aws/s3/list_tags.py +0 -0
- {ic_code-1.1.0 → ic_code-1.1.1}/src/ic/platforms/aws/s3/tag_check.py +0 -0
- {ic_code-1.1.0 → ic_code-1.1.1}/src/ic/platforms/aws/sg/__init__.py +0 -0
- {ic_code-1.1.0 → ic_code-1.1.1}/src/ic/platforms/aws/sg/info.py +0 -0
- {ic_code-1.1.0 → ic_code-1.1.1}/src/ic/platforms/aws/vpc/__init__.py +0 -0
- {ic_code-1.1.0 → ic_code-1.1.1}/src/ic/platforms/aws/vpc/info.py +0 -0
- {ic_code-1.1.0 → ic_code-1.1.1}/src/ic/platforms/aws/vpc/list_tags.py +0 -0
- {ic_code-1.1.0 → ic_code-1.1.1}/src/ic/platforms/aws/vpc/tag_check.py +0 -0
- {ic_code-1.1.0 → ic_code-1.1.1}/src/ic/platforms/aws/vpn/__init__.py +0 -0
- {ic_code-1.1.0 → ic_code-1.1.1}/src/ic/platforms/aws/vpn/info.py +0 -0
- {ic_code-1.1.0 → ic_code-1.1.1}/src/ic/platforms/azure/__init__.py +0 -0
- {ic_code-1.1.0 → ic_code-1.1.1}/src/ic/platforms/azure/aci/info.py +0 -0
- {ic_code-1.1.0 → ic_code-1.1.1}/src/ic/platforms/azure/aks/info.py +0 -0
- {ic_code-1.1.0 → ic_code-1.1.1}/src/ic/platforms/azure/lb/info.py +0 -0
- {ic_code-1.1.0 → ic_code-1.1.1}/src/ic/platforms/azure/nsg/info.py +0 -0
- {ic_code-1.1.0 → ic_code-1.1.1}/src/ic/platforms/azure/storage/info.py +0 -0
- {ic_code-1.1.0 → ic_code-1.1.1}/src/ic/platforms/azure/vm/info.py +0 -0
- {ic_code-1.1.0 → ic_code-1.1.1}/src/ic/platforms/azure/vnet/info.py +0 -0
- {ic_code-1.1.0 → ic_code-1.1.1}/src/ic/platforms/cloudflare/__init__.py +0 -0
- {ic_code-1.1.0 → ic_code-1.1.1}/src/ic/platforms/cloudflare/dns/__init__.py +0 -0
- {ic_code-1.1.0 → ic_code-1.1.1}/src/ic/platforms/cloudflare/dns/list_info.py +0 -0
- {ic_code-1.1.0 → ic_code-1.1.1}/src/ic/platforms/gcp/__init__.py +0 -0
- {ic_code-1.1.0 → ic_code-1.1.1}/src/ic/platforms/gcp/billing/__init__.py +0 -0
- {ic_code-1.1.0 → ic_code-1.1.1}/src/ic/platforms/gcp/billing/info.py +0 -0
- {ic_code-1.1.0 → ic_code-1.1.1}/src/ic/platforms/gcp/compute/__init__.py +0 -0
- {ic_code-1.1.0 → ic_code-1.1.1}/src/ic/platforms/gcp/compute/info.py +0 -0
- {ic_code-1.1.0 → ic_code-1.1.1}/src/ic/platforms/gcp/firewall/__init__.py +0 -0
- {ic_code-1.1.0 → ic_code-1.1.1}/src/ic/platforms/gcp/firewall/info.py +0 -0
- {ic_code-1.1.0 → ic_code-1.1.1}/src/ic/platforms/gcp/functions/__init__.py +0 -0
- {ic_code-1.1.0 → ic_code-1.1.1}/src/ic/platforms/gcp/functions/info.py +0 -0
- {ic_code-1.1.0 → ic_code-1.1.1}/src/ic/platforms/gcp/gke/__init__.py +0 -0
- {ic_code-1.1.0 → ic_code-1.1.1}/src/ic/platforms/gcp/gke/info.py +0 -0
- {ic_code-1.1.0 → ic_code-1.1.1}/src/ic/platforms/gcp/lb/__init__.py +0 -0
- {ic_code-1.1.0 → ic_code-1.1.1}/src/ic/platforms/gcp/lb/info.py +0 -0
- {ic_code-1.1.0 → ic_code-1.1.1}/src/ic/platforms/gcp/run/__init__.py +0 -0
- {ic_code-1.1.0 → ic_code-1.1.1}/src/ic/platforms/gcp/run/info.py +0 -0
- {ic_code-1.1.0 → ic_code-1.1.1}/src/ic/platforms/gcp/sql/__init__.py +0 -0
- {ic_code-1.1.0 → ic_code-1.1.1}/src/ic/platforms/gcp/sql/info.py +0 -0
- {ic_code-1.1.0 → ic_code-1.1.1}/src/ic/platforms/gcp/storage/__init__.py +0 -0
- {ic_code-1.1.0 → ic_code-1.1.1}/src/ic/platforms/gcp/storage/info.py +0 -0
- {ic_code-1.1.0 → ic_code-1.1.1}/src/ic/platforms/gcp/vpc/__init__.py +0 -0
- {ic_code-1.1.0 → ic_code-1.1.1}/src/ic/platforms/gcp/vpc/info.py +0 -0
- {ic_code-1.1.0 → ic_code-1.1.1}/src/ic/platforms/ncp/__init__.py +0 -0
- {ic_code-1.1.0 → ic_code-1.1.1}/src/ic/platforms/ncp/client.py +0 -0
- {ic_code-1.1.0 → ic_code-1.1.1}/src/ic/platforms/ncp/ec2/__init__.py +0 -0
- {ic_code-1.1.0 → ic_code-1.1.1}/src/ic/platforms/ncp/rds/__init__.py +0 -0
- {ic_code-1.1.0 → ic_code-1.1.1}/src/ic/platforms/ncp/s3/__init__.py +0 -0
- {ic_code-1.1.0 → ic_code-1.1.1}/src/ic/platforms/ncp/sg/__init__.py +0 -0
- {ic_code-1.1.0 → ic_code-1.1.1}/src/ic/platforms/ncp/vpc/__init__.py +0 -0
- {ic_code-1.1.0 → ic_code-1.1.1}/src/ic/platforms/ncpgov/__init__.py +0 -0
- {ic_code-1.1.0 → ic_code-1.1.1}/src/ic/platforms/ncpgov/client.py +0 -0
- {ic_code-1.1.0 → ic_code-1.1.1}/src/ic/platforms/ncpgov/ec2/__init__.py +0 -0
- {ic_code-1.1.0 → ic_code-1.1.1}/src/ic/platforms/ncpgov/rds/__init__.py +0 -0
- {ic_code-1.1.0 → ic_code-1.1.1}/src/ic/platforms/ncpgov/s3/__init__.py +0 -0
- {ic_code-1.1.0 → ic_code-1.1.1}/src/ic/platforms/ncpgov/sg/__init__.py +0 -0
- {ic_code-1.1.0 → ic_code-1.1.1}/src/ic/platforms/ncpgov/vpc/__init__.py +0 -0
- {ic_code-1.1.0 → ic_code-1.1.1}/src/ic/platforms/oci/__init__.py +0 -0
- {ic_code-1.1.0 → ic_code-1.1.1}/src/ic/platforms/oci/common/__init__.py +0 -0
- {ic_code-1.1.0 → ic_code-1.1.1}/src/ic/platforms/oci/common/utils.py +0 -0
- {ic_code-1.1.0 → ic_code-1.1.1}/src/ic/platforms/oci/compartment/__init__.py +0 -0
- {ic_code-1.1.0 → ic_code-1.1.1}/src/ic/platforms/oci/compartment/info.py +0 -0
- {ic_code-1.1.0 → ic_code-1.1.1}/src/ic/platforms/oci/cost/__init__.py +0 -0
- {ic_code-1.1.0 → ic_code-1.1.1}/src/ic/platforms/oci/cost/credit.py +0 -0
- {ic_code-1.1.0 → ic_code-1.1.1}/src/ic/platforms/oci/cost/usage.py +0 -0
- {ic_code-1.1.0 → ic_code-1.1.1}/src/ic/platforms/oci/info/__init__.py +0 -0
- {ic_code-1.1.0 → ic_code-1.1.1}/src/ic/platforms/oci/info/oci_info.py +0 -0
- {ic_code-1.1.0 → ic_code-1.1.1}/src/ic/platforms/oci/lb/__init__.py +0 -0
- {ic_code-1.1.0 → ic_code-1.1.1}/src/ic/platforms/oci/nsg/__init__.py +0 -0
- {ic_code-1.1.0 → ic_code-1.1.1}/src/ic/platforms/oci/obj/__init__.py +0 -0
- {ic_code-1.1.0 → ic_code-1.1.1}/src/ic/platforms/oci/policy/__init__.py +0 -0
- {ic_code-1.1.0 → ic_code-1.1.1}/src/ic/platforms/oci/policy/search.py +0 -0
- {ic_code-1.1.0 → ic_code-1.1.1}/src/ic/platforms/oci/vcn/__init__.py +0 -0
- {ic_code-1.1.0 → ic_code-1.1.1}/src/ic/platforms/oci/vm/__init__.py +0 -0
- {ic_code-1.1.0 → ic_code-1.1.1}/src/ic/platforms/oci/volume/__init__.py +0 -0
- {ic_code-1.1.0 → ic_code-1.1.1}/src/ic/platforms/ssh/__init__.py +0 -0
- {ic_code-1.1.0 → ic_code-1.1.1}/src/ic/platforms/ssh/auto_ssh.py +0 -0
- {ic_code-1.1.0 → ic_code-1.1.1}/src/ic/platforms/ssh/server_info.py +0 -0
- {ic_code-1.1.0 → ic_code-1.1.1}/src/ic/security/__init__.py +0 -0
- {ic_code-1.1.0 → ic_code-1.1.1}/src/ic/security/config.py +0 -0
- {ic_code-1.1.0 → ic_code-1.1.1}/src/ic/security/detector.py +0 -0
- {ic_code-1.1.0 → ic_code-1.1.1}/src/ic/security/guidance.py +0 -0
- {ic_code-1.1.0 → ic_code-1.1.1}/src/ic/security/hooks.py +0 -0
- {ic_code-1.1.0 → ic_code-1.1.1}/src/ic/security/patterns.py +0 -0
- {ic_code-1.1.0 → ic_code-1.1.1}/src/ic/security/scanner.py +0 -0
- {ic_code-1.1.0 → ic_code-1.1.1}/src/ic_code.egg-info/SOURCES.txt +0 -0
- {ic_code-1.1.0 → ic_code-1.1.1}/src/ic_code.egg-info/dependency_links.txt +0 -0
- {ic_code-1.1.0 → ic_code-1.1.1}/src/ic_code.egg-info/entry_points.txt +0 -0
- {ic_code-1.1.0 → ic_code-1.1.1}/src/ic_code.egg-info/requires.txt +0 -0
- {ic_code-1.1.0 → ic_code-1.1.1}/src/ic_code.egg-info/top_level.txt +0 -0
|
@@ -32,7 +32,7 @@ def get_ncp_config_path() -> Path:
|
|
|
32
32
|
"""NCP 설정 파일 경로 반환 (hierarchical lookup)"""
|
|
33
33
|
# Import here to avoid circular imports
|
|
34
34
|
try:
|
|
35
|
-
from
|
|
35
|
+
from ic.config.path_manager import ConfigPathManager
|
|
36
36
|
path_manager = ConfigPathManager()
|
|
37
37
|
config_path = path_manager.get_ncp_config_path()
|
|
38
38
|
if config_path:
|
|
@@ -64,7 +64,7 @@ def load_ncp_config(profile: str = 'default') -> Dict[str, Any]:
|
|
|
64
64
|
"""
|
|
65
65
|
try:
|
|
66
66
|
# Try to use ConfigManager for hierarchical lookup
|
|
67
|
-
from
|
|
67
|
+
from ic.config.manager import ConfigManager
|
|
68
68
|
config_manager = ConfigManager()
|
|
69
69
|
|
|
70
70
|
# Monitor configuration access
|
|
@@ -29,7 +29,7 @@ def get_ncpgov_config_path() -> Path:
|
|
|
29
29
|
"""NCP Gov 설정 파일 경로 반환 (hierarchical lookup)"""
|
|
30
30
|
# Import here to avoid circular imports
|
|
31
31
|
try:
|
|
32
|
-
from
|
|
32
|
+
from ic.config.path_manager import ConfigPathManager
|
|
33
33
|
path_manager = ConfigPathManager()
|
|
34
34
|
config_path = path_manager.get_ncpgov_config_path()
|
|
35
35
|
if config_path:
|
|
@@ -61,7 +61,7 @@ def load_ncpgov_config(profile: str = 'default') -> Dict[str, Any]:
|
|
|
61
61
|
"""
|
|
62
62
|
try:
|
|
63
63
|
# Try to use ConfigManager for hierarchical lookup
|
|
64
|
-
from
|
|
64
|
+
from ic.config.manager import ConfigManager
|
|
65
65
|
config_manager = ConfigManager()
|
|
66
66
|
|
|
67
67
|
# Monitor configuration access for government cloud
|
|
@@ -400,10 +400,10 @@ class CLIUsageAnalyzer:
|
|
|
400
400
|
old_import = f"from {imp.module_path} import {imp.imported_name}"
|
|
401
401
|
if imp.module_path.startswith('ncp.'):
|
|
402
402
|
service = imp.module_path.split('.')[1]
|
|
403
|
-
new_import = f"from
|
|
403
|
+
new_import = f"from ic.platforms.ncp.{service} import {imp.imported_name}"
|
|
404
404
|
elif imp.module_path.startswith('ncp_module.'):
|
|
405
405
|
service = imp.module_path.split('.')[1]
|
|
406
|
-
new_import = f"from
|
|
406
|
+
new_import = f"from ic.platforms.ncp.{service} import {imp.imported_name}"
|
|
407
407
|
else:
|
|
408
408
|
new_import = old_import
|
|
409
409
|
|
|
@@ -413,10 +413,10 @@ class CLIUsageAnalyzer:
|
|
|
413
413
|
old_import = f"from {imp.module_path} import {imp.imported_name}"
|
|
414
414
|
if imp.module_path.startswith('ncpgov.'):
|
|
415
415
|
service = imp.module_path.split('.')[1]
|
|
416
|
-
new_import = f"from
|
|
416
|
+
new_import = f"from ic.platforms.ncpgov.{service} import {imp.imported_name}"
|
|
417
417
|
elif imp.module_path.startswith('ncpgov_module.'):
|
|
418
418
|
service = imp.module_path.split('.')[1]
|
|
419
|
-
new_import = f"from
|
|
419
|
+
new_import = f"from ic.platforms.ncpgov.{service} import {imp.imported_name}"
|
|
420
420
|
else:
|
|
421
421
|
new_import = old_import
|
|
422
422
|
|
|
@@ -40,7 +40,7 @@ def fix_consolidated_imports():
|
|
|
40
40
|
# Fix imports in the content
|
|
41
41
|
content = content.replace(
|
|
42
42
|
"from ncp_module.client import NCPClient, NCPAPIError",
|
|
43
|
-
"from
|
|
43
|
+
"from ic.platforms.ncp.client import NCPClient, NCPAPIError"
|
|
44
44
|
)
|
|
45
45
|
|
|
46
46
|
# Write to consolidated location
|
|
@@ -68,11 +68,11 @@ def fix_consolidated_imports():
|
|
|
68
68
|
# Fix imports in the content
|
|
69
69
|
content = content.replace(
|
|
70
70
|
"from ncpgov_module.client import NCPGovClient, NCPAPIError",
|
|
71
|
-
"from
|
|
71
|
+
"from ic.platforms.ncpgov.client import NCPGovClient, NCPAPIError"
|
|
72
72
|
)
|
|
73
73
|
content = content.replace(
|
|
74
74
|
"from ncp_module.client import NCPClient, NCPAPIError",
|
|
75
|
-
"from
|
|
75
|
+
"from ic.platforms.ncp.client import NCPClient, NCPAPIError"
|
|
76
76
|
)
|
|
77
77
|
|
|
78
78
|
# Write to consolidated location
|
|
@@ -61,7 +61,7 @@ class PostInstallCommand(install):
|
|
|
61
61
|
"""Run post-installation configuration setup."""
|
|
62
62
|
try:
|
|
63
63
|
# Import here to avoid import errors during setup
|
|
64
|
-
from
|
|
64
|
+
from ic.config.installer import ConfigInstaller
|
|
65
65
|
|
|
66
66
|
installer = ConfigInstaller()
|
|
67
67
|
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
"""
|
|
2
|
+
IC (Infra Resource Management CLI) - A comprehensive tool for managing cloud infrastructure resources.
|
|
3
|
+
|
|
4
|
+
This package provides CLI tools and libraries for managing AWS, Azure, GCP, OCI, and CloudFlare resources.
|
|
5
|
+
"""
|
|
6
|
+
|
|
7
|
+
__version__ = "2.0.0"
|
|
8
|
+
__author__ = "SangYun"
|
|
9
|
+
__email__ = "cruiser594@gmail.com"
|
|
10
|
+
|
|
11
|
+
# Core components
|
|
12
|
+
try:
|
|
13
|
+
from .core.mcp_manager import MCPManager, MCPQueryResult, create_default_mcp_config
|
|
14
|
+
from .config.security import SecurityManager
|
|
15
|
+
from .config.manager import ConfigManager
|
|
16
|
+
from .core.logging import ICLogger
|
|
17
|
+
from .core.session import AWSSessionManager
|
|
18
|
+
except ImportError:
|
|
19
|
+
from ic.core.mcp_manager import MCPManager, MCPQueryResult, create_default_mcp_config
|
|
20
|
+
from ic.config.security import SecurityManager
|
|
21
|
+
from ic.config.manager import ConfigManager
|
|
22
|
+
from ic.core.logging import ICLogger
|
|
23
|
+
from ic.core.session import AWSSessionManager
|
|
24
|
+
|
|
25
|
+
__all__ = [
|
|
26
|
+
"__version__",
|
|
27
|
+
"__author__",
|
|
28
|
+
"__email__",
|
|
29
|
+
"MCPManager",
|
|
30
|
+
"MCPQueryResult",
|
|
31
|
+
"create_default_mcp_config",
|
|
32
|
+
"SecurityManager",
|
|
33
|
+
"ConfigManager",
|
|
34
|
+
"ICLogger",
|
|
35
|
+
"AWSSessionManager"
|
|
36
|
+
]
|
|
@@ -181,63 +181,128 @@ try:
|
|
|
181
181
|
except ImportError:
|
|
182
182
|
pass
|
|
183
183
|
# AWS imports - Unified module structure
|
|
184
|
-
|
|
185
|
-
from
|
|
186
|
-
from
|
|
187
|
-
from
|
|
188
|
-
from
|
|
189
|
-
from
|
|
190
|
-
from
|
|
191
|
-
from
|
|
192
|
-
from
|
|
193
|
-
from
|
|
194
|
-
from
|
|
195
|
-
from
|
|
196
|
-
from
|
|
197
|
-
from
|
|
198
|
-
from
|
|
199
|
-
from
|
|
200
|
-
from
|
|
201
|
-
from
|
|
202
|
-
from
|
|
203
|
-
from
|
|
204
|
-
from
|
|
205
|
-
from
|
|
206
|
-
from
|
|
207
|
-
from
|
|
208
|
-
from
|
|
209
|
-
from
|
|
210
|
-
from
|
|
211
|
-
from
|
|
184
|
+
try:
|
|
185
|
+
from .platforms.aws.ec2 import list_tags as ec2_list_tags
|
|
186
|
+
from .platforms.aws.ec2 import tag_check as ec2_tag_check
|
|
187
|
+
from .platforms.aws.ec2 import info as ec2_info
|
|
188
|
+
from .platforms.aws.lb import list_tags as lb_list_tags
|
|
189
|
+
from .platforms.aws.lb import tag_check as lb_tag_check
|
|
190
|
+
from .platforms.aws.vpc import tag_check as vpc_tag_check
|
|
191
|
+
from .platforms.aws.vpc import list_tags as vpc_list_tags
|
|
192
|
+
from .platforms.aws.rds import list_tags as rds_list_tags
|
|
193
|
+
from .platforms.aws.rds import tag_check as rds_tag_check
|
|
194
|
+
from .platforms.aws.s3 import list_tags as s3_list_tags
|
|
195
|
+
from .platforms.aws.s3 import tag_check as s3_tag_check
|
|
196
|
+
from .platforms.aws.sg import info as sg_info
|
|
197
|
+
from .platforms.aws.eks import info as eks_info
|
|
198
|
+
from .platforms.aws.eks import nodes as eks_nodes
|
|
199
|
+
from .platforms.aws.eks import pods as eks_pods
|
|
200
|
+
from .platforms.aws.eks import fargate as eks_fargate
|
|
201
|
+
from .platforms.aws.eks import addons as eks_addons
|
|
202
|
+
from .platforms.aws.eks import update_config as eks_update_config
|
|
203
|
+
from .platforms.aws.fargate import info as fargate_info
|
|
204
|
+
from .platforms.aws.codepipeline import build as codepipeline_build
|
|
205
|
+
from .platforms.aws.codepipeline import deploy as codepipeline_deploy
|
|
206
|
+
from .platforms.aws.ecs import info as ecs_info
|
|
207
|
+
from .platforms.aws.ecs import service as ecs_service
|
|
208
|
+
from .platforms.aws.ecs import task as ecs_task
|
|
209
|
+
from .platforms.aws.msk import info as msk_info
|
|
210
|
+
from .platforms.aws.msk import broker as msk_broker
|
|
211
|
+
from .platforms.aws.profile.info import ProfileInfoCollector, ProfileTableRenderer
|
|
212
|
+
from .platforms.aws.cloudfront.info import CloudFrontCollector, CloudFrontRenderer
|
|
213
|
+
except ImportError:
|
|
214
|
+
# Fallback for installed package
|
|
215
|
+
from ic.platforms.aws.ec2 import list_tags as ec2_list_tags
|
|
216
|
+
from ic.platforms.aws.ec2 import tag_check as ec2_tag_check
|
|
217
|
+
from ic.platforms.aws.ec2 import info as ec2_info
|
|
218
|
+
from ic.platforms.aws.lb import list_tags as lb_list_tags
|
|
219
|
+
from ic.platforms.aws.lb import tag_check as lb_tag_check
|
|
220
|
+
from ic.platforms.aws.vpc import tag_check as vpc_tag_check
|
|
221
|
+
from ic.platforms.aws.vpc import list_tags as vpc_list_tags
|
|
222
|
+
from ic.platforms.aws.rds import list_tags as rds_list_tags
|
|
223
|
+
from ic.platforms.aws.rds import tag_check as rds_tag_check
|
|
224
|
+
from ic.platforms.aws.s3 import list_tags as s3_list_tags
|
|
225
|
+
from ic.platforms.aws.s3 import tag_check as s3_tag_check
|
|
226
|
+
from ic.platforms.aws.sg import info as sg_info
|
|
227
|
+
from ic.platforms.aws.eks import info as eks_info
|
|
228
|
+
from ic.platforms.aws.eks import nodes as eks_nodes
|
|
229
|
+
from ic.platforms.aws.eks import pods as eks_pods
|
|
230
|
+
from ic.platforms.aws.eks import fargate as eks_fargate
|
|
231
|
+
from ic.platforms.aws.eks import addons as eks_addons
|
|
232
|
+
from ic.platforms.aws.eks import update_config as eks_update_config
|
|
233
|
+
from ic.platforms.aws.fargate import info as fargate_info
|
|
234
|
+
from ic.platforms.aws.codepipeline import build as codepipeline_build
|
|
235
|
+
from ic.platforms.aws.codepipeline import deploy as codepipeline_deploy
|
|
236
|
+
from ic.platforms.aws.ecs import info as ecs_info
|
|
237
|
+
from ic.platforms.aws.ecs import service as ecs_service
|
|
238
|
+
from ic.platforms.aws.ecs import task as ecs_task
|
|
239
|
+
from ic.platforms.aws.msk import info as msk_info
|
|
240
|
+
from ic.platforms.aws.msk import broker as msk_broker
|
|
241
|
+
from ic.platforms.aws.profile.info import ProfileInfoCollector, ProfileTableRenderer
|
|
242
|
+
from ic.platforms.aws.cloudfront.info import CloudFrontCollector, CloudFrontRenderer
|
|
212
243
|
# CloudFlare imports - Unified module structure
|
|
213
|
-
|
|
244
|
+
try:
|
|
245
|
+
from .platforms.cloudflare.dns import list_info as dns_info
|
|
246
|
+
except ImportError:
|
|
247
|
+
from ic.platforms.cloudflare.dns import list_info as dns_info
|
|
214
248
|
# OCI imports - Unified module structure
|
|
215
|
-
|
|
216
|
-
from
|
|
217
|
-
from
|
|
218
|
-
from
|
|
219
|
-
from
|
|
220
|
-
from
|
|
221
|
-
from
|
|
222
|
-
from
|
|
223
|
-
from
|
|
224
|
-
from
|
|
225
|
-
from
|
|
226
|
-
from
|
|
249
|
+
try:
|
|
250
|
+
from .platforms.oci.info import oci_info as oci_info # Deprecated. 통합 oci info
|
|
251
|
+
from .platforms.oci.vm import add_arguments as vm_add_args, main as vm_main
|
|
252
|
+
from .platforms.oci.lb import add_arguments as lb_add_args, main as lb_main
|
|
253
|
+
from .platforms.oci.nsg import add_arguments as nsg_add_args, main as nsg_main
|
|
254
|
+
from .platforms.oci.volume import add_arguments as volume_add_args, main as volume_main
|
|
255
|
+
from .platforms.oci.policy import add_arguments as policy_add_args, main as policy_main
|
|
256
|
+
from .platforms.oci.policy import search as oci_policy_search
|
|
257
|
+
from .platforms.oci.obj import add_arguments as obj_add_args, main as obj_main
|
|
258
|
+
from .platforms.oci.cost.usage import add_arguments as cost_usage_add_args, main as cost_usage_main
|
|
259
|
+
from .platforms.oci.cost.credit import add_arguments as cost_credit_add_args, main as cost_credit_main
|
|
260
|
+
from .platforms.oci.vcn import info as vcn_info
|
|
261
|
+
from .platforms.oci.compartment.info import CompartmentTreeBuilder, CompartmentTreeRenderer
|
|
262
|
+
except ImportError:
|
|
263
|
+
from ic.platforms.oci.info import oci_info as oci_info # Deprecated. 통합 oci info
|
|
264
|
+
from ic.platforms.oci.vm import add_arguments as vm_add_args, main as vm_main
|
|
265
|
+
from ic.platforms.oci.lb import add_arguments as lb_add_args, main as lb_main
|
|
266
|
+
from ic.platforms.oci.nsg import add_arguments as nsg_add_args, main as nsg_main
|
|
267
|
+
from ic.platforms.oci.volume import add_arguments as volume_add_args, main as volume_main
|
|
268
|
+
from ic.platforms.oci.policy import add_arguments as policy_add_args, main as policy_main
|
|
269
|
+
from ic.platforms.oci.policy import search as oci_policy_search
|
|
270
|
+
from ic.platforms.oci.obj import add_arguments as obj_add_args, main as obj_main
|
|
271
|
+
from ic.platforms.oci.cost.usage import add_arguments as cost_usage_add_args, main as cost_usage_main
|
|
272
|
+
from ic.platforms.oci.cost.credit import add_arguments as cost_credit_add_args, main as cost_credit_main
|
|
273
|
+
from ic.platforms.oci.vcn import info as vcn_info
|
|
274
|
+
from ic.platforms.oci.compartment.info import CompartmentTreeBuilder, CompartmentTreeRenderer
|
|
227
275
|
# SSH imports - Unified module structure
|
|
228
|
-
|
|
276
|
+
try:
|
|
277
|
+
from .platforms.ssh import auto_ssh, server_info
|
|
278
|
+
except ImportError:
|
|
279
|
+
from ic.platforms.ssh import auto_ssh, server_info
|
|
229
280
|
# NCP imports - Unified module structure
|
|
230
|
-
|
|
231
|
-
from
|
|
232
|
-
from
|
|
233
|
-
from
|
|
234
|
-
from
|
|
281
|
+
try:
|
|
282
|
+
from .platforms.ncp.ec2 import info as ncp_ec2_info
|
|
283
|
+
from .platforms.ncp.s3 import info as ncp_s3_info
|
|
284
|
+
from .platforms.ncp.vpc import info as ncp_vpc_info
|
|
285
|
+
from .platforms.ncp.sg import info as ncp_sg_info
|
|
286
|
+
from .platforms.ncp.rds import info as ncp_rds_info
|
|
287
|
+
except ImportError:
|
|
288
|
+
from ic.platforms.ncp.ec2 import info as ncp_ec2_info
|
|
289
|
+
from ic.platforms.ncp.s3 import info as ncp_s3_info
|
|
290
|
+
from ic.platforms.ncp.vpc import info as ncp_vpc_info
|
|
291
|
+
from ic.platforms.ncp.sg import info as ncp_sg_info
|
|
292
|
+
from ic.platforms.ncp.rds import info as ncp_rds_info
|
|
235
293
|
# NCP Gov imports - Unified module structure
|
|
236
|
-
|
|
237
|
-
from
|
|
238
|
-
from
|
|
239
|
-
from
|
|
240
|
-
from
|
|
294
|
+
try:
|
|
295
|
+
from .platforms.ncpgov.ec2 import info as ncpgov_ec2_info
|
|
296
|
+
from .platforms.ncpgov.s3 import info as ncpgov_s3_info
|
|
297
|
+
from .platforms.ncpgov.vpc import info as ncpgov_vpc_info
|
|
298
|
+
from .platforms.ncpgov.sg import info as ncpgov_sg_info
|
|
299
|
+
from .platforms.ncpgov.rds import info as ncpgov_rds_info
|
|
300
|
+
except ImportError:
|
|
301
|
+
from ic.platforms.ncpgov.ec2 import info as ncpgov_ec2_info
|
|
302
|
+
from ic.platforms.ncpgov.s3 import info as ncpgov_s3_info
|
|
303
|
+
from ic.platforms.ncpgov.vpc import info as ncpgov_vpc_info
|
|
304
|
+
from ic.platforms.ncpgov.sg import info as ncpgov_sg_info
|
|
305
|
+
from ic.platforms.ncpgov.rds import info as ncpgov_rds_info
|
|
241
306
|
import concurrent.futures
|
|
242
307
|
from threading import Lock
|
|
243
308
|
|
|
@@ -516,7 +581,10 @@ def main():
|
|
|
516
581
|
lb_check_parser.set_defaults(func=lb_tag_check.main)
|
|
517
582
|
|
|
518
583
|
lb_info_parser = lb_subparsers.add_parser("info", help="LB 상세 정보 조회")
|
|
519
|
-
|
|
584
|
+
try:
|
|
585
|
+
from .platforms.aws.lb import info as lb_info
|
|
586
|
+
except ImportError:
|
|
587
|
+
from ic.platforms.aws.lb import info as lb_info
|
|
520
588
|
lb_info.add_arguments(lb_info_parser)
|
|
521
589
|
lb_info_parser.set_defaults(func=lb_info.main)
|
|
522
590
|
|
|
@@ -530,14 +598,20 @@ def main():
|
|
|
530
598
|
vpc_list_parser.set_defaults(func=vpc_list_tags.main)
|
|
531
599
|
|
|
532
600
|
vpc_info_parser = vpc_subparsers.add_parser("info", help="VPC 상세 정보 조회")
|
|
533
|
-
|
|
601
|
+
try:
|
|
602
|
+
from .platforms.aws.vpc import info as vpc_info
|
|
603
|
+
except ImportError:
|
|
604
|
+
from ic.platforms.aws.vpc import info as vpc_info
|
|
534
605
|
vpc_info.add_arguments(vpc_info_parser)
|
|
535
606
|
vpc_info_parser.set_defaults(func=vpc_info.main)
|
|
536
607
|
|
|
537
608
|
vpn_parser = aws_subparsers.add_parser("vpn", help="TGW, VGW, VPN Connection, Endpoint 관련 명령어")
|
|
538
609
|
vpn_subparsers = vpn_parser.add_subparsers(dest="command", required=True)
|
|
539
610
|
vpn_info_parser = vpn_subparsers.add_parser("info", help="VPN 관련 상세 정보 조회")
|
|
540
|
-
|
|
611
|
+
try:
|
|
612
|
+
from .platforms.aws.vpn import info as vpn_info
|
|
613
|
+
except ImportError:
|
|
614
|
+
from ic.platforms.aws.vpn import info as vpn_info
|
|
541
615
|
vpn_info.add_arguments(vpn_info_parser)
|
|
542
616
|
vpn_info_parser.set_defaults(func=vpn_info.main)
|
|
543
617
|
|
|
@@ -552,7 +626,10 @@ def main():
|
|
|
552
626
|
rds_check_cmd.set_defaults(func=rds_tag_check.main)
|
|
553
627
|
|
|
554
628
|
rds_info_parser = rds_subparsers.add_parser("info", help="RDS 상세 정보 조회")
|
|
555
|
-
|
|
629
|
+
try:
|
|
630
|
+
from .platforms.aws.rds import info as rds_info
|
|
631
|
+
except ImportError:
|
|
632
|
+
from ic.platforms.aws.rds import info as rds_info
|
|
556
633
|
rds_info.add_arguments(rds_info_parser)
|
|
557
634
|
rds_info_parser.set_defaults(func=rds_info.main)
|
|
558
635
|
|
|
@@ -566,7 +643,10 @@ def main():
|
|
|
566
643
|
s3_check_cmd.set_defaults(func=s3_tag_check.main)
|
|
567
644
|
|
|
568
645
|
s3_info_parser = s3_subparsers.add_parser("info", help="S3 상세 정보 조회")
|
|
569
|
-
|
|
646
|
+
try:
|
|
647
|
+
from .platforms.aws.s3 import info as s3_info
|
|
648
|
+
except ImportError:
|
|
649
|
+
from ic.platforms.aws.s3 import info as s3_info
|
|
570
650
|
s3_info.add_arguments(s3_info_parser)
|
|
571
651
|
s3_info_parser.set_defaults(func=s3_info.main)
|
|
572
652
|
|
|
@@ -15,7 +15,10 @@ try:
|
|
|
15
15
|
except ImportError:
|
|
16
16
|
# Handle case when run directly
|
|
17
17
|
sys.path.insert(0, str(Path(__file__).parent.parent.parent))
|
|
18
|
-
|
|
18
|
+
try:
|
|
19
|
+
from .migration import MigrationManager
|
|
20
|
+
except ImportError:
|
|
21
|
+
from ic.migration import MigrationManager
|
|
19
22
|
|
|
20
23
|
|
|
21
24
|
class MigrationCommands:
|
|
@@ -11,7 +11,10 @@ Components:
|
|
|
11
11
|
- MigrationManager: Unified interface for managing the complete migration process
|
|
12
12
|
|
|
13
13
|
Usage:
|
|
14
|
-
|
|
14
|
+
try:
|
|
15
|
+
from .migration import MigrationManager
|
|
16
|
+
except ImportError:
|
|
17
|
+
from ic.migration import MigrationManager
|
|
15
18
|
|
|
16
19
|
manager = MigrationManager()
|
|
17
20
|
|
|
@@ -527,7 +527,10 @@ class PostMigrationValidator:
|
|
|
527
527
|
"name": "NCP Config Loading",
|
|
528
528
|
"test_code": """
|
|
529
529
|
try:
|
|
530
|
-
|
|
530
|
+
try:
|
|
531
|
+
from .platforms.ncp.client import NCPClient
|
|
532
|
+
except ImportError:
|
|
533
|
+
from ic.platforms.ncp.client import NCPClient
|
|
531
534
|
client = NCPClient()
|
|
532
535
|
result = {"success": True, "message": "NCP client initialized successfully"}
|
|
533
536
|
except Exception as e:
|
|
@@ -541,7 +544,10 @@ print(result)
|
|
|
541
544
|
"name": "NCPGOV Config Loading",
|
|
542
545
|
"test_code": """
|
|
543
546
|
try:
|
|
544
|
-
|
|
547
|
+
try:
|
|
548
|
+
from .platforms.ncpgov.client import NCPGovClient
|
|
549
|
+
except ImportError:
|
|
550
|
+
from ic.platforms.ncpgov.client import NCPGovClient
|
|
545
551
|
client = NCPGovClient()
|
|
546
552
|
result = {"success": True, "message": "NCPGOV client initialized successfully"}
|
|
547
553
|
except Exception as e:
|
|
@@ -555,11 +561,26 @@ print(result)
|
|
|
555
561
|
"name": "NCP Module Imports",
|
|
556
562
|
"test_code": """
|
|
557
563
|
try:
|
|
558
|
-
|
|
559
|
-
from
|
|
560
|
-
|
|
561
|
-
from
|
|
562
|
-
|
|
564
|
+
try:
|
|
565
|
+
from .platforms.ncp.ec2 import info as ncp_ec2_info
|
|
566
|
+
except ImportError:
|
|
567
|
+
from ic.platforms.ncp.ec2 import info as ncp_ec2_info
|
|
568
|
+
try:
|
|
569
|
+
from .platforms.ncp.s3 import info as ncp_s3_info
|
|
570
|
+
except ImportError:
|
|
571
|
+
from ic.platforms.ncp.s3 import info as ncp_s3_info
|
|
572
|
+
try:
|
|
573
|
+
from .platforms.ncp.vpc import info as ncp_vpc_info
|
|
574
|
+
except ImportError:
|
|
575
|
+
from ic.platforms.ncp.vpc import info as ncp_vpc_info
|
|
576
|
+
try:
|
|
577
|
+
from .platforms.ncp.sg import info as ncp_sg_info
|
|
578
|
+
except ImportError:
|
|
579
|
+
from ic.platforms.ncp.sg import info as ncp_sg_info
|
|
580
|
+
try:
|
|
581
|
+
from .platforms.ncp.rds import info as ncp_rds_info
|
|
582
|
+
except ImportError:
|
|
583
|
+
from ic.platforms.ncp.rds import info as ncp_rds_info
|
|
563
584
|
result = {"success": True, "message": "All NCP modules imported successfully"}
|
|
564
585
|
except Exception as e:
|
|
565
586
|
result = {"success": False, "message": f"NCP module import failed: {e}"}
|
|
@@ -572,11 +593,26 @@ print(result)
|
|
|
572
593
|
"name": "NCPGOV Module Imports",
|
|
573
594
|
"test_code": """
|
|
574
595
|
try:
|
|
575
|
-
|
|
576
|
-
from
|
|
577
|
-
|
|
578
|
-
from
|
|
579
|
-
|
|
596
|
+
try:
|
|
597
|
+
from .platforms.ncpgov.ec2 import info as ncpgov_ec2_info
|
|
598
|
+
except ImportError:
|
|
599
|
+
from ic.platforms.ncpgov.ec2 import info as ncpgov_ec2_info
|
|
600
|
+
try:
|
|
601
|
+
from .platforms.ncpgov.s3 import info as ncpgov_s3_info
|
|
602
|
+
except ImportError:
|
|
603
|
+
from ic.platforms.ncpgov.s3 import info as ncpgov_s3_info
|
|
604
|
+
try:
|
|
605
|
+
from .platforms.ncpgov.vpc import info as ncpgov_vpc_info
|
|
606
|
+
except ImportError:
|
|
607
|
+
from ic.platforms.ncpgov.vpc import info as ncpgov_vpc_info
|
|
608
|
+
try:
|
|
609
|
+
from .platforms.ncpgov.sg import info as ncpgov_sg_info
|
|
610
|
+
except ImportError:
|
|
611
|
+
from ic.platforms.ncpgov.sg import info as ncpgov_sg_info
|
|
612
|
+
try:
|
|
613
|
+
from .platforms.ncpgov.rds import info as ncpgov_rds_info
|
|
614
|
+
except ImportError:
|
|
615
|
+
from ic.platforms.ncpgov.rds import info as ncpgov_rds_info
|
|
580
616
|
result = {"success": True, "message": "All NCPGOV modules imported successfully"}
|
|
581
617
|
except Exception as e:
|
|
582
618
|
result = {"success": False, "message": f"NCPGOV module import failed: {e}"}
|
|
@@ -685,7 +721,10 @@ print(result)
|
|
|
685
721
|
"expected_failure": False,
|
|
686
722
|
"test_code": """
|
|
687
723
|
try:
|
|
688
|
-
|
|
724
|
+
try:
|
|
725
|
+
from .platforms.ncp.ec2 import info
|
|
726
|
+
except ImportError:
|
|
727
|
+
from ic.platforms.ncp.ec2 import info
|
|
689
728
|
result = {"success": True, "message": "New import paths work correctly"}
|
|
690
729
|
except Exception as e:
|
|
691
730
|
result = {"success": False, "message": f"New import failed: {e}"}
|
|
@@ -30,7 +30,10 @@ from common.ncp_utils import (
|
|
|
30
30
|
load_ncp_config, handle_ncp_api_error, apply_status_color,
|
|
31
31
|
filter_resources_by_name, validate_platform_support
|
|
32
32
|
)
|
|
33
|
-
|
|
33
|
+
try:
|
|
34
|
+
from .platforms.ncp.client import NCPClient, NCPAPIError
|
|
35
|
+
except ImportError:
|
|
36
|
+
from ic.platforms.ncp.client import NCPClient, NCPAPIError
|
|
34
37
|
|
|
35
38
|
logger = logging.getLogger(__name__)
|
|
36
39
|
console = Console()
|
|
@@ -31,7 +31,10 @@ from common.ncp_utils import (
|
|
|
31
31
|
load_ncp_config, handle_ncp_api_error, apply_status_color,
|
|
32
32
|
filter_resources_by_name, validate_platform_support
|
|
33
33
|
)
|
|
34
|
-
|
|
34
|
+
try:
|
|
35
|
+
from .platforms.ncp.client import NCPClient, NCPAPIError
|
|
36
|
+
except ImportError:
|
|
37
|
+
from ic.platforms.ncp.client import NCPClient, NCPAPIError
|
|
35
38
|
|
|
36
39
|
logger = logging.getLogger(__name__)
|
|
37
40
|
console = Console()
|
|
@@ -30,7 +30,10 @@ from common.ncp_utils import (
|
|
|
30
30
|
load_ncp_config, handle_ncp_api_error, apply_status_color,
|
|
31
31
|
filter_resources_by_name, format_bytes
|
|
32
32
|
)
|
|
33
|
-
|
|
33
|
+
try:
|
|
34
|
+
from .platforms.ncp.client import NCPClient, NCPAPIError
|
|
35
|
+
except ImportError:
|
|
36
|
+
from ic.platforms.ncp.client import NCPClient, NCPAPIError
|
|
34
37
|
|
|
35
38
|
logger = logging.getLogger(__name__)
|
|
36
39
|
console = Console()
|
|
@@ -31,7 +31,10 @@ from common.ncp_utils import (
|
|
|
31
31
|
load_ncp_config, handle_ncp_api_error, apply_status_color,
|
|
32
32
|
filter_resources_by_name, validate_platform_support
|
|
33
33
|
)
|
|
34
|
-
|
|
34
|
+
try:
|
|
35
|
+
from .platforms.ncp.client import NCPClient, NCPAPIError
|
|
36
|
+
except ImportError:
|
|
37
|
+
from ic.platforms.ncp.client import NCPClient, NCPAPIError
|
|
35
38
|
|
|
36
39
|
logger = logging.getLogger(__name__)
|
|
37
40
|
console = Console()
|
|
@@ -30,7 +30,10 @@ from common.ncp_utils import (
|
|
|
30
30
|
load_ncp_config, handle_ncp_api_error, apply_status_color,
|
|
31
31
|
filter_resources_by_name, validate_platform_support
|
|
32
32
|
)
|
|
33
|
-
|
|
33
|
+
try:
|
|
34
|
+
from .platforms.ncp.client import NCPClient, NCPAPIError
|
|
35
|
+
except ImportError:
|
|
36
|
+
from ic.platforms.ncp.client import NCPClient, NCPAPIError
|
|
34
37
|
|
|
35
38
|
logger = logging.getLogger(__name__)
|
|
36
39
|
console = Console()
|
|
@@ -31,9 +31,15 @@ from common.ncpgov_utils import (
|
|
|
31
31
|
load_ncpgov_config, handle_ncpgov_api_error, mask_sensitive_data,
|
|
32
32
|
validate_gov_compliance, log_audit_event, validate_api_response_security
|
|
33
33
|
)
|
|
34
|
-
|
|
34
|
+
try:
|
|
35
|
+
from .platforms.ncp.ec2.info import NCPInstance, format_memory_size, format_instance_type
|
|
36
|
+
except ImportError:
|
|
37
|
+
from ic.platforms.ncp.ec2.info import NCPInstance, format_memory_size, format_instance_type
|
|
35
38
|
from common.ncp_utils import apply_status_color
|
|
36
|
-
|
|
39
|
+
try:
|
|
40
|
+
from .platforms.ncpgov.client import NCPGovClient, NCPGovAPIError
|
|
41
|
+
except ImportError:
|
|
42
|
+
from ic.platforms.ncpgov.client import NCPGovClient, NCPGovAPIError
|
|
37
43
|
|
|
38
44
|
logger = get_logger()
|
|
39
45
|
console = Console()
|
|
@@ -32,7 +32,10 @@ from common.ncpgov_utils import (
|
|
|
32
32
|
validate_gov_compliance, log_audit_event, validate_api_response_security
|
|
33
33
|
)
|
|
34
34
|
from common.ncp_utils import apply_status_color
|
|
35
|
-
|
|
35
|
+
try:
|
|
36
|
+
from .platforms.ncpgov.client import NCPGovClient, NCPGovAPIError
|
|
37
|
+
except ImportError:
|
|
38
|
+
from ic.platforms.ncpgov.client import NCPGovClient, NCPGovAPIError
|
|
36
39
|
|
|
37
40
|
logger = logging.getLogger(__name__)
|
|
38
41
|
console = Console()
|
|
@@ -31,9 +31,15 @@ from common.ncpgov_utils import (
|
|
|
31
31
|
load_ncpgov_config, handle_ncpgov_api_error, mask_sensitive_data,
|
|
32
32
|
validate_gov_compliance, log_audit_event, validate_api_response_security
|
|
33
33
|
)
|
|
34
|
-
|
|
34
|
+
try:
|
|
35
|
+
from .platforms.ncp.s3.info import format_bucket_size
|
|
36
|
+
except ImportError:
|
|
37
|
+
from ic.platforms.ncp.s3.info import format_bucket_size
|
|
35
38
|
from common.ncp_utils import apply_status_color
|
|
36
|
-
|
|
39
|
+
try:
|
|
40
|
+
from .platforms.ncpgov.client import NCPGovClient, NCPGovAPIError
|
|
41
|
+
except ImportError:
|
|
42
|
+
from ic.platforms.ncpgov.client import NCPGovClient, NCPGovAPIError
|
|
37
43
|
|
|
38
44
|
logger = get_logger()
|
|
39
45
|
console = Console()
|