cloud-governance 1.1.388__tar.gz → 1.1.390__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.
Files changed (279) hide show
  1. {cloud_governance-1.1.388/cloud_governance.egg-info → cloud_governance-1.1.390}/PKG-INFO +1 -1
  2. {cloud_governance-1.1.388 → cloud_governance-1.1.390}/cloud_governance/common/clouds/aws/iam/iam_operations.py +44 -0
  3. {cloud_governance-1.1.388 → cloud_governance-1.1.390}/cloud_governance/policy/aws/empty_roles.py +29 -1
  4. {cloud_governance-1.1.388 → cloud_governance-1.1.390/cloud_governance.egg-info}/PKG-INFO +1 -1
  5. {cloud_governance-1.1.388 → cloud_governance-1.1.390}/setup.py +1 -1
  6. {cloud_governance-1.1.388 → cloud_governance-1.1.390}/LICENSE +0 -0
  7. {cloud_governance-1.1.388 → cloud_governance-1.1.390}/MANIFEST.in +0 -0
  8. {cloud_governance-1.1.388 → cloud_governance-1.1.390}/README.md +0 -0
  9. {cloud_governance-1.1.388 → cloud_governance-1.1.390}/cloud_governance/__init__.py +0 -0
  10. {cloud_governance-1.1.388 → cloud_governance-1.1.390}/cloud_governance/cloud_resource_orchestration/__init__.py +0 -0
  11. {cloud_governance-1.1.388 → cloud_governance-1.1.390}/cloud_governance/cloud_resource_orchestration/clouds/__init__.py +0 -0
  12. {cloud_governance-1.1.388 → cloud_governance-1.1.390}/cloud_governance/cloud_resource_orchestration/clouds/aws/__init__.py +0 -0
  13. {cloud_governance-1.1.388 → cloud_governance-1.1.390}/cloud_governance/cloud_resource_orchestration/clouds/aws/ec2/__init__.py +0 -0
  14. {cloud_governance-1.1.388 → cloud_governance-1.1.390}/cloud_governance/cloud_resource_orchestration/clouds/aws/ec2/aws_monitor_tickets.py +0 -0
  15. {cloud_governance-1.1.388 → cloud_governance-1.1.390}/cloud_governance/cloud_resource_orchestration/clouds/aws/ec2/aws_tagging_operations.py +0 -0
  16. {cloud_governance-1.1.388 → cloud_governance-1.1.390}/cloud_governance/cloud_resource_orchestration/clouds/aws/ec2/collect_cro_reports.py +0 -0
  17. {cloud_governance-1.1.388 → cloud_governance-1.1.390}/cloud_governance/cloud_resource_orchestration/clouds/aws/ec2/cost_over_usage.py +0 -0
  18. {cloud_governance-1.1.388 → cloud_governance-1.1.390}/cloud_governance/cloud_resource_orchestration/clouds/aws/ec2/monitor_cro_instances.py +0 -0
  19. {cloud_governance-1.1.388 → cloud_governance-1.1.390}/cloud_governance/cloud_resource_orchestration/clouds/aws/ec2/run_cro.py +0 -0
  20. {cloud_governance-1.1.388 → cloud_governance-1.1.390}/cloud_governance/cloud_resource_orchestration/clouds/aws/ec2/tag_cro_instances.py +0 -0
  21. {cloud_governance-1.1.388 → cloud_governance-1.1.390}/cloud_governance/cloud_resource_orchestration/clouds/azure/__init__.py +0 -0
  22. {cloud_governance-1.1.388 → cloud_governance-1.1.390}/cloud_governance/cloud_resource_orchestration/clouds/azure/resource_groups/__init__.py +0 -0
  23. {cloud_governance-1.1.388 → cloud_governance-1.1.390}/cloud_governance/cloud_resource_orchestration/clouds/azure/resource_groups/abstract_resource.py +0 -0
  24. {cloud_governance-1.1.388 → cloud_governance-1.1.390}/cloud_governance/cloud_resource_orchestration/clouds/azure/resource_groups/azure_monitor_tickets.py +0 -0
  25. {cloud_governance-1.1.388 → cloud_governance-1.1.390}/cloud_governance/cloud_resource_orchestration/clouds/azure/resource_groups/azure_tagging_operations.py +0 -0
  26. {cloud_governance-1.1.388 → cloud_governance-1.1.390}/cloud_governance/cloud_resource_orchestration/clouds/azure/resource_groups/collect_cro_reports.py +0 -0
  27. {cloud_governance-1.1.388 → cloud_governance-1.1.390}/cloud_governance/cloud_resource_orchestration/clouds/azure/resource_groups/cost_over_usage.py +0 -0
  28. {cloud_governance-1.1.388 → cloud_governance-1.1.390}/cloud_governance/cloud_resource_orchestration/clouds/azure/resource_groups/monitor_cro_resources.py +0 -0
  29. {cloud_governance-1.1.388 → cloud_governance-1.1.390}/cloud_governance/cloud_resource_orchestration/clouds/azure/resource_groups/tag_cro_resources.py +0 -0
  30. {cloud_governance-1.1.388 → cloud_governance-1.1.390}/cloud_governance/cloud_resource_orchestration/clouds/common/__init__.py +0 -0
  31. {cloud_governance-1.1.388 → cloud_governance-1.1.390}/cloud_governance/cloud_resource_orchestration/clouds/common/abstract_collect_cro_reports.py +0 -0
  32. {cloud_governance-1.1.388 → cloud_governance-1.1.390}/cloud_governance/cloud_resource_orchestration/clouds/common/abstract_cost_over_usage.py +0 -0
  33. {cloud_governance-1.1.388 → cloud_governance-1.1.390}/cloud_governance/cloud_resource_orchestration/clouds/common/abstract_tagging_operations.py +0 -0
  34. {cloud_governance-1.1.388 → cloud_governance-1.1.390}/cloud_governance/cloud_resource_orchestration/common/__init__.py +0 -0
  35. {cloud_governance-1.1.388 → cloud_governance-1.1.390}/cloud_governance/cloud_resource_orchestration/common/abstract_monitor_tickets.py +0 -0
  36. {cloud_governance-1.1.388 → cloud_governance-1.1.390}/cloud_governance/cloud_resource_orchestration/common/cro_object.py +0 -0
  37. {cloud_governance-1.1.388 → cloud_governance-1.1.390}/cloud_governance/cloud_resource_orchestration/common/run_cro.py +0 -0
  38. {cloud_governance-1.1.388 → cloud_governance-1.1.390}/cloud_governance/cloud_resource_orchestration/monitor/__init__.py +0 -0
  39. {cloud_governance-1.1.388 → cloud_governance-1.1.390}/cloud_governance/cloud_resource_orchestration/monitor/cloud_monitor.py +0 -0
  40. {cloud_governance-1.1.388 → cloud_governance-1.1.390}/cloud_governance/cloud_resource_orchestration/utils/__init__.py +0 -0
  41. {cloud_governance-1.1.388 → cloud_governance-1.1.390}/cloud_governance/cloud_resource_orchestration/utils/common_operations.py +0 -0
  42. {cloud_governance-1.1.388 → cloud_governance-1.1.390}/cloud_governance/cloud_resource_orchestration/utils/constant_variables.py +0 -0
  43. {cloud_governance-1.1.388 → cloud_governance-1.1.390}/cloud_governance/cloud_resource_orchestration/utils/elastic_search_queries.py +0 -0
  44. {cloud_governance-1.1.388 → cloud_governance-1.1.390}/cloud_governance/common/__init__.py +0 -0
  45. {cloud_governance-1.1.388 → cloud_governance-1.1.390}/cloud_governance/common/clouds/__init__.py +0 -0
  46. {cloud_governance-1.1.388 → cloud_governance-1.1.390}/cloud_governance/common/clouds/aws/__init__.py +0 -0
  47. {cloud_governance-1.1.388 → cloud_governance-1.1.390}/cloud_governance/common/clouds/aws/athena/__init__.py +0 -0
  48. {cloud_governance-1.1.388 → cloud_governance-1.1.390}/cloud_governance/common/clouds/aws/athena/abstract_athena_operations.py +0 -0
  49. {cloud_governance-1.1.388 → cloud_governance-1.1.390}/cloud_governance/common/clouds/aws/athena/boto3_client_athena_operations.py +0 -0
  50. {cloud_governance-1.1.388 → cloud_governance-1.1.390}/cloud_governance/common/clouds/aws/athena/pyathena_operations.py +0 -0
  51. {cloud_governance-1.1.388 → cloud_governance-1.1.390}/cloud_governance/common/clouds/aws/cloudtrail/__init__.py +0 -0
  52. {cloud_governance-1.1.388 → cloud_governance-1.1.390}/cloud_governance/common/clouds/aws/cloudtrail/cloudtrail_operations.py +0 -0
  53. {cloud_governance-1.1.388 → cloud_governance-1.1.390}/cloud_governance/common/clouds/aws/cloudwatch/__init__.py +0 -0
  54. {cloud_governance-1.1.388 → cloud_governance-1.1.390}/cloud_governance/common/clouds/aws/cloudwatch/cloudwatch_operations.py +0 -0
  55. {cloud_governance-1.1.388 → cloud_governance-1.1.390}/cloud_governance/common/clouds/aws/cost_explorer/__init__.py +0 -0
  56. {cloud_governance-1.1.388 → cloud_governance-1.1.390}/cloud_governance/common/clouds/aws/cost_explorer/cost_explorer_operations.py +0 -0
  57. {cloud_governance-1.1.388 → cloud_governance-1.1.390}/cloud_governance/common/clouds/aws/dynamodb/__init__.py +0 -0
  58. {cloud_governance-1.1.388 → cloud_governance-1.1.390}/cloud_governance/common/clouds/aws/dynamodb/dynamodb_operations.py +0 -0
  59. {cloud_governance-1.1.388 → cloud_governance-1.1.390}/cloud_governance/common/clouds/aws/ec2/__init__.py +0 -0
  60. {cloud_governance-1.1.388 → cloud_governance-1.1.390}/cloud_governance/common/clouds/aws/ec2/ec2_operations.py +0 -0
  61. {cloud_governance-1.1.388 → cloud_governance-1.1.390}/cloud_governance/common/clouds/aws/iam/__init__.py +0 -0
  62. {cloud_governance-1.1.388 → cloud_governance-1.1.390}/cloud_governance/common/clouds/aws/price/__init__.py +0 -0
  63. {cloud_governance-1.1.388 → cloud_governance-1.1.390}/cloud_governance/common/clouds/aws/price/price.py +0 -0
  64. {cloud_governance-1.1.388 → cloud_governance-1.1.390}/cloud_governance/common/clouds/aws/price/resources_pricing.py +0 -0
  65. {cloud_governance-1.1.388 → cloud_governance-1.1.390}/cloud_governance/common/clouds/aws/rds/__init__.py +0 -0
  66. {cloud_governance-1.1.388 → cloud_governance-1.1.390}/cloud_governance/common/clouds/aws/rds/rds_operations.py +0 -0
  67. {cloud_governance-1.1.388 → cloud_governance-1.1.390}/cloud_governance/common/clouds/aws/resource_explorer/__init__.py +0 -0
  68. {cloud_governance-1.1.388 → cloud_governance-1.1.390}/cloud_governance/common/clouds/aws/resource_explorer/resource_explorer_operations.py +0 -0
  69. {cloud_governance-1.1.388 → cloud_governance-1.1.390}/cloud_governance/common/clouds/aws/resource_tagging_api/__init__.py +0 -0
  70. {cloud_governance-1.1.388 → cloud_governance-1.1.390}/cloud_governance/common/clouds/aws/resource_tagging_api/resource_tag_api_operations.py +0 -0
  71. {cloud_governance-1.1.388 → cloud_governance-1.1.390}/cloud_governance/common/clouds/aws/s3/__init__.py +0 -0
  72. {cloud_governance-1.1.388 → cloud_governance-1.1.390}/cloud_governance/common/clouds/aws/s3/s3_operations.py +0 -0
  73. {cloud_governance-1.1.388 → cloud_governance-1.1.390}/cloud_governance/common/clouds/aws/savingsplan/__init__.py +0 -0
  74. {cloud_governance-1.1.388 → cloud_governance-1.1.390}/cloud_governance/common/clouds/aws/savingsplan/savings_plans_operations.py +0 -0
  75. {cloud_governance-1.1.388 → cloud_governance-1.1.390}/cloud_governance/common/clouds/aws/sts/__init__.py +0 -0
  76. {cloud_governance-1.1.388 → cloud_governance-1.1.390}/cloud_governance/common/clouds/aws/sts/sts_oprations.py +0 -0
  77. {cloud_governance-1.1.388 → cloud_governance-1.1.390}/cloud_governance/common/clouds/aws/support/__init__.py +0 -0
  78. {cloud_governance-1.1.388 → cloud_governance-1.1.390}/cloud_governance/common/clouds/aws/support/support_operations.py +0 -0
  79. {cloud_governance-1.1.388 → cloud_governance-1.1.390}/cloud_governance/common/clouds/aws/utils/__init__.py +0 -0
  80. {cloud_governance-1.1.388 → cloud_governance-1.1.390}/cloud_governance/common/clouds/aws/utils/common_methods.py +0 -0
  81. {cloud_governance-1.1.388 → cloud_governance-1.1.390}/cloud_governance/common/clouds/aws/utils/utils.py +0 -0
  82. {cloud_governance-1.1.388 → cloud_governance-1.1.390}/cloud_governance/common/clouds/azure/__init__.py +0 -0
  83. {cloud_governance-1.1.388 → cloud_governance-1.1.390}/cloud_governance/common/clouds/azure/common/__init__.py +0 -0
  84. {cloud_governance-1.1.388 → cloud_governance-1.1.390}/cloud_governance/common/clouds/azure/common/common_operations.py +0 -0
  85. {cloud_governance-1.1.388 → cloud_governance-1.1.390}/cloud_governance/common/clouds/azure/compute/__init__.py +0 -0
  86. {cloud_governance-1.1.388 → cloud_governance-1.1.390}/cloud_governance/common/clouds/azure/compute/compute_operations.py +0 -0
  87. {cloud_governance-1.1.388 → cloud_governance-1.1.390}/cloud_governance/common/clouds/azure/compute/network_operations.py +0 -0
  88. {cloud_governance-1.1.388 → cloud_governance-1.1.390}/cloud_governance/common/clouds/azure/compute/resource_group_operations.py +0 -0
  89. {cloud_governance-1.1.388 → cloud_governance-1.1.390}/cloud_governance/common/clouds/azure/cost_management/__init__.py +0 -0
  90. {cloud_governance-1.1.388 → cloud_governance-1.1.390}/cloud_governance/common/clouds/azure/cost_management/cost_management_operations.py +0 -0
  91. {cloud_governance-1.1.388 → cloud_governance-1.1.390}/cloud_governance/common/clouds/azure/monitor/__init__.py +0 -0
  92. {cloud_governance-1.1.388 → cloud_governance-1.1.390}/cloud_governance/common/clouds/azure/monitor/monitor_management_operations.py +0 -0
  93. {cloud_governance-1.1.388 → cloud_governance-1.1.390}/cloud_governance/common/clouds/azure/subscriptions/__init__.py +0 -0
  94. {cloud_governance-1.1.388 → cloud_governance-1.1.390}/cloud_governance/common/clouds/azure/subscriptions/azure_operations.py +0 -0
  95. {cloud_governance-1.1.388 → cloud_governance-1.1.390}/cloud_governance/common/clouds/cloudability/__init__.py +0 -0
  96. {cloud_governance-1.1.388 → cloud_governance-1.1.390}/cloud_governance/common/clouds/cloudability/cloudability_operations.py +0 -0
  97. {cloud_governance-1.1.388 → cloud_governance-1.1.390}/cloud_governance/common/clouds/cloudability/templates/__init__.py +0 -0
  98. {cloud_governance-1.1.388 → cloud_governance-1.1.390}/cloud_governance/common/clouds/cloudability/templates/cloudability_dimensions.py +0 -0
  99. {cloud_governance-1.1.388 → cloud_governance-1.1.390}/cloud_governance/common/clouds/gcp/__init__.py +0 -0
  100. {cloud_governance-1.1.388 → cloud_governance-1.1.390}/cloud_governance/common/clouds/gcp/google_account.py +0 -0
  101. {cloud_governance-1.1.388 → cloud_governance-1.1.390}/cloud_governance/common/clouds/ibm/__init__.py +0 -0
  102. {cloud_governance-1.1.388 → cloud_governance-1.1.390}/cloud_governance/common/clouds/ibm/account/__init__.py +0 -0
  103. {cloud_governance-1.1.388 → cloud_governance-1.1.390}/cloud_governance/common/clouds/ibm/account/ibm_account.py +0 -0
  104. {cloud_governance-1.1.388 → cloud_governance-1.1.390}/cloud_governance/common/clouds/ibm/account/ibm_authenticator.py +0 -0
  105. {cloud_governance-1.1.388 → cloud_governance-1.1.390}/cloud_governance/common/clouds/ibm/classic/__init__.py +0 -0
  106. {cloud_governance-1.1.388 → cloud_governance-1.1.390}/cloud_governance/common/clouds/ibm/classic/classic_operations.py +0 -0
  107. {cloud_governance-1.1.388 → cloud_governance-1.1.390}/cloud_governance/common/clouds/ibm/developer_tools/__init__.py +0 -0
  108. {cloud_governance-1.1.388 → cloud_governance-1.1.390}/cloud_governance/common/clouds/ibm/developer_tools/schematic_operations.py +0 -0
  109. {cloud_governance-1.1.388 → cloud_governance-1.1.390}/cloud_governance/common/clouds/ibm/platform_services/__init__.py +0 -0
  110. {cloud_governance-1.1.388 → cloud_governance-1.1.390}/cloud_governance/common/clouds/ibm/platform_services/platform_service_operations.py +0 -0
  111. {cloud_governance-1.1.388 → cloud_governance-1.1.390}/cloud_governance/common/clouds/ibm/tagging/__init__.py +0 -0
  112. {cloud_governance-1.1.388 → cloud_governance-1.1.390}/cloud_governance/common/clouds/ibm/tagging/global_tagging_operations.py +0 -0
  113. {cloud_governance-1.1.388 → cloud_governance-1.1.390}/cloud_governance/common/clouds/ibm/vpc/__init__.py +0 -0
  114. {cloud_governance-1.1.388 → cloud_governance-1.1.390}/cloud_governance/common/clouds/ibm/vpc/vpc_infra_operations.py +0 -0
  115. {cloud_governance-1.1.388 → cloud_governance-1.1.390}/cloud_governance/common/elasticsearch/__init__.py +0 -0
  116. {cloud_governance-1.1.388 → cloud_governance-1.1.390}/cloud_governance/common/elasticsearch/elastic_upload.py +0 -0
  117. {cloud_governance-1.1.388 → cloud_governance-1.1.390}/cloud_governance/common/elasticsearch/elasticsearch_exceptions.py +0 -0
  118. {cloud_governance-1.1.388 → cloud_governance-1.1.390}/cloud_governance/common/elasticsearch/elasticsearch_operations.py +0 -0
  119. {cloud_governance-1.1.388 → cloud_governance-1.1.390}/cloud_governance/common/elasticsearch/modals/__init__.py +0 -0
  120. {cloud_governance-1.1.388 → cloud_governance-1.1.390}/cloud_governance/common/elasticsearch/modals/cost_usage_reports_data.py +0 -0
  121. {cloud_governance-1.1.388 → cloud_governance-1.1.390}/cloud_governance/common/elasticsearch/modals/policy_es_data.py +0 -0
  122. {cloud_governance-1.1.388 → cloud_governance-1.1.390}/cloud_governance/common/google_drive/__init__.py +0 -0
  123. {cloud_governance-1.1.388 → cloud_governance-1.1.390}/cloud_governance/common/google_drive/gcp_operations.py +0 -0
  124. {cloud_governance-1.1.388 → cloud_governance-1.1.390}/cloud_governance/common/google_drive/google_drive_operations.py +0 -0
  125. {cloud_governance-1.1.388 → cloud_governance-1.1.390}/cloud_governance/common/google_drive/upload_to_gsheet.py +0 -0
  126. {cloud_governance-1.1.388 → cloud_governance-1.1.390}/cloud_governance/common/jira/__init__.py +0 -0
  127. {cloud_governance-1.1.388 → cloud_governance-1.1.390}/cloud_governance/common/jira/jira.py +0 -0
  128. {cloud_governance-1.1.388 → cloud_governance-1.1.390}/cloud_governance/common/jira/jira_exceptions.py +0 -0
  129. {cloud_governance-1.1.388 → cloud_governance-1.1.390}/cloud_governance/common/jira/jira_operations.py +0 -0
  130. {cloud_governance-1.1.388 → cloud_governance-1.1.390}/cloud_governance/common/ldap/__init__.py +0 -0
  131. {cloud_governance-1.1.388 → cloud_governance-1.1.390}/cloud_governance/common/ldap/ldap_search.py +0 -0
  132. {cloud_governance-1.1.388 → cloud_governance-1.1.390}/cloud_governance/common/logger/__init__.py +0 -0
  133. {cloud_governance-1.1.388 → cloud_governance-1.1.390}/cloud_governance/common/logger/init_logger.py +0 -0
  134. {cloud_governance-1.1.388 → cloud_governance-1.1.390}/cloud_governance/common/logger/logger_time_stamp.py +0 -0
  135. {cloud_governance-1.1.388 → cloud_governance-1.1.390}/cloud_governance/common/mails/__init__.py +0 -0
  136. {cloud_governance-1.1.388 → cloud_governance-1.1.390}/cloud_governance/common/mails/gmail.py +0 -0
  137. {cloud_governance-1.1.388 → cloud_governance-1.1.390}/cloud_governance/common/mails/mail_message.py +0 -0
  138. {cloud_governance-1.1.388 → cloud_governance-1.1.390}/cloud_governance/common/mails/postfix.py +0 -0
  139. {cloud_governance-1.1.388 → cloud_governance-1.1.390}/cloud_governance/common/mails/templates/cro_monitor_budget_remain_alert.j2 +0 -0
  140. {cloud_governance-1.1.388 → cloud_governance-1.1.390}/cloud_governance/common/mails/templates/cro_monitor_budget_remain_high_alert.j2 +0 -0
  141. {cloud_governance-1.1.388 → cloud_governance-1.1.390}/cloud_governance/common/mails/templates/cro_request_for_manager_approval.j2 +0 -0
  142. {cloud_governance-1.1.388 → cloud_governance-1.1.390}/cloud_governance/common/mails/templates/policy_alert_agg_message.j2 +0 -0
  143. {cloud_governance-1.1.388 → cloud_governance-1.1.390}/cloud_governance/common/pandas/__init__.py +0 -0
  144. {cloud_governance-1.1.388 → cloud_governance-1.1.390}/cloud_governance/common/pandas/pandas_operations.py +0 -0
  145. {cloud_governance-1.1.388 → cloud_governance-1.1.390}/cloud_governance/common/tool/__init__.py +0 -0
  146. {cloud_governance-1.1.388 → cloud_governance-1.1.390}/cloud_governance/common/tool/tool.py +0 -0
  147. {cloud_governance-1.1.388 → cloud_governance-1.1.390}/cloud_governance/common/utils/__init__.py +0 -0
  148. {cloud_governance-1.1.388 → cloud_governance-1.1.390}/cloud_governance/common/utils/api_requests.py +0 -0
  149. {cloud_governance-1.1.388 → cloud_governance-1.1.390}/cloud_governance/common/utils/configs.py +0 -0
  150. {cloud_governance-1.1.388 → cloud_governance-1.1.390}/cloud_governance/common/utils/json_datetime_encoder.py +0 -0
  151. {cloud_governance-1.1.388 → cloud_governance-1.1.390}/cloud_governance/common/utils/utils.py +0 -0
  152. {cloud_governance-1.1.388 → cloud_governance-1.1.390}/cloud_governance/main/__init__.py +0 -0
  153. {cloud_governance-1.1.388 → cloud_governance-1.1.390}/cloud_governance/main/environment_variables.py +0 -0
  154. {cloud_governance-1.1.388 → cloud_governance-1.1.390}/cloud_governance/main/environment_variables_exceptions.py +0 -0
  155. {cloud_governance-1.1.388 → cloud_governance-1.1.390}/cloud_governance/main/es_uploader.py +0 -0
  156. {cloud_governance-1.1.388 → cloud_governance-1.1.390}/cloud_governance/main/main.py +0 -0
  157. {cloud_governance-1.1.388 → cloud_governance-1.1.390}/cloud_governance/main/main_common_operations.py +0 -0
  158. {cloud_governance-1.1.388 → cloud_governance-1.1.390}/cloud_governance/main/main_oerations/__init__.py +0 -0
  159. {cloud_governance-1.1.388 → cloud_governance-1.1.390}/cloud_governance/main/main_oerations/main_operations.py +0 -0
  160. {cloud_governance-1.1.388 → cloud_governance-1.1.390}/cloud_governance/main/run_cloud_resource_orchestration.py +0 -0
  161. {cloud_governance-1.1.388 → cloud_governance-1.1.390}/cloud_governance/policy/__init__.py +0 -0
  162. {cloud_governance-1.1.388 → cloud_governance-1.1.390}/cloud_governance/policy/aws/__init__.py +0 -0
  163. {cloud_governance-1.1.388 → cloud_governance-1.1.390}/cloud_governance/policy/aws/cleanup/__init__.py +0 -0
  164. {cloud_governance-1.1.388 → cloud_governance-1.1.390}/cloud_governance/policy/aws/cleanup/database_idle.py +0 -0
  165. {cloud_governance-1.1.388 → cloud_governance-1.1.390}/cloud_governance/policy/aws/cleanup/instance_idle.py +0 -0
  166. {cloud_governance-1.1.388 → cloud_governance-1.1.390}/cloud_governance/policy/aws/cleanup/instance_run.py +0 -0
  167. {cloud_governance-1.1.388 → cloud_governance-1.1.390}/cloud_governance/policy/aws/cleanup/unattached_volume.py +0 -0
  168. {cloud_governance-1.1.388 → cloud_governance-1.1.390}/cloud_governance/policy/aws/cleanup/unused_nat_gateway.py +0 -0
  169. {cloud_governance-1.1.388 → cloud_governance-1.1.390}/cloud_governance/policy/aws/cost_billing_reports.py +0 -0
  170. {cloud_governance-1.1.388 → cloud_governance-1.1.390}/cloud_governance/policy/aws/cost_explorer.py +0 -0
  171. {cloud_governance-1.1.388 → cloud_governance-1.1.390}/cloud_governance/policy/aws/cost_explorer_payer_billings.py +0 -0
  172. {cloud_governance-1.1.388 → cloud_governance-1.1.390}/cloud_governance/policy/aws/cost_over_usage.py +0 -0
  173. {cloud_governance-1.1.388 → cloud_governance-1.1.390}/cloud_governance/policy/aws/ebs_in_use.py +0 -0
  174. {cloud_governance-1.1.388 → cloud_governance-1.1.390}/cloud_governance/policy/aws/ec2_stop.py +0 -0
  175. {cloud_governance-1.1.388 → cloud_governance-1.1.390}/cloud_governance/policy/aws/ip_unattached.py +0 -0
  176. {cloud_governance-1.1.388 → cloud_governance-1.1.390}/cloud_governance/policy/aws/monitor/__init__.py +0 -0
  177. {cloud_governance-1.1.388 → cloud_governance-1.1.390}/cloud_governance/policy/aws/monitor/cluster_run.py +0 -0
  178. {cloud_governance-1.1.388 → cloud_governance-1.1.390}/cloud_governance/policy/aws/monthly_report.py +0 -0
  179. {cloud_governance-1.1.388 → cloud_governance-1.1.390}/cloud_governance/policy/aws/optimize_resources_report.py +0 -0
  180. {cloud_governance-1.1.388 → cloud_governance-1.1.390}/cloud_governance/policy/aws/s3_inactive.py +0 -0
  181. {cloud_governance-1.1.388 → cloud_governance-1.1.390}/cloud_governance/policy/aws/skipped_resources.py +0 -0
  182. {cloud_governance-1.1.388 → cloud_governance-1.1.390}/cloud_governance/policy/aws/spot_savings_analysis.py +0 -0
  183. {cloud_governance-1.1.388 → cloud_governance-1.1.390}/cloud_governance/policy/aws/unused_access_key.py +0 -0
  184. {cloud_governance-1.1.388 → cloud_governance-1.1.390}/cloud_governance/policy/aws/zombie_cluster_resource.py +0 -0
  185. {cloud_governance-1.1.388 → cloud_governance-1.1.390}/cloud_governance/policy/aws/zombie_snapshots.py +0 -0
  186. {cloud_governance-1.1.388 → cloud_governance-1.1.390}/cloud_governance/policy/azure/__init__.py +0 -0
  187. {cloud_governance-1.1.388 → cloud_governance-1.1.390}/cloud_governance/policy/azure/cleanup/__init__.py +0 -0
  188. {cloud_governance-1.1.388 → cloud_governance-1.1.390}/cloud_governance/policy/azure/cleanup/instance_idle.py +0 -0
  189. {cloud_governance-1.1.388 → cloud_governance-1.1.390}/cloud_governance/policy/azure/cleanup/instance_run.py +0 -0
  190. {cloud_governance-1.1.388 → cloud_governance-1.1.390}/cloud_governance/policy/azure/cleanup/ip_unattached.py +0 -0
  191. {cloud_governance-1.1.388 → cloud_governance-1.1.390}/cloud_governance/policy/azure/cleanup/unattached_volume.py +0 -0
  192. {cloud_governance-1.1.388 → cloud_governance-1.1.390}/cloud_governance/policy/azure/cleanup/unused_nat_gateway.py +0 -0
  193. {cloud_governance-1.1.388 → cloud_governance-1.1.390}/cloud_governance/policy/azure/cost_billing_reports.py +0 -0
  194. {cloud_governance-1.1.388 → cloud_governance-1.1.390}/cloud_governance/policy/azure/tag_azure_resource_group.py +0 -0
  195. {cloud_governance-1.1.388 → cloud_governance-1.1.390}/cloud_governance/policy/common_policies/__init__.py +0 -0
  196. {cloud_governance-1.1.388 → cloud_governance-1.1.390}/cloud_governance/policy/common_policies/cloudability_cost_reports.py +0 -0
  197. {cloud_governance-1.1.388 → cloud_governance-1.1.390}/cloud_governance/policy/common_policies/send_aggregated_alerts.py +0 -0
  198. {cloud_governance-1.1.388 → cloud_governance-1.1.390}/cloud_governance/policy/gcp/__init__.py +0 -0
  199. {cloud_governance-1.1.388 → cloud_governance-1.1.390}/cloud_governance/policy/gcp/cost_billing_reports.py +0 -0
  200. {cloud_governance-1.1.388 → cloud_governance-1.1.390}/cloud_governance/policy/helpers/__init__.py +0 -0
  201. {cloud_governance-1.1.388 → cloud_governance-1.1.390}/cloud_governance/policy/helpers/abstract_policy_operations.py +0 -0
  202. {cloud_governance-1.1.388 → cloud_governance-1.1.390}/cloud_governance/policy/helpers/aws/__init__.py +0 -0
  203. {cloud_governance-1.1.388 → cloud_governance-1.1.390}/cloud_governance/policy/helpers/aws/aws_policy_operations.py +0 -0
  204. {cloud_governance-1.1.388 → cloud_governance-1.1.390}/cloud_governance/policy/helpers/azure/__init__.py +0 -0
  205. {cloud_governance-1.1.388 → cloud_governance-1.1.390}/cloud_governance/policy/helpers/azure/azure_policy_operations.py +0 -0
  206. {cloud_governance-1.1.388 → cloud_governance-1.1.390}/cloud_governance/policy/helpers/cloudability_operations.py +0 -0
  207. {cloud_governance-1.1.388 → cloud_governance-1.1.390}/cloud_governance/policy/ibm/__init__.py +0 -0
  208. {cloud_governance-1.1.388 → cloud_governance-1.1.390}/cloud_governance/policy/ibm/cost_billing_reports.py +0 -0
  209. {cloud_governance-1.1.388 → cloud_governance-1.1.390}/cloud_governance/policy/ibm/cost_usage_reports.py +0 -0
  210. {cloud_governance-1.1.388 → cloud_governance-1.1.390}/cloud_governance/policy/ibm/ibm_cost_over_usage.py +0 -0
  211. {cloud_governance-1.1.388 → cloud_governance-1.1.390}/cloud_governance/policy/ibm/ibm_cost_report.py +0 -0
  212. {cloud_governance-1.1.388 → cloud_governance-1.1.390}/cloud_governance/policy/ibm/tag_baremetal.py +0 -0
  213. {cloud_governance-1.1.388 → cloud_governance-1.1.390}/cloud_governance/policy/ibm/tag_resources.py +0 -0
  214. {cloud_governance-1.1.388 → cloud_governance-1.1.390}/cloud_governance/policy/ibm/tag_vm.py +0 -0
  215. {cloud_governance-1.1.388 → cloud_governance-1.1.390}/cloud_governance/policy/policy_operations/__init__.py +0 -0
  216. {cloud_governance-1.1.388 → cloud_governance-1.1.390}/cloud_governance/policy/policy_operations/aws/__init__.py +0 -0
  217. {cloud_governance-1.1.388 → cloud_governance-1.1.390}/cloud_governance/policy/policy_operations/aws/cost_expenditure/__init__.py +0 -0
  218. {cloud_governance-1.1.388 → cloud_governance-1.1.390}/cloud_governance/policy/policy_operations/aws/cost_expenditure/cost_report_policies.py +0 -0
  219. {cloud_governance-1.1.388 → cloud_governance-1.1.390}/cloud_governance/policy/policy_operations/aws/dynamodb_upload_data/__init__.py +0 -0
  220. {cloud_governance-1.1.388 → cloud_governance-1.1.390}/cloud_governance/policy/policy_operations/aws/dynamodb_upload_data/cloudtrail_to_dynamodb.py +0 -0
  221. {cloud_governance-1.1.388 → cloud_governance-1.1.390}/cloud_governance/policy/policy_operations/aws/dynamodb_upload_data/upload_data_to_dynamodb.py +0 -0
  222. {cloud_governance-1.1.388 → cloud_governance-1.1.390}/cloud_governance/policy/policy_operations/aws/tag_cluster/__init__.py +0 -0
  223. {cloud_governance-1.1.388 → cloud_governance-1.1.390}/cloud_governance/policy/policy_operations/aws/tag_cluster/remove_cluster_tags.py +0 -0
  224. {cloud_governance-1.1.388 → cloud_governance-1.1.390}/cloud_governance/policy/policy_operations/aws/tag_cluster/run_tag_cluster_resouces.py +0 -0
  225. {cloud_governance-1.1.388 → cloud_governance-1.1.390}/cloud_governance/policy/policy_operations/aws/tag_cluster/tag_cluster_operations.py +0 -0
  226. {cloud_governance-1.1.388 → cloud_governance-1.1.390}/cloud_governance/policy/policy_operations/aws/tag_cluster/tag_cluster_resouces.py +0 -0
  227. {cloud_governance-1.1.388 → cloud_governance-1.1.390}/cloud_governance/policy/policy_operations/aws/tag_non_cluster/__init__.py +0 -0
  228. {cloud_governance-1.1.388 → cloud_governance-1.1.390}/cloud_governance/policy/policy_operations/aws/tag_non_cluster/non_cluster_operations.py +0 -0
  229. {cloud_governance-1.1.388 → cloud_governance-1.1.390}/cloud_governance/policy/policy_operations/aws/tag_non_cluster/remove_non_cluster_tags.py +0 -0
  230. {cloud_governance-1.1.388 → cloud_governance-1.1.390}/cloud_governance/policy/policy_operations/aws/tag_non_cluster/run_tag_non_cluster_resources.py +0 -0
  231. {cloud_governance-1.1.388 → cloud_governance-1.1.390}/cloud_governance/policy/policy_operations/aws/tag_non_cluster/tag_non_cluster_resources.py +0 -0
  232. {cloud_governance-1.1.388 → cloud_governance-1.1.390}/cloud_governance/policy/policy_operations/aws/tag_non_cluster/update_na_tag_resources.py +0 -0
  233. {cloud_governance-1.1.388 → cloud_governance-1.1.390}/cloud_governance/policy/policy_operations/aws/tag_user/__init__.py +0 -0
  234. {cloud_governance-1.1.388 → cloud_governance-1.1.390}/cloud_governance/policy/policy_operations/aws/tag_user/iam_user_tags.py +0 -0
  235. {cloud_governance-1.1.388 → cloud_governance-1.1.390}/cloud_governance/policy/policy_operations/aws/tag_user/remove_user_tags.py +0 -0
  236. {cloud_governance-1.1.388 → cloud_governance-1.1.390}/cloud_governance/policy/policy_operations/aws/tag_user/run_tag_iam_user.py +0 -0
  237. {cloud_governance-1.1.388 → cloud_governance-1.1.390}/cloud_governance/policy/policy_operations/aws/tag_user/tag_iam_user.py +0 -0
  238. {cloud_governance-1.1.388 → cloud_governance-1.1.390}/cloud_governance/policy/policy_operations/aws/zombie_cluster/__init__.py +0 -0
  239. {cloud_governance-1.1.388 → cloud_governance-1.1.390}/cloud_governance/policy/policy_operations/aws/zombie_cluster/delete_ec2_resources.py +0 -0
  240. {cloud_governance-1.1.388 → cloud_governance-1.1.390}/cloud_governance/policy/policy_operations/aws/zombie_cluster/delete_iam_resources.py +0 -0
  241. {cloud_governance-1.1.388 → cloud_governance-1.1.390}/cloud_governance/policy/policy_operations/aws/zombie_cluster/delete_s3_resources.py +0 -0
  242. {cloud_governance-1.1.388 → cloud_governance-1.1.390}/cloud_governance/policy/policy_operations/aws/zombie_cluster/run_zombie_cluster_resources.py +0 -0
  243. {cloud_governance-1.1.388 → cloud_governance-1.1.390}/cloud_governance/policy/policy_operations/aws/zombie_cluster/validate_zombies.py +0 -0
  244. {cloud_governance-1.1.388 → cloud_governance-1.1.390}/cloud_governance/policy/policy_operations/aws/zombie_cluster/zombie_cluster_common_methods.py +0 -0
  245. {cloud_governance-1.1.388 → cloud_governance-1.1.390}/cloud_governance/policy/policy_operations/aws/zombie_non_cluster/__init__.py +0 -0
  246. {cloud_governance-1.1.388 → cloud_governance-1.1.390}/cloud_governance/policy/policy_operations/aws/zombie_non_cluster/run_zombie_non_cluster_policies.py +0 -0
  247. {cloud_governance-1.1.388 → cloud_governance-1.1.390}/cloud_governance/policy/policy_operations/aws/zombie_non_cluster/zombie_non_cluster_polices.py +0 -0
  248. {cloud_governance-1.1.388 → cloud_governance-1.1.390}/cloud_governance/policy/policy_operations/azure/__init__.py +0 -0
  249. {cloud_governance-1.1.388 → cloud_governance-1.1.390}/cloud_governance/policy/policy_operations/azure/azure_policy_runner.py +0 -0
  250. {cloud_governance-1.1.388 → cloud_governance-1.1.390}/cloud_governance/policy/policy_operations/gcp/__init__.py +0 -0
  251. {cloud_governance-1.1.388 → cloud_governance-1.1.390}/cloud_governance/policy/policy_operations/gcp/gcp_policy_runner.py +0 -0
  252. {cloud_governance-1.1.388 → cloud_governance-1.1.390}/cloud_governance/policy/policy_operations/gitleaks/__init__.py +0 -0
  253. {cloud_governance-1.1.388 → cloud_governance-1.1.390}/cloud_governance/policy/policy_operations/gitleaks/gitleaks.py +0 -0
  254. {cloud_governance-1.1.388 → cloud_governance-1.1.390}/cloud_governance/policy/policy_operations/ibm/__init__.py +0 -0
  255. {cloud_governance-1.1.388 → cloud_governance-1.1.390}/cloud_governance/policy/policy_operations/ibm/ibm_operations/__init__.py +0 -0
  256. {cloud_governance-1.1.388 → cloud_governance-1.1.390}/cloud_governance/policy/policy_operations/ibm/ibm_operations/ibm_operations.py +0 -0
  257. {cloud_governance-1.1.388 → cloud_governance-1.1.390}/cloud_governance/policy/policy_operations/ibm/ibm_operations/ibm_policy_runner.py +0 -0
  258. {cloud_governance-1.1.388 → cloud_governance-1.1.390}/cloud_governance/policy/policy_operations/ibm/tagging/__init__.py +0 -0
  259. {cloud_governance-1.1.388 → cloud_governance-1.1.390}/cloud_governance/policy/policy_operations/ibm/tagging/tagging_operations.py +0 -0
  260. {cloud_governance-1.1.388 → cloud_governance-1.1.390}/cloud_governance/policy/policy_runners/__init__.py +0 -0
  261. {cloud_governance-1.1.388 → cloud_governance-1.1.390}/cloud_governance/policy/policy_runners/aws/__init__.py +0 -0
  262. {cloud_governance-1.1.388 → cloud_governance-1.1.390}/cloud_governance/policy/policy_runners/aws/policy_runner.py +0 -0
  263. {cloud_governance-1.1.388 → cloud_governance-1.1.390}/cloud_governance/policy/policy_runners/aws/upload_s3.py +0 -0
  264. {cloud_governance-1.1.388 → cloud_governance-1.1.390}/cloud_governance/policy/policy_runners/azure/__init__.py +0 -0
  265. {cloud_governance-1.1.388 → cloud_governance-1.1.390}/cloud_governance/policy/policy_runners/azure/policy_runner.py +0 -0
  266. {cloud_governance-1.1.388 → cloud_governance-1.1.390}/cloud_governance/policy/policy_runners/common/__init__.py +0 -0
  267. {cloud_governance-1.1.388 → cloud_governance-1.1.390}/cloud_governance/policy/policy_runners/common/abstract_policy_runner.py +0 -0
  268. {cloud_governance-1.1.388 → cloud_governance-1.1.390}/cloud_governance/policy/policy_runners/common/abstract_upload.py +0 -0
  269. {cloud_governance-1.1.388 → cloud_governance-1.1.390}/cloud_governance/policy/policy_runners/common_policy_runner.py +0 -0
  270. {cloud_governance-1.1.388 → cloud_governance-1.1.390}/cloud_governance/policy/policy_runners/elasticsearch/__init__.py +0 -0
  271. {cloud_governance-1.1.388 → cloud_governance-1.1.390}/cloud_governance/policy/policy_runners/elasticsearch/upload_elastic_search.py +0 -0
  272. {cloud_governance-1.1.388 → cloud_governance-1.1.390}/cloud_governance/policy/policy_runners/ibm/__init__.py +0 -0
  273. {cloud_governance-1.1.388 → cloud_governance-1.1.390}/cloud_governance/policy/policy_runners/ibm/policy_runner.py +0 -0
  274. {cloud_governance-1.1.388 → cloud_governance-1.1.390}/cloud_governance.egg-info/SOURCES.txt +0 -0
  275. {cloud_governance-1.1.388 → cloud_governance-1.1.390}/cloud_governance.egg-info/dependency_links.txt +0 -0
  276. {cloud_governance-1.1.388 → cloud_governance-1.1.390}/cloud_governance.egg-info/not-zip-safe +0 -0
  277. {cloud_governance-1.1.388 → cloud_governance-1.1.390}/cloud_governance.egg-info/requires.txt +0 -0
  278. {cloud_governance-1.1.388 → cloud_governance-1.1.390}/cloud_governance.egg-info/top_level.txt +0 -0
  279. {cloud_governance-1.1.388 → cloud_governance-1.1.390}/setup.cfg +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: cloud-governance
3
- Version: 1.1.388
3
+ Version: 1.1.390
4
4
  Summary: Cloud Governance Tool
5
5
  Home-page: https://github.com/redhat-performance/cloud-governance
6
6
  Author: Red Hat
@@ -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
@@ -15,7 +15,7 @@ class EmptyRoles(AWSPolicyOperations):
15
15
 
16
16
  def run_policy_operations(self):
17
17
  """
18
- This method returns all Empty buckets
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
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: cloud-governance
3
- Version: 1.1.388
3
+ Version: 1.1.390
4
4
  Summary: Cloud Governance Tool
5
5
  Home-page: https://github.com/redhat-performance/cloud-governance
6
6
  Author: Red Hat
@@ -2,7 +2,7 @@ from codecs import open
2
2
  from os import path
3
3
  from setuptools import setup, find_packages
4
4
 
5
- __version__ = '1.1.388'
5
+ __version__ = '1.1.390'
6
6
 
7
7
  here = path.abspath(path.dirname(__file__))
8
8