cloud-governance 1.1.389__tar.gz → 1.1.391__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.
- {cloud_governance-1.1.389/cloud_governance.egg-info → cloud_governance-1.1.391}/PKG-INFO +1 -1
- {cloud_governance-1.1.389 → cloud_governance-1.1.391}/cloud_governance/common/clouds/aws/iam/iam_operations.py +44 -0
- {cloud_governance-1.1.389 → cloud_governance-1.1.391}/cloud_governance/policy/aws/empty_roles.py +29 -1
- {cloud_governance-1.1.389 → cloud_governance-1.1.391}/cloud_governance/policy/policy_operations/aws/zombie_cluster/delete_ec2_resources.py +20 -2
- {cloud_governance-1.1.389 → cloud_governance-1.1.391/cloud_governance.egg-info}/PKG-INFO +1 -1
- {cloud_governance-1.1.389 → cloud_governance-1.1.391}/setup.py +1 -1
- {cloud_governance-1.1.389 → cloud_governance-1.1.391}/LICENSE +0 -0
- {cloud_governance-1.1.389 → cloud_governance-1.1.391}/MANIFEST.in +0 -0
- {cloud_governance-1.1.389 → cloud_governance-1.1.391}/README.md +0 -0
- {cloud_governance-1.1.389 → cloud_governance-1.1.391}/cloud_governance/__init__.py +0 -0
- {cloud_governance-1.1.389 → cloud_governance-1.1.391}/cloud_governance/cloud_resource_orchestration/__init__.py +0 -0
- {cloud_governance-1.1.389 → cloud_governance-1.1.391}/cloud_governance/cloud_resource_orchestration/clouds/__init__.py +0 -0
- {cloud_governance-1.1.389 → cloud_governance-1.1.391}/cloud_governance/cloud_resource_orchestration/clouds/aws/__init__.py +0 -0
- {cloud_governance-1.1.389 → cloud_governance-1.1.391}/cloud_governance/cloud_resource_orchestration/clouds/aws/ec2/__init__.py +0 -0
- {cloud_governance-1.1.389 → cloud_governance-1.1.391}/cloud_governance/cloud_resource_orchestration/clouds/aws/ec2/aws_monitor_tickets.py +0 -0
- {cloud_governance-1.1.389 → cloud_governance-1.1.391}/cloud_governance/cloud_resource_orchestration/clouds/aws/ec2/aws_tagging_operations.py +0 -0
- {cloud_governance-1.1.389 → cloud_governance-1.1.391}/cloud_governance/cloud_resource_orchestration/clouds/aws/ec2/collect_cro_reports.py +0 -0
- {cloud_governance-1.1.389 → cloud_governance-1.1.391}/cloud_governance/cloud_resource_orchestration/clouds/aws/ec2/cost_over_usage.py +0 -0
- {cloud_governance-1.1.389 → cloud_governance-1.1.391}/cloud_governance/cloud_resource_orchestration/clouds/aws/ec2/monitor_cro_instances.py +0 -0
- {cloud_governance-1.1.389 → cloud_governance-1.1.391}/cloud_governance/cloud_resource_orchestration/clouds/aws/ec2/run_cro.py +0 -0
- {cloud_governance-1.1.389 → cloud_governance-1.1.391}/cloud_governance/cloud_resource_orchestration/clouds/aws/ec2/tag_cro_instances.py +0 -0
- {cloud_governance-1.1.389 → cloud_governance-1.1.391}/cloud_governance/cloud_resource_orchestration/clouds/azure/__init__.py +0 -0
- {cloud_governance-1.1.389 → cloud_governance-1.1.391}/cloud_governance/cloud_resource_orchestration/clouds/azure/resource_groups/__init__.py +0 -0
- {cloud_governance-1.1.389 → cloud_governance-1.1.391}/cloud_governance/cloud_resource_orchestration/clouds/azure/resource_groups/abstract_resource.py +0 -0
- {cloud_governance-1.1.389 → cloud_governance-1.1.391}/cloud_governance/cloud_resource_orchestration/clouds/azure/resource_groups/azure_monitor_tickets.py +0 -0
- {cloud_governance-1.1.389 → cloud_governance-1.1.391}/cloud_governance/cloud_resource_orchestration/clouds/azure/resource_groups/azure_tagging_operations.py +0 -0
- {cloud_governance-1.1.389 → cloud_governance-1.1.391}/cloud_governance/cloud_resource_orchestration/clouds/azure/resource_groups/collect_cro_reports.py +0 -0
- {cloud_governance-1.1.389 → cloud_governance-1.1.391}/cloud_governance/cloud_resource_orchestration/clouds/azure/resource_groups/cost_over_usage.py +0 -0
- {cloud_governance-1.1.389 → cloud_governance-1.1.391}/cloud_governance/cloud_resource_orchestration/clouds/azure/resource_groups/monitor_cro_resources.py +0 -0
- {cloud_governance-1.1.389 → cloud_governance-1.1.391}/cloud_governance/cloud_resource_orchestration/clouds/azure/resource_groups/tag_cro_resources.py +0 -0
- {cloud_governance-1.1.389 → cloud_governance-1.1.391}/cloud_governance/cloud_resource_orchestration/clouds/common/__init__.py +0 -0
- {cloud_governance-1.1.389 → cloud_governance-1.1.391}/cloud_governance/cloud_resource_orchestration/clouds/common/abstract_collect_cro_reports.py +0 -0
- {cloud_governance-1.1.389 → cloud_governance-1.1.391}/cloud_governance/cloud_resource_orchestration/clouds/common/abstract_cost_over_usage.py +0 -0
- {cloud_governance-1.1.389 → cloud_governance-1.1.391}/cloud_governance/cloud_resource_orchestration/clouds/common/abstract_tagging_operations.py +0 -0
- {cloud_governance-1.1.389 → cloud_governance-1.1.391}/cloud_governance/cloud_resource_orchestration/common/__init__.py +0 -0
- {cloud_governance-1.1.389 → cloud_governance-1.1.391}/cloud_governance/cloud_resource_orchestration/common/abstract_monitor_tickets.py +0 -0
- {cloud_governance-1.1.389 → cloud_governance-1.1.391}/cloud_governance/cloud_resource_orchestration/common/cro_object.py +0 -0
- {cloud_governance-1.1.389 → cloud_governance-1.1.391}/cloud_governance/cloud_resource_orchestration/common/run_cro.py +0 -0
- {cloud_governance-1.1.389 → cloud_governance-1.1.391}/cloud_governance/cloud_resource_orchestration/monitor/__init__.py +0 -0
- {cloud_governance-1.1.389 → cloud_governance-1.1.391}/cloud_governance/cloud_resource_orchestration/monitor/cloud_monitor.py +0 -0
- {cloud_governance-1.1.389 → cloud_governance-1.1.391}/cloud_governance/cloud_resource_orchestration/utils/__init__.py +0 -0
- {cloud_governance-1.1.389 → cloud_governance-1.1.391}/cloud_governance/cloud_resource_orchestration/utils/common_operations.py +0 -0
- {cloud_governance-1.1.389 → cloud_governance-1.1.391}/cloud_governance/cloud_resource_orchestration/utils/constant_variables.py +0 -0
- {cloud_governance-1.1.389 → cloud_governance-1.1.391}/cloud_governance/cloud_resource_orchestration/utils/elastic_search_queries.py +0 -0
- {cloud_governance-1.1.389 → cloud_governance-1.1.391}/cloud_governance/common/__init__.py +0 -0
- {cloud_governance-1.1.389 → cloud_governance-1.1.391}/cloud_governance/common/clouds/__init__.py +0 -0
- {cloud_governance-1.1.389 → cloud_governance-1.1.391}/cloud_governance/common/clouds/aws/__init__.py +0 -0
- {cloud_governance-1.1.389 → cloud_governance-1.1.391}/cloud_governance/common/clouds/aws/athena/__init__.py +0 -0
- {cloud_governance-1.1.389 → cloud_governance-1.1.391}/cloud_governance/common/clouds/aws/athena/abstract_athena_operations.py +0 -0
- {cloud_governance-1.1.389 → cloud_governance-1.1.391}/cloud_governance/common/clouds/aws/athena/boto3_client_athena_operations.py +0 -0
- {cloud_governance-1.1.389 → cloud_governance-1.1.391}/cloud_governance/common/clouds/aws/athena/pyathena_operations.py +0 -0
- {cloud_governance-1.1.389 → cloud_governance-1.1.391}/cloud_governance/common/clouds/aws/cloudtrail/__init__.py +0 -0
- {cloud_governance-1.1.389 → cloud_governance-1.1.391}/cloud_governance/common/clouds/aws/cloudtrail/cloudtrail_operations.py +0 -0
- {cloud_governance-1.1.389 → cloud_governance-1.1.391}/cloud_governance/common/clouds/aws/cloudwatch/__init__.py +0 -0
- {cloud_governance-1.1.389 → cloud_governance-1.1.391}/cloud_governance/common/clouds/aws/cloudwatch/cloudwatch_operations.py +0 -0
- {cloud_governance-1.1.389 → cloud_governance-1.1.391}/cloud_governance/common/clouds/aws/cost_explorer/__init__.py +0 -0
- {cloud_governance-1.1.389 → cloud_governance-1.1.391}/cloud_governance/common/clouds/aws/cost_explorer/cost_explorer_operations.py +0 -0
- {cloud_governance-1.1.389 → cloud_governance-1.1.391}/cloud_governance/common/clouds/aws/dynamodb/__init__.py +0 -0
- {cloud_governance-1.1.389 → cloud_governance-1.1.391}/cloud_governance/common/clouds/aws/dynamodb/dynamodb_operations.py +0 -0
- {cloud_governance-1.1.389 → cloud_governance-1.1.391}/cloud_governance/common/clouds/aws/ec2/__init__.py +0 -0
- {cloud_governance-1.1.389 → cloud_governance-1.1.391}/cloud_governance/common/clouds/aws/ec2/ec2_operations.py +0 -0
- {cloud_governance-1.1.389 → cloud_governance-1.1.391}/cloud_governance/common/clouds/aws/iam/__init__.py +0 -0
- {cloud_governance-1.1.389 → cloud_governance-1.1.391}/cloud_governance/common/clouds/aws/price/__init__.py +0 -0
- {cloud_governance-1.1.389 → cloud_governance-1.1.391}/cloud_governance/common/clouds/aws/price/price.py +0 -0
- {cloud_governance-1.1.389 → cloud_governance-1.1.391}/cloud_governance/common/clouds/aws/price/resources_pricing.py +0 -0
- {cloud_governance-1.1.389 → cloud_governance-1.1.391}/cloud_governance/common/clouds/aws/rds/__init__.py +0 -0
- {cloud_governance-1.1.389 → cloud_governance-1.1.391}/cloud_governance/common/clouds/aws/rds/rds_operations.py +0 -0
- {cloud_governance-1.1.389 → cloud_governance-1.1.391}/cloud_governance/common/clouds/aws/resource_explorer/__init__.py +0 -0
- {cloud_governance-1.1.389 → cloud_governance-1.1.391}/cloud_governance/common/clouds/aws/resource_explorer/resource_explorer_operations.py +0 -0
- {cloud_governance-1.1.389 → cloud_governance-1.1.391}/cloud_governance/common/clouds/aws/resource_tagging_api/__init__.py +0 -0
- {cloud_governance-1.1.389 → cloud_governance-1.1.391}/cloud_governance/common/clouds/aws/resource_tagging_api/resource_tag_api_operations.py +0 -0
- {cloud_governance-1.1.389 → cloud_governance-1.1.391}/cloud_governance/common/clouds/aws/s3/__init__.py +0 -0
- {cloud_governance-1.1.389 → cloud_governance-1.1.391}/cloud_governance/common/clouds/aws/s3/s3_operations.py +0 -0
- {cloud_governance-1.1.389 → cloud_governance-1.1.391}/cloud_governance/common/clouds/aws/savingsplan/__init__.py +0 -0
- {cloud_governance-1.1.389 → cloud_governance-1.1.391}/cloud_governance/common/clouds/aws/savingsplan/savings_plans_operations.py +0 -0
- {cloud_governance-1.1.389 → cloud_governance-1.1.391}/cloud_governance/common/clouds/aws/sts/__init__.py +0 -0
- {cloud_governance-1.1.389 → cloud_governance-1.1.391}/cloud_governance/common/clouds/aws/sts/sts_oprations.py +0 -0
- {cloud_governance-1.1.389 → cloud_governance-1.1.391}/cloud_governance/common/clouds/aws/support/__init__.py +0 -0
- {cloud_governance-1.1.389 → cloud_governance-1.1.391}/cloud_governance/common/clouds/aws/support/support_operations.py +0 -0
- {cloud_governance-1.1.389 → cloud_governance-1.1.391}/cloud_governance/common/clouds/aws/utils/__init__.py +0 -0
- {cloud_governance-1.1.389 → cloud_governance-1.1.391}/cloud_governance/common/clouds/aws/utils/common_methods.py +0 -0
- {cloud_governance-1.1.389 → cloud_governance-1.1.391}/cloud_governance/common/clouds/aws/utils/utils.py +0 -0
- {cloud_governance-1.1.389 → cloud_governance-1.1.391}/cloud_governance/common/clouds/azure/__init__.py +0 -0
- {cloud_governance-1.1.389 → cloud_governance-1.1.391}/cloud_governance/common/clouds/azure/common/__init__.py +0 -0
- {cloud_governance-1.1.389 → cloud_governance-1.1.391}/cloud_governance/common/clouds/azure/common/common_operations.py +0 -0
- {cloud_governance-1.1.389 → cloud_governance-1.1.391}/cloud_governance/common/clouds/azure/compute/__init__.py +0 -0
- {cloud_governance-1.1.389 → cloud_governance-1.1.391}/cloud_governance/common/clouds/azure/compute/compute_operations.py +0 -0
- {cloud_governance-1.1.389 → cloud_governance-1.1.391}/cloud_governance/common/clouds/azure/compute/network_operations.py +0 -0
- {cloud_governance-1.1.389 → cloud_governance-1.1.391}/cloud_governance/common/clouds/azure/compute/resource_group_operations.py +0 -0
- {cloud_governance-1.1.389 → cloud_governance-1.1.391}/cloud_governance/common/clouds/azure/cost_management/__init__.py +0 -0
- {cloud_governance-1.1.389 → cloud_governance-1.1.391}/cloud_governance/common/clouds/azure/cost_management/cost_management_operations.py +0 -0
- {cloud_governance-1.1.389 → cloud_governance-1.1.391}/cloud_governance/common/clouds/azure/monitor/__init__.py +0 -0
- {cloud_governance-1.1.389 → cloud_governance-1.1.391}/cloud_governance/common/clouds/azure/monitor/monitor_management_operations.py +0 -0
- {cloud_governance-1.1.389 → cloud_governance-1.1.391}/cloud_governance/common/clouds/azure/subscriptions/__init__.py +0 -0
- {cloud_governance-1.1.389 → cloud_governance-1.1.391}/cloud_governance/common/clouds/azure/subscriptions/azure_operations.py +0 -0
- {cloud_governance-1.1.389 → cloud_governance-1.1.391}/cloud_governance/common/clouds/cloudability/__init__.py +0 -0
- {cloud_governance-1.1.389 → cloud_governance-1.1.391}/cloud_governance/common/clouds/cloudability/cloudability_operations.py +0 -0
- {cloud_governance-1.1.389 → cloud_governance-1.1.391}/cloud_governance/common/clouds/cloudability/templates/__init__.py +0 -0
- {cloud_governance-1.1.389 → cloud_governance-1.1.391}/cloud_governance/common/clouds/cloudability/templates/cloudability_dimensions.py +0 -0
- {cloud_governance-1.1.389 → cloud_governance-1.1.391}/cloud_governance/common/clouds/gcp/__init__.py +0 -0
- {cloud_governance-1.1.389 → cloud_governance-1.1.391}/cloud_governance/common/clouds/gcp/google_account.py +0 -0
- {cloud_governance-1.1.389 → cloud_governance-1.1.391}/cloud_governance/common/clouds/ibm/__init__.py +0 -0
- {cloud_governance-1.1.389 → cloud_governance-1.1.391}/cloud_governance/common/clouds/ibm/account/__init__.py +0 -0
- {cloud_governance-1.1.389 → cloud_governance-1.1.391}/cloud_governance/common/clouds/ibm/account/ibm_account.py +0 -0
- {cloud_governance-1.1.389 → cloud_governance-1.1.391}/cloud_governance/common/clouds/ibm/account/ibm_authenticator.py +0 -0
- {cloud_governance-1.1.389 → cloud_governance-1.1.391}/cloud_governance/common/clouds/ibm/classic/__init__.py +0 -0
- {cloud_governance-1.1.389 → cloud_governance-1.1.391}/cloud_governance/common/clouds/ibm/classic/classic_operations.py +0 -0
- {cloud_governance-1.1.389 → cloud_governance-1.1.391}/cloud_governance/common/clouds/ibm/developer_tools/__init__.py +0 -0
- {cloud_governance-1.1.389 → cloud_governance-1.1.391}/cloud_governance/common/clouds/ibm/developer_tools/schematic_operations.py +0 -0
- {cloud_governance-1.1.389 → cloud_governance-1.1.391}/cloud_governance/common/clouds/ibm/platform_services/__init__.py +0 -0
- {cloud_governance-1.1.389 → cloud_governance-1.1.391}/cloud_governance/common/clouds/ibm/platform_services/platform_service_operations.py +0 -0
- {cloud_governance-1.1.389 → cloud_governance-1.1.391}/cloud_governance/common/clouds/ibm/tagging/__init__.py +0 -0
- {cloud_governance-1.1.389 → cloud_governance-1.1.391}/cloud_governance/common/clouds/ibm/tagging/global_tagging_operations.py +0 -0
- {cloud_governance-1.1.389 → cloud_governance-1.1.391}/cloud_governance/common/clouds/ibm/vpc/__init__.py +0 -0
- {cloud_governance-1.1.389 → cloud_governance-1.1.391}/cloud_governance/common/clouds/ibm/vpc/vpc_infra_operations.py +0 -0
- {cloud_governance-1.1.389 → cloud_governance-1.1.391}/cloud_governance/common/elasticsearch/__init__.py +0 -0
- {cloud_governance-1.1.389 → cloud_governance-1.1.391}/cloud_governance/common/elasticsearch/elastic_upload.py +0 -0
- {cloud_governance-1.1.389 → cloud_governance-1.1.391}/cloud_governance/common/elasticsearch/elasticsearch_exceptions.py +0 -0
- {cloud_governance-1.1.389 → cloud_governance-1.1.391}/cloud_governance/common/elasticsearch/elasticsearch_operations.py +0 -0
- {cloud_governance-1.1.389 → cloud_governance-1.1.391}/cloud_governance/common/elasticsearch/modals/__init__.py +0 -0
- {cloud_governance-1.1.389 → cloud_governance-1.1.391}/cloud_governance/common/elasticsearch/modals/cost_usage_reports_data.py +0 -0
- {cloud_governance-1.1.389 → cloud_governance-1.1.391}/cloud_governance/common/elasticsearch/modals/policy_es_data.py +0 -0
- {cloud_governance-1.1.389 → cloud_governance-1.1.391}/cloud_governance/common/google_drive/__init__.py +0 -0
- {cloud_governance-1.1.389 → cloud_governance-1.1.391}/cloud_governance/common/google_drive/gcp_operations.py +0 -0
- {cloud_governance-1.1.389 → cloud_governance-1.1.391}/cloud_governance/common/google_drive/google_drive_operations.py +0 -0
- {cloud_governance-1.1.389 → cloud_governance-1.1.391}/cloud_governance/common/google_drive/upload_to_gsheet.py +0 -0
- {cloud_governance-1.1.389 → cloud_governance-1.1.391}/cloud_governance/common/jira/__init__.py +0 -0
- {cloud_governance-1.1.389 → cloud_governance-1.1.391}/cloud_governance/common/jira/jira.py +0 -0
- {cloud_governance-1.1.389 → cloud_governance-1.1.391}/cloud_governance/common/jira/jira_exceptions.py +0 -0
- {cloud_governance-1.1.389 → cloud_governance-1.1.391}/cloud_governance/common/jira/jira_operations.py +0 -0
- {cloud_governance-1.1.389 → cloud_governance-1.1.391}/cloud_governance/common/ldap/__init__.py +0 -0
- {cloud_governance-1.1.389 → cloud_governance-1.1.391}/cloud_governance/common/ldap/ldap_search.py +0 -0
- {cloud_governance-1.1.389 → cloud_governance-1.1.391}/cloud_governance/common/logger/__init__.py +0 -0
- {cloud_governance-1.1.389 → cloud_governance-1.1.391}/cloud_governance/common/logger/init_logger.py +0 -0
- {cloud_governance-1.1.389 → cloud_governance-1.1.391}/cloud_governance/common/logger/logger_time_stamp.py +0 -0
- {cloud_governance-1.1.389 → cloud_governance-1.1.391}/cloud_governance/common/mails/__init__.py +0 -0
- {cloud_governance-1.1.389 → cloud_governance-1.1.391}/cloud_governance/common/mails/gmail.py +0 -0
- {cloud_governance-1.1.389 → cloud_governance-1.1.391}/cloud_governance/common/mails/mail_message.py +0 -0
- {cloud_governance-1.1.389 → cloud_governance-1.1.391}/cloud_governance/common/mails/postfix.py +0 -0
- {cloud_governance-1.1.389 → cloud_governance-1.1.391}/cloud_governance/common/mails/templates/cro_monitor_budget_remain_alert.j2 +0 -0
- {cloud_governance-1.1.389 → cloud_governance-1.1.391}/cloud_governance/common/mails/templates/cro_monitor_budget_remain_high_alert.j2 +0 -0
- {cloud_governance-1.1.389 → cloud_governance-1.1.391}/cloud_governance/common/mails/templates/cro_request_for_manager_approval.j2 +0 -0
- {cloud_governance-1.1.389 → cloud_governance-1.1.391}/cloud_governance/common/mails/templates/policy_alert_agg_message.j2 +0 -0
- {cloud_governance-1.1.389 → cloud_governance-1.1.391}/cloud_governance/common/pandas/__init__.py +0 -0
- {cloud_governance-1.1.389 → cloud_governance-1.1.391}/cloud_governance/common/pandas/pandas_operations.py +0 -0
- {cloud_governance-1.1.389 → cloud_governance-1.1.391}/cloud_governance/common/tool/__init__.py +0 -0
- {cloud_governance-1.1.389 → cloud_governance-1.1.391}/cloud_governance/common/tool/tool.py +0 -0
- {cloud_governance-1.1.389 → cloud_governance-1.1.391}/cloud_governance/common/utils/__init__.py +0 -0
- {cloud_governance-1.1.389 → cloud_governance-1.1.391}/cloud_governance/common/utils/api_requests.py +0 -0
- {cloud_governance-1.1.389 → cloud_governance-1.1.391}/cloud_governance/common/utils/configs.py +0 -0
- {cloud_governance-1.1.389 → cloud_governance-1.1.391}/cloud_governance/common/utils/json_datetime_encoder.py +0 -0
- {cloud_governance-1.1.389 → cloud_governance-1.1.391}/cloud_governance/common/utils/utils.py +0 -0
- {cloud_governance-1.1.389 → cloud_governance-1.1.391}/cloud_governance/main/__init__.py +0 -0
- {cloud_governance-1.1.389 → cloud_governance-1.1.391}/cloud_governance/main/environment_variables.py +0 -0
- {cloud_governance-1.1.389 → cloud_governance-1.1.391}/cloud_governance/main/environment_variables_exceptions.py +0 -0
- {cloud_governance-1.1.389 → cloud_governance-1.1.391}/cloud_governance/main/es_uploader.py +0 -0
- {cloud_governance-1.1.389 → cloud_governance-1.1.391}/cloud_governance/main/main.py +0 -0
- {cloud_governance-1.1.389 → cloud_governance-1.1.391}/cloud_governance/main/main_common_operations.py +0 -0
- {cloud_governance-1.1.389 → cloud_governance-1.1.391}/cloud_governance/main/main_oerations/__init__.py +0 -0
- {cloud_governance-1.1.389 → cloud_governance-1.1.391}/cloud_governance/main/main_oerations/main_operations.py +0 -0
- {cloud_governance-1.1.389 → cloud_governance-1.1.391}/cloud_governance/main/run_cloud_resource_orchestration.py +0 -0
- {cloud_governance-1.1.389 → cloud_governance-1.1.391}/cloud_governance/policy/__init__.py +0 -0
- {cloud_governance-1.1.389 → cloud_governance-1.1.391}/cloud_governance/policy/aws/__init__.py +0 -0
- {cloud_governance-1.1.389 → cloud_governance-1.1.391}/cloud_governance/policy/aws/cleanup/__init__.py +0 -0
- {cloud_governance-1.1.389 → cloud_governance-1.1.391}/cloud_governance/policy/aws/cleanup/database_idle.py +0 -0
- {cloud_governance-1.1.389 → cloud_governance-1.1.391}/cloud_governance/policy/aws/cleanup/instance_idle.py +0 -0
- {cloud_governance-1.1.389 → cloud_governance-1.1.391}/cloud_governance/policy/aws/cleanup/instance_run.py +0 -0
- {cloud_governance-1.1.389 → cloud_governance-1.1.391}/cloud_governance/policy/aws/cleanup/unattached_volume.py +0 -0
- {cloud_governance-1.1.389 → cloud_governance-1.1.391}/cloud_governance/policy/aws/cleanup/unused_nat_gateway.py +0 -0
- {cloud_governance-1.1.389 → cloud_governance-1.1.391}/cloud_governance/policy/aws/cost_billing_reports.py +0 -0
- {cloud_governance-1.1.389 → cloud_governance-1.1.391}/cloud_governance/policy/aws/cost_explorer.py +0 -0
- {cloud_governance-1.1.389 → cloud_governance-1.1.391}/cloud_governance/policy/aws/cost_explorer_payer_billings.py +0 -0
- {cloud_governance-1.1.389 → cloud_governance-1.1.391}/cloud_governance/policy/aws/cost_over_usage.py +0 -0
- {cloud_governance-1.1.389 → cloud_governance-1.1.391}/cloud_governance/policy/aws/ebs_in_use.py +0 -0
- {cloud_governance-1.1.389 → cloud_governance-1.1.391}/cloud_governance/policy/aws/ec2_stop.py +0 -0
- {cloud_governance-1.1.389 → cloud_governance-1.1.391}/cloud_governance/policy/aws/ip_unattached.py +0 -0
- {cloud_governance-1.1.389 → cloud_governance-1.1.391}/cloud_governance/policy/aws/monitor/__init__.py +0 -0
- {cloud_governance-1.1.389 → cloud_governance-1.1.391}/cloud_governance/policy/aws/monitor/cluster_run.py +0 -0
- {cloud_governance-1.1.389 → cloud_governance-1.1.391}/cloud_governance/policy/aws/monthly_report.py +0 -0
- {cloud_governance-1.1.389 → cloud_governance-1.1.391}/cloud_governance/policy/aws/optimize_resources_report.py +0 -0
- {cloud_governance-1.1.389 → cloud_governance-1.1.391}/cloud_governance/policy/aws/s3_inactive.py +0 -0
- {cloud_governance-1.1.389 → cloud_governance-1.1.391}/cloud_governance/policy/aws/skipped_resources.py +0 -0
- {cloud_governance-1.1.389 → cloud_governance-1.1.391}/cloud_governance/policy/aws/spot_savings_analysis.py +0 -0
- {cloud_governance-1.1.389 → cloud_governance-1.1.391}/cloud_governance/policy/aws/unused_access_key.py +0 -0
- {cloud_governance-1.1.389 → cloud_governance-1.1.391}/cloud_governance/policy/aws/zombie_cluster_resource.py +0 -0
- {cloud_governance-1.1.389 → cloud_governance-1.1.391}/cloud_governance/policy/aws/zombie_snapshots.py +0 -0
- {cloud_governance-1.1.389 → cloud_governance-1.1.391}/cloud_governance/policy/azure/__init__.py +0 -0
- {cloud_governance-1.1.389 → cloud_governance-1.1.391}/cloud_governance/policy/azure/cleanup/__init__.py +0 -0
- {cloud_governance-1.1.389 → cloud_governance-1.1.391}/cloud_governance/policy/azure/cleanup/instance_idle.py +0 -0
- {cloud_governance-1.1.389 → cloud_governance-1.1.391}/cloud_governance/policy/azure/cleanup/instance_run.py +0 -0
- {cloud_governance-1.1.389 → cloud_governance-1.1.391}/cloud_governance/policy/azure/cleanup/ip_unattached.py +0 -0
- {cloud_governance-1.1.389 → cloud_governance-1.1.391}/cloud_governance/policy/azure/cleanup/unattached_volume.py +0 -0
- {cloud_governance-1.1.389 → cloud_governance-1.1.391}/cloud_governance/policy/azure/cleanup/unused_nat_gateway.py +0 -0
- {cloud_governance-1.1.389 → cloud_governance-1.1.391}/cloud_governance/policy/azure/cost_billing_reports.py +0 -0
- {cloud_governance-1.1.389 → cloud_governance-1.1.391}/cloud_governance/policy/azure/tag_azure_resource_group.py +0 -0
- {cloud_governance-1.1.389 → cloud_governance-1.1.391}/cloud_governance/policy/common_policies/__init__.py +0 -0
- {cloud_governance-1.1.389 → cloud_governance-1.1.391}/cloud_governance/policy/common_policies/cloudability_cost_reports.py +0 -0
- {cloud_governance-1.1.389 → cloud_governance-1.1.391}/cloud_governance/policy/common_policies/send_aggregated_alerts.py +0 -0
- {cloud_governance-1.1.389 → cloud_governance-1.1.391}/cloud_governance/policy/gcp/__init__.py +0 -0
- {cloud_governance-1.1.389 → cloud_governance-1.1.391}/cloud_governance/policy/gcp/cost_billing_reports.py +0 -0
- {cloud_governance-1.1.389 → cloud_governance-1.1.391}/cloud_governance/policy/helpers/__init__.py +0 -0
- {cloud_governance-1.1.389 → cloud_governance-1.1.391}/cloud_governance/policy/helpers/abstract_policy_operations.py +0 -0
- {cloud_governance-1.1.389 → cloud_governance-1.1.391}/cloud_governance/policy/helpers/aws/__init__.py +0 -0
- {cloud_governance-1.1.389 → cloud_governance-1.1.391}/cloud_governance/policy/helpers/aws/aws_policy_operations.py +0 -0
- {cloud_governance-1.1.389 → cloud_governance-1.1.391}/cloud_governance/policy/helpers/azure/__init__.py +0 -0
- {cloud_governance-1.1.389 → cloud_governance-1.1.391}/cloud_governance/policy/helpers/azure/azure_policy_operations.py +0 -0
- {cloud_governance-1.1.389 → cloud_governance-1.1.391}/cloud_governance/policy/helpers/cloudability_operations.py +0 -0
- {cloud_governance-1.1.389 → cloud_governance-1.1.391}/cloud_governance/policy/ibm/__init__.py +0 -0
- {cloud_governance-1.1.389 → cloud_governance-1.1.391}/cloud_governance/policy/ibm/cost_billing_reports.py +0 -0
- {cloud_governance-1.1.389 → cloud_governance-1.1.391}/cloud_governance/policy/ibm/cost_usage_reports.py +0 -0
- {cloud_governance-1.1.389 → cloud_governance-1.1.391}/cloud_governance/policy/ibm/ibm_cost_over_usage.py +0 -0
- {cloud_governance-1.1.389 → cloud_governance-1.1.391}/cloud_governance/policy/ibm/ibm_cost_report.py +0 -0
- {cloud_governance-1.1.389 → cloud_governance-1.1.391}/cloud_governance/policy/ibm/tag_baremetal.py +0 -0
- {cloud_governance-1.1.389 → cloud_governance-1.1.391}/cloud_governance/policy/ibm/tag_resources.py +0 -0
- {cloud_governance-1.1.389 → cloud_governance-1.1.391}/cloud_governance/policy/ibm/tag_vm.py +0 -0
- {cloud_governance-1.1.389 → cloud_governance-1.1.391}/cloud_governance/policy/policy_operations/__init__.py +0 -0
- {cloud_governance-1.1.389 → cloud_governance-1.1.391}/cloud_governance/policy/policy_operations/aws/__init__.py +0 -0
- {cloud_governance-1.1.389 → cloud_governance-1.1.391}/cloud_governance/policy/policy_operations/aws/cost_expenditure/__init__.py +0 -0
- {cloud_governance-1.1.389 → cloud_governance-1.1.391}/cloud_governance/policy/policy_operations/aws/cost_expenditure/cost_report_policies.py +0 -0
- {cloud_governance-1.1.389 → cloud_governance-1.1.391}/cloud_governance/policy/policy_operations/aws/dynamodb_upload_data/__init__.py +0 -0
- {cloud_governance-1.1.389 → cloud_governance-1.1.391}/cloud_governance/policy/policy_operations/aws/dynamodb_upload_data/cloudtrail_to_dynamodb.py +0 -0
- {cloud_governance-1.1.389 → cloud_governance-1.1.391}/cloud_governance/policy/policy_operations/aws/dynamodb_upload_data/upload_data_to_dynamodb.py +0 -0
- {cloud_governance-1.1.389 → cloud_governance-1.1.391}/cloud_governance/policy/policy_operations/aws/tag_cluster/__init__.py +0 -0
- {cloud_governance-1.1.389 → cloud_governance-1.1.391}/cloud_governance/policy/policy_operations/aws/tag_cluster/remove_cluster_tags.py +0 -0
- {cloud_governance-1.1.389 → cloud_governance-1.1.391}/cloud_governance/policy/policy_operations/aws/tag_cluster/run_tag_cluster_resouces.py +0 -0
- {cloud_governance-1.1.389 → cloud_governance-1.1.391}/cloud_governance/policy/policy_operations/aws/tag_cluster/tag_cluster_operations.py +0 -0
- {cloud_governance-1.1.389 → cloud_governance-1.1.391}/cloud_governance/policy/policy_operations/aws/tag_cluster/tag_cluster_resouces.py +0 -0
- {cloud_governance-1.1.389 → cloud_governance-1.1.391}/cloud_governance/policy/policy_operations/aws/tag_non_cluster/__init__.py +0 -0
- {cloud_governance-1.1.389 → cloud_governance-1.1.391}/cloud_governance/policy/policy_operations/aws/tag_non_cluster/non_cluster_operations.py +0 -0
- {cloud_governance-1.1.389 → cloud_governance-1.1.391}/cloud_governance/policy/policy_operations/aws/tag_non_cluster/remove_non_cluster_tags.py +0 -0
- {cloud_governance-1.1.389 → cloud_governance-1.1.391}/cloud_governance/policy/policy_operations/aws/tag_non_cluster/run_tag_non_cluster_resources.py +0 -0
- {cloud_governance-1.1.389 → cloud_governance-1.1.391}/cloud_governance/policy/policy_operations/aws/tag_non_cluster/tag_non_cluster_resources.py +0 -0
- {cloud_governance-1.1.389 → cloud_governance-1.1.391}/cloud_governance/policy/policy_operations/aws/tag_non_cluster/update_na_tag_resources.py +0 -0
- {cloud_governance-1.1.389 → cloud_governance-1.1.391}/cloud_governance/policy/policy_operations/aws/tag_user/__init__.py +0 -0
- {cloud_governance-1.1.389 → cloud_governance-1.1.391}/cloud_governance/policy/policy_operations/aws/tag_user/iam_user_tags.py +0 -0
- {cloud_governance-1.1.389 → cloud_governance-1.1.391}/cloud_governance/policy/policy_operations/aws/tag_user/remove_user_tags.py +0 -0
- {cloud_governance-1.1.389 → cloud_governance-1.1.391}/cloud_governance/policy/policy_operations/aws/tag_user/run_tag_iam_user.py +0 -0
- {cloud_governance-1.1.389 → cloud_governance-1.1.391}/cloud_governance/policy/policy_operations/aws/tag_user/tag_iam_user.py +0 -0
- {cloud_governance-1.1.389 → cloud_governance-1.1.391}/cloud_governance/policy/policy_operations/aws/zombie_cluster/__init__.py +0 -0
- {cloud_governance-1.1.389 → cloud_governance-1.1.391}/cloud_governance/policy/policy_operations/aws/zombie_cluster/delete_iam_resources.py +0 -0
- {cloud_governance-1.1.389 → cloud_governance-1.1.391}/cloud_governance/policy/policy_operations/aws/zombie_cluster/delete_s3_resources.py +0 -0
- {cloud_governance-1.1.389 → cloud_governance-1.1.391}/cloud_governance/policy/policy_operations/aws/zombie_cluster/run_zombie_cluster_resources.py +0 -0
- {cloud_governance-1.1.389 → cloud_governance-1.1.391}/cloud_governance/policy/policy_operations/aws/zombie_cluster/validate_zombies.py +0 -0
- {cloud_governance-1.1.389 → cloud_governance-1.1.391}/cloud_governance/policy/policy_operations/aws/zombie_cluster/zombie_cluster_common_methods.py +0 -0
- {cloud_governance-1.1.389 → cloud_governance-1.1.391}/cloud_governance/policy/policy_operations/aws/zombie_non_cluster/__init__.py +0 -0
- {cloud_governance-1.1.389 → cloud_governance-1.1.391}/cloud_governance/policy/policy_operations/aws/zombie_non_cluster/run_zombie_non_cluster_policies.py +0 -0
- {cloud_governance-1.1.389 → cloud_governance-1.1.391}/cloud_governance/policy/policy_operations/aws/zombie_non_cluster/zombie_non_cluster_polices.py +0 -0
- {cloud_governance-1.1.389 → cloud_governance-1.1.391}/cloud_governance/policy/policy_operations/azure/__init__.py +0 -0
- {cloud_governance-1.1.389 → cloud_governance-1.1.391}/cloud_governance/policy/policy_operations/azure/azure_policy_runner.py +0 -0
- {cloud_governance-1.1.389 → cloud_governance-1.1.391}/cloud_governance/policy/policy_operations/gcp/__init__.py +0 -0
- {cloud_governance-1.1.389 → cloud_governance-1.1.391}/cloud_governance/policy/policy_operations/gcp/gcp_policy_runner.py +0 -0
- {cloud_governance-1.1.389 → cloud_governance-1.1.391}/cloud_governance/policy/policy_operations/gitleaks/__init__.py +0 -0
- {cloud_governance-1.1.389 → cloud_governance-1.1.391}/cloud_governance/policy/policy_operations/gitleaks/gitleaks.py +0 -0
- {cloud_governance-1.1.389 → cloud_governance-1.1.391}/cloud_governance/policy/policy_operations/ibm/__init__.py +0 -0
- {cloud_governance-1.1.389 → cloud_governance-1.1.391}/cloud_governance/policy/policy_operations/ibm/ibm_operations/__init__.py +0 -0
- {cloud_governance-1.1.389 → cloud_governance-1.1.391}/cloud_governance/policy/policy_operations/ibm/ibm_operations/ibm_operations.py +0 -0
- {cloud_governance-1.1.389 → cloud_governance-1.1.391}/cloud_governance/policy/policy_operations/ibm/ibm_operations/ibm_policy_runner.py +0 -0
- {cloud_governance-1.1.389 → cloud_governance-1.1.391}/cloud_governance/policy/policy_operations/ibm/tagging/__init__.py +0 -0
- {cloud_governance-1.1.389 → cloud_governance-1.1.391}/cloud_governance/policy/policy_operations/ibm/tagging/tagging_operations.py +0 -0
- {cloud_governance-1.1.389 → cloud_governance-1.1.391}/cloud_governance/policy/policy_runners/__init__.py +0 -0
- {cloud_governance-1.1.389 → cloud_governance-1.1.391}/cloud_governance/policy/policy_runners/aws/__init__.py +0 -0
- {cloud_governance-1.1.389 → cloud_governance-1.1.391}/cloud_governance/policy/policy_runners/aws/policy_runner.py +0 -0
- {cloud_governance-1.1.389 → cloud_governance-1.1.391}/cloud_governance/policy/policy_runners/aws/upload_s3.py +0 -0
- {cloud_governance-1.1.389 → cloud_governance-1.1.391}/cloud_governance/policy/policy_runners/azure/__init__.py +0 -0
- {cloud_governance-1.1.389 → cloud_governance-1.1.391}/cloud_governance/policy/policy_runners/azure/policy_runner.py +0 -0
- {cloud_governance-1.1.389 → cloud_governance-1.1.391}/cloud_governance/policy/policy_runners/common/__init__.py +0 -0
- {cloud_governance-1.1.389 → cloud_governance-1.1.391}/cloud_governance/policy/policy_runners/common/abstract_policy_runner.py +0 -0
- {cloud_governance-1.1.389 → cloud_governance-1.1.391}/cloud_governance/policy/policy_runners/common/abstract_upload.py +0 -0
- {cloud_governance-1.1.389 → cloud_governance-1.1.391}/cloud_governance/policy/policy_runners/common_policy_runner.py +0 -0
- {cloud_governance-1.1.389 → cloud_governance-1.1.391}/cloud_governance/policy/policy_runners/elasticsearch/__init__.py +0 -0
- {cloud_governance-1.1.389 → cloud_governance-1.1.391}/cloud_governance/policy/policy_runners/elasticsearch/upload_elastic_search.py +0 -0
- {cloud_governance-1.1.389 → cloud_governance-1.1.391}/cloud_governance/policy/policy_runners/ibm/__init__.py +0 -0
- {cloud_governance-1.1.389 → cloud_governance-1.1.391}/cloud_governance/policy/policy_runners/ibm/policy_runner.py +0 -0
- {cloud_governance-1.1.389 → cloud_governance-1.1.391}/cloud_governance.egg-info/SOURCES.txt +0 -0
- {cloud_governance-1.1.389 → cloud_governance-1.1.391}/cloud_governance.egg-info/dependency_links.txt +0 -0
- {cloud_governance-1.1.389 → cloud_governance-1.1.391}/cloud_governance.egg-info/not-zip-safe +0 -0
- {cloud_governance-1.1.389 → cloud_governance-1.1.391}/cloud_governance.egg-info/requires.txt +0 -0
- {cloud_governance-1.1.389 → cloud_governance-1.1.391}/cloud_governance.egg-info/top_level.txt +0 -0
- {cloud_governance-1.1.389 → cloud_governance-1.1.391}/setup.cfg +0 -0
|
@@ -318,3 +318,47 @@ class IAMOperations:
|
|
|
318
318
|
logger.info(f"Access key '{access_key_id}' is already inactive for user '{username}'")
|
|
319
319
|
|
|
320
320
|
logger.info(f"Access key deactivation processed for user '{username}'.")
|
|
321
|
+
|
|
322
|
+
def get_instance_profiles_for_role(self, role_name: str):
|
|
323
|
+
"""
|
|
324
|
+
This method returns instance profiles associated with a given IAM role.
|
|
325
|
+
:param role_name: The name of the IAM role.
|
|
326
|
+
:return: A list of instance profiles.
|
|
327
|
+
"""
|
|
328
|
+
instance_profiles = []
|
|
329
|
+
try:
|
|
330
|
+
# list_instance_profiles_for_role is paginated, use Utils to handle pagination
|
|
331
|
+
instance_profiles = self.utils.get_details_resource_list(
|
|
332
|
+
func_name=self.iam_client.list_instance_profiles_for_role,
|
|
333
|
+
input_tag='InstanceProfiles',
|
|
334
|
+
check_tag='Marker',
|
|
335
|
+
RoleName=role_name
|
|
336
|
+
)
|
|
337
|
+
except Exception as err:
|
|
338
|
+
logger.error(f"Failed to list instance profiles for role '{role_name}': {err}")
|
|
339
|
+
return instance_profiles
|
|
340
|
+
|
|
341
|
+
def remove_role_from_instance_profiles(self, role_name: str):
|
|
342
|
+
"""
|
|
343
|
+
This method removes the specified IAM role from all associated instance profiles.
|
|
344
|
+
:param role_name: The name of the role to remove.
|
|
345
|
+
:return: True if removal from all profiles is successful, False otherwise.
|
|
346
|
+
"""
|
|
347
|
+
instance_profiles = self.get_instance_profiles_for_role(role_name=role_name)
|
|
348
|
+
if not instance_profiles:
|
|
349
|
+
return True
|
|
350
|
+
|
|
351
|
+
success = True
|
|
352
|
+
for ip in instance_profiles:
|
|
353
|
+
instance_profile_name = ip.get('InstanceProfileName')
|
|
354
|
+
try:
|
|
355
|
+
self.iam_client.remove_role_from_instance_profile(
|
|
356
|
+
InstanceProfileName=instance_profile_name,
|
|
357
|
+
RoleName=role_name
|
|
358
|
+
)
|
|
359
|
+
logger.info(f"Successfully removed role '{role_name}' from instance profile '{instance_profile_name}'")
|
|
360
|
+
except Exception as err:
|
|
361
|
+
logger.error(
|
|
362
|
+
f"Failed to remove role '{role_name}' from instance profile '{instance_profile_name}': {err}")
|
|
363
|
+
success = False
|
|
364
|
+
return success
|
{cloud_governance-1.1.389 → cloud_governance-1.1.391}/cloud_governance/policy/aws/empty_roles.py
RENAMED
|
@@ -15,7 +15,7 @@ class EmptyRoles(AWSPolicyOperations):
|
|
|
15
15
|
|
|
16
16
|
def run_policy_operations(self):
|
|
17
17
|
"""
|
|
18
|
-
This method returns all Empty
|
|
18
|
+
This method returns all Empty roles.
|
|
19
19
|
:return:
|
|
20
20
|
:rtype:
|
|
21
21
|
"""
|
|
@@ -33,7 +33,33 @@ class EmptyRoles(AWSPolicyOperations):
|
|
|
33
33
|
try:
|
|
34
34
|
if not cluster_tag and len(inline_policies) == 0 and len(attached_policies) == 0 and \
|
|
35
35
|
self.get_skip_policy_value(tags=tags) not in ('NOTDELETE', 'SKIP'):
|
|
36
|
+
|
|
36
37
|
cleanup_days = self.get_clean_up_days_count(tags=tags)
|
|
38
|
+
# Step 1: Remove role from all instance profiles if attached (for empty roles)
|
|
39
|
+
instance_profiles = self._iam_operations.get_instance_profiles_for_role(role_name=role_name)
|
|
40
|
+
detachment_success = True
|
|
41
|
+
if instance_profiles:
|
|
42
|
+
logger.info(
|
|
43
|
+
f"Role '{role_name}' is empty (no policies) but attached to instance profile(s): "
|
|
44
|
+
f"{[ip['InstanceProfileName'] for ip in instance_profiles]}. Detaching now...")
|
|
45
|
+
|
|
46
|
+
# Call the new method to handle detachment if dry_run = 'no'
|
|
47
|
+
if self._dry_run == 'no':
|
|
48
|
+
detachment_success = self._iam_operations.remove_role_from_instance_profiles(
|
|
49
|
+
role_name=role_name)
|
|
50
|
+
logger.warning(f"LIVE RUN: Detachment attempted. Success: {detachment_success}")
|
|
51
|
+
else:
|
|
52
|
+
logger.info(f"DRY RUN: Skipping actual detachment of role '{role_name}'.")
|
|
53
|
+
|
|
54
|
+
if not detachment_success:
|
|
55
|
+
# Skip deletion if detachment failed
|
|
56
|
+
logger.info(
|
|
57
|
+
f"Failed to detach role '{role_name}' from all instance profiles. Skipping deletion.")
|
|
58
|
+
self.update_resource_day_count_tag(resource_id=role_name, cleanup_days=cleanup_days,
|
|
59
|
+
tags=tags)
|
|
60
|
+
continue
|
|
61
|
+
|
|
62
|
+
# Step 2: Proceed with deletion
|
|
37
63
|
cleanup_result = self.verify_and_delete_resource(resource_id=role_name, tags=tags,
|
|
38
64
|
clean_up_days=cleanup_days)
|
|
39
65
|
resource_data = self._get_es_schema(resource_id=role_name,
|
|
@@ -50,8 +76,10 @@ class EmptyRoles(AWSPolicyOperations):
|
|
|
50
76
|
resource_state="Empty",
|
|
51
77
|
unit_price=0)
|
|
52
78
|
empty_roles.append(resource_data)
|
|
79
|
+
|
|
53
80
|
if not cleanup_result:
|
|
54
81
|
self.update_resource_day_count_tag(resource_id=role_name, cleanup_days=cleanup_days, tags=tags)
|
|
82
|
+
|
|
55
83
|
except Exception as e:
|
|
56
84
|
logger.error(f'Exception raised while processing the empty roles operation on {role_name}, {e}')
|
|
57
85
|
return empty_roles
|
|
@@ -269,7 +269,19 @@ class DeleteEC2Resources:
|
|
|
269
269
|
if ip_permission.get('UserIdGroupPairs'):
|
|
270
270
|
for user_id_group_pair in ip_permission.get('UserIdGroupPairs'):
|
|
271
271
|
if user_id_group_pair.get('GroupId') == resource_id:
|
|
272
|
-
ingress_rule = {
|
|
272
|
+
ingress_rule = {
|
|
273
|
+
'IpProtocol': ip_permission.get('IpProtocol'),
|
|
274
|
+
'IpRanges': ip_permission.get('IpRanges'),
|
|
275
|
+
'Ipv6Ranges': ip_permission.get('Ipv6Ranges'),
|
|
276
|
+
'PrefixListIds': ip_permission.get('PrefixListIds'),
|
|
277
|
+
'UserIdGroupPairs': [user_id_group_pair]
|
|
278
|
+
}
|
|
279
|
+
from_port = ip_permission.get('FromPort')
|
|
280
|
+
to_port = ip_permission.get('ToPort')
|
|
281
|
+
if from_port is not None:
|
|
282
|
+
ingress_rule['FromPort'] = from_port
|
|
283
|
+
if to_port is not None:
|
|
284
|
+
ingress_rule['ToPort'] = to_port
|
|
273
285
|
self.client.revoke_security_group_ingress(GroupId=vpc_security_group.get('GroupId'), IpPermissions=[ingress_rule])
|
|
274
286
|
logger.info(f'Removed the Ingress rules of Security Group {vpc_security_group.get("GroupId")} :: {ingress_rule}')
|
|
275
287
|
else:
|
|
@@ -281,7 +293,13 @@ class DeleteEC2Resources:
|
|
|
281
293
|
if ip_permission.get('UserIdGroupPairs'):
|
|
282
294
|
for user_id_group_pair in ip_permission.get('UserIdGroupPairs'):
|
|
283
295
|
if user_id_group_pair.get('GroupId') == resource_id:
|
|
284
|
-
|
|
296
|
+
cleaned_ip_permission = {k: v for k, v in ip_permission.items() if
|
|
297
|
+
v is not None}
|
|
298
|
+
cleaned_ip_permission['UserIdGroupPairs'] = [user_id_group_pair]
|
|
299
|
+
|
|
300
|
+
self.client.revoke_security_group_ingress(
|
|
301
|
+
GroupId=vpc_security_group.get('GroupId'),
|
|
302
|
+
IpPermissions=[cleaned_ip_permission])
|
|
285
303
|
logger.info(f'Removed the Ingress rules of Security Group {resource_id} from {vpc_security_group.get("GroupId")}')
|
|
286
304
|
network_interfaces = self.ec2_operations.get_network_interface()
|
|
287
305
|
network_interface_ids = self.__get_cluster_references(resource_id=vpc_id, resource_list=network_interfaces,
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{cloud_governance-1.1.389 → cloud_governance-1.1.391}/cloud_governance/common/clouds/__init__.py
RENAMED
|
File without changes
|
{cloud_governance-1.1.389 → cloud_governance-1.1.391}/cloud_governance/common/clouds/aws/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
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
|
{cloud_governance-1.1.389 → cloud_governance-1.1.391}/cloud_governance/common/clouds/gcp/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
{cloud_governance-1.1.389 → cloud_governance-1.1.391}/cloud_governance/common/clouds/ibm/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{cloud_governance-1.1.389 → cloud_governance-1.1.391}/cloud_governance/common/jira/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{cloud_governance-1.1.389 → cloud_governance-1.1.391}/cloud_governance/common/ldap/__init__.py
RENAMED
|
File without changes
|
{cloud_governance-1.1.389 → cloud_governance-1.1.391}/cloud_governance/common/ldap/ldap_search.py
RENAMED
|
File without changes
|
{cloud_governance-1.1.389 → cloud_governance-1.1.391}/cloud_governance/common/logger/__init__.py
RENAMED
|
File without changes
|
{cloud_governance-1.1.389 → cloud_governance-1.1.391}/cloud_governance/common/logger/init_logger.py
RENAMED
|
File without changes
|
|
File without changes
|
{cloud_governance-1.1.389 → cloud_governance-1.1.391}/cloud_governance/common/mails/__init__.py
RENAMED
|
File without changes
|
{cloud_governance-1.1.389 → cloud_governance-1.1.391}/cloud_governance/common/mails/gmail.py
RENAMED
|
File without changes
|
{cloud_governance-1.1.389 → cloud_governance-1.1.391}/cloud_governance/common/mails/mail_message.py
RENAMED
|
File without changes
|
{cloud_governance-1.1.389 → cloud_governance-1.1.391}/cloud_governance/common/mails/postfix.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{cloud_governance-1.1.389 → cloud_governance-1.1.391}/cloud_governance/common/pandas/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
{cloud_governance-1.1.389 → cloud_governance-1.1.391}/cloud_governance/common/tool/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
{cloud_governance-1.1.389 → cloud_governance-1.1.391}/cloud_governance/common/utils/__init__.py
RENAMED
|
File without changes
|
{cloud_governance-1.1.389 → cloud_governance-1.1.391}/cloud_governance/common/utils/api_requests.py
RENAMED
|
File without changes
|
{cloud_governance-1.1.389 → cloud_governance-1.1.391}/cloud_governance/common/utils/configs.py
RENAMED
|
File without changes
|
|
File without changes
|
{cloud_governance-1.1.389 → cloud_governance-1.1.391}/cloud_governance/common/utils/utils.py
RENAMED
|
File without changes
|
|
File without changes
|
{cloud_governance-1.1.389 → cloud_governance-1.1.391}/cloud_governance/main/environment_variables.py
RENAMED
|
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
|
{cloud_governance-1.1.389 → cloud_governance-1.1.391}/cloud_governance/policy/aws/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|