ic-code 1.1.6__tar.gz → 1.1.7__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.6/src/ic_code.egg-info → ic_code-1.1.7}/PKG-INFO +41 -14
- ic_code-1.1.7/pyproject.toml +163 -0
- {ic_code-1.1.6 → ic_code-1.1.7}/requirements.txt +1 -1
- {ic_code-1.1.6 → ic_code-1.1.7}/src/ic/platforms/oci/vm/info.py +45 -16
- {ic_code-1.1.6 → ic_code-1.1.7/src/ic_code.egg-info}/PKG-INFO +41 -14
- ic_code-1.1.7/src/ic_code.egg-info/requires.txt +53 -0
- ic_code-1.1.6/pyproject.toml +0 -121
- ic_code-1.1.6/src/ic_code.egg-info/requires.txt +0 -26
- {ic_code-1.1.6 → ic_code-1.1.7}/CHANGELOG.md +0 -0
- {ic_code-1.1.6 → ic_code-1.1.7}/LICENSE +0 -0
- {ic_code-1.1.6 → ic_code-1.1.7}/MANIFEST.in +0 -0
- {ic_code-1.1.6 → ic_code-1.1.7}/README.md +0 -0
- {ic_code-1.1.6 → ic_code-1.1.7}/SECURITY.md +0 -0
- {ic_code-1.1.6 → ic_code-1.1.7}/docs/README.md +0 -0
- {ic_code-1.1.6 → ic_code-1.1.7}/docs/_templates/configuration.md +0 -0
- {ic_code-1.1.6 → ic_code-1.1.7}/docs/_templates/installation.md +0 -0
- {ic_code-1.1.6 → ic_code-1.1.7}/docs/_templates/troubleshooting.md +0 -0
- {ic_code-1.1.6 → ic_code-1.1.7}/docs/_templates/usage.md +0 -0
- {ic_code-1.1.6 → ic_code-1.1.7}/docs/aws/AWS_IMPLEMENTATION_SUMMARY.md +0 -0
- {ic_code-1.1.6 → ic_code-1.1.7}/docs/aws/README.md +0 -0
- {ic_code-1.1.6 → ic_code-1.1.7}/docs/aws/aws_cli_prd.md +0 -0
- {ic_code-1.1.6 → ic_code-1.1.7}/docs/aws/installation.md +0 -0
- {ic_code-1.1.6 → ic_code-1.1.7}/docs/azure/README.md +0 -0
- {ic_code-1.1.6 → ic_code-1.1.7}/docs/config_migration.md +0 -0
- {ic_code-1.1.6 → ic_code-1.1.7}/docs/deployment.md +0 -0
- {ic_code-1.1.6 → ic_code-1.1.7}/docs/development/README.md +0 -0
- {ic_code-1.1.6 → ic_code-1.1.7}/docs/development/cleanup_summary.md +0 -0
- {ic_code-1.1.6 → ic_code-1.1.7}/docs/development/development_guide.md +0 -0
- {ic_code-1.1.6 → ic_code-1.1.7}/docs/development/import_patterns.md +0 -0
- {ic_code-1.1.6 → ic_code-1.1.7}/docs/development/migration_guide.md +0 -0
- {ic_code-1.1.6 → ic_code-1.1.7}/docs/gcp/GCP_CONFIGURATION_GUIDE.md +0 -0
- {ic_code-1.1.6 → ic_code-1.1.7}/docs/gcp/GCP_SECURITY_BEST_PRACTICES.md +0 -0
- {ic_code-1.1.6 → ic_code-1.1.7}/docs/gcp/README.md +0 -0
- {ic_code-1.1.6 → ic_code-1.1.7}/docs/general/configuration.md +0 -0
- {ic_code-1.1.6 → ic_code-1.1.7}/docs/installation.md +0 -0
- {ic_code-1.1.6 → ic_code-1.1.7}/docs/mcp_integration.md +0 -0
- {ic_code-1.1.6 → ic_code-1.1.7}/docs/migration.md +0 -0
- {ic_code-1.1.6 → ic_code-1.1.7}/docs/migration_guide.md +0 -0
- {ic_code-1.1.6 → ic_code-1.1.7}/docs/ncp/README.md +0 -0
- {ic_code-1.1.6 → ic_code-1.1.7}/docs/ncp/configuration.md +0 -0
- {ic_code-1.1.6 → ic_code-1.1.7}/docs/ncp/installation.md +0 -0
- {ic_code-1.1.6 → ic_code-1.1.7}/docs/ncp/troubleshooting.md +0 -0
- {ic_code-1.1.6 → ic_code-1.1.7}/docs/ncp/usage.md +0 -0
- {ic_code-1.1.6 → ic_code-1.1.7}/docs/ncpgov/README.md +0 -0
- {ic_code-1.1.6 → ic_code-1.1.7}/docs/ncpgov/installation.md +0 -0
- {ic_code-1.1.6 → ic_code-1.1.7}/docs/oci/README.md +0 -0
- {ic_code-1.1.6 → ic_code-1.1.7}/docs/oci/installation.md +0 -0
- {ic_code-1.1.6 → ic_code-1.1.7}/docs/security.md +0 -0
- {ic_code-1.1.6 → ic_code-1.1.7}/docs/ssh/configuration.md +0 -0
- {ic_code-1.1.6 → ic_code-1.1.7}/docs/troubleshooting.md +0 -0
- {ic_code-1.1.6 → ic_code-1.1.7}/docs/user_guide.md +0 -0
- {ic_code-1.1.6 → ic_code-1.1.7}/scripts/analysis_summary.py +0 -0
- {ic_code-1.1.6 → ic_code-1.1.7}/scripts/bump-version.sh +0 -0
- {ic_code-1.1.6 → ic_code-1.1.7}/scripts/cf_edge_nsg_make/cf_edge_nsg_make.py +0 -0
- {ic_code-1.1.6 → ic_code-1.1.7}/scripts/cli_usage_analysis.py +0 -0
- {ic_code-1.1.6 → ic_code-1.1.7}/scripts/dependency_mapper.py +0 -0
- {ic_code-1.1.6 → ic_code-1.1.7}/scripts/deploy.sh +0 -0
- {ic_code-1.1.6 → ic_code-1.1.7}/scripts/final_validation_and_documentation.py +0 -0
- {ic_code-1.1.6 → ic_code-1.1.7}/scripts/fix_consolidated_imports.py +0 -0
- {ic_code-1.1.6 → ic_code-1.1.7}/scripts/migration_execution_and_validation.py +0 -0
- {ic_code-1.1.6 → ic_code-1.1.7}/scripts/ncp_security_scanner.py +0 -0
- {ic_code-1.1.6 → ic_code-1.1.7}/scripts/oracle-policy/user_policy.py +0 -0
- {ic_code-1.1.6 → ic_code-1.1.7}/scripts/performance_optimization.py +0 -0
- {ic_code-1.1.6 → ic_code-1.1.7}/scripts/setup_venv.py +0 -0
- {ic_code-1.1.6 → ic_code-1.1.7}/scripts/unset_env.sh +0 -0
- {ic_code-1.1.6 → ic_code-1.1.7}/scripts/validate_config.py +0 -0
- {ic_code-1.1.6 → ic_code-1.1.7}/scripts/validate_dependencies.py +0 -0
- {ic_code-1.1.6 → ic_code-1.1.7}/scripts/validate_ncp_security.py +0 -0
- {ic_code-1.1.6 → ic_code-1.1.7}/setup.cfg +0 -0
- {ic_code-1.1.6 → ic_code-1.1.7}/setup.py +0 -0
- {ic_code-1.1.6 → ic_code-1.1.7}/src/common/__init__.py +0 -0
- {ic_code-1.1.6 → ic_code-1.1.7}/src/common/azure_utils.py +0 -0
- {ic_code-1.1.6 → ic_code-1.1.7}/src/common/gather_env.py +0 -0
- {ic_code-1.1.6 → ic_code-1.1.7}/src/common/gcp_config_validator.py +0 -0
- {ic_code-1.1.6 → ic_code-1.1.7}/src/common/gcp_monitoring.py +0 -0
- {ic_code-1.1.6 → ic_code-1.1.7}/src/common/gcp_utils.py +0 -0
- {ic_code-1.1.6 → ic_code-1.1.7}/src/common/log.py +0 -0
- {ic_code-1.1.6 → ic_code-1.1.7}/src/common/ncp_security_utils.py +0 -0
- {ic_code-1.1.6 → ic_code-1.1.7}/src/common/ncp_utils.py +0 -0
- {ic_code-1.1.6 → ic_code-1.1.7}/src/common/ncpgov_utils.py +0 -0
- {ic_code-1.1.6 → ic_code-1.1.7}/src/common/progress_decorator.py +0 -0
- {ic_code-1.1.6 → ic_code-1.1.7}/src/common/slack.py +0 -0
- {ic_code-1.1.6 → ic_code-1.1.7}/src/common/utils.py +0 -0
- {ic_code-1.1.6 → ic_code-1.1.7}/src/ic/__init__.py +0 -0
- {ic_code-1.1.6 → ic_code-1.1.7}/src/ic/cli.py +0 -0
- {ic_code-1.1.6 → ic_code-1.1.7}/src/ic/cli_backup.py +0 -0
- {ic_code-1.1.6 → ic_code-1.1.7}/src/ic/commands/__init__.py +0 -0
- {ic_code-1.1.6 → ic_code-1.1.7}/src/ic/commands/config.py +0 -0
- {ic_code-1.1.6 → ic_code-1.1.7}/src/ic/commands/migration.py +0 -0
- {ic_code-1.1.6 → ic_code-1.1.7}/src/ic/commands/security.py +0 -0
- {ic_code-1.1.6 → ic_code-1.1.7}/src/ic/compat/__init__.py +0 -0
- {ic_code-1.1.6 → ic_code-1.1.7}/src/ic/compat/cli.py +0 -0
- {ic_code-1.1.6 → ic_code-1.1.7}/src/ic/compat/common.py +0 -0
- {ic_code-1.1.6 → ic_code-1.1.7}/src/ic/config/__init__.py +0 -0
- {ic_code-1.1.6 → ic_code-1.1.7}/src/ic/config/cleanup.py +0 -0
- {ic_code-1.1.6 → ic_code-1.1.7}/src/ic/config/docs_organizer.py +0 -0
- {ic_code-1.1.6 → ic_code-1.1.7}/src/ic/config/external.py +0 -0
- {ic_code-1.1.6 → ic_code-1.1.7}/src/ic/config/installer.py +0 -0
- {ic_code-1.1.6 → ic_code-1.1.7}/src/ic/config/manager.py +0 -0
- {ic_code-1.1.6 → ic_code-1.1.7}/src/ic/config/migration.py +0 -0
- {ic_code-1.1.6 → ic_code-1.1.7}/src/ic/config/migration_utils.py +0 -0
- {ic_code-1.1.6 → ic_code-1.1.7}/src/ic/config/path_manager.py +0 -0
- {ic_code-1.1.6 → ic_code-1.1.7}/src/ic/config/schema.py +0 -0
- {ic_code-1.1.6 → ic_code-1.1.7}/src/ic/config/secrets.py +0 -0
- {ic_code-1.1.6 → ic_code-1.1.7}/src/ic/config/security.py +0 -0
- {ic_code-1.1.6 → ic_code-1.1.7}/src/ic/core/__init__.py +0 -0
- {ic_code-1.1.6 → ic_code-1.1.7}/src/ic/core/dependency_validator.py +0 -0
- {ic_code-1.1.6 → ic_code-1.1.7}/src/ic/core/logging.py +0 -0
- {ic_code-1.1.6 → ic_code-1.1.7}/src/ic/core/mcp_manager.py +0 -0
- {ic_code-1.1.6 → ic_code-1.1.7}/src/ic/core/platform_discovery.py +0 -0
- {ic_code-1.1.6 → ic_code-1.1.7}/src/ic/core/session.py +0 -0
- {ic_code-1.1.6 → ic_code-1.1.7}/src/ic/core/silence_logging.py +0 -0
- {ic_code-1.1.6 → ic_code-1.1.7}/src/ic/migration/__init__.py +0 -0
- {ic_code-1.1.6 → ic_code-1.1.7}/src/ic/migration/manager.py +0 -0
- {ic_code-1.1.6 → ic_code-1.1.7}/src/ic/migration/post_validation.py +0 -0
- {ic_code-1.1.6 → ic_code-1.1.7}/src/ic/migration/rollback.py +0 -0
- {ic_code-1.1.6 → ic_code-1.1.7}/src/ic/migration/validation.py +0 -0
- {ic_code-1.1.6 → ic_code-1.1.7}/src/ic/platforms/__init__.py +0 -0
- {ic_code-1.1.6 → ic_code-1.1.7}/src/ic/platforms/aws/__init__.py +0 -0
- {ic_code-1.1.6 → ic_code-1.1.7}/src/ic/platforms/aws/cloudfront/__init__.py +0 -0
- {ic_code-1.1.6 → ic_code-1.1.7}/src/ic/platforms/aws/cloudfront/info.py +0 -0
- {ic_code-1.1.6 → ic_code-1.1.7}/src/ic/platforms/aws/codepipeline/__init__.py +0 -0
- {ic_code-1.1.6 → ic_code-1.1.7}/src/ic/platforms/aws/codepipeline/build.py +0 -0
- {ic_code-1.1.6 → ic_code-1.1.7}/src/ic/platforms/aws/codepipeline/deploy.py +0 -0
- {ic_code-1.1.6 → ic_code-1.1.7}/src/ic/platforms/aws/ec2/__init__.py +0 -0
- {ic_code-1.1.6 → ic_code-1.1.7}/src/ic/platforms/aws/ec2/info.py +0 -0
- {ic_code-1.1.6 → ic_code-1.1.7}/src/ic/platforms/aws/ec2/list_tags.py +0 -0
- {ic_code-1.1.6 → ic_code-1.1.7}/src/ic/platforms/aws/ec2/tag_check.py +0 -0
- {ic_code-1.1.6 → ic_code-1.1.7}/src/ic/platforms/aws/ecs/__init__.py +0 -0
- {ic_code-1.1.6 → ic_code-1.1.7}/src/ic/platforms/aws/ecs/info.py +0 -0
- {ic_code-1.1.6 → ic_code-1.1.7}/src/ic/platforms/aws/ecs/service.py +0 -0
- {ic_code-1.1.6 → ic_code-1.1.7}/src/ic/platforms/aws/ecs/task.py +0 -0
- {ic_code-1.1.6 → ic_code-1.1.7}/src/ic/platforms/aws/eks/__init__.py +0 -0
- {ic_code-1.1.6 → ic_code-1.1.7}/src/ic/platforms/aws/eks/addons.py +0 -0
- {ic_code-1.1.6 → ic_code-1.1.7}/src/ic/platforms/aws/eks/fargate.py +0 -0
- {ic_code-1.1.6 → ic_code-1.1.7}/src/ic/platforms/aws/eks/info.py +0 -0
- {ic_code-1.1.6 → ic_code-1.1.7}/src/ic/platforms/aws/eks/nodes.py +0 -0
- {ic_code-1.1.6 → ic_code-1.1.7}/src/ic/platforms/aws/eks/pods.py +0 -0
- {ic_code-1.1.6 → ic_code-1.1.7}/src/ic/platforms/aws/eks/update_config.py +0 -0
- {ic_code-1.1.6 → ic_code-1.1.7}/src/ic/platforms/aws/fargate/__init__.py +0 -0
- {ic_code-1.1.6 → ic_code-1.1.7}/src/ic/platforms/aws/fargate/info.py +0 -0
- {ic_code-1.1.6 → ic_code-1.1.7}/src/ic/platforms/aws/lb/__init__.py +0 -0
- {ic_code-1.1.6 → ic_code-1.1.7}/src/ic/platforms/aws/lb/info.py +0 -0
- {ic_code-1.1.6 → ic_code-1.1.7}/src/ic/platforms/aws/lb/list_tags.py +0 -0
- {ic_code-1.1.6 → ic_code-1.1.7}/src/ic/platforms/aws/lb/tag_check.py +0 -0
- {ic_code-1.1.6 → ic_code-1.1.7}/src/ic/platforms/aws/msk/__init__.py +0 -0
- {ic_code-1.1.6 → ic_code-1.1.7}/src/ic/platforms/aws/msk/broker.py +0 -0
- {ic_code-1.1.6 → ic_code-1.1.7}/src/ic/platforms/aws/msk/info.py +0 -0
- {ic_code-1.1.6 → ic_code-1.1.7}/src/ic/platforms/aws/nat/__init__.py +0 -0
- {ic_code-1.1.6 → ic_code-1.1.7}/src/ic/platforms/aws/nat/list_tags.py +0 -0
- {ic_code-1.1.6 → ic_code-1.1.7}/src/ic/platforms/aws/nat/tag_check.py +0 -0
- {ic_code-1.1.6 → ic_code-1.1.7}/src/ic/platforms/aws/profile/__init__.py +0 -0
- {ic_code-1.1.6 → ic_code-1.1.7}/src/ic/platforms/aws/profile/info.py +0 -0
- {ic_code-1.1.6 → ic_code-1.1.7}/src/ic/platforms/aws/rds/__init__.py +0 -0
- {ic_code-1.1.6 → ic_code-1.1.7}/src/ic/platforms/aws/rds/info.py +0 -0
- {ic_code-1.1.6 → ic_code-1.1.7}/src/ic/platforms/aws/rds/list_tags.py +0 -0
- {ic_code-1.1.6 → ic_code-1.1.7}/src/ic/platforms/aws/rds/tag_check.py +0 -0
- {ic_code-1.1.6 → ic_code-1.1.7}/src/ic/platforms/aws/s3/__init__.py +0 -0
- {ic_code-1.1.6 → ic_code-1.1.7}/src/ic/platforms/aws/s3/info.py +0 -0
- {ic_code-1.1.6 → ic_code-1.1.7}/src/ic/platforms/aws/s3/list_tags.py +0 -0
- {ic_code-1.1.6 → ic_code-1.1.7}/src/ic/platforms/aws/s3/tag_check.py +0 -0
- {ic_code-1.1.6 → ic_code-1.1.7}/src/ic/platforms/aws/sg/__init__.py +0 -0
- {ic_code-1.1.6 → ic_code-1.1.7}/src/ic/platforms/aws/sg/info.py +0 -0
- {ic_code-1.1.6 → ic_code-1.1.7}/src/ic/platforms/aws/vpc/__init__.py +0 -0
- {ic_code-1.1.6 → ic_code-1.1.7}/src/ic/platforms/aws/vpc/info.py +0 -0
- {ic_code-1.1.6 → ic_code-1.1.7}/src/ic/platforms/aws/vpc/list_tags.py +0 -0
- {ic_code-1.1.6 → ic_code-1.1.7}/src/ic/platforms/aws/vpc/tag_check.py +0 -0
- {ic_code-1.1.6 → ic_code-1.1.7}/src/ic/platforms/aws/vpn/__init__.py +0 -0
- {ic_code-1.1.6 → ic_code-1.1.7}/src/ic/platforms/aws/vpn/info.py +0 -0
- {ic_code-1.1.6 → ic_code-1.1.7}/src/ic/platforms/azure/README.md +0 -0
- {ic_code-1.1.6 → ic_code-1.1.7}/src/ic/platforms/azure/__init__.py +0 -0
- {ic_code-1.1.6 → ic_code-1.1.7}/src/ic/platforms/azure/aci/__init__.py +0 -0
- {ic_code-1.1.6 → ic_code-1.1.7}/src/ic/platforms/azure/aci/info.py +0 -0
- {ic_code-1.1.6 → ic_code-1.1.7}/src/ic/platforms/azure/aks/__init__.py +0 -0
- {ic_code-1.1.6 → ic_code-1.1.7}/src/ic/platforms/azure/aks/info.py +0 -0
- {ic_code-1.1.6 → ic_code-1.1.7}/src/ic/platforms/azure/lb/__init__.py +0 -0
- {ic_code-1.1.6 → ic_code-1.1.7}/src/ic/platforms/azure/lb/info.py +0 -0
- {ic_code-1.1.6 → ic_code-1.1.7}/src/ic/platforms/azure/nsg/__init__.py +0 -0
- {ic_code-1.1.6 → ic_code-1.1.7}/src/ic/platforms/azure/nsg/info.py +0 -0
- {ic_code-1.1.6 → ic_code-1.1.7}/src/ic/platforms/azure/storage/__init__.py +0 -0
- {ic_code-1.1.6 → ic_code-1.1.7}/src/ic/platforms/azure/storage/info.py +0 -0
- {ic_code-1.1.6 → ic_code-1.1.7}/src/ic/platforms/azure/vm/__init__.py +0 -0
- {ic_code-1.1.6 → ic_code-1.1.7}/src/ic/platforms/azure/vm/info.py +0 -0
- {ic_code-1.1.6 → ic_code-1.1.7}/src/ic/platforms/azure/vm/mock_data.json +0 -0
- {ic_code-1.1.6 → ic_code-1.1.7}/src/ic/platforms/azure/vnet/__init__.py +0 -0
- {ic_code-1.1.6 → ic_code-1.1.7}/src/ic/platforms/azure/vnet/info.py +0 -0
- {ic_code-1.1.6 → ic_code-1.1.7}/src/ic/platforms/azure/vnet/mock_data.json +0 -0
- {ic_code-1.1.6 → ic_code-1.1.7}/src/ic/platforms/cloudflare/README.md +0 -0
- {ic_code-1.1.6 → ic_code-1.1.7}/src/ic/platforms/cloudflare/__init__.py +0 -0
- {ic_code-1.1.6 → ic_code-1.1.7}/src/ic/platforms/cloudflare/dns/__init__.py +0 -0
- {ic_code-1.1.6 → ic_code-1.1.7}/src/ic/platforms/cloudflare/dns/list_info.py +0 -0
- {ic_code-1.1.6 → ic_code-1.1.7}/src/ic/platforms/gcp/README.md +0 -0
- {ic_code-1.1.6 → ic_code-1.1.7}/src/ic/platforms/gcp/__init__.py +0 -0
- {ic_code-1.1.6 → ic_code-1.1.7}/src/ic/platforms/gcp/billing/__init__.py +0 -0
- {ic_code-1.1.6 → ic_code-1.1.7}/src/ic/platforms/gcp/billing/info.py +0 -0
- {ic_code-1.1.6 → ic_code-1.1.7}/src/ic/platforms/gcp/billing/mock_data.json +0 -0
- {ic_code-1.1.6 → ic_code-1.1.7}/src/ic/platforms/gcp/compute/__init__.py +0 -0
- {ic_code-1.1.6 → ic_code-1.1.7}/src/ic/platforms/gcp/compute/info.py +0 -0
- {ic_code-1.1.6 → ic_code-1.1.7}/src/ic/platforms/gcp/compute/mock_data.json +0 -0
- {ic_code-1.1.6 → ic_code-1.1.7}/src/ic/platforms/gcp/firewall/__init__.py +0 -0
- {ic_code-1.1.6 → ic_code-1.1.7}/src/ic/platforms/gcp/firewall/info.py +0 -0
- {ic_code-1.1.6 → ic_code-1.1.7}/src/ic/platforms/gcp/functions/__init__.py +0 -0
- {ic_code-1.1.6 → ic_code-1.1.7}/src/ic/platforms/gcp/functions/info.py +0 -0
- {ic_code-1.1.6 → ic_code-1.1.7}/src/ic/platforms/gcp/gke/__init__.py +0 -0
- {ic_code-1.1.6 → ic_code-1.1.7}/src/ic/platforms/gcp/gke/info.py +0 -0
- {ic_code-1.1.6 → ic_code-1.1.7}/src/ic/platforms/gcp/gke/mock_data.json +0 -0
- {ic_code-1.1.6 → ic_code-1.1.7}/src/ic/platforms/gcp/lb/__init__.py +0 -0
- {ic_code-1.1.6 → ic_code-1.1.7}/src/ic/platforms/gcp/lb/info.py +0 -0
- {ic_code-1.1.6 → ic_code-1.1.7}/src/ic/platforms/gcp/run/__init__.py +0 -0
- {ic_code-1.1.6 → ic_code-1.1.7}/src/ic/platforms/gcp/run/info.py +0 -0
- {ic_code-1.1.6 → ic_code-1.1.7}/src/ic/platforms/gcp/sql/__init__.py +0 -0
- {ic_code-1.1.6 → ic_code-1.1.7}/src/ic/platforms/gcp/sql/info.py +0 -0
- {ic_code-1.1.6 → ic_code-1.1.7}/src/ic/platforms/gcp/storage/__init__.py +0 -0
- {ic_code-1.1.6 → ic_code-1.1.7}/src/ic/platforms/gcp/storage/info.py +0 -0
- {ic_code-1.1.6 → ic_code-1.1.7}/src/ic/platforms/gcp/vpc/__init__.py +0 -0
- {ic_code-1.1.6 → ic_code-1.1.7}/src/ic/platforms/gcp/vpc/info.py +0 -0
- {ic_code-1.1.6 → ic_code-1.1.7}/src/ic/platforms/gcp/vpc/mock_data.json +0 -0
- {ic_code-1.1.6 → ic_code-1.1.7}/src/ic/platforms/ncp/__init__.py +0 -0
- {ic_code-1.1.6 → ic_code-1.1.7}/src/ic/platforms/ncp/client.py +0 -0
- {ic_code-1.1.6 → ic_code-1.1.7}/src/ic/platforms/ncp/ec2/__init__.py +0 -0
- {ic_code-1.1.6 → ic_code-1.1.7}/src/ic/platforms/ncp/ec2/info.py +0 -0
- {ic_code-1.1.6 → ic_code-1.1.7}/src/ic/platforms/ncp/rds/__init__.py +0 -0
- {ic_code-1.1.6 → ic_code-1.1.7}/src/ic/platforms/ncp/rds/info.py +0 -0
- {ic_code-1.1.6 → ic_code-1.1.7}/src/ic/platforms/ncp/s3/__init__.py +0 -0
- {ic_code-1.1.6 → ic_code-1.1.7}/src/ic/platforms/ncp/s3/info.py +0 -0
- {ic_code-1.1.6 → ic_code-1.1.7}/src/ic/platforms/ncp/sg/__init__.py +0 -0
- {ic_code-1.1.6 → ic_code-1.1.7}/src/ic/platforms/ncp/sg/info.py +0 -0
- {ic_code-1.1.6 → ic_code-1.1.7}/src/ic/platforms/ncp/vpc/__init__.py +0 -0
- {ic_code-1.1.6 → ic_code-1.1.7}/src/ic/platforms/ncp/vpc/info.py +0 -0
- {ic_code-1.1.6 → ic_code-1.1.7}/src/ic/platforms/ncpgov/__init__.py +0 -0
- {ic_code-1.1.6 → ic_code-1.1.7}/src/ic/platforms/ncpgov/client.py +0 -0
- {ic_code-1.1.6 → ic_code-1.1.7}/src/ic/platforms/ncpgov/ec2/__init__.py +0 -0
- {ic_code-1.1.6 → ic_code-1.1.7}/src/ic/platforms/ncpgov/ec2/info.py +0 -0
- {ic_code-1.1.6 → ic_code-1.1.7}/src/ic/platforms/ncpgov/rds/__init__.py +0 -0
- {ic_code-1.1.6 → ic_code-1.1.7}/src/ic/platforms/ncpgov/rds/info.py +0 -0
- {ic_code-1.1.6 → ic_code-1.1.7}/src/ic/platforms/ncpgov/s3/__init__.py +0 -0
- {ic_code-1.1.6 → ic_code-1.1.7}/src/ic/platforms/ncpgov/s3/info.py +0 -0
- {ic_code-1.1.6 → ic_code-1.1.7}/src/ic/platforms/ncpgov/sg/__init__.py +0 -0
- {ic_code-1.1.6 → ic_code-1.1.7}/src/ic/platforms/ncpgov/sg/info.py +0 -0
- {ic_code-1.1.6 → ic_code-1.1.7}/src/ic/platforms/ncpgov/vpc/__init__.py +0 -0
- {ic_code-1.1.6 → ic_code-1.1.7}/src/ic/platforms/ncpgov/vpc/info.py +0 -0
- {ic_code-1.1.6 → ic_code-1.1.7}/src/ic/platforms/oci/README.md +0 -0
- {ic_code-1.1.6 → ic_code-1.1.7}/src/ic/platforms/oci/__init__.py +0 -0
- {ic_code-1.1.6 → ic_code-1.1.7}/src/ic/platforms/oci/common/__init__.py +0 -0
- {ic_code-1.1.6 → ic_code-1.1.7}/src/ic/platforms/oci/common/utils.py +0 -0
- {ic_code-1.1.6 → ic_code-1.1.7}/src/ic/platforms/oci/compartment/__init__.py +0 -0
- {ic_code-1.1.6 → ic_code-1.1.7}/src/ic/platforms/oci/compartment/info.py +0 -0
- {ic_code-1.1.6 → ic_code-1.1.7}/src/ic/platforms/oci/cost/__init__.py +0 -0
- {ic_code-1.1.6 → ic_code-1.1.7}/src/ic/platforms/oci/cost/credit.py +0 -0
- {ic_code-1.1.6 → ic_code-1.1.7}/src/ic/platforms/oci/cost/usage.py +0 -0
- {ic_code-1.1.6 → ic_code-1.1.7}/src/ic/platforms/oci/info/__init__.py +0 -0
- {ic_code-1.1.6 → ic_code-1.1.7}/src/ic/platforms/oci/info/oci_info.py +0 -0
- {ic_code-1.1.6 → ic_code-1.1.7}/src/ic/platforms/oci/lb/__init__.py +0 -0
- {ic_code-1.1.6 → ic_code-1.1.7}/src/ic/platforms/oci/lb/info.py +0 -0
- {ic_code-1.1.6 → ic_code-1.1.7}/src/ic/platforms/oci/nsg/__init__.py +0 -0
- {ic_code-1.1.6 → ic_code-1.1.7}/src/ic/platforms/oci/nsg/info.py +0 -0
- {ic_code-1.1.6 → ic_code-1.1.7}/src/ic/platforms/oci/obj/__init__.py +0 -0
- {ic_code-1.1.6 → ic_code-1.1.7}/src/ic/platforms/oci/obj/info.py +0 -0
- {ic_code-1.1.6 → ic_code-1.1.7}/src/ic/platforms/oci/policy/__init__.py +0 -0
- {ic_code-1.1.6 → ic_code-1.1.7}/src/ic/platforms/oci/policy/info.py +0 -0
- {ic_code-1.1.6 → ic_code-1.1.7}/src/ic/platforms/oci/policy/search.py +0 -0
- {ic_code-1.1.6 → ic_code-1.1.7}/src/ic/platforms/oci/vcn/__init__.py +0 -0
- {ic_code-1.1.6 → ic_code-1.1.7}/src/ic/platforms/oci/vcn/info.py +0 -0
- {ic_code-1.1.6 → ic_code-1.1.7}/src/ic/platforms/oci/vm/__init__.py +0 -0
- {ic_code-1.1.6 → ic_code-1.1.7}/src/ic/platforms/oci/volume/__init__.py +0 -0
- {ic_code-1.1.6 → ic_code-1.1.7}/src/ic/platforms/oci/volume/info.py +0 -0
- {ic_code-1.1.6 → ic_code-1.1.7}/src/ic/platforms/ssh/README.md +0 -0
- {ic_code-1.1.6 → ic_code-1.1.7}/src/ic/platforms/ssh/__init__.py +0 -0
- {ic_code-1.1.6 → ic_code-1.1.7}/src/ic/platforms/ssh/auto/__init__.py +0 -0
- {ic_code-1.1.6 → ic_code-1.1.7}/src/ic/platforms/ssh/auto/scan.py +0 -0
- {ic_code-1.1.6 → ic_code-1.1.7}/src/ic/platforms/ssh/auto_ssh.py +0 -0
- {ic_code-1.1.6 → ic_code-1.1.7}/src/ic/platforms/ssh/server/__init__.py +0 -0
- {ic_code-1.1.6 → ic_code-1.1.7}/src/ic/platforms/ssh/server/info.py +0 -0
- {ic_code-1.1.6 → ic_code-1.1.7}/src/ic/platforms/ssh/server_info.py +0 -0
- {ic_code-1.1.6 → ic_code-1.1.7}/src/ic/security/README.md +0 -0
- {ic_code-1.1.6 → ic_code-1.1.7}/src/ic/security/__init__.py +0 -0
- {ic_code-1.1.6 → ic_code-1.1.7}/src/ic/security/config.py +0 -0
- {ic_code-1.1.6 → ic_code-1.1.7}/src/ic/security/detector.py +0 -0
- {ic_code-1.1.6 → ic_code-1.1.7}/src/ic/security/guidance.py +0 -0
- {ic_code-1.1.6 → ic_code-1.1.7}/src/ic/security/hooks.py +0 -0
- {ic_code-1.1.6 → ic_code-1.1.7}/src/ic/security/patterns.py +0 -0
- {ic_code-1.1.6 → ic_code-1.1.7}/src/ic/security/scanner.py +0 -0
- {ic_code-1.1.6 → ic_code-1.1.7}/src/ic_code.egg-info/SOURCES.txt +0 -0
- {ic_code-1.1.6 → ic_code-1.1.7}/src/ic_code.egg-info/dependency_links.txt +0 -0
- {ic_code-1.1.6 → ic_code-1.1.7}/src/ic_code.egg-info/entry_points.txt +0 -0
- {ic_code-1.1.6 → ic_code-1.1.7}/src/ic_code.egg-info/top_level.txt +0 -0
- {ic_code-1.1.6 → ic_code-1.1.7}/src/mcp/__init__.py +0 -0
- {ic_code-1.1.6 → ic_code-1.1.7}/src/mcp/gcp_connector.py +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: ic-code
|
|
3
|
-
Version: 1.1.
|
|
3
|
+
Version: 1.1.7
|
|
4
4
|
Summary: Infrastructure CLI tool for managing AWS, Azure, GCP, OCI, NCP, CloudFlare, SSH, and more
|
|
5
5
|
Home-page: https://github.com/dgr009/ic
|
|
6
6
|
Author: SangYun Kim
|
|
@@ -30,29 +30,56 @@ Description-Content-Type: text/markdown
|
|
|
30
30
|
License-File: LICENSE
|
|
31
31
|
Requires-Dist: boto3<2.0.0,>=1.26.0
|
|
32
32
|
Requires-Dist: botocore<2.0.0,>=1.29.0
|
|
33
|
+
Requires-Dist: oci<3.0.0,>=2.149.0
|
|
33
34
|
Requires-Dist: requests<3.0.0,>=2.28.0
|
|
34
|
-
Requires-Dist:
|
|
35
|
-
Requires-Dist:
|
|
35
|
+
Requires-Dist: kubernetes<31.0.0,>=29.0.0
|
|
36
|
+
Requires-Dist: awscli<2.0.0,>=1.42.0
|
|
37
|
+
Requires-Dist: google-cloud-compute<2.0.0,>=1.36.0
|
|
38
|
+
Requires-Dist: google-cloud-container<3.0.0,>=2.44.0
|
|
39
|
+
Requires-Dist: google-cloud-storage<3.0.0,>=2.18.0
|
|
40
|
+
Requires-Dist: google-cloud-functions<2.0.0,>=1.16.0
|
|
41
|
+
Requires-Dist: google-cloud-run<1.0.0,>=0.11.0
|
|
42
|
+
Requires-Dist: google-cloud-billing<2.0.0,>=1.13.0
|
|
43
|
+
Requires-Dist: google-cloud-resource-manager<2.0.0,>=1.12.0
|
|
44
|
+
Requires-Dist: google-auth<3.0.0,>=2.29.0
|
|
45
|
+
Requires-Dist: google-auth-oauthlib<2.0.0,>=1.2.0
|
|
46
|
+
Requires-Dist: google-auth-httplib2<1.0.0,>=0.2.0
|
|
47
|
+
Requires-Dist: azure-identity<2.0.0,>=1.15.0
|
|
48
|
+
Requires-Dist: azure-mgmt-compute<31.0.0,>=29.1.0
|
|
49
|
+
Requires-Dist: azure-mgmt-network<26.0.0,>=24.0.0
|
|
50
|
+
Requires-Dist: azure-mgmt-containerinstance<11.0.0,>=10.1.0
|
|
51
|
+
Requires-Dist: azure-mgmt-containerservice<30.0.0,>=28.0.0
|
|
52
|
+
Requires-Dist: azure-mgmt-storage<22.0.0,>=21.1.0
|
|
53
|
+
Requires-Dist: azure-mgmt-sql<4.0.0,>=3.0.1
|
|
54
|
+
Requires-Dist: azure-mgmt-rdbms<11.0.0,>=10.1.0
|
|
55
|
+
Requires-Dist: azure-mgmt-eventhub<11.0.0,>=10.1.0
|
|
56
|
+
Requires-Dist: azure-mgmt-resource<24.0.0,>=22.0.0
|
|
57
|
+
Requires-Dist: azure-mgmt-subscription<4.0.0,>=3.1.1
|
|
36
58
|
Requires-Dist: paramiko<5.0.0,>=2.11.0
|
|
37
|
-
Requires-Dist: python-dotenv<2.0.0,>=0.19.0
|
|
38
|
-
Requires-Dist: cryptography<50.0.0,>=3.4.8
|
|
39
59
|
Requires-Dist: netifaces<1.0.0,>=0.11.0
|
|
60
|
+
Requires-Dist: rich<15.0.0,>=12.0.0
|
|
61
|
+
Requires-Dist: InquirerPy<1.0.0,>=0.3.4
|
|
40
62
|
Requires-Dist: tqdm<5.0.0,>=4.67.0
|
|
41
|
-
Requires-Dist:
|
|
63
|
+
Requires-Dist: python-dotenv<2.0.0,>=0.19.0
|
|
42
64
|
Requires-Dist: python-dateutil<3.0.0,>=2.8.0
|
|
65
|
+
Requires-Dist: PyYAML<7.0.0,>=6.0
|
|
43
66
|
Requires-Dist: click<9.0.0,>=8.0.0
|
|
44
|
-
Requires-Dist:
|
|
45
|
-
Requires-Dist:
|
|
67
|
+
Requires-Dist: docutils<1.0.0,>=0.19
|
|
68
|
+
Requires-Dist: invoke<3.0.0,>=2.2.0
|
|
69
|
+
Requires-Dist: jsonschema<5.0.0,>=4.23.0
|
|
70
|
+
Requires-Dist: cryptography<50.0.0,>=3.4.8
|
|
46
71
|
Requires-Dist: watchdog<4.0.0,>=3.0.0
|
|
47
72
|
Requires-Dist: cerberus<2.0.0,>=1.3.4
|
|
48
73
|
Requires-Dist: pydantic<3.0.0,>=2.0.0
|
|
49
|
-
Requires-Dist:
|
|
74
|
+
Requires-Dist: packaging<25.0,>=21.0
|
|
75
|
+
Requires-Dist: setuptools<71.0,>=61.0
|
|
50
76
|
Provides-Extra: dev
|
|
51
|
-
Requires-Dist: pytest
|
|
52
|
-
Requires-Dist: pytest-cov
|
|
53
|
-
Requires-Dist: black
|
|
54
|
-
Requires-Dist: flake8
|
|
55
|
-
Requires-Dist: mypy
|
|
77
|
+
Requires-Dist: pytest<9.0.0,>=7.0.0; extra == "dev"
|
|
78
|
+
Requires-Dist: pytest-cov<6.0.0,>=4.0.0; extra == "dev"
|
|
79
|
+
Requires-Dist: black<25.0.0,>=22.0.0; extra == "dev"
|
|
80
|
+
Requires-Dist: flake8<8.0.0,>=5.0.0; extra == "dev"
|
|
81
|
+
Requires-Dist: mypy<2.0.0,>=1.0.0; extra == "dev"
|
|
82
|
+
Requires-Dist: pre-commit<4.0.0,>=2.20.0; extra == "dev"
|
|
56
83
|
Dynamic: author
|
|
57
84
|
Dynamic: home-page
|
|
58
85
|
Dynamic: license-file
|
|
@@ -0,0 +1,163 @@
|
|
|
1
|
+
[build-system]
|
|
2
|
+
requires = ["setuptools>=61.0", "wheel"]
|
|
3
|
+
build-backend = "setuptools.build_meta"
|
|
4
|
+
|
|
5
|
+
[project]
|
|
6
|
+
name = "ic-code"
|
|
7
|
+
version = "1.1.7"
|
|
8
|
+
authors = [
|
|
9
|
+
{name = "sykim", email = "cruiser594@gmail.com"},
|
|
10
|
+
]
|
|
11
|
+
description = "Infrastructure CLI tool for managing AWS, Azure, GCP, OCI, NCP, CloudFlare, SSH, and more"
|
|
12
|
+
readme = "README.md"
|
|
13
|
+
requires-python = ">=3.9,<3.14"
|
|
14
|
+
classifiers = [
|
|
15
|
+
"Development Status :: 5 - Production/Stable",
|
|
16
|
+
"Intended Audience :: Developers",
|
|
17
|
+
"Intended Audience :: System Administrators",
|
|
18
|
+
"License :: OSI Approved :: MIT License",
|
|
19
|
+
"Operating System :: OS Independent",
|
|
20
|
+
"Programming Language :: Python :: 3",
|
|
21
|
+
"Programming Language :: Python :: 3.9",
|
|
22
|
+
"Programming Language :: Python :: 3.10",
|
|
23
|
+
"Programming Language :: Python :: 3.11",
|
|
24
|
+
"Programming Language :: Python :: 3.12",
|
|
25
|
+
"Programming Language :: Python :: 3.13",
|
|
26
|
+
"Topic :: System :: Systems Administration",
|
|
27
|
+
"Topic :: Utilities",
|
|
28
|
+
"Topic :: Software Development :: Libraries :: Python Modules",
|
|
29
|
+
"Environment :: Console",
|
|
30
|
+
]
|
|
31
|
+
keywords = ["cli", "infrastructure", "aws", "oci", "gcp", "azure", "ncp", "naver-cloud", "cloudflare", "ssh", "devops", "multi-cloud"]
|
|
32
|
+
dependencies = [
|
|
33
|
+
# Core Cloud SDKs - Compatible with Python 3.9-3.12
|
|
34
|
+
"boto3>=1.26.0,<2.0.0", # AWS SDK for Python
|
|
35
|
+
"botocore>=1.29.0,<2.0.0", # AWS SDK core library
|
|
36
|
+
"oci>=2.149.0,<3.0.0", # Oracle Cloud Infrastructure SDK
|
|
37
|
+
"requests>=2.28.0,<3.0.0", # HTTP library for API calls (required for NCP REST API)
|
|
38
|
+
"kubernetes>=29.0.0,<31.0.0", # Kubernetes Python client
|
|
39
|
+
"awscli>=1.42.0,<2.0.0", # AWS CLI for additional functionality
|
|
40
|
+
|
|
41
|
+
# Google Cloud SDKs - Compatible with Python 3.9-3.12
|
|
42
|
+
"google-cloud-compute>=1.36.0,<2.0.0", # Google Compute Engine API
|
|
43
|
+
"google-cloud-container>=2.44.0,<3.0.0", # Google Kubernetes Engine API
|
|
44
|
+
"google-cloud-storage>=2.18.0,<3.0.0", # Google Cloud Storage API
|
|
45
|
+
"google-cloud-functions>=1.16.0,<2.0.0", # Google Cloud Functions API
|
|
46
|
+
"google-cloud-run>=0.11.0,<1.0.0", # Google Cloud Run API
|
|
47
|
+
"google-cloud-billing>=1.13.0,<2.0.0", # Google Cloud Billing API
|
|
48
|
+
"google-cloud-resource-manager>=1.12.0,<2.0.0", # Google Cloud Resource Manager API
|
|
49
|
+
"google-auth>=2.29.0,<3.0.0", # Google authentication library
|
|
50
|
+
"google-auth-oauthlib>=1.2.0,<2.0.0", # Google OAuth2 authentication
|
|
51
|
+
"google-auth-httplib2>=0.2.0,<1.0.0", # Google HTTP transport for authentication
|
|
52
|
+
|
|
53
|
+
# Azure SDKs - Compatible with Python 3.9-3.12
|
|
54
|
+
"azure-identity>=1.15.0,<2.0.0", # Azure identity and authentication
|
|
55
|
+
"azure-mgmt-compute>=29.1.0,<31.0.0", # Azure Virtual Machines management
|
|
56
|
+
"azure-mgmt-network>=24.0.0,<26.0.0", # Azure networking management
|
|
57
|
+
"azure-mgmt-containerinstance>=10.1.0,<11.0.0", # Azure Container Instances
|
|
58
|
+
"azure-mgmt-containerservice>=28.0.0,<30.0.0", # Azure Kubernetes Service
|
|
59
|
+
"azure-mgmt-storage>=21.1.0,<22.0.0", # Azure Storage management
|
|
60
|
+
"azure-mgmt-sql>=3.0.1,<4.0.0", # Azure SQL management
|
|
61
|
+
"azure-mgmt-rdbms>=10.1.0,<11.0.0", # Azure Database services
|
|
62
|
+
"azure-mgmt-eventhub>=10.1.0,<11.0.0", # Azure Event Hubs
|
|
63
|
+
"azure-mgmt-resource>=22.0.0,<24.0.0", # Azure Resource Manager
|
|
64
|
+
"azure-mgmt-subscription>=3.1.1,<4.0.0", # Azure Subscription management
|
|
65
|
+
|
|
66
|
+
# SSH and Network - Compatible with Python 3.9-3.12
|
|
67
|
+
"paramiko>=2.11.0,<5.0.0", # SSH client library (4.0.0+ for Python 3.9+ support)
|
|
68
|
+
"netifaces>=0.11.0,<1.0.0", # Network interface information
|
|
69
|
+
|
|
70
|
+
# CLI User Interface and Output - Compatible with Python 3.9-3.12
|
|
71
|
+
"rich>=12.0.0,<15.0.0", # Rich text and beautiful formatting
|
|
72
|
+
"InquirerPy>=0.3.4,<1.0.0", # Interactive command line prompts
|
|
73
|
+
"tqdm>=4.67.0,<5.0.0", # Progress bars
|
|
74
|
+
|
|
75
|
+
# Configuration and Utilities - Compatible with Python 3.9-3.12
|
|
76
|
+
"python-dotenv>=0.19.0,<2.0.0", # Environment variable loading
|
|
77
|
+
"python-dateutil>=2.8.0,<3.0.0", # Date/time utilities
|
|
78
|
+
"PyYAML>=6.0,<7.0.0", # YAML parser (required for NCP config files)
|
|
79
|
+
"click>=8.0.0,<9.0.0", # Command line interface framework
|
|
80
|
+
"docutils>=0.19,<1.0.0", # Documentation utilities
|
|
81
|
+
"invoke>=2.2.0,<3.0.0", # Task execution library
|
|
82
|
+
|
|
83
|
+
# Security and Validation - Compatible with Python 3.9-3.12
|
|
84
|
+
"jsonschema>=4.23.0,<5.0.0", # JSON schema validation
|
|
85
|
+
"cryptography>=3.4.8,<50.0.0", # Cryptographic recipes and primitives (required for NCP HMAC-SHA256 signatures)
|
|
86
|
+
|
|
87
|
+
# Additional dependencies for new config system (v2.0) - Compatible with Python 3.9-3.12
|
|
88
|
+
"watchdog>=3.0.0,<4.0.0", # File change monitoring
|
|
89
|
+
"cerberus>=1.3.4,<2.0.0", # Schema validation
|
|
90
|
+
"pydantic>=2.0.0,<3.0.0", # Data validation and settings management
|
|
91
|
+
|
|
92
|
+
# Package management and compatibility
|
|
93
|
+
"packaging>=21.0,<25.0", # Version parsing and comparison
|
|
94
|
+
"setuptools>=61.0,<71.0", # Package building tools
|
|
95
|
+
]
|
|
96
|
+
|
|
97
|
+
[project.optional-dependencies]
|
|
98
|
+
dev = [
|
|
99
|
+
"pytest>=7.0.0,<9.0.0",
|
|
100
|
+
"pytest-cov>=4.0.0,<6.0.0",
|
|
101
|
+
"black>=22.0.0,<25.0.0",
|
|
102
|
+
"flake8>=5.0.0,<8.0.0",
|
|
103
|
+
"mypy>=1.0.0,<2.0.0",
|
|
104
|
+
"pre-commit>=2.20.0,<4.0.0",
|
|
105
|
+
]
|
|
106
|
+
|
|
107
|
+
[project.urls]
|
|
108
|
+
"Homepage" = "https://github.com/dgr009/ic"
|
|
109
|
+
"Bug Reports" = "https://github.com/dgr009/ic/issues"
|
|
110
|
+
"Source" = "https://github.com/dgr009/ic"
|
|
111
|
+
"Documentation" = "https://github.com/dgr009/ic#readme"
|
|
112
|
+
|
|
113
|
+
[project.scripts]
|
|
114
|
+
ic = "ic.cli:main"
|
|
115
|
+
|
|
116
|
+
[tool.setuptools.packages.find]
|
|
117
|
+
where = ["src"]
|
|
118
|
+
include = ["ic*", "common*", "mcp*"]
|
|
119
|
+
|
|
120
|
+
[tool.setuptools]
|
|
121
|
+
include-package-data = true
|
|
122
|
+
|
|
123
|
+
[tool.setuptools.package-data]
|
|
124
|
+
"*" = ["*.yaml", "*.yml", "*.json", "*.md", "*.txt"]
|
|
125
|
+
|
|
126
|
+
[tool.black]
|
|
127
|
+
line-length = 88
|
|
128
|
+
target-version = ['py39']
|
|
129
|
+
include = '\.pyi?$'
|
|
130
|
+
extend-exclude = '''
|
|
131
|
+
/(
|
|
132
|
+
# directories
|
|
133
|
+
\.eggs
|
|
134
|
+
| \.git
|
|
135
|
+
| \.hg
|
|
136
|
+
| \.mypy_cache
|
|
137
|
+
| \.tox
|
|
138
|
+
| \.venv
|
|
139
|
+
| build
|
|
140
|
+
| dist
|
|
141
|
+
)/
|
|
142
|
+
'''
|
|
143
|
+
|
|
144
|
+
[tool.pytest.ini_options]
|
|
145
|
+
minversion = "6.0"
|
|
146
|
+
addopts = "-ra -q --strict-markers --tb=short"
|
|
147
|
+
testpaths = [
|
|
148
|
+
"tests",
|
|
149
|
+
]
|
|
150
|
+
python_files = [
|
|
151
|
+
"test_*.py",
|
|
152
|
+
"*_test.py",
|
|
153
|
+
]
|
|
154
|
+
markers = [
|
|
155
|
+
"unit: Unit tests",
|
|
156
|
+
"integration: Integration tests",
|
|
157
|
+
"performance: Performance tests",
|
|
158
|
+
"security: Security tests",
|
|
159
|
+
"slow: Slow running tests",
|
|
160
|
+
"ci_safe: Tests safe to run in CI environment",
|
|
161
|
+
"requires_config: Tests that require configuration files",
|
|
162
|
+
"requires_credentials: Tests that require live credentials"
|
|
163
|
+
]
|
|
@@ -7,7 +7,7 @@
|
|
|
7
7
|
# Core Cloud SDKs - Compatible with Python 3.9-3.12
|
|
8
8
|
boto3>=1.26.0,<2.0.0 # AWS SDK for Python
|
|
9
9
|
botocore>=1.29.0,<2.0.0 # AWS SDK core library
|
|
10
|
-
|
|
10
|
+
oci>=2.149.0,<3.0.0 # Oracle Cloud Infrastructure SDK
|
|
11
11
|
requests>=2.28.0,<3.0.0 # HTTP library for API calls (required for NCP REST API)
|
|
12
12
|
kubernetes>=29.0.0,<31.0.0 # Kubernetes Python client
|
|
13
13
|
awscli>=1.42.0,<2.0.0 # AWS CLI for additional functionality
|
|
@@ -2,7 +2,6 @@
|
|
|
2
2
|
# -*- coding: utf-8 -*-
|
|
3
3
|
|
|
4
4
|
import sys
|
|
5
|
-
import datetime
|
|
6
5
|
import concurrent.futures
|
|
7
6
|
import time
|
|
8
7
|
|
|
@@ -12,17 +11,45 @@ from rich.table import Table
|
|
|
12
11
|
from rich import box
|
|
13
12
|
from rich.rule import Rule
|
|
14
13
|
try:
|
|
15
|
-
from
|
|
14
|
+
from src.ic.common.log import log_info_non_console
|
|
16
15
|
except ImportError:
|
|
17
|
-
|
|
16
|
+
try:
|
|
17
|
+
from common.log import log_info_non_console
|
|
18
|
+
except ImportError:
|
|
19
|
+
# Fallback for missing log module
|
|
20
|
+
def log_info_non_console(msg):
|
|
21
|
+
pass
|
|
22
|
+
|
|
18
23
|
try:
|
|
19
|
-
from
|
|
24
|
+
from src.ic.common.progress_decorator import progress_bar, ManualProgress
|
|
20
25
|
except ImportError:
|
|
21
|
-
|
|
26
|
+
try:
|
|
27
|
+
from common.progress_decorator import progress_bar, ManualProgress
|
|
28
|
+
except ImportError:
|
|
29
|
+
# Fallback progress decorators
|
|
30
|
+
def progress_bar(desc):
|
|
31
|
+
def decorator(func):
|
|
32
|
+
return func
|
|
33
|
+
return decorator
|
|
34
|
+
|
|
35
|
+
class ManualProgress:
|
|
36
|
+
def __init__(self, desc, total=100):
|
|
37
|
+
self.desc = desc
|
|
38
|
+
self.total = total
|
|
39
|
+
def __enter__(self):
|
|
40
|
+
return self
|
|
41
|
+
def __exit__(self, *args):
|
|
42
|
+
pass
|
|
43
|
+
def update(self, desc, advance=1):
|
|
44
|
+
pass
|
|
45
|
+
|
|
22
46
|
try:
|
|
23
|
-
from
|
|
47
|
+
from src.ic.platforms.oci.common.utils import get_all_subscribed_regions, get_compartments
|
|
24
48
|
except ImportError:
|
|
25
|
-
|
|
49
|
+
try:
|
|
50
|
+
from ..common.utils import get_all_subscribed_regions, get_compartments
|
|
51
|
+
except ImportError:
|
|
52
|
+
from ic.platforms.oci.common.utils import get_all_subscribed_regions, get_compartments
|
|
26
53
|
|
|
27
54
|
# ###############################################################################
|
|
28
55
|
# # CLI 인자 정의
|
|
@@ -249,7 +276,7 @@ def print_instance_table(console, inst_rows, verbose):
|
|
|
249
276
|
# main
|
|
250
277
|
###############################################################################
|
|
251
278
|
@progress_bar("OCI VM Information Collection")
|
|
252
|
-
def main(args):
|
|
279
|
+
def main(args, config=None):
|
|
253
280
|
console = Console()
|
|
254
281
|
name_filter = args.name.lower() if args.name else None
|
|
255
282
|
compartment_filter = args.compartment.lower() if args.compartment else None
|
|
@@ -258,33 +285,35 @@ def main(args):
|
|
|
258
285
|
with ManualProgress("Initializing OCI configuration and discovering resources", total=4) as progress:
|
|
259
286
|
try:
|
|
260
287
|
progress.update("Loading OCI configuration", advance=1)
|
|
261
|
-
|
|
262
|
-
identity_client = oci.identity.IdentityClient(
|
|
288
|
+
oci_config = oci.config.from_file("~/.oci/config", "DEFAULT")
|
|
289
|
+
identity_client = oci.identity.IdentityClient(oci_config)
|
|
263
290
|
except Exception as e:
|
|
264
291
|
console.print(f"[red]OCI 설정 파일 로드 실패: {e}[/red]")
|
|
265
|
-
|
|
292
|
+
return {"error": str(e), "success": False}
|
|
266
293
|
|
|
267
294
|
progress.update("Discovering available regions", advance=1)
|
|
268
295
|
if args.regions:
|
|
269
|
-
subscribed = get_all_subscribed_regions(identity_client,
|
|
296
|
+
subscribed = get_all_subscribed_regions(identity_client, oci_config["tenancy"])
|
|
270
297
|
region_list = [r.strip() for r in args.regions.split(',') if r.strip() and r in subscribed]
|
|
271
298
|
if not region_list:
|
|
272
299
|
console.print("[red]유효한 리전이 없어 종료합니다[/red]")
|
|
273
|
-
|
|
300
|
+
return {"error": "No valid regions found", "success": False}
|
|
274
301
|
else:
|
|
275
|
-
region_list = get_all_subscribed_regions(identity_client,
|
|
302
|
+
region_list = get_all_subscribed_regions(identity_client, oci_config["tenancy"])
|
|
276
303
|
|
|
277
304
|
progress.update("Discovering compartments", advance=1)
|
|
278
|
-
compartments = get_compartments(identity_client,
|
|
305
|
+
compartments = get_compartments(identity_client, oci_config["tenancy"], compartment_filter, console)
|
|
279
306
|
|
|
280
307
|
progress.update(f"Found {len(compartments)} compartments and {len(region_list)} regions", advance=1)
|
|
281
308
|
|
|
282
309
|
# Collect instance information with progress tracking
|
|
283
|
-
inst_rows = collect_instances_parallel_fast(
|
|
310
|
+
inst_rows = collect_instances_parallel_fast(oci_config, compartments, region_list, name_filter, console)
|
|
284
311
|
|
|
285
312
|
# Display results
|
|
286
313
|
console.print(f"\n[bold green]Collection complete![/bold green] Found {len(inst_rows)} instances.")
|
|
287
314
|
print_instance_table(console, inst_rows, args.verbose)
|
|
315
|
+
|
|
316
|
+
return {"success": True, "data": {"instances": len(inst_rows)}, "message": f"Found {len(inst_rows)} instances"}
|
|
288
317
|
|
|
289
318
|
if __name__ == '__main__':
|
|
290
319
|
import argparse
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: ic-code
|
|
3
|
-
Version: 1.1.
|
|
3
|
+
Version: 1.1.7
|
|
4
4
|
Summary: Infrastructure CLI tool for managing AWS, Azure, GCP, OCI, NCP, CloudFlare, SSH, and more
|
|
5
5
|
Home-page: https://github.com/dgr009/ic
|
|
6
6
|
Author: SangYun Kim
|
|
@@ -30,29 +30,56 @@ Description-Content-Type: text/markdown
|
|
|
30
30
|
License-File: LICENSE
|
|
31
31
|
Requires-Dist: boto3<2.0.0,>=1.26.0
|
|
32
32
|
Requires-Dist: botocore<2.0.0,>=1.29.0
|
|
33
|
+
Requires-Dist: oci<3.0.0,>=2.149.0
|
|
33
34
|
Requires-Dist: requests<3.0.0,>=2.28.0
|
|
34
|
-
Requires-Dist:
|
|
35
|
-
Requires-Dist:
|
|
35
|
+
Requires-Dist: kubernetes<31.0.0,>=29.0.0
|
|
36
|
+
Requires-Dist: awscli<2.0.0,>=1.42.0
|
|
37
|
+
Requires-Dist: google-cloud-compute<2.0.0,>=1.36.0
|
|
38
|
+
Requires-Dist: google-cloud-container<3.0.0,>=2.44.0
|
|
39
|
+
Requires-Dist: google-cloud-storage<3.0.0,>=2.18.0
|
|
40
|
+
Requires-Dist: google-cloud-functions<2.0.0,>=1.16.0
|
|
41
|
+
Requires-Dist: google-cloud-run<1.0.0,>=0.11.0
|
|
42
|
+
Requires-Dist: google-cloud-billing<2.0.0,>=1.13.0
|
|
43
|
+
Requires-Dist: google-cloud-resource-manager<2.0.0,>=1.12.0
|
|
44
|
+
Requires-Dist: google-auth<3.0.0,>=2.29.0
|
|
45
|
+
Requires-Dist: google-auth-oauthlib<2.0.0,>=1.2.0
|
|
46
|
+
Requires-Dist: google-auth-httplib2<1.0.0,>=0.2.0
|
|
47
|
+
Requires-Dist: azure-identity<2.0.0,>=1.15.0
|
|
48
|
+
Requires-Dist: azure-mgmt-compute<31.0.0,>=29.1.0
|
|
49
|
+
Requires-Dist: azure-mgmt-network<26.0.0,>=24.0.0
|
|
50
|
+
Requires-Dist: azure-mgmt-containerinstance<11.0.0,>=10.1.0
|
|
51
|
+
Requires-Dist: azure-mgmt-containerservice<30.0.0,>=28.0.0
|
|
52
|
+
Requires-Dist: azure-mgmt-storage<22.0.0,>=21.1.0
|
|
53
|
+
Requires-Dist: azure-mgmt-sql<4.0.0,>=3.0.1
|
|
54
|
+
Requires-Dist: azure-mgmt-rdbms<11.0.0,>=10.1.0
|
|
55
|
+
Requires-Dist: azure-mgmt-eventhub<11.0.0,>=10.1.0
|
|
56
|
+
Requires-Dist: azure-mgmt-resource<24.0.0,>=22.0.0
|
|
57
|
+
Requires-Dist: azure-mgmt-subscription<4.0.0,>=3.1.1
|
|
36
58
|
Requires-Dist: paramiko<5.0.0,>=2.11.0
|
|
37
|
-
Requires-Dist: python-dotenv<2.0.0,>=0.19.0
|
|
38
|
-
Requires-Dist: cryptography<50.0.0,>=3.4.8
|
|
39
59
|
Requires-Dist: netifaces<1.0.0,>=0.11.0
|
|
60
|
+
Requires-Dist: rich<15.0.0,>=12.0.0
|
|
61
|
+
Requires-Dist: InquirerPy<1.0.0,>=0.3.4
|
|
40
62
|
Requires-Dist: tqdm<5.0.0,>=4.67.0
|
|
41
|
-
Requires-Dist:
|
|
63
|
+
Requires-Dist: python-dotenv<2.0.0,>=0.19.0
|
|
42
64
|
Requires-Dist: python-dateutil<3.0.0,>=2.8.0
|
|
65
|
+
Requires-Dist: PyYAML<7.0.0,>=6.0
|
|
43
66
|
Requires-Dist: click<9.0.0,>=8.0.0
|
|
44
|
-
Requires-Dist:
|
|
45
|
-
Requires-Dist:
|
|
67
|
+
Requires-Dist: docutils<1.0.0,>=0.19
|
|
68
|
+
Requires-Dist: invoke<3.0.0,>=2.2.0
|
|
69
|
+
Requires-Dist: jsonschema<5.0.0,>=4.23.0
|
|
70
|
+
Requires-Dist: cryptography<50.0.0,>=3.4.8
|
|
46
71
|
Requires-Dist: watchdog<4.0.0,>=3.0.0
|
|
47
72
|
Requires-Dist: cerberus<2.0.0,>=1.3.4
|
|
48
73
|
Requires-Dist: pydantic<3.0.0,>=2.0.0
|
|
49
|
-
Requires-Dist:
|
|
74
|
+
Requires-Dist: packaging<25.0,>=21.0
|
|
75
|
+
Requires-Dist: setuptools<71.0,>=61.0
|
|
50
76
|
Provides-Extra: dev
|
|
51
|
-
Requires-Dist: pytest
|
|
52
|
-
Requires-Dist: pytest-cov
|
|
53
|
-
Requires-Dist: black
|
|
54
|
-
Requires-Dist: flake8
|
|
55
|
-
Requires-Dist: mypy
|
|
77
|
+
Requires-Dist: pytest<9.0.0,>=7.0.0; extra == "dev"
|
|
78
|
+
Requires-Dist: pytest-cov<6.0.0,>=4.0.0; extra == "dev"
|
|
79
|
+
Requires-Dist: black<25.0.0,>=22.0.0; extra == "dev"
|
|
80
|
+
Requires-Dist: flake8<8.0.0,>=5.0.0; extra == "dev"
|
|
81
|
+
Requires-Dist: mypy<2.0.0,>=1.0.0; extra == "dev"
|
|
82
|
+
Requires-Dist: pre-commit<4.0.0,>=2.20.0; extra == "dev"
|
|
56
83
|
Dynamic: author
|
|
57
84
|
Dynamic: home-page
|
|
58
85
|
Dynamic: license-file
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
boto3<2.0.0,>=1.26.0
|
|
2
|
+
botocore<2.0.0,>=1.29.0
|
|
3
|
+
oci<3.0.0,>=2.149.0
|
|
4
|
+
requests<3.0.0,>=2.28.0
|
|
5
|
+
kubernetes<31.0.0,>=29.0.0
|
|
6
|
+
awscli<2.0.0,>=1.42.0
|
|
7
|
+
google-cloud-compute<2.0.0,>=1.36.0
|
|
8
|
+
google-cloud-container<3.0.0,>=2.44.0
|
|
9
|
+
google-cloud-storage<3.0.0,>=2.18.0
|
|
10
|
+
google-cloud-functions<2.0.0,>=1.16.0
|
|
11
|
+
google-cloud-run<1.0.0,>=0.11.0
|
|
12
|
+
google-cloud-billing<2.0.0,>=1.13.0
|
|
13
|
+
google-cloud-resource-manager<2.0.0,>=1.12.0
|
|
14
|
+
google-auth<3.0.0,>=2.29.0
|
|
15
|
+
google-auth-oauthlib<2.0.0,>=1.2.0
|
|
16
|
+
google-auth-httplib2<1.0.0,>=0.2.0
|
|
17
|
+
azure-identity<2.0.0,>=1.15.0
|
|
18
|
+
azure-mgmt-compute<31.0.0,>=29.1.0
|
|
19
|
+
azure-mgmt-network<26.0.0,>=24.0.0
|
|
20
|
+
azure-mgmt-containerinstance<11.0.0,>=10.1.0
|
|
21
|
+
azure-mgmt-containerservice<30.0.0,>=28.0.0
|
|
22
|
+
azure-mgmt-storage<22.0.0,>=21.1.0
|
|
23
|
+
azure-mgmt-sql<4.0.0,>=3.0.1
|
|
24
|
+
azure-mgmt-rdbms<11.0.0,>=10.1.0
|
|
25
|
+
azure-mgmt-eventhub<11.0.0,>=10.1.0
|
|
26
|
+
azure-mgmt-resource<24.0.0,>=22.0.0
|
|
27
|
+
azure-mgmt-subscription<4.0.0,>=3.1.1
|
|
28
|
+
paramiko<5.0.0,>=2.11.0
|
|
29
|
+
netifaces<1.0.0,>=0.11.0
|
|
30
|
+
rich<15.0.0,>=12.0.0
|
|
31
|
+
InquirerPy<1.0.0,>=0.3.4
|
|
32
|
+
tqdm<5.0.0,>=4.67.0
|
|
33
|
+
python-dotenv<2.0.0,>=0.19.0
|
|
34
|
+
python-dateutil<3.0.0,>=2.8.0
|
|
35
|
+
PyYAML<7.0.0,>=6.0
|
|
36
|
+
click<9.0.0,>=8.0.0
|
|
37
|
+
docutils<1.0.0,>=0.19
|
|
38
|
+
invoke<3.0.0,>=2.2.0
|
|
39
|
+
jsonschema<5.0.0,>=4.23.0
|
|
40
|
+
cryptography<50.0.0,>=3.4.8
|
|
41
|
+
watchdog<4.0.0,>=3.0.0
|
|
42
|
+
cerberus<2.0.0,>=1.3.4
|
|
43
|
+
pydantic<3.0.0,>=2.0.0
|
|
44
|
+
packaging<25.0,>=21.0
|
|
45
|
+
setuptools<71.0,>=61.0
|
|
46
|
+
|
|
47
|
+
[dev]
|
|
48
|
+
pytest<9.0.0,>=7.0.0
|
|
49
|
+
pytest-cov<6.0.0,>=4.0.0
|
|
50
|
+
black<25.0.0,>=22.0.0
|
|
51
|
+
flake8<8.0.0,>=5.0.0
|
|
52
|
+
mypy<2.0.0,>=1.0.0
|
|
53
|
+
pre-commit<4.0.0,>=2.20.0
|
ic_code-1.1.6/pyproject.toml
DELETED
|
@@ -1,121 +0,0 @@
|
|
|
1
|
-
[build-system]
|
|
2
|
-
requires = ["setuptools>=61.0", "wheel"]
|
|
3
|
-
build-backend = "setuptools.build_meta"
|
|
4
|
-
|
|
5
|
-
[project]
|
|
6
|
-
name = "ic-code"
|
|
7
|
-
version = "1.1.6"
|
|
8
|
-
authors = [
|
|
9
|
-
{name = "sykim", email = "cruiser594@gmail.com"},
|
|
10
|
-
]
|
|
11
|
-
description = "Infrastructure CLI tool for managing AWS, Azure, GCP, OCI, NCP, CloudFlare, SSH, and more"
|
|
12
|
-
readme = "README.md"
|
|
13
|
-
requires-python = ">=3.9,<3.14"
|
|
14
|
-
classifiers = [
|
|
15
|
-
"Development Status :: 5 - Production/Stable",
|
|
16
|
-
"Intended Audience :: Developers",
|
|
17
|
-
"Intended Audience :: System Administrators",
|
|
18
|
-
"License :: OSI Approved :: MIT License",
|
|
19
|
-
"Operating System :: OS Independent",
|
|
20
|
-
"Programming Language :: Python :: 3",
|
|
21
|
-
"Programming Language :: Python :: 3.9",
|
|
22
|
-
"Programming Language :: Python :: 3.10",
|
|
23
|
-
"Programming Language :: Python :: 3.11",
|
|
24
|
-
"Programming Language :: Python :: 3.12",
|
|
25
|
-
"Programming Language :: Python :: 3.13",
|
|
26
|
-
"Topic :: System :: Systems Administration",
|
|
27
|
-
"Topic :: Utilities",
|
|
28
|
-
"Topic :: Software Development :: Libraries :: Python Modules",
|
|
29
|
-
"Environment :: Console",
|
|
30
|
-
]
|
|
31
|
-
keywords = ["cli", "infrastructure", "aws", "oci", "gcp", "azure", "ncp", "naver-cloud", "cloudflare", "ssh", "devops", "multi-cloud"]
|
|
32
|
-
dependencies = [
|
|
33
|
-
# Core dependencies - aligned with requirements.txt
|
|
34
|
-
"boto3>=1.26.0,<2.0.0",
|
|
35
|
-
"botocore>=1.29.0,<2.0.0",
|
|
36
|
-
"requests>=2.28.0,<3.0.0", # Required for NCP REST API calls
|
|
37
|
-
"rich>=12.0.0,<15.0.0",
|
|
38
|
-
"PyYAML>=6.0,<7.0.0", # Required for NCP configuration files
|
|
39
|
-
"paramiko>=2.11.0,<5.0.0",
|
|
40
|
-
"python-dotenv>=0.19.0,<2.0.0",
|
|
41
|
-
"cryptography>=3.4.8,<50.0.0", # Required for NCP HMAC-SHA256 signatures
|
|
42
|
-
"netifaces>=0.11.0,<1.0.0",
|
|
43
|
-
"tqdm>=4.67.0,<5.0.0",
|
|
44
|
-
"jsonschema>=4.23.0,<5.0.0",
|
|
45
|
-
"python-dateutil>=2.8.0,<3.0.0",
|
|
46
|
-
"click>=8.0.0,<9.0.0",
|
|
47
|
-
"packaging>=21.0,<25.0",
|
|
48
|
-
"setuptools>=61.0,<71.0",
|
|
49
|
-
# Configuration system dependencies
|
|
50
|
-
"watchdog>=3.0.0,<4.0.0",
|
|
51
|
-
"cerberus>=1.3.4,<2.0.0",
|
|
52
|
-
"pydantic>=2.0.0,<3.0.0",
|
|
53
|
-
"InquirerPy>=0.3.4,<1.0.0",
|
|
54
|
-
]
|
|
55
|
-
|
|
56
|
-
[project.optional-dependencies]
|
|
57
|
-
dev = [
|
|
58
|
-
"pytest>=7.0.0",
|
|
59
|
-
"pytest-cov>=4.0.0",
|
|
60
|
-
"black>=22.0.0",
|
|
61
|
-
"flake8>=5.0.0",
|
|
62
|
-
"mypy>=0.991",
|
|
63
|
-
]
|
|
64
|
-
|
|
65
|
-
[project.urls]
|
|
66
|
-
"Homepage" = "https://github.com/dgr009/ic"
|
|
67
|
-
"Bug Reports" = "https://github.com/dgr009/ic/issues"
|
|
68
|
-
"Source" = "https://github.com/dgr009/ic"
|
|
69
|
-
"Documentation" = "https://github.com/dgr009/ic#readme"
|
|
70
|
-
|
|
71
|
-
[project.scripts]
|
|
72
|
-
ic = "ic.cli:main"
|
|
73
|
-
|
|
74
|
-
[tool.setuptools.packages.find]
|
|
75
|
-
where = ["src"]
|
|
76
|
-
include = ["ic*", "common*", "mcp*"]
|
|
77
|
-
|
|
78
|
-
[tool.setuptools]
|
|
79
|
-
include-package-data = true
|
|
80
|
-
|
|
81
|
-
[tool.setuptools.package-data]
|
|
82
|
-
"*" = ["*.yaml", "*.yml", "*.json", "*.md", "*.txt"]
|
|
83
|
-
|
|
84
|
-
[tool.black]
|
|
85
|
-
line-length = 88
|
|
86
|
-
target-version = ['py39']
|
|
87
|
-
include = '\.pyi?$'
|
|
88
|
-
extend-exclude = '''
|
|
89
|
-
/(
|
|
90
|
-
# directories
|
|
91
|
-
\.eggs
|
|
92
|
-
| \.git
|
|
93
|
-
| \.hg
|
|
94
|
-
| \.mypy_cache
|
|
95
|
-
| \.tox
|
|
96
|
-
| \.venv
|
|
97
|
-
| build
|
|
98
|
-
| dist
|
|
99
|
-
)/
|
|
100
|
-
'''
|
|
101
|
-
|
|
102
|
-
[tool.pytest.ini_options]
|
|
103
|
-
minversion = "6.0"
|
|
104
|
-
addopts = "-ra -q --strict-markers --tb=short"
|
|
105
|
-
testpaths = [
|
|
106
|
-
"tests",
|
|
107
|
-
]
|
|
108
|
-
python_files = [
|
|
109
|
-
"test_*.py",
|
|
110
|
-
"*_test.py",
|
|
111
|
-
]
|
|
112
|
-
markers = [
|
|
113
|
-
"unit: Unit tests",
|
|
114
|
-
"integration: Integration tests",
|
|
115
|
-
"performance: Performance tests",
|
|
116
|
-
"security: Security tests",
|
|
117
|
-
"slow: Slow running tests",
|
|
118
|
-
"ci_safe: Tests safe to run in CI environment",
|
|
119
|
-
"requires_config: Tests that require configuration files",
|
|
120
|
-
"requires_credentials: Tests that require live credentials"
|
|
121
|
-
]
|
|
@@ -1,26 +0,0 @@
|
|
|
1
|
-
boto3<2.0.0,>=1.26.0
|
|
2
|
-
botocore<2.0.0,>=1.29.0
|
|
3
|
-
requests<3.0.0,>=2.28.0
|
|
4
|
-
rich<15.0.0,>=12.0.0
|
|
5
|
-
PyYAML<7.0.0,>=6.0
|
|
6
|
-
paramiko<5.0.0,>=2.11.0
|
|
7
|
-
python-dotenv<2.0.0,>=0.19.0
|
|
8
|
-
cryptography<50.0.0,>=3.4.8
|
|
9
|
-
netifaces<1.0.0,>=0.11.0
|
|
10
|
-
tqdm<5.0.0,>=4.67.0
|
|
11
|
-
jsonschema<5.0.0,>=4.23.0
|
|
12
|
-
python-dateutil<3.0.0,>=2.8.0
|
|
13
|
-
click<9.0.0,>=8.0.0
|
|
14
|
-
packaging<25.0,>=21.0
|
|
15
|
-
setuptools<71.0,>=61.0
|
|
16
|
-
watchdog<4.0.0,>=3.0.0
|
|
17
|
-
cerberus<2.0.0,>=1.3.4
|
|
18
|
-
pydantic<3.0.0,>=2.0.0
|
|
19
|
-
InquirerPy<1.0.0,>=0.3.4
|
|
20
|
-
|
|
21
|
-
[dev]
|
|
22
|
-
pytest>=7.0.0
|
|
23
|
-
pytest-cov>=4.0.0
|
|
24
|
-
black>=22.0.0
|
|
25
|
-
flake8>=5.0.0
|
|
26
|
-
mypy>=0.991
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|