qontract-reconcile 0.10.2.dev135__tar.gz → 0.10.2.dev137__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 (803) hide show
  1. {qontract_reconcile-0.10.2.dev135 → qontract_reconcile-0.10.2.dev137}/PKG-INFO +1 -1
  2. {qontract_reconcile-0.10.2.dev135 → qontract_reconcile-0.10.2.dev137}/pyproject.toml +0 -36
  3. {qontract_reconcile-0.10.2.dev135 → qontract_reconcile-0.10.2.dev137}/reconcile/aws_ami_share.py +4 -2
  4. {qontract_reconcile-0.10.2.dev135 → qontract_reconcile-0.10.2.dev137}/reconcile/aws_ecr_image_pull_secrets.py +15 -7
  5. {qontract_reconcile-0.10.2.dev135 → qontract_reconcile-0.10.2.dev137}/reconcile/aws_garbage_collector.py +1 -1
  6. {qontract_reconcile-0.10.2.dev135 → qontract_reconcile-0.10.2.dev137}/reconcile/aws_iam_keys.py +24 -17
  7. {qontract_reconcile-0.10.2.dev135 → qontract_reconcile-0.10.2.dev137}/reconcile/aws_iam_password_reset.py +4 -2
  8. {qontract_reconcile-0.10.2.dev135 → qontract_reconcile-0.10.2.dev137}/reconcile/aws_support_cases_sos.py +19 -6
  9. {qontract_reconcile-0.10.2.dev135 → qontract_reconcile-0.10.2.dev137}/reconcile/closedbox_endpoint_monitoring_base.py +4 -3
  10. {qontract_reconcile-0.10.2.dev135 → qontract_reconcile-0.10.2.dev137}/reconcile/cna/client.py +3 -3
  11. {qontract_reconcile-0.10.2.dev135 → qontract_reconcile-0.10.2.dev137}/reconcile/cna/integration.py +4 -5
  12. {qontract_reconcile-0.10.2.dev135 → qontract_reconcile-0.10.2.dev137}/reconcile/cna/state.py +3 -3
  13. qontract_reconcile-0.10.2.dev137/reconcile/email_sender.py +125 -0
  14. {qontract_reconcile-0.10.2.dev135 → qontract_reconcile-0.10.2.dev137}/reconcile/external_resources/aws.py +1 -0
  15. {qontract_reconcile-0.10.2.dev135 → qontract_reconcile-0.10.2.dev137}/reconcile/gcr_mirror.py +11 -9
  16. {qontract_reconcile-0.10.2.dev135 → qontract_reconcile-0.10.2.dev137}/reconcile/github_org.py +57 -52
  17. {qontract_reconcile-0.10.2.dev135 → qontract_reconcile-0.10.2.dev137}/reconcile/github_owners.py +8 -5
  18. {qontract_reconcile-0.10.2.dev135 → qontract_reconcile-0.10.2.dev137}/reconcile/github_repo_invites.py +1 -1
  19. {qontract_reconcile-0.10.2.dev135 → qontract_reconcile-0.10.2.dev137}/reconcile/github_repo_permissions_validator.py +3 -3
  20. {qontract_reconcile-0.10.2.dev135 → qontract_reconcile-0.10.2.dev137}/reconcile/github_users.py +16 -12
  21. {qontract_reconcile-0.10.2.dev135 → qontract_reconcile-0.10.2.dev137}/reconcile/github_validator.py +1 -1
  22. {qontract_reconcile-0.10.2.dev135 → qontract_reconcile-0.10.2.dev137}/reconcile/gitlab_fork_compliance.py +9 -8
  23. {qontract_reconcile-0.10.2.dev135 → qontract_reconcile-0.10.2.dev137}/reconcile/gitlab_labeler.py +1 -1
  24. {qontract_reconcile-0.10.2.dev135 → qontract_reconcile-0.10.2.dev137}/reconcile/gitlab_mr_sqs_consumer.py +6 -3
  25. {qontract_reconcile-0.10.2.dev135 → qontract_reconcile-0.10.2.dev137}/reconcile/gitlab_owners.py +29 -12
  26. qontract_reconcile-0.10.2.dev137/reconcile/gql_definitions/email_sender/apps.py +64 -0
  27. qontract_reconcile-0.10.2.dev137/reconcile/gql_definitions/email_sender/emails.py +133 -0
  28. qontract_reconcile-0.10.2.dev137/reconcile/gql_definitions/email_sender/users.py +62 -0
  29. qontract_reconcile-0.10.2.dev137/reconcile/gql_definitions/fragments/email_service.py +32 -0
  30. qontract_reconcile-0.10.2.dev137/reconcile/gql_definitions/fragments/email_user.py +28 -0
  31. {qontract_reconcile-0.10.2.dev135 → qontract_reconcile-0.10.2.dev137}/reconcile/queries.py +0 -44
  32. {qontract_reconcile-0.10.2.dev135 → qontract_reconcile-0.10.2.dev137}/reconcile/utils/jinja2/utils.py +4 -2
  33. {qontract_reconcile-0.10.2.dev135 → qontract_reconcile-0.10.2.dev137}/reconcile/utils/smtp_client.py +1 -1
  34. qontract_reconcile-0.10.2.dev137/tools/saas_promotion_state/__init__.py +0 -0
  35. qontract_reconcile-0.10.2.dev135/reconcile/email_sender.py +0 -116
  36. {qontract_reconcile-0.10.2.dev135 → qontract_reconcile-0.10.2.dev137}/README.md +0 -0
  37. {qontract_reconcile-0.10.2.dev135 → qontract_reconcile-0.10.2.dev137}/reconcile/__init__.py +0 -0
  38. {qontract_reconcile-0.10.2.dev135 → qontract_reconcile-0.10.2.dev137}/reconcile/acs_notifiers.py +0 -0
  39. {qontract_reconcile-0.10.2.dev135 → qontract_reconcile-0.10.2.dev137}/reconcile/acs_policies.py +0 -0
  40. {qontract_reconcile-0.10.2.dev135 → qontract_reconcile-0.10.2.dev137}/reconcile/acs_rbac.py +0 -0
  41. {qontract_reconcile-0.10.2.dev135 → qontract_reconcile-0.10.2.dev137}/reconcile/aus/__init__.py +0 -0
  42. {qontract_reconcile-0.10.2.dev135 → qontract_reconcile-0.10.2.dev137}/reconcile/aus/advanced_upgrade_service.py +0 -0
  43. {qontract_reconcile-0.10.2.dev135 → qontract_reconcile-0.10.2.dev137}/reconcile/aus/aus_label_source.py +0 -0
  44. {qontract_reconcile-0.10.2.dev135 → qontract_reconcile-0.10.2.dev137}/reconcile/aus/base.py +0 -0
  45. {qontract_reconcile-0.10.2.dev135 → qontract_reconcile-0.10.2.dev137}/reconcile/aus/cluster_version_data.py +0 -0
  46. {qontract_reconcile-0.10.2.dev135 → qontract_reconcile-0.10.2.dev137}/reconcile/aus/healthchecks.py +0 -0
  47. {qontract_reconcile-0.10.2.dev135 → qontract_reconcile-0.10.2.dev137}/reconcile/aus/metrics.py +0 -0
  48. {qontract_reconcile-0.10.2.dev135 → qontract_reconcile-0.10.2.dev137}/reconcile/aus/models.py +0 -0
  49. {qontract_reconcile-0.10.2.dev135 → qontract_reconcile-0.10.2.dev137}/reconcile/aus/node_pool_spec.py +0 -0
  50. {qontract_reconcile-0.10.2.dev135 → qontract_reconcile-0.10.2.dev137}/reconcile/aus/ocm_addons_upgrade_scheduler_org.py +0 -0
  51. {qontract_reconcile-0.10.2.dev135 → qontract_reconcile-0.10.2.dev137}/reconcile/aus/ocm_upgrade_scheduler.py +0 -0
  52. {qontract_reconcile-0.10.2.dev135 → qontract_reconcile-0.10.2.dev137}/reconcile/aus/ocm_upgrade_scheduler_org.py +0 -0
  53. {qontract_reconcile-0.10.2.dev135 → qontract_reconcile-0.10.2.dev137}/reconcile/aus/upgrades.py +0 -0
  54. {qontract_reconcile-0.10.2.dev135 → qontract_reconcile-0.10.2.dev137}/reconcile/aus/version_gate_approver.py +0 -0
  55. {qontract_reconcile-0.10.2.dev135 → qontract_reconcile-0.10.2.dev137}/reconcile/aus/version_gates/__init__.py +0 -0
  56. {qontract_reconcile-0.10.2.dev135 → qontract_reconcile-0.10.2.dev137}/reconcile/aus/version_gates/handler.py +0 -0
  57. {qontract_reconcile-0.10.2.dev135 → qontract_reconcile-0.10.2.dev137}/reconcile/aus/version_gates/ingress_gate_handler.py +0 -0
  58. {qontract_reconcile-0.10.2.dev135 → qontract_reconcile-0.10.2.dev137}/reconcile/aus/version_gates/ocp_gate_handler.py +0 -0
  59. {qontract_reconcile-0.10.2.dev135 → qontract_reconcile-0.10.2.dev137}/reconcile/aus/version_gates/sts_version_gate_handler.py +0 -0
  60. {qontract_reconcile-0.10.2.dev135 → qontract_reconcile-0.10.2.dev137}/reconcile/automated_actions/__init__.py +0 -0
  61. {qontract_reconcile-0.10.2.dev135 → qontract_reconcile-0.10.2.dev137}/reconcile/automated_actions/config/__init__.py +0 -0
  62. {qontract_reconcile-0.10.2.dev135 → qontract_reconcile-0.10.2.dev137}/reconcile/automated_actions/config/integration.py +0 -0
  63. {qontract_reconcile-0.10.2.dev135 → qontract_reconcile-0.10.2.dev137}/reconcile/aws_account_manager/README.md +0 -0
  64. {qontract_reconcile-0.10.2.dev135 → qontract_reconcile-0.10.2.dev137}/reconcile/aws_account_manager/__init__.py +0 -0
  65. {qontract_reconcile-0.10.2.dev135 → qontract_reconcile-0.10.2.dev137}/reconcile/aws_account_manager/integration.py +0 -0
  66. {qontract_reconcile-0.10.2.dev135 → qontract_reconcile-0.10.2.dev137}/reconcile/aws_account_manager/merge_request_manager.py +0 -0
  67. {qontract_reconcile-0.10.2.dev135 → qontract_reconcile-0.10.2.dev137}/reconcile/aws_account_manager/metrics.py +0 -0
  68. {qontract_reconcile-0.10.2.dev135 → qontract_reconcile-0.10.2.dev137}/reconcile/aws_account_manager/reconciler.py +0 -0
  69. {qontract_reconcile-0.10.2.dev135 → qontract_reconcile-0.10.2.dev137}/reconcile/aws_account_manager/utils.py +0 -0
  70. {qontract_reconcile-0.10.2.dev135 → qontract_reconcile-0.10.2.dev137}/reconcile/aws_ami_cleanup/__init__.py +0 -0
  71. {qontract_reconcile-0.10.2.dev135 → qontract_reconcile-0.10.2.dev137}/reconcile/aws_ami_cleanup/integration.py +0 -0
  72. {qontract_reconcile-0.10.2.dev135 → qontract_reconcile-0.10.2.dev137}/reconcile/aws_cloudwatch_log_retention/__init__.py +0 -0
  73. {qontract_reconcile-0.10.2.dev135 → qontract_reconcile-0.10.2.dev137}/reconcile/aws_cloudwatch_log_retention/integration.py +0 -0
  74. {qontract_reconcile-0.10.2.dev135 → qontract_reconcile-0.10.2.dev137}/reconcile/aws_saml_idp/__init__.py +0 -0
  75. {qontract_reconcile-0.10.2.dev135 → qontract_reconcile-0.10.2.dev137}/reconcile/aws_saml_idp/integration.py +0 -0
  76. {qontract_reconcile-0.10.2.dev135 → qontract_reconcile-0.10.2.dev137}/reconcile/aws_saml_roles/__init__.py +0 -0
  77. {qontract_reconcile-0.10.2.dev135 → qontract_reconcile-0.10.2.dev137}/reconcile/aws_saml_roles/integration.py +0 -0
  78. {qontract_reconcile-0.10.2.dev135 → qontract_reconcile-0.10.2.dev137}/reconcile/aws_version_sync/__init__.py +0 -0
  79. {qontract_reconcile-0.10.2.dev135 → qontract_reconcile-0.10.2.dev137}/reconcile/aws_version_sync/integration.py +0 -0
  80. {qontract_reconcile-0.10.2.dev135 → qontract_reconcile-0.10.2.dev137}/reconcile/aws_version_sync/merge_request_manager/__init__.py +0 -0
  81. {qontract_reconcile-0.10.2.dev135 → qontract_reconcile-0.10.2.dev137}/reconcile/aws_version_sync/merge_request_manager/merge_request.py +0 -0
  82. {qontract_reconcile-0.10.2.dev135 → qontract_reconcile-0.10.2.dev137}/reconcile/aws_version_sync/merge_request_manager/merge_request_manager.py +0 -0
  83. {qontract_reconcile-0.10.2.dev135 → qontract_reconcile-0.10.2.dev137}/reconcile/aws_version_sync/utils.py +0 -0
  84. {qontract_reconcile-0.10.2.dev135 → qontract_reconcile-0.10.2.dev137}/reconcile/blackbox_exporter_endpoint_monitoring.py +0 -0
  85. {qontract_reconcile-0.10.2.dev135 → qontract_reconcile-0.10.2.dev137}/reconcile/change_owners/README.md +0 -0
  86. {qontract_reconcile-0.10.2.dev135 → qontract_reconcile-0.10.2.dev137}/reconcile/change_owners/__init__.py +0 -0
  87. {qontract_reconcile-0.10.2.dev135 → qontract_reconcile-0.10.2.dev137}/reconcile/change_owners/approver.py +0 -0
  88. {qontract_reconcile-0.10.2.dev135 → qontract_reconcile-0.10.2.dev137}/reconcile/change_owners/bundle.py +0 -0
  89. {qontract_reconcile-0.10.2.dev135 → qontract_reconcile-0.10.2.dev137}/reconcile/change_owners/change_log_tracking.py +0 -0
  90. {qontract_reconcile-0.10.2.dev135 → qontract_reconcile-0.10.2.dev137}/reconcile/change_owners/change_owners.py +0 -0
  91. {qontract_reconcile-0.10.2.dev135 → qontract_reconcile-0.10.2.dev137}/reconcile/change_owners/change_types.py +0 -0
  92. {qontract_reconcile-0.10.2.dev135 → qontract_reconcile-0.10.2.dev137}/reconcile/change_owners/changes.py +0 -0
  93. {qontract_reconcile-0.10.2.dev135 → qontract_reconcile-0.10.2.dev137}/reconcile/change_owners/decision.py +0 -0
  94. {qontract_reconcile-0.10.2.dev135 → qontract_reconcile-0.10.2.dev137}/reconcile/change_owners/diff.py +0 -0
  95. {qontract_reconcile-0.10.2.dev135 → qontract_reconcile-0.10.2.dev137}/reconcile/change_owners/implicit_ownership.py +0 -0
  96. {qontract_reconcile-0.10.2.dev135 → qontract_reconcile-0.10.2.dev137}/reconcile/change_owners/self_service_roles.py +0 -0
  97. {qontract_reconcile-0.10.2.dev135 → qontract_reconcile-0.10.2.dev137}/reconcile/change_owners/tester.py +0 -0
  98. {qontract_reconcile-0.10.2.dev135 → qontract_reconcile-0.10.2.dev137}/reconcile/checkpoint.py +0 -0
  99. {qontract_reconcile-0.10.2.dev135 → qontract_reconcile-0.10.2.dev137}/reconcile/cli.py +0 -0
  100. {qontract_reconcile-0.10.2.dev135 → qontract_reconcile-0.10.2.dev137}/reconcile/cluster_auth_rhidp/__init__.py +0 -0
  101. {qontract_reconcile-0.10.2.dev135 → qontract_reconcile-0.10.2.dev137}/reconcile/cluster_auth_rhidp/integration.py +0 -0
  102. {qontract_reconcile-0.10.2.dev135 → qontract_reconcile-0.10.2.dev137}/reconcile/cluster_deployment_mapper.py +0 -0
  103. {qontract_reconcile-0.10.2.dev135 → qontract_reconcile-0.10.2.dev137}/reconcile/cna/__init__.py +0 -0
  104. {qontract_reconcile-0.10.2.dev135 → qontract_reconcile-0.10.2.dev137}/reconcile/cna/assets/__init__.py +0 -0
  105. {qontract_reconcile-0.10.2.dev135 → qontract_reconcile-0.10.2.dev137}/reconcile/cna/assets/asset.py +0 -0
  106. {qontract_reconcile-0.10.2.dev135 → qontract_reconcile-0.10.2.dev137}/reconcile/cna/assets/asset_factory.py +0 -0
  107. {qontract_reconcile-0.10.2.dev135 → qontract_reconcile-0.10.2.dev137}/reconcile/cna/assets/null.py +0 -0
  108. {qontract_reconcile-0.10.2.dev135 → qontract_reconcile-0.10.2.dev137}/reconcile/dashdotdb_base.py +0 -0
  109. {qontract_reconcile-0.10.2.dev135 → qontract_reconcile-0.10.2.dev137}/reconcile/dashdotdb_cso.py +0 -0
  110. {qontract_reconcile-0.10.2.dev135 → qontract_reconcile-0.10.2.dev137}/reconcile/dashdotdb_dora.py +0 -0
  111. {qontract_reconcile-0.10.2.dev135 → qontract_reconcile-0.10.2.dev137}/reconcile/dashdotdb_dvo.py +0 -0
  112. {qontract_reconcile-0.10.2.dev135 → qontract_reconcile-0.10.2.dev137}/reconcile/dashdotdb_slo.py +0 -0
  113. {qontract_reconcile-0.10.2.dev135 → qontract_reconcile-0.10.2.dev137}/reconcile/database_access_manager.py +0 -0
  114. {qontract_reconcile-0.10.2.dev135 → qontract_reconcile-0.10.2.dev137}/reconcile/deadmanssnitch.py +0 -0
  115. {qontract_reconcile-0.10.2.dev135 → qontract_reconcile-0.10.2.dev137}/reconcile/dynatrace_token_provider/__init__.py +0 -0
  116. {qontract_reconcile-0.10.2.dev135 → qontract_reconcile-0.10.2.dev137}/reconcile/dynatrace_token_provider/dependencies.py +0 -0
  117. {qontract_reconcile-0.10.2.dev135 → qontract_reconcile-0.10.2.dev137}/reconcile/dynatrace_token_provider/integration.py +0 -0
  118. {qontract_reconcile-0.10.2.dev135 → qontract_reconcile-0.10.2.dev137}/reconcile/dynatrace_token_provider/metrics.py +0 -0
  119. {qontract_reconcile-0.10.2.dev135 → qontract_reconcile-0.10.2.dev137}/reconcile/dynatrace_token_provider/model.py +0 -0
  120. {qontract_reconcile-0.10.2.dev135 → qontract_reconcile-0.10.2.dev137}/reconcile/dynatrace_token_provider/ocm.py +0 -0
  121. {qontract_reconcile-0.10.2.dev135 → qontract_reconcile-0.10.2.dev137}/reconcile/dynatrace_token_provider/validate.py +0 -0
  122. {qontract_reconcile-0.10.2.dev135 → qontract_reconcile-0.10.2.dev137}/reconcile/endpoints_discovery/__init__.py +0 -0
  123. {qontract_reconcile-0.10.2.dev135 → qontract_reconcile-0.10.2.dev137}/reconcile/endpoints_discovery/integration.py +0 -0
  124. {qontract_reconcile-0.10.2.dev135 → qontract_reconcile-0.10.2.dev137}/reconcile/endpoints_discovery/merge_request.py +0 -0
  125. {qontract_reconcile-0.10.2.dev135 → qontract_reconcile-0.10.2.dev137}/reconcile/endpoints_discovery/merge_request_manager.py +0 -0
  126. {qontract_reconcile-0.10.2.dev135 → qontract_reconcile-0.10.2.dev137}/reconcile/external_resources/__init__.py +0 -0
  127. {qontract_reconcile-0.10.2.dev135 → qontract_reconcile-0.10.2.dev137}/reconcile/external_resources/factories.py +0 -0
  128. {qontract_reconcile-0.10.2.dev135 → qontract_reconcile-0.10.2.dev137}/reconcile/external_resources/integration.py +0 -0
  129. {qontract_reconcile-0.10.2.dev135 → qontract_reconcile-0.10.2.dev137}/reconcile/external_resources/integration_secrets_sync.py +0 -0
  130. {qontract_reconcile-0.10.2.dev135 → qontract_reconcile-0.10.2.dev137}/reconcile/external_resources/manager.py +0 -0
  131. {qontract_reconcile-0.10.2.dev135 → qontract_reconcile-0.10.2.dev137}/reconcile/external_resources/meta.py +0 -0
  132. {qontract_reconcile-0.10.2.dev135 → qontract_reconcile-0.10.2.dev137}/reconcile/external_resources/metrics.py +0 -0
  133. {qontract_reconcile-0.10.2.dev135 → qontract_reconcile-0.10.2.dev137}/reconcile/external_resources/model.py +0 -0
  134. {qontract_reconcile-0.10.2.dev135 → qontract_reconcile-0.10.2.dev137}/reconcile/external_resources/reconciler.py +0 -0
  135. {qontract_reconcile-0.10.2.dev135 → qontract_reconcile-0.10.2.dev137}/reconcile/external_resources/secrets_sync.py +0 -0
  136. {qontract_reconcile-0.10.2.dev135 → qontract_reconcile-0.10.2.dev137}/reconcile/external_resources/state.py +0 -0
  137. {qontract_reconcile-0.10.2.dev135 → qontract_reconcile-0.10.2.dev137}/reconcile/fleet_labeler/__init__.py +0 -0
  138. {qontract_reconcile-0.10.2.dev135 → qontract_reconcile-0.10.2.dev137}/reconcile/fleet_labeler/dependencies.py +0 -0
  139. {qontract_reconcile-0.10.2.dev135 → qontract_reconcile-0.10.2.dev137}/reconcile/fleet_labeler/integration.py +0 -0
  140. {qontract_reconcile-0.10.2.dev135 → qontract_reconcile-0.10.2.dev137}/reconcile/fleet_labeler/merge_request.py +0 -0
  141. {qontract_reconcile-0.10.2.dev135 → qontract_reconcile-0.10.2.dev137}/reconcile/fleet_labeler/meta.py +0 -0
  142. {qontract_reconcile-0.10.2.dev135 → qontract_reconcile-0.10.2.dev137}/reconcile/fleet_labeler/metrics.py +0 -0
  143. {qontract_reconcile-0.10.2.dev135 → qontract_reconcile-0.10.2.dev137}/reconcile/fleet_labeler/ocm.py +0 -0
  144. {qontract_reconcile-0.10.2.dev135 → qontract_reconcile-0.10.2.dev137}/reconcile/fleet_labeler/validate.py +0 -0
  145. {qontract_reconcile-0.10.2.dev135 → qontract_reconcile-0.10.2.dev137}/reconcile/fleet_labeler/vcs.py +0 -0
  146. {qontract_reconcile-0.10.2.dev135 → qontract_reconcile-0.10.2.dev137}/reconcile/gabi_authorized_users.py +0 -0
  147. {qontract_reconcile-0.10.2.dev135 → qontract_reconcile-0.10.2.dev137}/reconcile/gitlab_housekeeping.py +0 -0
  148. {qontract_reconcile-0.10.2.dev135 → qontract_reconcile-0.10.2.dev137}/reconcile/gitlab_members.py +0 -0
  149. {qontract_reconcile-0.10.2.dev135 → qontract_reconcile-0.10.2.dev137}/reconcile/gitlab_permissions.py +0 -0
  150. {qontract_reconcile-0.10.2.dev135 → qontract_reconcile-0.10.2.dev137}/reconcile/gitlab_projects.py +0 -0
  151. {qontract_reconcile-0.10.2.dev135 → qontract_reconcile-0.10.2.dev137}/reconcile/glitchtip/README.md +0 -0
  152. {qontract_reconcile-0.10.2.dev135 → qontract_reconcile-0.10.2.dev137}/reconcile/glitchtip/__init__.py +0 -0
  153. {qontract_reconcile-0.10.2.dev135 → qontract_reconcile-0.10.2.dev137}/reconcile/glitchtip/integration.py +0 -0
  154. {qontract_reconcile-0.10.2.dev135 → qontract_reconcile-0.10.2.dev137}/reconcile/glitchtip/reconciler.py +0 -0
  155. {qontract_reconcile-0.10.2.dev135 → qontract_reconcile-0.10.2.dev137}/reconcile/glitchtip_project_alerts/__init__.py +0 -0
  156. {qontract_reconcile-0.10.2.dev135 → qontract_reconcile-0.10.2.dev137}/reconcile/glitchtip_project_alerts/integration.py +0 -0
  157. {qontract_reconcile-0.10.2.dev135 → qontract_reconcile-0.10.2.dev137}/reconcile/glitchtip_project_dsn/__init__.py +0 -0
  158. {qontract_reconcile-0.10.2.dev135 → qontract_reconcile-0.10.2.dev137}/reconcile/glitchtip_project_dsn/integration.py +0 -0
  159. {qontract_reconcile-0.10.2.dev135 → qontract_reconcile-0.10.2.dev137}/reconcile/gql_definitions/__init__.py +0 -0
  160. {qontract_reconcile-0.10.2.dev135 → qontract_reconcile-0.10.2.dev137}/reconcile/gql_definitions/acs/__init__.py +0 -0
  161. {qontract_reconcile-0.10.2.dev135 → qontract_reconcile-0.10.2.dev137}/reconcile/gql_definitions/acs/acs_instances.py +0 -0
  162. {qontract_reconcile-0.10.2.dev135 → qontract_reconcile-0.10.2.dev137}/reconcile/gql_definitions/acs/acs_policies.py +0 -0
  163. {qontract_reconcile-0.10.2.dev135 → qontract_reconcile-0.10.2.dev137}/reconcile/gql_definitions/acs/acs_rbac.py +0 -0
  164. {qontract_reconcile-0.10.2.dev135 → qontract_reconcile-0.10.2.dev137}/reconcile/gql_definitions/advanced_upgrade_service/__init__.py +0 -0
  165. {qontract_reconcile-0.10.2.dev135 → qontract_reconcile-0.10.2.dev137}/reconcile/gql_definitions/advanced_upgrade_service/aus_clusters.py +0 -0
  166. {qontract_reconcile-0.10.2.dev135 → qontract_reconcile-0.10.2.dev137}/reconcile/gql_definitions/advanced_upgrade_service/aus_organization.py +0 -0
  167. {qontract_reconcile-0.10.2.dev135 → qontract_reconcile-0.10.2.dev137}/reconcile/gql_definitions/app_interface_metrics_exporter/__init__.py +0 -0
  168. {qontract_reconcile-0.10.2.dev135 → qontract_reconcile-0.10.2.dev137}/reconcile/gql_definitions/app_interface_metrics_exporter/onboarding_status.py +0 -0
  169. {qontract_reconcile-0.10.2.dev135 → qontract_reconcile-0.10.2.dev137}/reconcile/gql_definitions/app_sre_tekton_access_revalidation/__init__.py +0 -0
  170. {qontract_reconcile-0.10.2.dev135 → qontract_reconcile-0.10.2.dev137}/reconcile/gql_definitions/app_sre_tekton_access_revalidation/roles.py +0 -0
  171. {qontract_reconcile-0.10.2.dev135 → qontract_reconcile-0.10.2.dev137}/reconcile/gql_definitions/app_sre_tekton_access_revalidation/users.py +0 -0
  172. {qontract_reconcile-0.10.2.dev135 → qontract_reconcile-0.10.2.dev137}/reconcile/gql_definitions/automated_actions/__init__.py +0 -0
  173. {qontract_reconcile-0.10.2.dev135 → qontract_reconcile-0.10.2.dev137}/reconcile/gql_definitions/automated_actions/instance.py +0 -0
  174. {qontract_reconcile-0.10.2.dev135 → qontract_reconcile-0.10.2.dev137}/reconcile/gql_definitions/aws_account_manager/__init__.py +0 -0
  175. {qontract_reconcile-0.10.2.dev135 → qontract_reconcile-0.10.2.dev137}/reconcile/gql_definitions/aws_account_manager/aws_accounts.py +0 -0
  176. {qontract_reconcile-0.10.2.dev135 → qontract_reconcile-0.10.2.dev137}/reconcile/gql_definitions/aws_ami_cleanup/__init__.py +0 -0
  177. {qontract_reconcile-0.10.2.dev135 → qontract_reconcile-0.10.2.dev137}/reconcile/gql_definitions/aws_ami_cleanup/aws_accounts.py +0 -0
  178. {qontract_reconcile-0.10.2.dev135 → qontract_reconcile-0.10.2.dev137}/reconcile/gql_definitions/aws_saml_idp/__init__.py +0 -0
  179. {qontract_reconcile-0.10.2.dev135 → qontract_reconcile-0.10.2.dev137}/reconcile/gql_definitions/aws_saml_idp/aws_accounts.py +0 -0
  180. {qontract_reconcile-0.10.2.dev135 → qontract_reconcile-0.10.2.dev137}/reconcile/gql_definitions/aws_saml_roles/__init__.py +0 -0
  181. {qontract_reconcile-0.10.2.dev135 → qontract_reconcile-0.10.2.dev137}/reconcile/gql_definitions/aws_saml_roles/aws_accounts.py +0 -0
  182. {qontract_reconcile-0.10.2.dev135 → qontract_reconcile-0.10.2.dev137}/reconcile/gql_definitions/aws_saml_roles/roles.py +0 -0
  183. {qontract_reconcile-0.10.2.dev135 → qontract_reconcile-0.10.2.dev137}/reconcile/gql_definitions/aws_version_sync/__init__.py +0 -0
  184. {qontract_reconcile-0.10.2.dev135 → qontract_reconcile-0.10.2.dev137}/reconcile/gql_definitions/aws_version_sync/clusters.py +0 -0
  185. {qontract_reconcile-0.10.2.dev135 → qontract_reconcile-0.10.2.dev137}/reconcile/gql_definitions/aws_version_sync/namespaces.py +0 -0
  186. {qontract_reconcile-0.10.2.dev135 → qontract_reconcile-0.10.2.dev137}/reconcile/gql_definitions/change_owners/__init__.py +0 -0
  187. {qontract_reconcile-0.10.2.dev135 → qontract_reconcile-0.10.2.dev137}/reconcile/gql_definitions/change_owners/queries/__init__.py +0 -0
  188. {qontract_reconcile-0.10.2.dev135 → qontract_reconcile-0.10.2.dev137}/reconcile/gql_definitions/change_owners/queries/change_types.py +0 -0
  189. {qontract_reconcile-0.10.2.dev135 → qontract_reconcile-0.10.2.dev137}/reconcile/gql_definitions/change_owners/queries/self_service_roles.py +0 -0
  190. {qontract_reconcile-0.10.2.dev135 → qontract_reconcile-0.10.2.dev137}/reconcile/gql_definitions/cluster_auth_rhidp/__init__.py +0 -0
  191. {qontract_reconcile-0.10.2.dev135 → qontract_reconcile-0.10.2.dev137}/reconcile/gql_definitions/cluster_auth_rhidp/clusters.py +0 -0
  192. {qontract_reconcile-0.10.2.dev135 → qontract_reconcile-0.10.2.dev137}/reconcile/gql_definitions/cna/__init__.py +0 -0
  193. {qontract_reconcile-0.10.2.dev135 → qontract_reconcile-0.10.2.dev137}/reconcile/gql_definitions/cna/queries/__init__.py +0 -0
  194. {qontract_reconcile-0.10.2.dev135 → qontract_reconcile-0.10.2.dev137}/reconcile/gql_definitions/cna/queries/cna_provisioners.py +0 -0
  195. {qontract_reconcile-0.10.2.dev135 → qontract_reconcile-0.10.2.dev137}/reconcile/gql_definitions/cna/queries/cna_resources.py +0 -0
  196. {qontract_reconcile-0.10.2.dev135 → qontract_reconcile-0.10.2.dev137}/reconcile/gql_definitions/common/__init__.py +0 -0
  197. {qontract_reconcile-0.10.2.dev135 → qontract_reconcile-0.10.2.dev137}/reconcile/gql_definitions/common/alerting_services_settings.py +0 -0
  198. {qontract_reconcile-0.10.2.dev135 → qontract_reconcile-0.10.2.dev137}/reconcile/gql_definitions/common/app_code_component_repos.py +0 -0
  199. {qontract_reconcile-0.10.2.dev135 → qontract_reconcile-0.10.2.dev137}/reconcile/gql_definitions/common/app_interface_custom_messages.py +0 -0
  200. {qontract_reconcile-0.10.2.dev135 → qontract_reconcile-0.10.2.dev137}/reconcile/gql_definitions/common/app_interface_dms_settings.py +0 -0
  201. {qontract_reconcile-0.10.2.dev135 → qontract_reconcile-0.10.2.dev137}/reconcile/gql_definitions/common/app_interface_repo_settings.py +0 -0
  202. {qontract_reconcile-0.10.2.dev135 → qontract_reconcile-0.10.2.dev137}/reconcile/gql_definitions/common/app_interface_state_settings.py +0 -0
  203. {qontract_reconcile-0.10.2.dev135 → qontract_reconcile-0.10.2.dev137}/reconcile/gql_definitions/common/app_interface_vault_settings.py +0 -0
  204. {qontract_reconcile-0.10.2.dev135 → qontract_reconcile-0.10.2.dev137}/reconcile/gql_definitions/common/app_quay_repos_escalation_policies.py +0 -0
  205. {qontract_reconcile-0.10.2.dev135 → qontract_reconcile-0.10.2.dev137}/reconcile/gql_definitions/common/apps.py +0 -0
  206. {qontract_reconcile-0.10.2.dev135 → qontract_reconcile-0.10.2.dev137}/reconcile/gql_definitions/common/aws_vpc_requests.py +0 -0
  207. {qontract_reconcile-0.10.2.dev135 → qontract_reconcile-0.10.2.dev137}/reconcile/gql_definitions/common/aws_vpcs.py +0 -0
  208. {qontract_reconcile-0.10.2.dev135 → qontract_reconcile-0.10.2.dev137}/reconcile/gql_definitions/common/clusters.py +0 -0
  209. {qontract_reconcile-0.10.2.dev135 → qontract_reconcile-0.10.2.dev137}/reconcile/gql_definitions/common/clusters_minimal.py +0 -0
  210. {qontract_reconcile-0.10.2.dev135 → qontract_reconcile-0.10.2.dev137}/reconcile/gql_definitions/common/clusters_with_dms.py +0 -0
  211. {qontract_reconcile-0.10.2.dev135 → qontract_reconcile-0.10.2.dev137}/reconcile/gql_definitions/common/clusters_with_peering.py +0 -0
  212. {qontract_reconcile-0.10.2.dev135 → qontract_reconcile-0.10.2.dev137}/reconcile/gql_definitions/common/github_orgs.py +0 -0
  213. {qontract_reconcile-0.10.2.dev135 → qontract_reconcile-0.10.2.dev137}/reconcile/gql_definitions/common/jira_settings.py +0 -0
  214. {qontract_reconcile-0.10.2.dev135 → qontract_reconcile-0.10.2.dev137}/reconcile/gql_definitions/common/jiralert_settings.py +0 -0
  215. {qontract_reconcile-0.10.2.dev135 → qontract_reconcile-0.10.2.dev137}/reconcile/gql_definitions/common/namespaces.py +0 -0
  216. {qontract_reconcile-0.10.2.dev135 → qontract_reconcile-0.10.2.dev137}/reconcile/gql_definitions/common/namespaces_minimal.py +0 -0
  217. {qontract_reconcile-0.10.2.dev135 → qontract_reconcile-0.10.2.dev137}/reconcile/gql_definitions/common/ocm_env_telemeter.py +0 -0
  218. {qontract_reconcile-0.10.2.dev135 → qontract_reconcile-0.10.2.dev137}/reconcile/gql_definitions/common/ocm_environments.py +0 -0
  219. {qontract_reconcile-0.10.2.dev135 → qontract_reconcile-0.10.2.dev137}/reconcile/gql_definitions/common/pagerduty_instances.py +0 -0
  220. {qontract_reconcile-0.10.2.dev135 → qontract_reconcile-0.10.2.dev137}/reconcile/gql_definitions/common/pgp_reencryption_settings.py +0 -0
  221. {qontract_reconcile-0.10.2.dev135 → qontract_reconcile-0.10.2.dev137}/reconcile/gql_definitions/common/pipeline_providers.py +0 -0
  222. {qontract_reconcile-0.10.2.dev135 → qontract_reconcile-0.10.2.dev137}/reconcile/gql_definitions/common/quay_instances.py +0 -0
  223. {qontract_reconcile-0.10.2.dev135 → qontract_reconcile-0.10.2.dev137}/reconcile/gql_definitions/common/quay_orgs.py +0 -0
  224. {qontract_reconcile-0.10.2.dev135 → qontract_reconcile-0.10.2.dev137}/reconcile/gql_definitions/common/reserved_networks.py +0 -0
  225. {qontract_reconcile-0.10.2.dev135 → qontract_reconcile-0.10.2.dev137}/reconcile/gql_definitions/common/saas_files.py +0 -0
  226. {qontract_reconcile-0.10.2.dev135 → qontract_reconcile-0.10.2.dev137}/reconcile/gql_definitions/common/saas_target_namespaces.py +0 -0
  227. {qontract_reconcile-0.10.2.dev135 → qontract_reconcile-0.10.2.dev137}/reconcile/gql_definitions/common/saasherder_settings.py +0 -0
  228. {qontract_reconcile-0.10.2.dev135 → qontract_reconcile-0.10.2.dev137}/reconcile/gql_definitions/common/slack_workspaces.py +0 -0
  229. {qontract_reconcile-0.10.2.dev135 → qontract_reconcile-0.10.2.dev137}/reconcile/gql_definitions/common/smtp_client_settings.py +0 -0
  230. {qontract_reconcile-0.10.2.dev135 → qontract_reconcile-0.10.2.dev137}/reconcile/gql_definitions/common/state_aws_account.py +0 -0
  231. {qontract_reconcile-0.10.2.dev135 → qontract_reconcile-0.10.2.dev137}/reconcile/gql_definitions/common/users.py +0 -0
  232. {qontract_reconcile-0.10.2.dev135 → qontract_reconcile-0.10.2.dev137}/reconcile/gql_definitions/cost_report/__init__.py +0 -0
  233. {qontract_reconcile-0.10.2.dev135 → qontract_reconcile-0.10.2.dev137}/reconcile/gql_definitions/cost_report/app_names.py +0 -0
  234. {qontract_reconcile-0.10.2.dev135 → qontract_reconcile-0.10.2.dev137}/reconcile/gql_definitions/cost_report/cost_namespaces.py +0 -0
  235. {qontract_reconcile-0.10.2.dev135 → qontract_reconcile-0.10.2.dev137}/reconcile/gql_definitions/cost_report/settings.py +0 -0
  236. {qontract_reconcile-0.10.2.dev135 → qontract_reconcile-0.10.2.dev137}/reconcile/gql_definitions/dashdotdb_slo/__init__.py +0 -0
  237. {qontract_reconcile-0.10.2.dev135 → qontract_reconcile-0.10.2.dev137}/reconcile/gql_definitions/dashdotdb_slo/slo_documents_query.py +0 -0
  238. {qontract_reconcile-0.10.2.dev135 → qontract_reconcile-0.10.2.dev137}/reconcile/gql_definitions/dynatrace_token_provider/__init__.py +0 -0
  239. {qontract_reconcile-0.10.2.dev135 → qontract_reconcile-0.10.2.dev137}/reconcile/gql_definitions/dynatrace_token_provider/dynatrace_bootstrap_tokens.py +0 -0
  240. {qontract_reconcile-0.10.2.dev135 → qontract_reconcile-0.10.2.dev137}/reconcile/gql_definitions/dynatrace_token_provider/token_specs.py +0 -0
  241. {qontract_reconcile-0.10.2.dev135/reconcile/gql_definitions/endpoints_discovery → qontract_reconcile-0.10.2.dev137/reconcile/gql_definitions/email_sender}/__init__.py +0 -0
  242. {qontract_reconcile-0.10.2.dev135/reconcile/gql_definitions/external_resources → qontract_reconcile-0.10.2.dev137/reconcile/gql_definitions/endpoints_discovery}/__init__.py +0 -0
  243. {qontract_reconcile-0.10.2.dev135 → qontract_reconcile-0.10.2.dev137}/reconcile/gql_definitions/endpoints_discovery/apps.py +0 -0
  244. {qontract_reconcile-0.10.2.dev135/reconcile/gql_definitions/external_resources/fragments → qontract_reconcile-0.10.2.dev137/reconcile/gql_definitions/external_resources}/__init__.py +0 -0
  245. {qontract_reconcile-0.10.2.dev135 → qontract_reconcile-0.10.2.dev137}/reconcile/gql_definitions/external_resources/aws_accounts.py +0 -0
  246. {qontract_reconcile-0.10.2.dev135 → qontract_reconcile-0.10.2.dev137}/reconcile/gql_definitions/external_resources/external_resources_modules.py +0 -0
  247. {qontract_reconcile-0.10.2.dev135 → qontract_reconcile-0.10.2.dev137}/reconcile/gql_definitions/external_resources/external_resources_namespaces.py +0 -0
  248. {qontract_reconcile-0.10.2.dev135 → qontract_reconcile-0.10.2.dev137}/reconcile/gql_definitions/external_resources/external_resources_settings.py +0 -0
  249. {qontract_reconcile-0.10.2.dev135/reconcile/gql_definitions/fleet_labeler → qontract_reconcile-0.10.2.dev137/reconcile/gql_definitions/external_resources/fragments}/__init__.py +0 -0
  250. {qontract_reconcile-0.10.2.dev135 → qontract_reconcile-0.10.2.dev137}/reconcile/gql_definitions/external_resources/fragments/external_resources_module_overrides.py +0 -0
  251. {qontract_reconcile-0.10.2.dev135/reconcile/gql_definitions/fragments → qontract_reconcile-0.10.2.dev137/reconcile/gql_definitions/fleet_labeler}/__init__.py +0 -0
  252. {qontract_reconcile-0.10.2.dev135 → qontract_reconcile-0.10.2.dev137}/reconcile/gql_definitions/fleet_labeler/fleet_labels.py +0 -0
  253. {qontract_reconcile-0.10.2.dev135/reconcile/gql_definitions/gitlab_members → qontract_reconcile-0.10.2.dev137/reconcile/gql_definitions/fragments}/__init__.py +0 -0
  254. {qontract_reconcile-0.10.2.dev135 → qontract_reconcile-0.10.2.dev137}/reconcile/gql_definitions/fragments/aus_organization.py +0 -0
  255. {qontract_reconcile-0.10.2.dev135 → qontract_reconcile-0.10.2.dev137}/reconcile/gql_definitions/fragments/aws_account_common.py +0 -0
  256. {qontract_reconcile-0.10.2.dev135 → qontract_reconcile-0.10.2.dev137}/reconcile/gql_definitions/fragments/aws_account_managed.py +0 -0
  257. {qontract_reconcile-0.10.2.dev135 → qontract_reconcile-0.10.2.dev137}/reconcile/gql_definitions/fragments/aws_account_sso.py +0 -0
  258. {qontract_reconcile-0.10.2.dev135 → qontract_reconcile-0.10.2.dev137}/reconcile/gql_definitions/fragments/aws_infra_management_account.py +0 -0
  259. {qontract_reconcile-0.10.2.dev135 → qontract_reconcile-0.10.2.dev137}/reconcile/gql_definitions/fragments/aws_vpc.py +0 -0
  260. {qontract_reconcile-0.10.2.dev135 → qontract_reconcile-0.10.2.dev137}/reconcile/gql_definitions/fragments/aws_vpc_request.py +0 -0
  261. {qontract_reconcile-0.10.2.dev135 → qontract_reconcile-0.10.2.dev137}/reconcile/gql_definitions/fragments/aws_vpc_request_subnet.py +0 -0
  262. {qontract_reconcile-0.10.2.dev135 → qontract_reconcile-0.10.2.dev137}/reconcile/gql_definitions/fragments/deplopy_resources.py +0 -0
  263. {qontract_reconcile-0.10.2.dev135 → qontract_reconcile-0.10.2.dev137}/reconcile/gql_definitions/fragments/disable.py +0 -0
  264. {qontract_reconcile-0.10.2.dev135 → qontract_reconcile-0.10.2.dev137}/reconcile/gql_definitions/fragments/jumphost_common_fields.py +0 -0
  265. {qontract_reconcile-0.10.2.dev135 → qontract_reconcile-0.10.2.dev137}/reconcile/gql_definitions/fragments/membership_source.py +0 -0
  266. {qontract_reconcile-0.10.2.dev135 → qontract_reconcile-0.10.2.dev137}/reconcile/gql_definitions/fragments/minimal_ocm_organization.py +0 -0
  267. {qontract_reconcile-0.10.2.dev135 → qontract_reconcile-0.10.2.dev137}/reconcile/gql_definitions/fragments/oc_connection_cluster.py +0 -0
  268. {qontract_reconcile-0.10.2.dev135 → qontract_reconcile-0.10.2.dev137}/reconcile/gql_definitions/fragments/ocm_environment.py +0 -0
  269. {qontract_reconcile-0.10.2.dev135 → qontract_reconcile-0.10.2.dev137}/reconcile/gql_definitions/fragments/pipeline_provider_retention.py +0 -0
  270. {qontract_reconcile-0.10.2.dev135 → qontract_reconcile-0.10.2.dev137}/reconcile/gql_definitions/fragments/prometheus_instance.py +0 -0
  271. {qontract_reconcile-0.10.2.dev135 → qontract_reconcile-0.10.2.dev137}/reconcile/gql_definitions/fragments/resource_limits_requirements.py +0 -0
  272. {qontract_reconcile-0.10.2.dev135 → qontract_reconcile-0.10.2.dev137}/reconcile/gql_definitions/fragments/resource_requests_requirements.py +0 -0
  273. {qontract_reconcile-0.10.2.dev135 → qontract_reconcile-0.10.2.dev137}/reconcile/gql_definitions/fragments/resource_values.py +0 -0
  274. {qontract_reconcile-0.10.2.dev135 → qontract_reconcile-0.10.2.dev137}/reconcile/gql_definitions/fragments/saas_target_namespace.py +0 -0
  275. {qontract_reconcile-0.10.2.dev135 → qontract_reconcile-0.10.2.dev137}/reconcile/gql_definitions/fragments/serviceaccount_token.py +0 -0
  276. {qontract_reconcile-0.10.2.dev135 → qontract_reconcile-0.10.2.dev137}/reconcile/gql_definitions/fragments/terraform_state.py +0 -0
  277. {qontract_reconcile-0.10.2.dev135 → qontract_reconcile-0.10.2.dev137}/reconcile/gql_definitions/fragments/upgrade_policy.py +0 -0
  278. {qontract_reconcile-0.10.2.dev135 → qontract_reconcile-0.10.2.dev137}/reconcile/gql_definitions/fragments/user.py +0 -0
  279. {qontract_reconcile-0.10.2.dev135 → qontract_reconcile-0.10.2.dev137}/reconcile/gql_definitions/fragments/vault_secret.py +0 -0
  280. {qontract_reconcile-0.10.2.dev135/reconcile/gql_definitions/glitchtip → qontract_reconcile-0.10.2.dev137/reconcile/gql_definitions/gitlab_members}/__init__.py +0 -0
  281. {qontract_reconcile-0.10.2.dev135 → qontract_reconcile-0.10.2.dev137}/reconcile/gql_definitions/gitlab_members/gitlab_instances.py +0 -0
  282. {qontract_reconcile-0.10.2.dev135 → qontract_reconcile-0.10.2.dev137}/reconcile/gql_definitions/gitlab_members/permissions.py +0 -0
  283. {qontract_reconcile-0.10.2.dev135/reconcile/gql_definitions/glitchtip_project_alerts → qontract_reconcile-0.10.2.dev137/reconcile/gql_definitions/glitchtip}/__init__.py +0 -0
  284. {qontract_reconcile-0.10.2.dev135 → qontract_reconcile-0.10.2.dev137}/reconcile/gql_definitions/glitchtip/glitchtip_instance.py +0 -0
  285. {qontract_reconcile-0.10.2.dev135 → qontract_reconcile-0.10.2.dev137}/reconcile/gql_definitions/glitchtip/glitchtip_project.py +0 -0
  286. {qontract_reconcile-0.10.2.dev135/reconcile/gql_definitions/integrations → qontract_reconcile-0.10.2.dev137/reconcile/gql_definitions/glitchtip_project_alerts}/__init__.py +0 -0
  287. {qontract_reconcile-0.10.2.dev135 → qontract_reconcile-0.10.2.dev137}/reconcile/gql_definitions/glitchtip_project_alerts/glitchtip_project.py +0 -0
  288. {qontract_reconcile-0.10.2.dev135/reconcile/gql_definitions/jenkins_configs → qontract_reconcile-0.10.2.dev137/reconcile/gql_definitions/integrations}/__init__.py +0 -0
  289. {qontract_reconcile-0.10.2.dev135 → qontract_reconcile-0.10.2.dev137}/reconcile/gql_definitions/integrations/integrations.py +0 -0
  290. {qontract_reconcile-0.10.2.dev135 → qontract_reconcile-0.10.2.dev137}/reconcile/gql_definitions/introspection.json +0 -0
  291. {qontract_reconcile-0.10.2.dev135/reconcile/gql_definitions/jira → qontract_reconcile-0.10.2.dev137/reconcile/gql_definitions/jenkins_configs}/__init__.py +0 -0
  292. {qontract_reconcile-0.10.2.dev135 → qontract_reconcile-0.10.2.dev137}/reconcile/gql_definitions/jenkins_configs/jenkins_configs.py +0 -0
  293. {qontract_reconcile-0.10.2.dev135 → qontract_reconcile-0.10.2.dev137}/reconcile/gql_definitions/jenkins_configs/jenkins_instances.py +0 -0
  294. {qontract_reconcile-0.10.2.dev135/reconcile/gql_definitions/jira_permissions_validator → qontract_reconcile-0.10.2.dev137/reconcile/gql_definitions/jira}/__init__.py +0 -0
  295. {qontract_reconcile-0.10.2.dev135 → qontract_reconcile-0.10.2.dev137}/reconcile/gql_definitions/jira/jira_servers.py +0 -0
  296. {qontract_reconcile-0.10.2.dev135/reconcile/gql_definitions/jumphosts → qontract_reconcile-0.10.2.dev137/reconcile/gql_definitions/jira_permissions_validator}/__init__.py +0 -0
  297. {qontract_reconcile-0.10.2.dev135 → qontract_reconcile-0.10.2.dev137}/reconcile/gql_definitions/jira_permissions_validator/jira_boards_for_permissions_validator.py +0 -0
  298. {qontract_reconcile-0.10.2.dev135/reconcile/gql_definitions/ldap_groups → qontract_reconcile-0.10.2.dev137/reconcile/gql_definitions/jumphosts}/__init__.py +0 -0
  299. {qontract_reconcile-0.10.2.dev135 → qontract_reconcile-0.10.2.dev137}/reconcile/gql_definitions/jumphosts/jumphosts.py +0 -0
  300. {qontract_reconcile-0.10.2.dev135/reconcile/gql_definitions/maintenance → qontract_reconcile-0.10.2.dev137/reconcile/gql_definitions/ldap_groups}/__init__.py +0 -0
  301. {qontract_reconcile-0.10.2.dev135 → qontract_reconcile-0.10.2.dev137}/reconcile/gql_definitions/ldap_groups/roles.py +0 -0
  302. {qontract_reconcile-0.10.2.dev135 → qontract_reconcile-0.10.2.dev137}/reconcile/gql_definitions/ldap_groups/settings.py +0 -0
  303. {qontract_reconcile-0.10.2.dev135/reconcile/gql_definitions/membershipsources → qontract_reconcile-0.10.2.dev137/reconcile/gql_definitions/maintenance}/__init__.py +0 -0
  304. {qontract_reconcile-0.10.2.dev135 → qontract_reconcile-0.10.2.dev137}/reconcile/gql_definitions/maintenance/maintenances.py +0 -0
  305. {qontract_reconcile-0.10.2.dev135/reconcile/gql_definitions/ocm_labels → qontract_reconcile-0.10.2.dev137/reconcile/gql_definitions/membershipsources}/__init__.py +0 -0
  306. {qontract_reconcile-0.10.2.dev135 → qontract_reconcile-0.10.2.dev137}/reconcile/gql_definitions/membershipsources/roles.py +0 -0
  307. {qontract_reconcile-0.10.2.dev135/reconcile/gql_definitions/ocm_oidc_idp → qontract_reconcile-0.10.2.dev137/reconcile/gql_definitions/ocm_labels}/__init__.py +0 -0
  308. {qontract_reconcile-0.10.2.dev135 → qontract_reconcile-0.10.2.dev137}/reconcile/gql_definitions/ocm_labels/clusters.py +0 -0
  309. {qontract_reconcile-0.10.2.dev135 → qontract_reconcile-0.10.2.dev137}/reconcile/gql_definitions/ocm_labels/organizations.py +0 -0
  310. {qontract_reconcile-0.10.2.dev135/reconcile/gql_definitions/ocm_subscription_labels → qontract_reconcile-0.10.2.dev137/reconcile/gql_definitions/ocm_oidc_idp}/__init__.py +0 -0
  311. {qontract_reconcile-0.10.2.dev135/reconcile/gql_definitions/openshift_cluster_bots → qontract_reconcile-0.10.2.dev137/reconcile/gql_definitions/ocm_subscription_labels}/__init__.py +0 -0
  312. {qontract_reconcile-0.10.2.dev135/reconcile/gql_definitions/openshift_groups → qontract_reconcile-0.10.2.dev137/reconcile/gql_definitions/openshift_cluster_bots}/__init__.py +0 -0
  313. {qontract_reconcile-0.10.2.dev135 → qontract_reconcile-0.10.2.dev137}/reconcile/gql_definitions/openshift_cluster_bots/clusters.py +0 -0
  314. {qontract_reconcile-0.10.2.dev135/reconcile/gql_definitions/openshift_serviceaccount_tokens → qontract_reconcile-0.10.2.dev137/reconcile/gql_definitions/openshift_groups}/__init__.py +0 -0
  315. {qontract_reconcile-0.10.2.dev135 → qontract_reconcile-0.10.2.dev137}/reconcile/gql_definitions/openshift_groups/managed_groups.py +0 -0
  316. {qontract_reconcile-0.10.2.dev135 → qontract_reconcile-0.10.2.dev137}/reconcile/gql_definitions/openshift_groups/managed_roles.py +0 -0
  317. {qontract_reconcile-0.10.2.dev135/reconcile/gql_definitions/quay_membership → qontract_reconcile-0.10.2.dev137/reconcile/gql_definitions/openshift_serviceaccount_tokens}/__init__.py +0 -0
  318. {qontract_reconcile-0.10.2.dev135 → qontract_reconcile-0.10.2.dev137}/reconcile/gql_definitions/openshift_serviceaccount_tokens/tokens.py +0 -0
  319. {qontract_reconcile-0.10.2.dev135/reconcile/gql_definitions/rhidp → qontract_reconcile-0.10.2.dev137/reconcile/gql_definitions/quay_membership}/__init__.py +0 -0
  320. {qontract_reconcile-0.10.2.dev135 → qontract_reconcile-0.10.2.dev137}/reconcile/gql_definitions/quay_membership/quay_membership.py +0 -0
  321. {qontract_reconcile-0.10.2.dev135/reconcile/gql_definitions/service_dependencies → qontract_reconcile-0.10.2.dev137/reconcile/gql_definitions/rhidp}/__init__.py +0 -0
  322. {qontract_reconcile-0.10.2.dev135 → qontract_reconcile-0.10.2.dev137}/reconcile/gql_definitions/rhidp/organizations.py +0 -0
  323. {qontract_reconcile-0.10.2.dev135/reconcile/gql_definitions/sharding → qontract_reconcile-0.10.2.dev137/reconcile/gql_definitions/service_dependencies}/__init__.py +0 -0
  324. {qontract_reconcile-0.10.2.dev135 → qontract_reconcile-0.10.2.dev137}/reconcile/gql_definitions/service_dependencies/jenkins_instance_fragment.py +0 -0
  325. {qontract_reconcile-0.10.2.dev135 → qontract_reconcile-0.10.2.dev137}/reconcile/gql_definitions/service_dependencies/service_dependencies.py +0 -0
  326. {qontract_reconcile-0.10.2.dev135/reconcile/gql_definitions/skupper_network → qontract_reconcile-0.10.2.dev137/reconcile/gql_definitions/sharding}/__init__.py +0 -0
  327. {qontract_reconcile-0.10.2.dev135 → qontract_reconcile-0.10.2.dev137}/reconcile/gql_definitions/sharding/aws_accounts.py +0 -0
  328. {qontract_reconcile-0.10.2.dev135 → qontract_reconcile-0.10.2.dev137}/reconcile/gql_definitions/sharding/ocm_organization.py +0 -0
  329. {qontract_reconcile-0.10.2.dev135/reconcile/gql_definitions/slack_usergroups → qontract_reconcile-0.10.2.dev137/reconcile/gql_definitions/skupper_network}/__init__.py +0 -0
  330. {qontract_reconcile-0.10.2.dev135 → qontract_reconcile-0.10.2.dev137}/reconcile/gql_definitions/skupper_network/site_controller_template.py +0 -0
  331. {qontract_reconcile-0.10.2.dev135 → qontract_reconcile-0.10.2.dev137}/reconcile/gql_definitions/skupper_network/skupper_networks.py +0 -0
  332. {qontract_reconcile-0.10.2.dev135/reconcile/gql_definitions/slo_documents → qontract_reconcile-0.10.2.dev137/reconcile/gql_definitions/slack_usergroups}/__init__.py +0 -0
  333. {qontract_reconcile-0.10.2.dev135 → qontract_reconcile-0.10.2.dev137}/reconcile/gql_definitions/slack_usergroups/clusters.py +0 -0
  334. {qontract_reconcile-0.10.2.dev135 → qontract_reconcile-0.10.2.dev137}/reconcile/gql_definitions/slack_usergroups/permissions.py +0 -0
  335. {qontract_reconcile-0.10.2.dev135 → qontract_reconcile-0.10.2.dev137}/reconcile/gql_definitions/slack_usergroups/users.py +0 -0
  336. {qontract_reconcile-0.10.2.dev135/reconcile/gql_definitions/status_board → qontract_reconcile-0.10.2.dev137/reconcile/gql_definitions/slo_documents}/__init__.py +0 -0
  337. {qontract_reconcile-0.10.2.dev135 → qontract_reconcile-0.10.2.dev137}/reconcile/gql_definitions/slo_documents/slo_documents.py +0 -0
  338. {qontract_reconcile-0.10.2.dev135/reconcile/gql_definitions/statuspage → qontract_reconcile-0.10.2.dev137/reconcile/gql_definitions/status_board}/__init__.py +0 -0
  339. {qontract_reconcile-0.10.2.dev135 → qontract_reconcile-0.10.2.dev137}/reconcile/gql_definitions/status_board/status_board.py +0 -0
  340. {qontract_reconcile-0.10.2.dev135/reconcile/gql_definitions/templating → qontract_reconcile-0.10.2.dev137/reconcile/gql_definitions/statuspage}/__init__.py +0 -0
  341. {qontract_reconcile-0.10.2.dev135 → qontract_reconcile-0.10.2.dev137}/reconcile/gql_definitions/statuspage/statuspages.py +0 -0
  342. {qontract_reconcile-0.10.2.dev135/reconcile/gql_definitions/terraform_cloudflare_dns → qontract_reconcile-0.10.2.dev137/reconcile/gql_definitions/templating}/__init__.py +0 -0
  343. {qontract_reconcile-0.10.2.dev135 → qontract_reconcile-0.10.2.dev137}/reconcile/gql_definitions/templating/template_collection.py +0 -0
  344. {qontract_reconcile-0.10.2.dev135 → qontract_reconcile-0.10.2.dev137}/reconcile/gql_definitions/templating/templates.py +0 -0
  345. {qontract_reconcile-0.10.2.dev135/reconcile/gql_definitions/terraform_cloudflare_resources → qontract_reconcile-0.10.2.dev137/reconcile/gql_definitions/terraform_cloudflare_dns}/__init__.py +0 -0
  346. {qontract_reconcile-0.10.2.dev135 → qontract_reconcile-0.10.2.dev137}/reconcile/gql_definitions/terraform_cloudflare_dns/app_interface_cloudflare_dns_settings.py +0 -0
  347. {qontract_reconcile-0.10.2.dev135 → qontract_reconcile-0.10.2.dev137}/reconcile/gql_definitions/terraform_cloudflare_dns/terraform_cloudflare_zones.py +0 -0
  348. {qontract_reconcile-0.10.2.dev135/reconcile/gql_definitions/terraform_cloudflare_users → qontract_reconcile-0.10.2.dev137/reconcile/gql_definitions/terraform_cloudflare_resources}/__init__.py +0 -0
  349. {qontract_reconcile-0.10.2.dev135 → qontract_reconcile-0.10.2.dev137}/reconcile/gql_definitions/terraform_cloudflare_resources/terraform_cloudflare_accounts.py +0 -0
  350. {qontract_reconcile-0.10.2.dev135 → qontract_reconcile-0.10.2.dev137}/reconcile/gql_definitions/terraform_cloudflare_resources/terraform_cloudflare_resources.py +0 -0
  351. {qontract_reconcile-0.10.2.dev135/reconcile/gql_definitions/terraform_init → qontract_reconcile-0.10.2.dev137/reconcile/gql_definitions/terraform_cloudflare_users}/__init__.py +0 -0
  352. {qontract_reconcile-0.10.2.dev135 → qontract_reconcile-0.10.2.dev137}/reconcile/gql_definitions/terraform_cloudflare_users/app_interface_setting_cloudflare_and_vault.py +0 -0
  353. {qontract_reconcile-0.10.2.dev135 → qontract_reconcile-0.10.2.dev137}/reconcile/gql_definitions/terraform_cloudflare_users/terraform_cloudflare_roles.py +0 -0
  354. {qontract_reconcile-0.10.2.dev135/reconcile/gql_definitions/terraform_repo → qontract_reconcile-0.10.2.dev137/reconcile/gql_definitions/terraform_init}/__init__.py +0 -0
  355. {qontract_reconcile-0.10.2.dev135 → qontract_reconcile-0.10.2.dev137}/reconcile/gql_definitions/terraform_init/aws_accounts.py +0 -0
  356. {qontract_reconcile-0.10.2.dev135/reconcile/gql_definitions/terraform_resources → qontract_reconcile-0.10.2.dev137/reconcile/gql_definitions/terraform_repo}/__init__.py +0 -0
  357. {qontract_reconcile-0.10.2.dev135 → qontract_reconcile-0.10.2.dev137}/reconcile/gql_definitions/terraform_repo/terraform_repo.py +0 -0
  358. {qontract_reconcile-0.10.2.dev135/reconcile/gql_definitions/terraform_tgw_attachments → qontract_reconcile-0.10.2.dev137/reconcile/gql_definitions/terraform_resources}/__init__.py +0 -0
  359. {qontract_reconcile-0.10.2.dev135 → qontract_reconcile-0.10.2.dev137}/reconcile/gql_definitions/terraform_resources/database_access_manager.py +0 -0
  360. {qontract_reconcile-0.10.2.dev135 → qontract_reconcile-0.10.2.dev137}/reconcile/gql_definitions/terraform_resources/terraform_resources_namespaces.py +0 -0
  361. {qontract_reconcile-0.10.2.dev135/reconcile/gql_definitions/unleash_feature_toggles → qontract_reconcile-0.10.2.dev137/reconcile/gql_definitions/terraform_tgw_attachments}/__init__.py +0 -0
  362. {qontract_reconcile-0.10.2.dev135 → qontract_reconcile-0.10.2.dev137}/reconcile/gql_definitions/terraform_tgw_attachments/aws_accounts.py +0 -0
  363. {qontract_reconcile-0.10.2.dev135/reconcile/gql_definitions/vault_instances → qontract_reconcile-0.10.2.dev137/reconcile/gql_definitions/unleash_feature_toggles}/__init__.py +0 -0
  364. {qontract_reconcile-0.10.2.dev135 → qontract_reconcile-0.10.2.dev137}/reconcile/gql_definitions/unleash_feature_toggles/feature_toggles.py +0 -0
  365. {qontract_reconcile-0.10.2.dev135/reconcile/gql_definitions/vault_policies → qontract_reconcile-0.10.2.dev137/reconcile/gql_definitions/vault_instances}/__init__.py +0 -0
  366. {qontract_reconcile-0.10.2.dev135 → qontract_reconcile-0.10.2.dev137}/reconcile/gql_definitions/vault_instances/vault_instances.py +0 -0
  367. {qontract_reconcile-0.10.2.dev135/reconcile/gql_definitions/vpc_peerings_validator → qontract_reconcile-0.10.2.dev137/reconcile/gql_definitions/vault_policies}/__init__.py +0 -0
  368. {qontract_reconcile-0.10.2.dev135 → qontract_reconcile-0.10.2.dev137}/reconcile/gql_definitions/vault_policies/vault_policies.py +0 -0
  369. {qontract_reconcile-0.10.2.dev135/reconcile/jenkins → qontract_reconcile-0.10.2.dev137/reconcile/gql_definitions/vpc_peerings_validator}/__init__.py +0 -0
  370. {qontract_reconcile-0.10.2.dev135 → qontract_reconcile-0.10.2.dev137}/reconcile/gql_definitions/vpc_peerings_validator/vpc_peerings_validator.py +0 -0
  371. {qontract_reconcile-0.10.2.dev135 → qontract_reconcile-0.10.2.dev137}/reconcile/gql_definitions/vpc_peerings_validator/vpc_peerings_validator_peered_cluster_fragment.py +0 -0
  372. {qontract_reconcile-0.10.2.dev135 → qontract_reconcile-0.10.2.dev137}/reconcile/integrations_manager.py +0 -0
  373. {qontract_reconcile-0.10.2.dev135/reconcile/ldap_groups → qontract_reconcile-0.10.2.dev137/reconcile/jenkins}/__init__.py +0 -0
  374. {qontract_reconcile-0.10.2.dev135 → qontract_reconcile-0.10.2.dev137}/reconcile/jenkins/types.py +0 -0
  375. {qontract_reconcile-0.10.2.dev135 → qontract_reconcile-0.10.2.dev137}/reconcile/jenkins_base.py +0 -0
  376. {qontract_reconcile-0.10.2.dev135 → qontract_reconcile-0.10.2.dev137}/reconcile/jenkins_job_builder.py +0 -0
  377. {qontract_reconcile-0.10.2.dev135 → qontract_reconcile-0.10.2.dev137}/reconcile/jenkins_job_builds_cleaner.py +0 -0
  378. {qontract_reconcile-0.10.2.dev135 → qontract_reconcile-0.10.2.dev137}/reconcile/jenkins_job_cleaner.py +0 -0
  379. {qontract_reconcile-0.10.2.dev135 → qontract_reconcile-0.10.2.dev137}/reconcile/jenkins_roles.py +0 -0
  380. {qontract_reconcile-0.10.2.dev135 → qontract_reconcile-0.10.2.dev137}/reconcile/jenkins_webhooks.py +0 -0
  381. {qontract_reconcile-0.10.2.dev135 → qontract_reconcile-0.10.2.dev137}/reconcile/jenkins_webhooks_cleaner.py +0 -0
  382. {qontract_reconcile-0.10.2.dev135 → qontract_reconcile-0.10.2.dev137}/reconcile/jenkins_worker_fleets.py +0 -0
  383. {qontract_reconcile-0.10.2.dev135 → qontract_reconcile-0.10.2.dev137}/reconcile/jira_permissions_validator.py +0 -0
  384. {qontract_reconcile-0.10.2.dev135 → qontract_reconcile-0.10.2.dev137}/reconcile/jira_watcher.py +0 -0
  385. {qontract_reconcile-0.10.2.dev135/reconcile/ocm → qontract_reconcile-0.10.2.dev137/reconcile/ldap_groups}/__init__.py +0 -0
  386. {qontract_reconcile-0.10.2.dev135 → qontract_reconcile-0.10.2.dev137}/reconcile/ldap_groups/integration.py +0 -0
  387. {qontract_reconcile-0.10.2.dev135 → qontract_reconcile-0.10.2.dev137}/reconcile/ldap_users.py +0 -0
  388. {qontract_reconcile-0.10.2.dev135 → qontract_reconcile-0.10.2.dev137}/reconcile/mr_client_gateway.py +0 -0
  389. {qontract_reconcile-0.10.2.dev135/reconcile/ocm_internal_notifications → qontract_reconcile-0.10.2.dev137/reconcile/ocm}/__init__.py +0 -0
  390. {qontract_reconcile-0.10.2.dev135 → qontract_reconcile-0.10.2.dev137}/reconcile/ocm/types.py +0 -0
  391. {qontract_reconcile-0.10.2.dev135 → qontract_reconcile-0.10.2.dev137}/reconcile/ocm_additional_routers.py +0 -0
  392. {qontract_reconcile-0.10.2.dev135 → qontract_reconcile-0.10.2.dev137}/reconcile/ocm_addons.py +0 -0
  393. {qontract_reconcile-0.10.2.dev135 → qontract_reconcile-0.10.2.dev137}/reconcile/ocm_addons_upgrade_tests_trigger.py +0 -0
  394. {qontract_reconcile-0.10.2.dev135 → qontract_reconcile-0.10.2.dev137}/reconcile/ocm_aws_infrastructure_access.py +0 -0
  395. {qontract_reconcile-0.10.2.dev135 → qontract_reconcile-0.10.2.dev137}/reconcile/ocm_clusters.py +0 -0
  396. {qontract_reconcile-0.10.2.dev135 → qontract_reconcile-0.10.2.dev137}/reconcile/ocm_external_configuration_labels.py +0 -0
  397. {qontract_reconcile-0.10.2.dev135 → qontract_reconcile-0.10.2.dev137}/reconcile/ocm_github_idp.py +0 -0
  398. {qontract_reconcile-0.10.2.dev135 → qontract_reconcile-0.10.2.dev137}/reconcile/ocm_groups.py +0 -0
  399. {qontract_reconcile-0.10.2.dev135/reconcile/ocm_labels → qontract_reconcile-0.10.2.dev137/reconcile/ocm_internal_notifications}/__init__.py +0 -0
  400. {qontract_reconcile-0.10.2.dev135 → qontract_reconcile-0.10.2.dev137}/reconcile/ocm_internal_notifications/integration.py +0 -0
  401. {qontract_reconcile-0.10.2.dev135/reconcile/oum → qontract_reconcile-0.10.2.dev137/reconcile/ocm_labels}/__init__.py +0 -0
  402. {qontract_reconcile-0.10.2.dev135 → qontract_reconcile-0.10.2.dev137}/reconcile/ocm_labels/integration.py +0 -0
  403. {qontract_reconcile-0.10.2.dev135 → qontract_reconcile-0.10.2.dev137}/reconcile/ocm_machine_pools.py +0 -0
  404. {qontract_reconcile-0.10.2.dev135 → qontract_reconcile-0.10.2.dev137}/reconcile/ocm_update_recommended_version.py +0 -0
  405. {qontract_reconcile-0.10.2.dev135 → qontract_reconcile-0.10.2.dev137}/reconcile/ocm_upgrade_scheduler_org_updater.py +0 -0
  406. {qontract_reconcile-0.10.2.dev135 → qontract_reconcile-0.10.2.dev137}/reconcile/openshift_base.py +0 -0
  407. {qontract_reconcile-0.10.2.dev135 → qontract_reconcile-0.10.2.dev137}/reconcile/openshift_cluster_bots.py +0 -0
  408. {qontract_reconcile-0.10.2.dev135 → qontract_reconcile-0.10.2.dev137}/reconcile/openshift_clusterrolebindings.py +0 -0
  409. {qontract_reconcile-0.10.2.dev135 → qontract_reconcile-0.10.2.dev137}/reconcile/openshift_groups.py +0 -0
  410. {qontract_reconcile-0.10.2.dev135 → qontract_reconcile-0.10.2.dev137}/reconcile/openshift_limitranges.py +0 -0
  411. {qontract_reconcile-0.10.2.dev135 → qontract_reconcile-0.10.2.dev137}/reconcile/openshift_namespace_labels.py +0 -0
  412. {qontract_reconcile-0.10.2.dev135 → qontract_reconcile-0.10.2.dev137}/reconcile/openshift_namespaces.py +0 -0
  413. {qontract_reconcile-0.10.2.dev135 → qontract_reconcile-0.10.2.dev137}/reconcile/openshift_network_policies.py +0 -0
  414. {qontract_reconcile-0.10.2.dev135 → qontract_reconcile-0.10.2.dev137}/reconcile/openshift_prometheus_rules.py +0 -0
  415. {qontract_reconcile-0.10.2.dev135 → qontract_reconcile-0.10.2.dev137}/reconcile/openshift_resourcequotas.py +0 -0
  416. {qontract_reconcile-0.10.2.dev135 → qontract_reconcile-0.10.2.dev137}/reconcile/openshift_resources.py +0 -0
  417. {qontract_reconcile-0.10.2.dev135 → qontract_reconcile-0.10.2.dev137}/reconcile/openshift_resources_base.py +0 -0
  418. {qontract_reconcile-0.10.2.dev135 → qontract_reconcile-0.10.2.dev137}/reconcile/openshift_rolebindings.py +0 -0
  419. {qontract_reconcile-0.10.2.dev135 → qontract_reconcile-0.10.2.dev137}/reconcile/openshift_routes.py +0 -0
  420. {qontract_reconcile-0.10.2.dev135 → qontract_reconcile-0.10.2.dev137}/reconcile/openshift_saas_deploy.py +0 -0
  421. {qontract_reconcile-0.10.2.dev135 → qontract_reconcile-0.10.2.dev137}/reconcile/openshift_saas_deploy_change_tester.py +0 -0
  422. {qontract_reconcile-0.10.2.dev135 → qontract_reconcile-0.10.2.dev137}/reconcile/openshift_saas_deploy_trigger_base.py +0 -0
  423. {qontract_reconcile-0.10.2.dev135 → qontract_reconcile-0.10.2.dev137}/reconcile/openshift_saas_deploy_trigger_cleaner.py +0 -0
  424. {qontract_reconcile-0.10.2.dev135 → qontract_reconcile-0.10.2.dev137}/reconcile/openshift_saas_deploy_trigger_configs.py +0 -0
  425. {qontract_reconcile-0.10.2.dev135 → qontract_reconcile-0.10.2.dev137}/reconcile/openshift_saas_deploy_trigger_images.py +0 -0
  426. {qontract_reconcile-0.10.2.dev135 → qontract_reconcile-0.10.2.dev137}/reconcile/openshift_saas_deploy_trigger_moving_commits.py +0 -0
  427. {qontract_reconcile-0.10.2.dev135 → qontract_reconcile-0.10.2.dev137}/reconcile/openshift_saas_deploy_trigger_upstream_jobs.py +0 -0
  428. {qontract_reconcile-0.10.2.dev135 → qontract_reconcile-0.10.2.dev137}/reconcile/openshift_serviceaccount_tokens.py +0 -0
  429. {qontract_reconcile-0.10.2.dev135 → qontract_reconcile-0.10.2.dev137}/reconcile/openshift_tekton_resources.py +0 -0
  430. {qontract_reconcile-0.10.2.dev135 → qontract_reconcile-0.10.2.dev137}/reconcile/openshift_upgrade_watcher.py +0 -0
  431. {qontract_reconcile-0.10.2.dev135 → qontract_reconcile-0.10.2.dev137}/reconcile/openshift_users.py +0 -0
  432. {qontract_reconcile-0.10.2.dev135 → qontract_reconcile-0.10.2.dev137}/reconcile/openshift_vault_secrets.py +0 -0
  433. {qontract_reconcile-0.10.2.dev135/reconcile/prometheus_rules_tester → qontract_reconcile-0.10.2.dev137/reconcile/oum}/__init__.py +0 -0
  434. {qontract_reconcile-0.10.2.dev135 → qontract_reconcile-0.10.2.dev137}/reconcile/oum/base.py +0 -0
  435. {qontract_reconcile-0.10.2.dev135 → qontract_reconcile-0.10.2.dev137}/reconcile/oum/labelset.py +0 -0
  436. {qontract_reconcile-0.10.2.dev135 → qontract_reconcile-0.10.2.dev137}/reconcile/oum/metrics.py +0 -0
  437. {qontract_reconcile-0.10.2.dev135 → qontract_reconcile-0.10.2.dev137}/reconcile/oum/models.py +0 -0
  438. {qontract_reconcile-0.10.2.dev135 → qontract_reconcile-0.10.2.dev137}/reconcile/oum/providers.py +0 -0
  439. {qontract_reconcile-0.10.2.dev135 → qontract_reconcile-0.10.2.dev137}/reconcile/oum/standalone.py +0 -0
  440. {qontract_reconcile-0.10.2.dev135/reconcile/rhidp → qontract_reconcile-0.10.2.dev137/reconcile/prometheus_rules_tester}/__init__.py +0 -0
  441. {qontract_reconcile-0.10.2.dev135 → qontract_reconcile-0.10.2.dev137}/reconcile/prometheus_rules_tester/integration.py +0 -0
  442. {qontract_reconcile-0.10.2.dev135 → qontract_reconcile-0.10.2.dev137}/reconcile/quay_base.py +0 -0
  443. {qontract_reconcile-0.10.2.dev135 → qontract_reconcile-0.10.2.dev137}/reconcile/quay_membership.py +0 -0
  444. {qontract_reconcile-0.10.2.dev135 → qontract_reconcile-0.10.2.dev137}/reconcile/quay_mirror.py +0 -0
  445. {qontract_reconcile-0.10.2.dev135 → qontract_reconcile-0.10.2.dev137}/reconcile/quay_mirror_org.py +0 -0
  446. {qontract_reconcile-0.10.2.dev135 → qontract_reconcile-0.10.2.dev137}/reconcile/quay_permissions.py +0 -0
  447. {qontract_reconcile-0.10.2.dev135 → qontract_reconcile-0.10.2.dev137}/reconcile/quay_repos.py +0 -0
  448. {qontract_reconcile-0.10.2.dev135 → qontract_reconcile-0.10.2.dev137}/reconcile/query_validator.py +0 -0
  449. {qontract_reconcile-0.10.2.dev135 → qontract_reconcile-0.10.2.dev137}/reconcile/requests_sender.py +0 -0
  450. {qontract_reconcile-0.10.2.dev135 → qontract_reconcile-0.10.2.dev137}/reconcile/resource_scraper.py +0 -0
  451. {qontract_reconcile-0.10.2.dev135 → qontract_reconcile-0.10.2.dev137}/reconcile/resource_template_tester.py +0 -0
  452. {qontract_reconcile-0.10.2.dev135/reconcile/rhidp/ocm_oidc_idp → qontract_reconcile-0.10.2.dev137/reconcile/rhidp}/__init__.py +0 -0
  453. {qontract_reconcile-0.10.2.dev135 → qontract_reconcile-0.10.2.dev137}/reconcile/rhidp/common.py +0 -0
  454. {qontract_reconcile-0.10.2.dev135 → qontract_reconcile-0.10.2.dev137}/reconcile/rhidp/metrics.py +0 -0
  455. {qontract_reconcile-0.10.2.dev135/reconcile/rhidp/sso_client → qontract_reconcile-0.10.2.dev137/reconcile/rhidp/ocm_oidc_idp}/__init__.py +0 -0
  456. {qontract_reconcile-0.10.2.dev135 → qontract_reconcile-0.10.2.dev137}/reconcile/rhidp/ocm_oidc_idp/base.py +0 -0
  457. {qontract_reconcile-0.10.2.dev135 → qontract_reconcile-0.10.2.dev137}/reconcile/rhidp/ocm_oidc_idp/integration.py +0 -0
  458. {qontract_reconcile-0.10.2.dev135 → qontract_reconcile-0.10.2.dev137}/reconcile/rhidp/ocm_oidc_idp/metrics.py +0 -0
  459. {qontract_reconcile-0.10.2.dev135/reconcile/saas_auto_promotions_manager → qontract_reconcile-0.10.2.dev137/reconcile/rhidp/sso_client}/__init__.py +0 -0
  460. {qontract_reconcile-0.10.2.dev135 → qontract_reconcile-0.10.2.dev137}/reconcile/rhidp/sso_client/base.py +0 -0
  461. {qontract_reconcile-0.10.2.dev135 → qontract_reconcile-0.10.2.dev137}/reconcile/rhidp/sso_client/integration.py +0 -0
  462. {qontract_reconcile-0.10.2.dev135 → qontract_reconcile-0.10.2.dev137}/reconcile/rhidp/sso_client/metrics.py +0 -0
  463. {qontract_reconcile-0.10.2.dev135 → qontract_reconcile-0.10.2.dev137}/reconcile/run_integration.py +0 -0
  464. {qontract_reconcile-0.10.2.dev135/reconcile/saas_auto_promotions_manager/merge_request_manager → qontract_reconcile-0.10.2.dev137/reconcile/saas_auto_promotions_manager}/__init__.py +0 -0
  465. {qontract_reconcile-0.10.2.dev135 → qontract_reconcile-0.10.2.dev137}/reconcile/saas_auto_promotions_manager/integration.py +0 -0
  466. {qontract_reconcile-0.10.2.dev135/reconcile/saas_auto_promotions_manager/utils → qontract_reconcile-0.10.2.dev137/reconcile/saas_auto_promotions_manager/merge_request_manager}/__init__.py +0 -0
  467. {qontract_reconcile-0.10.2.dev135 → qontract_reconcile-0.10.2.dev137}/reconcile/saas_auto_promotions_manager/merge_request_manager/batcher.py +0 -0
  468. {qontract_reconcile-0.10.2.dev135 → qontract_reconcile-0.10.2.dev137}/reconcile/saas_auto_promotions_manager/merge_request_manager/desired_state.py +0 -0
  469. {qontract_reconcile-0.10.2.dev135 → qontract_reconcile-0.10.2.dev137}/reconcile/saas_auto_promotions_manager/merge_request_manager/merge_request.py +0 -0
  470. {qontract_reconcile-0.10.2.dev135 → qontract_reconcile-0.10.2.dev137}/reconcile/saas_auto_promotions_manager/merge_request_manager/merge_request_manager_v2.py +0 -0
  471. {qontract_reconcile-0.10.2.dev135 → qontract_reconcile-0.10.2.dev137}/reconcile/saas_auto_promotions_manager/merge_request_manager/metrics.py +0 -0
  472. {qontract_reconcile-0.10.2.dev135 → qontract_reconcile-0.10.2.dev137}/reconcile/saas_auto_promotions_manager/merge_request_manager/mr_parser.py +0 -0
  473. {qontract_reconcile-0.10.2.dev135 → qontract_reconcile-0.10.2.dev137}/reconcile/saas_auto_promotions_manager/merge_request_manager/open_merge_requests.py +0 -0
  474. {qontract_reconcile-0.10.2.dev135 → qontract_reconcile-0.10.2.dev137}/reconcile/saas_auto_promotions_manager/merge_request_manager/renderer.py +0 -0
  475. {qontract_reconcile-0.10.2.dev135 → qontract_reconcile-0.10.2.dev137}/reconcile/saas_auto_promotions_manager/meta.py +0 -0
  476. {qontract_reconcile-0.10.2.dev135 → qontract_reconcile-0.10.2.dev137}/reconcile/saas_auto_promotions_manager/publisher.py +0 -0
  477. {qontract_reconcile-0.10.2.dev135 → qontract_reconcile-0.10.2.dev137}/reconcile/saas_auto_promotions_manager/s3_exporter.py +0 -0
  478. {qontract_reconcile-0.10.2.dev135 → qontract_reconcile-0.10.2.dev137}/reconcile/saas_auto_promotions_manager/subscriber.py +0 -0
  479. {qontract_reconcile-0.10.2.dev135/reconcile/skupper_network → qontract_reconcile-0.10.2.dev137/reconcile/saas_auto_promotions_manager/utils}/__init__.py +0 -0
  480. {qontract_reconcile-0.10.2.dev135 → qontract_reconcile-0.10.2.dev137}/reconcile/saas_auto_promotions_manager/utils/saas_files_inventory.py +0 -0
  481. {qontract_reconcile-0.10.2.dev135 → qontract_reconcile-0.10.2.dev137}/reconcile/saas_file_validator.py +0 -0
  482. {qontract_reconcile-0.10.2.dev135 → qontract_reconcile-0.10.2.dev137}/reconcile/sendgrid_teammates.py +0 -0
  483. {qontract_reconcile-0.10.2.dev135 → qontract_reconcile-0.10.2.dev137}/reconcile/service_dependencies.py +0 -0
  484. {qontract_reconcile-0.10.2.dev135 → qontract_reconcile-0.10.2.dev137}/reconcile/signalfx_endpoint_monitoring.py +0 -0
  485. {qontract_reconcile-0.10.2.dev135/reconcile/statuspage → qontract_reconcile-0.10.2.dev137/reconcile/skupper_network}/__init__.py +0 -0
  486. {qontract_reconcile-0.10.2.dev135 → qontract_reconcile-0.10.2.dev137}/reconcile/skupper_network/integration.py +0 -0
  487. {qontract_reconcile-0.10.2.dev135 → qontract_reconcile-0.10.2.dev137}/reconcile/skupper_network/models.py +0 -0
  488. {qontract_reconcile-0.10.2.dev135 → qontract_reconcile-0.10.2.dev137}/reconcile/skupper_network/reconciler.py +0 -0
  489. {qontract_reconcile-0.10.2.dev135 → qontract_reconcile-0.10.2.dev137}/reconcile/skupper_network/site_controller.py +0 -0
  490. {qontract_reconcile-0.10.2.dev135 → qontract_reconcile-0.10.2.dev137}/reconcile/slack_base.py +0 -0
  491. {qontract_reconcile-0.10.2.dev135 → qontract_reconcile-0.10.2.dev137}/reconcile/slack_usergroups.py +0 -0
  492. {qontract_reconcile-0.10.2.dev135 → qontract_reconcile-0.10.2.dev137}/reconcile/sql_query.py +0 -0
  493. {qontract_reconcile-0.10.2.dev135 → qontract_reconcile-0.10.2.dev137}/reconcile/status.py +0 -0
  494. {qontract_reconcile-0.10.2.dev135 → qontract_reconcile-0.10.2.dev137}/reconcile/status_board.py +0 -0
  495. {qontract_reconcile-0.10.2.dev135/reconcile/statuspage/integrations → qontract_reconcile-0.10.2.dev137/reconcile/statuspage}/__init__.py +0 -0
  496. {qontract_reconcile-0.10.2.dev135 → qontract_reconcile-0.10.2.dev137}/reconcile/statuspage/atlassian.py +0 -0
  497. {qontract_reconcile-0.10.2.dev135 → qontract_reconcile-0.10.2.dev137}/reconcile/statuspage/integration.py +0 -0
  498. {qontract_reconcile-0.10.2.dev135/reconcile/templates → qontract_reconcile-0.10.2.dev137/reconcile/statuspage/integrations}/__init__.py +0 -0
  499. {qontract_reconcile-0.10.2.dev135 → qontract_reconcile-0.10.2.dev137}/reconcile/statuspage/integrations/components.py +0 -0
  500. {qontract_reconcile-0.10.2.dev135 → qontract_reconcile-0.10.2.dev137}/reconcile/statuspage/integrations/maintenances.py +0 -0
  501. {qontract_reconcile-0.10.2.dev135 → qontract_reconcile-0.10.2.dev137}/reconcile/statuspage/page.py +0 -0
  502. {qontract_reconcile-0.10.2.dev135 → qontract_reconcile-0.10.2.dev137}/reconcile/statuspage/state.py +0 -0
  503. {qontract_reconcile-0.10.2.dev135 → qontract_reconcile-0.10.2.dev137}/reconcile/statuspage/status.py +0 -0
  504. {qontract_reconcile-0.10.2.dev135/reconcile/templating → qontract_reconcile-0.10.2.dev137/reconcile/templates}/__init__.py +0 -0
  505. {qontract_reconcile-0.10.2.dev135 → qontract_reconcile-0.10.2.dev137}/reconcile/templates/aws_access_key_email.j2 +0 -0
  506. {qontract_reconcile-0.10.2.dev135 → qontract_reconcile-0.10.2.dev137}/reconcile/templates/email.yml.j2 +0 -0
  507. {qontract_reconcile-0.10.2.dev135 → qontract_reconcile-0.10.2.dev137}/reconcile/templates/jira-checkpoint-missinginfo.j2 +0 -0
  508. {qontract_reconcile-0.10.2.dev135 → qontract_reconcile-0.10.2.dev137}/reconcile/templates/rosa-classic-cluster-creation.sh.j2 +0 -0
  509. {qontract_reconcile-0.10.2.dev135 → qontract_reconcile-0.10.2.dev137}/reconcile/templates/rosa-hcp-cluster-creation.sh.j2 +0 -0
  510. {qontract_reconcile-0.10.2.dev135/reconcile/templating/lib → qontract_reconcile-0.10.2.dev137/reconcile/templating}/__init__.py +0 -0
  511. {qontract_reconcile-0.10.2.dev135/reconcile/terraform_init → qontract_reconcile-0.10.2.dev137/reconcile/templating/lib}/__init__.py +0 -0
  512. {qontract_reconcile-0.10.2.dev135 → qontract_reconcile-0.10.2.dev137}/reconcile/templating/lib/merge_request_manager.py +0 -0
  513. {qontract_reconcile-0.10.2.dev135 → qontract_reconcile-0.10.2.dev137}/reconcile/templating/lib/model.py +0 -0
  514. {qontract_reconcile-0.10.2.dev135 → qontract_reconcile-0.10.2.dev137}/reconcile/templating/lib/rendering.py +0 -0
  515. {qontract_reconcile-0.10.2.dev135 → qontract_reconcile-0.10.2.dev137}/reconcile/templating/renderer.py +0 -0
  516. {qontract_reconcile-0.10.2.dev135 → qontract_reconcile-0.10.2.dev137}/reconcile/templating/validator.py +0 -0
  517. {qontract_reconcile-0.10.2.dev135 → qontract_reconcile-0.10.2.dev137}/reconcile/terraform_aws_route53.py +0 -0
  518. {qontract_reconcile-0.10.2.dev135 → qontract_reconcile-0.10.2.dev137}/reconcile/terraform_cloudflare_dns.py +0 -0
  519. {qontract_reconcile-0.10.2.dev135 → qontract_reconcile-0.10.2.dev137}/reconcile/terraform_cloudflare_resources.py +0 -0
  520. {qontract_reconcile-0.10.2.dev135 → qontract_reconcile-0.10.2.dev137}/reconcile/terraform_cloudflare_users.py +0 -0
  521. {qontract_reconcile-0.10.2.dev135/reconcile/terraform_vpc_resources → qontract_reconcile-0.10.2.dev137/reconcile/terraform_init}/__init__.py +0 -0
  522. {qontract_reconcile-0.10.2.dev135 → qontract_reconcile-0.10.2.dev137}/reconcile/terraform_init/integration.py +0 -0
  523. {qontract_reconcile-0.10.2.dev135 → qontract_reconcile-0.10.2.dev137}/reconcile/terraform_init/merge_request.py +0 -0
  524. {qontract_reconcile-0.10.2.dev135 → qontract_reconcile-0.10.2.dev137}/reconcile/terraform_init/merge_request_manager.py +0 -0
  525. {qontract_reconcile-0.10.2.dev135 → qontract_reconcile-0.10.2.dev137}/reconcile/terraform_repo.py +0 -0
  526. {qontract_reconcile-0.10.2.dev135 → qontract_reconcile-0.10.2.dev137}/reconcile/terraform_resources.py +0 -0
  527. {qontract_reconcile-0.10.2.dev135 → qontract_reconcile-0.10.2.dev137}/reconcile/terraform_tgw_attachments.py +0 -0
  528. {qontract_reconcile-0.10.2.dev135 → qontract_reconcile-0.10.2.dev137}/reconcile/terraform_users.py +0 -0
  529. {qontract_reconcile-0.10.2.dev135 → qontract_reconcile-0.10.2.dev137}/reconcile/terraform_vpc_peerings.py +0 -0
  530. {qontract_reconcile-0.10.2.dev135/reconcile/typed_queries/app_interface_metrics_exporter → qontract_reconcile-0.10.2.dev137/reconcile/terraform_vpc_resources}/__init__.py +0 -0
  531. {qontract_reconcile-0.10.2.dev135 → qontract_reconcile-0.10.2.dev137}/reconcile/terraform_vpc_resources/integration.py +0 -0
  532. {qontract_reconcile-0.10.2.dev135 → qontract_reconcile-0.10.2.dev137}/reconcile/terraform_vpc_resources/merge_request.py +0 -0
  533. {qontract_reconcile-0.10.2.dev135 → qontract_reconcile-0.10.2.dev137}/reconcile/terraform_vpc_resources/merge_request_manager.py +0 -0
  534. {qontract_reconcile-0.10.2.dev135 → qontract_reconcile-0.10.2.dev137}/reconcile/typed_queries/__init__.py +0 -0
  535. {qontract_reconcile-0.10.2.dev135 → qontract_reconcile-0.10.2.dev137}/reconcile/typed_queries/alerting_services_settings.py +0 -0
  536. {qontract_reconcile-0.10.2.dev135 → qontract_reconcile-0.10.2.dev137}/reconcile/typed_queries/app_interface_custom_messages.py +0 -0
  537. {qontract_reconcile-0.10.2.dev135 → qontract_reconcile-0.10.2.dev137}/reconcile/typed_queries/app_interface_deadmanssnitch_settings.py +0 -0
  538. {qontract_reconcile-0.10.2.dev135/reconcile/typed_queries/cost_report → qontract_reconcile-0.10.2.dev137/reconcile/typed_queries/app_interface_metrics_exporter}/__init__.py +0 -0
  539. {qontract_reconcile-0.10.2.dev135 → qontract_reconcile-0.10.2.dev137}/reconcile/typed_queries/app_interface_metrics_exporter/onboarding_status.py +0 -0
  540. {qontract_reconcile-0.10.2.dev135 → qontract_reconcile-0.10.2.dev137}/reconcile/typed_queries/app_interface_metrics_exporter/terraform_repo.py +0 -0
  541. {qontract_reconcile-0.10.2.dev135 → qontract_reconcile-0.10.2.dev137}/reconcile/typed_queries/app_interface_repo_url.py +0 -0
  542. {qontract_reconcile-0.10.2.dev135 → qontract_reconcile-0.10.2.dev137}/reconcile/typed_queries/app_interface_state_settings.py +0 -0
  543. {qontract_reconcile-0.10.2.dev135 → qontract_reconcile-0.10.2.dev137}/reconcile/typed_queries/app_interface_vault_settings.py +0 -0
  544. {qontract_reconcile-0.10.2.dev135 → qontract_reconcile-0.10.2.dev137}/reconcile/typed_queries/app_quay_repos_escalation_policies.py +0 -0
  545. {qontract_reconcile-0.10.2.dev135 → qontract_reconcile-0.10.2.dev137}/reconcile/typed_queries/apps.py +0 -0
  546. {qontract_reconcile-0.10.2.dev135 → qontract_reconcile-0.10.2.dev137}/reconcile/typed_queries/aws_vpc_requests.py +0 -0
  547. {qontract_reconcile-0.10.2.dev135 → qontract_reconcile-0.10.2.dev137}/reconcile/typed_queries/aws_vpcs.py +0 -0
  548. {qontract_reconcile-0.10.2.dev135 → qontract_reconcile-0.10.2.dev137}/reconcile/typed_queries/cloudflare.py +0 -0
  549. {qontract_reconcile-0.10.2.dev135 → qontract_reconcile-0.10.2.dev137}/reconcile/typed_queries/clusters.py +0 -0
  550. {qontract_reconcile-0.10.2.dev135 → qontract_reconcile-0.10.2.dev137}/reconcile/typed_queries/clusters_minimal.py +0 -0
  551. {qontract_reconcile-0.10.2.dev135 → qontract_reconcile-0.10.2.dev137}/reconcile/typed_queries/clusters_with_dms.py +0 -0
  552. {qontract_reconcile-0.10.2.dev135 → qontract_reconcile-0.10.2.dev137}/reconcile/typed_queries/clusters_with_peering.py +0 -0
  553. {qontract_reconcile-0.10.2.dev135/reconcile/typed_queries/terraform_tgw_attachments → qontract_reconcile-0.10.2.dev137/reconcile/typed_queries/cost_report}/__init__.py +0 -0
  554. {qontract_reconcile-0.10.2.dev135 → qontract_reconcile-0.10.2.dev137}/reconcile/typed_queries/cost_report/app_names.py +0 -0
  555. {qontract_reconcile-0.10.2.dev135 → qontract_reconcile-0.10.2.dev137}/reconcile/typed_queries/cost_report/cost_namespaces.py +0 -0
  556. {qontract_reconcile-0.10.2.dev135 → qontract_reconcile-0.10.2.dev137}/reconcile/typed_queries/cost_report/settings.py +0 -0
  557. {qontract_reconcile-0.10.2.dev135 → qontract_reconcile-0.10.2.dev137}/reconcile/typed_queries/dynatrace.py +0 -0
  558. {qontract_reconcile-0.10.2.dev135 → qontract_reconcile-0.10.2.dev137}/reconcile/typed_queries/dynatrace_environments.py +0 -0
  559. {qontract_reconcile-0.10.2.dev135 → qontract_reconcile-0.10.2.dev137}/reconcile/typed_queries/dynatrace_token_provider_token_specs.py +0 -0
  560. {qontract_reconcile-0.10.2.dev135 → qontract_reconcile-0.10.2.dev137}/reconcile/typed_queries/external_resources.py +0 -0
  561. {qontract_reconcile-0.10.2.dev135 → qontract_reconcile-0.10.2.dev137}/reconcile/typed_queries/fleet_labels.py +0 -0
  562. {qontract_reconcile-0.10.2.dev135 → qontract_reconcile-0.10.2.dev137}/reconcile/typed_queries/get_state_aws_account.py +0 -0
  563. {qontract_reconcile-0.10.2.dev135 → qontract_reconcile-0.10.2.dev137}/reconcile/typed_queries/github_orgs.py +0 -0
  564. {qontract_reconcile-0.10.2.dev135 → qontract_reconcile-0.10.2.dev137}/reconcile/typed_queries/gitlab_instances.py +0 -0
  565. {qontract_reconcile-0.10.2.dev135 → qontract_reconcile-0.10.2.dev137}/reconcile/typed_queries/glitchtip.py +0 -0
  566. {qontract_reconcile-0.10.2.dev135 → qontract_reconcile-0.10.2.dev137}/reconcile/typed_queries/jenkins.py +0 -0
  567. {qontract_reconcile-0.10.2.dev135 → qontract_reconcile-0.10.2.dev137}/reconcile/typed_queries/jira.py +0 -0
  568. {qontract_reconcile-0.10.2.dev135 → qontract_reconcile-0.10.2.dev137}/reconcile/typed_queries/jira_settings.py +0 -0
  569. {qontract_reconcile-0.10.2.dev135 → qontract_reconcile-0.10.2.dev137}/reconcile/typed_queries/jiralert_settings.py +0 -0
  570. {qontract_reconcile-0.10.2.dev135 → qontract_reconcile-0.10.2.dev137}/reconcile/typed_queries/namespaces.py +0 -0
  571. {qontract_reconcile-0.10.2.dev135 → qontract_reconcile-0.10.2.dev137}/reconcile/typed_queries/namespaces_minimal.py +0 -0
  572. {qontract_reconcile-0.10.2.dev135 → qontract_reconcile-0.10.2.dev137}/reconcile/typed_queries/ocm.py +0 -0
  573. {qontract_reconcile-0.10.2.dev135 → qontract_reconcile-0.10.2.dev137}/reconcile/typed_queries/pagerduty_instances.py +0 -0
  574. {qontract_reconcile-0.10.2.dev135 → qontract_reconcile-0.10.2.dev137}/reconcile/typed_queries/quay.py +0 -0
  575. {qontract_reconcile-0.10.2.dev135 → qontract_reconcile-0.10.2.dev137}/reconcile/typed_queries/repos.py +0 -0
  576. {qontract_reconcile-0.10.2.dev135 → qontract_reconcile-0.10.2.dev137}/reconcile/typed_queries/reserved_networks.py +0 -0
  577. {qontract_reconcile-0.10.2.dev135 → qontract_reconcile-0.10.2.dev137}/reconcile/typed_queries/saas_files.py +0 -0
  578. {qontract_reconcile-0.10.2.dev135 → qontract_reconcile-0.10.2.dev137}/reconcile/typed_queries/slack.py +0 -0
  579. {qontract_reconcile-0.10.2.dev135 → qontract_reconcile-0.10.2.dev137}/reconcile/typed_queries/slo_documents.py +0 -0
  580. {qontract_reconcile-0.10.2.dev135 → qontract_reconcile-0.10.2.dev137}/reconcile/typed_queries/smtp.py +0 -0
  581. {qontract_reconcile-0.10.2.dev135 → qontract_reconcile-0.10.2.dev137}/reconcile/typed_queries/status_board.py +0 -0
  582. {qontract_reconcile-0.10.2.dev135 → qontract_reconcile-0.10.2.dev137}/reconcile/typed_queries/tekton_pipeline_providers.py +0 -0
  583. {qontract_reconcile-0.10.2.dev135 → qontract_reconcile-0.10.2.dev137}/reconcile/typed_queries/terraform_namespaces.py +0 -0
  584. {qontract_reconcile-0.10.2.dev135/reconcile/unleash_feature_toggles → qontract_reconcile-0.10.2.dev137/reconcile/typed_queries/terraform_tgw_attachments}/__init__.py +0 -0
  585. {qontract_reconcile-0.10.2.dev135 → qontract_reconcile-0.10.2.dev137}/reconcile/typed_queries/terraform_tgw_attachments/aws_accounts.py +0 -0
  586. {qontract_reconcile-0.10.2.dev135 → qontract_reconcile-0.10.2.dev137}/reconcile/typed_queries/unleash.py +0 -0
  587. {qontract_reconcile-0.10.2.dev135 → qontract_reconcile-0.10.2.dev137}/reconcile/typed_queries/users.py +0 -0
  588. {qontract_reconcile-0.10.2.dev135 → qontract_reconcile-0.10.2.dev137}/reconcile/typed_queries/vault.py +0 -0
  589. {qontract_reconcile-0.10.2.dev135/reconcile/utils → qontract_reconcile-0.10.2.dev137/reconcile/unleash_feature_toggles}/__init__.py +0 -0
  590. {qontract_reconcile-0.10.2.dev135 → qontract_reconcile-0.10.2.dev137}/reconcile/unleash_feature_toggles/integration.py +0 -0
  591. {qontract_reconcile-0.10.2.dev135/reconcile/utils/acs → qontract_reconcile-0.10.2.dev137/reconcile/utils}/__init__.py +0 -0
  592. {qontract_reconcile-0.10.2.dev135/reconcile/utils/aws_api_typed → qontract_reconcile-0.10.2.dev137/reconcile/utils/acs}/__init__.py +0 -0
  593. {qontract_reconcile-0.10.2.dev135 → qontract_reconcile-0.10.2.dev137}/reconcile/utils/acs/base.py +0 -0
  594. {qontract_reconcile-0.10.2.dev135 → qontract_reconcile-0.10.2.dev137}/reconcile/utils/acs/notifiers.py +0 -0
  595. {qontract_reconcile-0.10.2.dev135 → qontract_reconcile-0.10.2.dev137}/reconcile/utils/acs/policies.py +0 -0
  596. {qontract_reconcile-0.10.2.dev135 → qontract_reconcile-0.10.2.dev137}/reconcile/utils/acs/rbac.py +0 -0
  597. {qontract_reconcile-0.10.2.dev135 → qontract_reconcile-0.10.2.dev137}/reconcile/utils/aggregated_list.py +0 -0
  598. {qontract_reconcile-0.10.2.dev135 → qontract_reconcile-0.10.2.dev137}/reconcile/utils/amtool.py +0 -0
  599. {qontract_reconcile-0.10.2.dev135 → qontract_reconcile-0.10.2.dev137}/reconcile/utils/aws_api.py +0 -0
  600. {qontract_reconcile-0.10.2.dev135/reconcile/utils/cloud_resource_best_practice → qontract_reconcile-0.10.2.dev137/reconcile/utils/aws_api_typed}/__init__.py +0 -0
  601. {qontract_reconcile-0.10.2.dev135 → qontract_reconcile-0.10.2.dev137}/reconcile/utils/aws_api_typed/account.py +0 -0
  602. {qontract_reconcile-0.10.2.dev135 → qontract_reconcile-0.10.2.dev137}/reconcile/utils/aws_api_typed/api.py +0 -0
  603. {qontract_reconcile-0.10.2.dev135 → qontract_reconcile-0.10.2.dev137}/reconcile/utils/aws_api_typed/dynamodb.py +0 -0
  604. {qontract_reconcile-0.10.2.dev135 → qontract_reconcile-0.10.2.dev137}/reconcile/utils/aws_api_typed/iam.py +0 -0
  605. {qontract_reconcile-0.10.2.dev135 → qontract_reconcile-0.10.2.dev137}/reconcile/utils/aws_api_typed/organization.py +0 -0
  606. {qontract_reconcile-0.10.2.dev135 → qontract_reconcile-0.10.2.dev137}/reconcile/utils/aws_api_typed/s3.py +0 -0
  607. {qontract_reconcile-0.10.2.dev135 → qontract_reconcile-0.10.2.dev137}/reconcile/utils/aws_api_typed/service_quotas.py +0 -0
  608. {qontract_reconcile-0.10.2.dev135 → qontract_reconcile-0.10.2.dev137}/reconcile/utils/aws_api_typed/sts.py +0 -0
  609. {qontract_reconcile-0.10.2.dev135 → qontract_reconcile-0.10.2.dev137}/reconcile/utils/aws_api_typed/support.py +0 -0
  610. {qontract_reconcile-0.10.2.dev135 → qontract_reconcile-0.10.2.dev137}/reconcile/utils/aws_helper.py +0 -0
  611. {qontract_reconcile-0.10.2.dev135 → qontract_reconcile-0.10.2.dev137}/reconcile/utils/batches.py +0 -0
  612. {qontract_reconcile-0.10.2.dev135 → qontract_reconcile-0.10.2.dev137}/reconcile/utils/binary.py +0 -0
  613. {qontract_reconcile-0.10.2.dev135/reconcile/utils/clusterhealth → qontract_reconcile-0.10.2.dev137/reconcile/utils/cloud_resource_best_practice}/__init__.py +0 -0
  614. {qontract_reconcile-0.10.2.dev135 → qontract_reconcile-0.10.2.dev137}/reconcile/utils/cloud_resource_best_practice/aws_rds.py +0 -0
  615. {qontract_reconcile-0.10.2.dev135/reconcile/utils/dynatrace → qontract_reconcile-0.10.2.dev137/reconcile/utils/clusterhealth}/__init__.py +0 -0
  616. {qontract_reconcile-0.10.2.dev135 → qontract_reconcile-0.10.2.dev137}/reconcile/utils/clusterhealth/providerbase.py +0 -0
  617. {qontract_reconcile-0.10.2.dev135 → qontract_reconcile-0.10.2.dev137}/reconcile/utils/clusterhealth/telemeter.py +0 -0
  618. {qontract_reconcile-0.10.2.dev135 → qontract_reconcile-0.10.2.dev137}/reconcile/utils/config.py +0 -0
  619. {qontract_reconcile-0.10.2.dev135 → qontract_reconcile-0.10.2.dev137}/reconcile/utils/constants.py +0 -0
  620. {qontract_reconcile-0.10.2.dev135 → qontract_reconcile-0.10.2.dev137}/reconcile/utils/deadmanssnitch_api.py +0 -0
  621. {qontract_reconcile-0.10.2.dev135 → qontract_reconcile-0.10.2.dev137}/reconcile/utils/defer.py +0 -0
  622. {qontract_reconcile-0.10.2.dev135 → qontract_reconcile-0.10.2.dev137}/reconcile/utils/differ.py +0 -0
  623. {qontract_reconcile-0.10.2.dev135 → qontract_reconcile-0.10.2.dev137}/reconcile/utils/disabled_integrations.py +0 -0
  624. {qontract_reconcile-0.10.2.dev135 → qontract_reconcile-0.10.2.dev137}/reconcile/utils/dnsutils.py +0 -0
  625. {qontract_reconcile-0.10.2.dev135/reconcile/utils/internal_groups → qontract_reconcile-0.10.2.dev137/reconcile/utils/dynatrace}/__init__.py +0 -0
  626. {qontract_reconcile-0.10.2.dev135 → qontract_reconcile-0.10.2.dev137}/reconcile/utils/dynatrace/client.py +0 -0
  627. {qontract_reconcile-0.10.2.dev135 → qontract_reconcile-0.10.2.dev137}/reconcile/utils/early_exit_cache.py +0 -0
  628. {qontract_reconcile-0.10.2.dev135 → qontract_reconcile-0.10.2.dev137}/reconcile/utils/elasticsearch_exceptions.py +0 -0
  629. {qontract_reconcile-0.10.2.dev135 → qontract_reconcile-0.10.2.dev137}/reconcile/utils/environ.py +0 -0
  630. {qontract_reconcile-0.10.2.dev135 → qontract_reconcile-0.10.2.dev137}/reconcile/utils/exceptions.py +0 -0
  631. {qontract_reconcile-0.10.2.dev135 → qontract_reconcile-0.10.2.dev137}/reconcile/utils/expiration.py +0 -0
  632. {qontract_reconcile-0.10.2.dev135 → qontract_reconcile-0.10.2.dev137}/reconcile/utils/extended_early_exit.py +0 -0
  633. {qontract_reconcile-0.10.2.dev135 → qontract_reconcile-0.10.2.dev137}/reconcile/utils/external_resource_spec.py +0 -0
  634. {qontract_reconcile-0.10.2.dev135 → qontract_reconcile-0.10.2.dev137}/reconcile/utils/external_resources.py +0 -0
  635. {qontract_reconcile-0.10.2.dev135 → qontract_reconcile-0.10.2.dev137}/reconcile/utils/filtering.py +0 -0
  636. {qontract_reconcile-0.10.2.dev135 → qontract_reconcile-0.10.2.dev137}/reconcile/utils/git.py +0 -0
  637. {qontract_reconcile-0.10.2.dev135 → qontract_reconcile-0.10.2.dev137}/reconcile/utils/github_api.py +0 -0
  638. {qontract_reconcile-0.10.2.dev135 → qontract_reconcile-0.10.2.dev137}/reconcile/utils/gitlab_api.py +0 -0
  639. {qontract_reconcile-0.10.2.dev135 → qontract_reconcile-0.10.2.dev137}/reconcile/utils/glitchtip/__init__.py +0 -0
  640. {qontract_reconcile-0.10.2.dev135 → qontract_reconcile-0.10.2.dev137}/reconcile/utils/glitchtip/client.py +0 -0
  641. {qontract_reconcile-0.10.2.dev135 → qontract_reconcile-0.10.2.dev137}/reconcile/utils/glitchtip/models.py +0 -0
  642. {qontract_reconcile-0.10.2.dev135 → qontract_reconcile-0.10.2.dev137}/reconcile/utils/gpg.py +0 -0
  643. {qontract_reconcile-0.10.2.dev135 → qontract_reconcile-0.10.2.dev137}/reconcile/utils/gql.py +0 -0
  644. {qontract_reconcile-0.10.2.dev135 → qontract_reconcile-0.10.2.dev137}/reconcile/utils/grouping.py +0 -0
  645. {qontract_reconcile-0.10.2.dev135 → qontract_reconcile-0.10.2.dev137}/reconcile/utils/helm.py +0 -0
  646. {qontract_reconcile-0.10.2.dev135 → qontract_reconcile-0.10.2.dev137}/reconcile/utils/helpers.py +0 -0
  647. {qontract_reconcile-0.10.2.dev135 → qontract_reconcile-0.10.2.dev137}/reconcile/utils/imap_client.py +0 -0
  648. {qontract_reconcile-0.10.2.dev135 → qontract_reconcile-0.10.2.dev137}/reconcile/utils/instrumented_wrappers.py +0 -0
  649. {qontract_reconcile-0.10.2.dev135/reconcile/utils/jinja2 → qontract_reconcile-0.10.2.dev137/reconcile/utils/internal_groups}/__init__.py +0 -0
  650. {qontract_reconcile-0.10.2.dev135 → qontract_reconcile-0.10.2.dev137}/reconcile/utils/internal_groups/client.py +0 -0
  651. {qontract_reconcile-0.10.2.dev135 → qontract_reconcile-0.10.2.dev137}/reconcile/utils/internal_groups/models.py +0 -0
  652. {qontract_reconcile-0.10.2.dev135 → qontract_reconcile-0.10.2.dev137}/reconcile/utils/jenkins_api.py +0 -0
  653. {qontract_reconcile-0.10.2.dev135/reconcile/utils/jobcontroller → qontract_reconcile-0.10.2.dev137/reconcile/utils/jinja2}/__init__.py +0 -0
  654. {qontract_reconcile-0.10.2.dev135 → qontract_reconcile-0.10.2.dev137}/reconcile/utils/jinja2/extensions.py +0 -0
  655. {qontract_reconcile-0.10.2.dev135 → qontract_reconcile-0.10.2.dev137}/reconcile/utils/jinja2/filters.py +0 -0
  656. {qontract_reconcile-0.10.2.dev135 → qontract_reconcile-0.10.2.dev137}/reconcile/utils/jira_client.py +0 -0
  657. {qontract_reconcile-0.10.2.dev135 → qontract_reconcile-0.10.2.dev137}/reconcile/utils/jjb_client.py +0 -0
  658. {qontract_reconcile-0.10.2.dev135/reconcile/utils/membershipsources → qontract_reconcile-0.10.2.dev137/reconcile/utils/jobcontroller}/__init__.py +0 -0
  659. {qontract_reconcile-0.10.2.dev135 → qontract_reconcile-0.10.2.dev137}/reconcile/utils/jobcontroller/controller.py +0 -0
  660. {qontract_reconcile-0.10.2.dev135 → qontract_reconcile-0.10.2.dev137}/reconcile/utils/jobcontroller/models.py +0 -0
  661. {qontract_reconcile-0.10.2.dev135 → qontract_reconcile-0.10.2.dev137}/reconcile/utils/jsonpath.py +0 -0
  662. {qontract_reconcile-0.10.2.dev135 → qontract_reconcile-0.10.2.dev137}/reconcile/utils/jump_host.py +0 -0
  663. {qontract_reconcile-0.10.2.dev135 → qontract_reconcile-0.10.2.dev137}/reconcile/utils/keycloak.py +0 -0
  664. {qontract_reconcile-0.10.2.dev135 → qontract_reconcile-0.10.2.dev137}/reconcile/utils/ldap_client.py +0 -0
  665. {qontract_reconcile-0.10.2.dev135 → qontract_reconcile-0.10.2.dev137}/reconcile/utils/lean_terraform_client.py +0 -0
  666. {qontract_reconcile-0.10.2.dev135 → qontract_reconcile-0.10.2.dev137}/reconcile/utils/make.py +0 -0
  667. {qontract_reconcile-0.10.2.dev135/reconcile/utils/merge_request_manager → qontract_reconcile-0.10.2.dev137/reconcile/utils/membershipsources}/__init__.py +0 -0
  668. {qontract_reconcile-0.10.2.dev135 → qontract_reconcile-0.10.2.dev137}/reconcile/utils/membershipsources/app_interface_resolver.py +0 -0
  669. {qontract_reconcile-0.10.2.dev135 → qontract_reconcile-0.10.2.dev137}/reconcile/utils/membershipsources/models.py +0 -0
  670. {qontract_reconcile-0.10.2.dev135 → qontract_reconcile-0.10.2.dev137}/reconcile/utils/membershipsources/resolver.py +0 -0
  671. {qontract_reconcile-0.10.2.dev135/reconcile/utils/rosa → qontract_reconcile-0.10.2.dev137/reconcile/utils/merge_request_manager}/__init__.py +0 -0
  672. {qontract_reconcile-0.10.2.dev135 → qontract_reconcile-0.10.2.dev137}/reconcile/utils/merge_request_manager/merge_request_manager.py +0 -0
  673. {qontract_reconcile-0.10.2.dev135 → qontract_reconcile-0.10.2.dev137}/reconcile/utils/merge_request_manager/parser.py +0 -0
  674. {qontract_reconcile-0.10.2.dev135 → qontract_reconcile-0.10.2.dev137}/reconcile/utils/metrics.py +0 -0
  675. {qontract_reconcile-0.10.2.dev135 → qontract_reconcile-0.10.2.dev137}/reconcile/utils/models.py +0 -0
  676. {qontract_reconcile-0.10.2.dev135 → qontract_reconcile-0.10.2.dev137}/reconcile/utils/mr/README.md +0 -0
  677. {qontract_reconcile-0.10.2.dev135 → qontract_reconcile-0.10.2.dev137}/reconcile/utils/mr/__init__.py +0 -0
  678. {qontract_reconcile-0.10.2.dev135 → qontract_reconcile-0.10.2.dev137}/reconcile/utils/mr/app_interface_reporter.py +0 -0
  679. {qontract_reconcile-0.10.2.dev135 → qontract_reconcile-0.10.2.dev137}/reconcile/utils/mr/app_sre_tekton_access_report.py +0 -0
  680. {qontract_reconcile-0.10.2.dev135 → qontract_reconcile-0.10.2.dev137}/reconcile/utils/mr/aws_access.py +0 -0
  681. {qontract_reconcile-0.10.2.dev135 → qontract_reconcile-0.10.2.dev137}/reconcile/utils/mr/base.py +0 -0
  682. {qontract_reconcile-0.10.2.dev135 → qontract_reconcile-0.10.2.dev137}/reconcile/utils/mr/clusters_updates.py +0 -0
  683. {qontract_reconcile-0.10.2.dev135 → qontract_reconcile-0.10.2.dev137}/reconcile/utils/mr/glitchtip_access_reporter.py +0 -0
  684. {qontract_reconcile-0.10.2.dev135 → qontract_reconcile-0.10.2.dev137}/reconcile/utils/mr/labels.py +0 -0
  685. {qontract_reconcile-0.10.2.dev135 → qontract_reconcile-0.10.2.dev137}/reconcile/utils/mr/notificator.py +0 -0
  686. {qontract_reconcile-0.10.2.dev135 → qontract_reconcile-0.10.2.dev137}/reconcile/utils/mr/ocm_update_recommended_version.py +0 -0
  687. {qontract_reconcile-0.10.2.dev135 → qontract_reconcile-0.10.2.dev137}/reconcile/utils/mr/ocm_upgrade_scheduler_org_updates.py +0 -0
  688. {qontract_reconcile-0.10.2.dev135 → qontract_reconcile-0.10.2.dev137}/reconcile/utils/mr/promote_qontract.py +0 -0
  689. {qontract_reconcile-0.10.2.dev135 → qontract_reconcile-0.10.2.dev137}/reconcile/utils/mr/update_access_report_base.py +0 -0
  690. {qontract_reconcile-0.10.2.dev135 → qontract_reconcile-0.10.2.dev137}/reconcile/utils/mr/user_maintenance.py +0 -0
  691. {qontract_reconcile-0.10.2.dev135 → qontract_reconcile-0.10.2.dev137}/reconcile/utils/oauth2_backend_application_session.py +0 -0
  692. {qontract_reconcile-0.10.2.dev135 → qontract_reconcile-0.10.2.dev137}/reconcile/utils/oc.py +0 -0
  693. {qontract_reconcile-0.10.2.dev135 → qontract_reconcile-0.10.2.dev137}/reconcile/utils/oc_connection_parameters.py +0 -0
  694. {qontract_reconcile-0.10.2.dev135 → qontract_reconcile-0.10.2.dev137}/reconcile/utils/oc_filters.py +0 -0
  695. {qontract_reconcile-0.10.2.dev135 → qontract_reconcile-0.10.2.dev137}/reconcile/utils/oc_map.py +0 -0
  696. {qontract_reconcile-0.10.2.dev135 → qontract_reconcile-0.10.2.dev137}/reconcile/utils/ocm/__init__.py +0 -0
  697. {qontract_reconcile-0.10.2.dev135 → qontract_reconcile-0.10.2.dev137}/reconcile/utils/ocm/addons.py +0 -0
  698. {qontract_reconcile-0.10.2.dev135 → qontract_reconcile-0.10.2.dev137}/reconcile/utils/ocm/base.py +0 -0
  699. {qontract_reconcile-0.10.2.dev135 → qontract_reconcile-0.10.2.dev137}/reconcile/utils/ocm/cluster_groups.py +0 -0
  700. {qontract_reconcile-0.10.2.dev135 → qontract_reconcile-0.10.2.dev137}/reconcile/utils/ocm/clusters.py +0 -0
  701. {qontract_reconcile-0.10.2.dev135 → qontract_reconcile-0.10.2.dev137}/reconcile/utils/ocm/identity_providers.py +0 -0
  702. {qontract_reconcile-0.10.2.dev135 → qontract_reconcile-0.10.2.dev137}/reconcile/utils/ocm/label_sources.py +0 -0
  703. {qontract_reconcile-0.10.2.dev135 → qontract_reconcile-0.10.2.dev137}/reconcile/utils/ocm/labels.py +0 -0
  704. {qontract_reconcile-0.10.2.dev135 → qontract_reconcile-0.10.2.dev137}/reconcile/utils/ocm/manifests.py +0 -0
  705. {qontract_reconcile-0.10.2.dev135 → qontract_reconcile-0.10.2.dev137}/reconcile/utils/ocm/ocm.py +0 -0
  706. {qontract_reconcile-0.10.2.dev135 → qontract_reconcile-0.10.2.dev137}/reconcile/utils/ocm/products.py +0 -0
  707. {qontract_reconcile-0.10.2.dev135 → qontract_reconcile-0.10.2.dev137}/reconcile/utils/ocm/search_filters.py +0 -0
  708. {qontract_reconcile-0.10.2.dev135 → qontract_reconcile-0.10.2.dev137}/reconcile/utils/ocm/service_log.py +0 -0
  709. {qontract_reconcile-0.10.2.dev135 → qontract_reconcile-0.10.2.dev137}/reconcile/utils/ocm/sre_capability_labels.py +0 -0
  710. {qontract_reconcile-0.10.2.dev135 → qontract_reconcile-0.10.2.dev137}/reconcile/utils/ocm/status_board.py +0 -0
  711. {qontract_reconcile-0.10.2.dev135 → qontract_reconcile-0.10.2.dev137}/reconcile/utils/ocm/subscriptions.py +0 -0
  712. {qontract_reconcile-0.10.2.dev135 → qontract_reconcile-0.10.2.dev137}/reconcile/utils/ocm/syncsets.py +0 -0
  713. {qontract_reconcile-0.10.2.dev135 → qontract_reconcile-0.10.2.dev137}/reconcile/utils/ocm/upgrades.py +0 -0
  714. {qontract_reconcile-0.10.2.dev135 → qontract_reconcile-0.10.2.dev137}/reconcile/utils/ocm_base_client.py +0 -0
  715. {qontract_reconcile-0.10.2.dev135 → qontract_reconcile-0.10.2.dev137}/reconcile/utils/openshift_resource.py +0 -0
  716. {qontract_reconcile-0.10.2.dev135 → qontract_reconcile-0.10.2.dev137}/reconcile/utils/openssl.py +0 -0
  717. {qontract_reconcile-0.10.2.dev135 → qontract_reconcile-0.10.2.dev137}/reconcile/utils/output.py +0 -0
  718. {qontract_reconcile-0.10.2.dev135 → qontract_reconcile-0.10.2.dev137}/reconcile/utils/pagerduty_api.py +0 -0
  719. {qontract_reconcile-0.10.2.dev135 → qontract_reconcile-0.10.2.dev137}/reconcile/utils/parse_dhms_duration.py +0 -0
  720. {qontract_reconcile-0.10.2.dev135 → qontract_reconcile-0.10.2.dev137}/reconcile/utils/password_validator.py +0 -0
  721. {qontract_reconcile-0.10.2.dev135 → qontract_reconcile-0.10.2.dev137}/reconcile/utils/prometheus.py +0 -0
  722. {qontract_reconcile-0.10.2.dev135 → qontract_reconcile-0.10.2.dev137}/reconcile/utils/promotion_state.py +0 -0
  723. {qontract_reconcile-0.10.2.dev135 → qontract_reconcile-0.10.2.dev137}/reconcile/utils/promtool.py +0 -0
  724. {qontract_reconcile-0.10.2.dev135 → qontract_reconcile-0.10.2.dev137}/reconcile/utils/quay_api.py +0 -0
  725. {qontract_reconcile-0.10.2.dev135 → qontract_reconcile-0.10.2.dev137}/reconcile/utils/raw_github_api.py +0 -0
  726. {qontract_reconcile-0.10.2.dev135 → qontract_reconcile-0.10.2.dev137}/reconcile/utils/repo_owners.py +0 -0
  727. {qontract_reconcile-0.10.2.dev135 → qontract_reconcile-0.10.2.dev137}/reconcile/utils/rest_api_base.py +0 -0
  728. {qontract_reconcile-0.10.2.dev135/reconcile/utils/terrascript → qontract_reconcile-0.10.2.dev137/reconcile/utils/rosa}/__init__.py +0 -0
  729. {qontract_reconcile-0.10.2.dev135 → qontract_reconcile-0.10.2.dev137}/reconcile/utils/rosa/rosa_cli.py +0 -0
  730. {qontract_reconcile-0.10.2.dev135 → qontract_reconcile-0.10.2.dev137}/reconcile/utils/rosa/session.py +0 -0
  731. {qontract_reconcile-0.10.2.dev135 → qontract_reconcile-0.10.2.dev137}/reconcile/utils/ruamel.py +0 -0
  732. {qontract_reconcile-0.10.2.dev135 → qontract_reconcile-0.10.2.dev137}/reconcile/utils/runtime/__init__.py +0 -0
  733. {qontract_reconcile-0.10.2.dev135 → qontract_reconcile-0.10.2.dev137}/reconcile/utils/runtime/desired_state_diff.py +0 -0
  734. {qontract_reconcile-0.10.2.dev135 → qontract_reconcile-0.10.2.dev137}/reconcile/utils/runtime/environment.py +0 -0
  735. {qontract_reconcile-0.10.2.dev135 → qontract_reconcile-0.10.2.dev137}/reconcile/utils/runtime/integration.py +0 -0
  736. {qontract_reconcile-0.10.2.dev135 → qontract_reconcile-0.10.2.dev137}/reconcile/utils/runtime/meta.py +0 -0
  737. {qontract_reconcile-0.10.2.dev135 → qontract_reconcile-0.10.2.dev137}/reconcile/utils/runtime/runner.py +0 -0
  738. {qontract_reconcile-0.10.2.dev135 → qontract_reconcile-0.10.2.dev137}/reconcile/utils/runtime/sharding.py +0 -0
  739. {qontract_reconcile-0.10.2.dev135 → qontract_reconcile-0.10.2.dev137}/reconcile/utils/saasherder/__init__.py +0 -0
  740. {qontract_reconcile-0.10.2.dev135 → qontract_reconcile-0.10.2.dev137}/reconcile/utils/saasherder/interfaces.py +0 -0
  741. {qontract_reconcile-0.10.2.dev135 → qontract_reconcile-0.10.2.dev137}/reconcile/utils/saasherder/models.py +0 -0
  742. {qontract_reconcile-0.10.2.dev135 → qontract_reconcile-0.10.2.dev137}/reconcile/utils/saasherder/saasherder.py +0 -0
  743. {qontract_reconcile-0.10.2.dev135 → qontract_reconcile-0.10.2.dev137}/reconcile/utils/secret_reader.py +0 -0
  744. {qontract_reconcile-0.10.2.dev135 → qontract_reconcile-0.10.2.dev137}/reconcile/utils/semver_helper.py +0 -0
  745. {qontract_reconcile-0.10.2.dev135 → qontract_reconcile-0.10.2.dev137}/reconcile/utils/sharding.py +0 -0
  746. {qontract_reconcile-0.10.2.dev135 → qontract_reconcile-0.10.2.dev137}/reconcile/utils/slack_api.py +0 -0
  747. {qontract_reconcile-0.10.2.dev135 → qontract_reconcile-0.10.2.dev137}/reconcile/utils/sqs_gateway.py +0 -0
  748. {qontract_reconcile-0.10.2.dev135 → qontract_reconcile-0.10.2.dev137}/reconcile/utils/state.py +0 -0
  749. {qontract_reconcile-0.10.2.dev135 → qontract_reconcile-0.10.2.dev137}/reconcile/utils/structs.py +0 -0
  750. {qontract_reconcile-0.10.2.dev135 → qontract_reconcile-0.10.2.dev137}/reconcile/utils/template.py +0 -0
  751. {qontract_reconcile-0.10.2.dev135 → qontract_reconcile-0.10.2.dev137}/reconcile/utils/terraform/__init__.py +0 -0
  752. {qontract_reconcile-0.10.2.dev135 → qontract_reconcile-0.10.2.dev137}/reconcile/utils/terraform/config.py +0 -0
  753. {qontract_reconcile-0.10.2.dev135 → qontract_reconcile-0.10.2.dev137}/reconcile/utils/terraform/config_client.py +0 -0
  754. {qontract_reconcile-0.10.2.dev135 → qontract_reconcile-0.10.2.dev137}/reconcile/utils/terraform_client.py +0 -0
  755. {qontract_reconcile-0.10.2.dev135/tools → qontract_reconcile-0.10.2.dev137/reconcile/utils/terrascript}/__init__.py +0 -0
  756. {qontract_reconcile-0.10.2.dev135 → qontract_reconcile-0.10.2.dev137}/reconcile/utils/terrascript/cloudflare_client.py +0 -0
  757. {qontract_reconcile-0.10.2.dev135 → qontract_reconcile-0.10.2.dev137}/reconcile/utils/terrascript/cloudflare_resources.py +0 -0
  758. {qontract_reconcile-0.10.2.dev135 → qontract_reconcile-0.10.2.dev137}/reconcile/utils/terrascript/models.py +0 -0
  759. {qontract_reconcile-0.10.2.dev135 → qontract_reconcile-0.10.2.dev137}/reconcile/utils/terrascript/resources.py +0 -0
  760. {qontract_reconcile-0.10.2.dev135 → qontract_reconcile-0.10.2.dev137}/reconcile/utils/terrascript_aws_client.py +0 -0
  761. {qontract_reconcile-0.10.2.dev135 → qontract_reconcile-0.10.2.dev137}/reconcile/utils/three_way_diff_strategy.py +0 -0
  762. {qontract_reconcile-0.10.2.dev135 → qontract_reconcile-0.10.2.dev137}/reconcile/utils/throughput.py +0 -0
  763. {qontract_reconcile-0.10.2.dev135 → qontract_reconcile-0.10.2.dev137}/reconcile/utils/unleash/__init__.py +0 -0
  764. {qontract_reconcile-0.10.2.dev135 → qontract_reconcile-0.10.2.dev137}/reconcile/utils/unleash/client.py +0 -0
  765. {qontract_reconcile-0.10.2.dev135 → qontract_reconcile-0.10.2.dev137}/reconcile/utils/unleash/server.py +0 -0
  766. {qontract_reconcile-0.10.2.dev135 → qontract_reconcile-0.10.2.dev137}/reconcile/utils/vault.py +0 -0
  767. {qontract_reconcile-0.10.2.dev135 → qontract_reconcile-0.10.2.dev137}/reconcile/utils/vaultsecretref.py +0 -0
  768. {qontract_reconcile-0.10.2.dev135 → qontract_reconcile-0.10.2.dev137}/reconcile/utils/vcs.py +0 -0
  769. {qontract_reconcile-0.10.2.dev135 → qontract_reconcile-0.10.2.dev137}/reconcile/vault_replication.py +0 -0
  770. {qontract_reconcile-0.10.2.dev135 → qontract_reconcile-0.10.2.dev137}/reconcile/vpc_peerings_validator.py +0 -0
  771. {qontract_reconcile-0.10.2.dev135/tools/cli_commands → qontract_reconcile-0.10.2.dev137/tools}/__init__.py +0 -0
  772. {qontract_reconcile-0.10.2.dev135 → qontract_reconcile-0.10.2.dev137}/tools/app_interface_metrics_exporter.py +0 -0
  773. {qontract_reconcile-0.10.2.dev135 → qontract_reconcile-0.10.2.dev137}/tools/app_interface_reporter.py +0 -0
  774. {qontract_reconcile-0.10.2.dev135 → qontract_reconcile-0.10.2.dev137}/tools/app_sre_tekton_access_reporter.py +0 -0
  775. {qontract_reconcile-0.10.2.dev135 → qontract_reconcile-0.10.2.dev137}/tools/app_sre_tekton_access_revalidation.py +0 -0
  776. {qontract_reconcile-0.10.2.dev135/tools/cli_commands/cost_report → qontract_reconcile-0.10.2.dev137/tools/cli_commands}/__init__.py +0 -0
  777. {qontract_reconcile-0.10.2.dev135 → qontract_reconcile-0.10.2.dev137}/tools/cli_commands/container_images_report.py +0 -0
  778. {qontract_reconcile-0.10.2.dev135/tools/saas_metrics_exporter → qontract_reconcile-0.10.2.dev137/tools/cli_commands/cost_report}/__init__.py +0 -0
  779. {qontract_reconcile-0.10.2.dev135 → qontract_reconcile-0.10.2.dev137}/tools/cli_commands/cost_report/aws.py +0 -0
  780. {qontract_reconcile-0.10.2.dev135 → qontract_reconcile-0.10.2.dev137}/tools/cli_commands/cost_report/cost_management_api.py +0 -0
  781. {qontract_reconcile-0.10.2.dev135 → qontract_reconcile-0.10.2.dev137}/tools/cli_commands/cost_report/model.py +0 -0
  782. {qontract_reconcile-0.10.2.dev135 → qontract_reconcile-0.10.2.dev137}/tools/cli_commands/cost_report/openshift.py +0 -0
  783. {qontract_reconcile-0.10.2.dev135 → qontract_reconcile-0.10.2.dev137}/tools/cli_commands/cost_report/openshift_cost_optimization.py +0 -0
  784. {qontract_reconcile-0.10.2.dev135 → qontract_reconcile-0.10.2.dev137}/tools/cli_commands/cost_report/response.py +0 -0
  785. {qontract_reconcile-0.10.2.dev135 → qontract_reconcile-0.10.2.dev137}/tools/cli_commands/cost_report/util.py +0 -0
  786. {qontract_reconcile-0.10.2.dev135 → qontract_reconcile-0.10.2.dev137}/tools/cli_commands/cost_report/view.py +0 -0
  787. {qontract_reconcile-0.10.2.dev135 → qontract_reconcile-0.10.2.dev137}/tools/cli_commands/erv2.py +0 -0
  788. {qontract_reconcile-0.10.2.dev135 → qontract_reconcile-0.10.2.dev137}/tools/cli_commands/gpg_encrypt.py +0 -0
  789. {qontract_reconcile-0.10.2.dev135 → qontract_reconcile-0.10.2.dev137}/tools/cli_commands/systems_and_tools.py +0 -0
  790. {qontract_reconcile-0.10.2.dev135 → qontract_reconcile-0.10.2.dev137}/tools/glitchtip_access_reporter.py +0 -0
  791. {qontract_reconcile-0.10.2.dev135 → qontract_reconcile-0.10.2.dev137}/tools/glitchtip_access_revalidation.py +0 -0
  792. {qontract_reconcile-0.10.2.dev135 → qontract_reconcile-0.10.2.dev137}/tools/qontract_cli.py +0 -0
  793. {qontract_reconcile-0.10.2.dev135/tools/saas_metrics_exporter/commit_distance → qontract_reconcile-0.10.2.dev137/tools/saas_metrics_exporter}/__init__.py +0 -0
  794. {qontract_reconcile-0.10.2.dev135/tools/saas_promotion_state → qontract_reconcile-0.10.2.dev137/tools/saas_metrics_exporter/commit_distance}/__init__.py +0 -0
  795. {qontract_reconcile-0.10.2.dev135 → qontract_reconcile-0.10.2.dev137}/tools/saas_metrics_exporter/commit_distance/channel.py +0 -0
  796. {qontract_reconcile-0.10.2.dev135 → qontract_reconcile-0.10.2.dev137}/tools/saas_metrics_exporter/commit_distance/commit_distance.py +0 -0
  797. {qontract_reconcile-0.10.2.dev135 → qontract_reconcile-0.10.2.dev137}/tools/saas_metrics_exporter/commit_distance/metrics.py +0 -0
  798. {qontract_reconcile-0.10.2.dev135 → qontract_reconcile-0.10.2.dev137}/tools/saas_metrics_exporter/main.py +0 -0
  799. {qontract_reconcile-0.10.2.dev135 → qontract_reconcile-0.10.2.dev137}/tools/saas_promotion_state/saas_promotion_state.py +0 -0
  800. {qontract_reconcile-0.10.2.dev135 → qontract_reconcile-0.10.2.dev137}/tools/sd_app_sre_alert_report.py +0 -0
  801. {qontract_reconcile-0.10.2.dev135 → qontract_reconcile-0.10.2.dev137}/tools/sre_checkpoints/__init__.py +0 -0
  802. {qontract_reconcile-0.10.2.dev135 → qontract_reconcile-0.10.2.dev137}/tools/sre_checkpoints/util.py +0 -0
  803. {qontract_reconcile-0.10.2.dev135 → qontract_reconcile-0.10.2.dev137}/tools/template_validation.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: qontract-reconcile
3
- Version: 0.10.2.dev135
3
+ Version: 0.10.2.dev137
4
4
  Summary: Collection of tools to reconcile services with their desired state as defined in the app-interface DB.
5
5
  Project-URL: homepage, https://github.com/app-sre/qontract-reconcile
6
6
  Project-URL: repository, https://github.com/app-sre/qontract-reconcile
@@ -250,31 +250,8 @@ disallow_incomplete_defs = true
250
250
  [[tool.mypy.overrides]]
251
251
  # Untyped modules
252
252
  module = [
253
- "reconcile.aws_ami_share",
254
- "reconcile.aws_ecr_image_pull_secrets",
255
- "reconcile.aws_garbage_collector",
256
- "reconcile.aws_iam_keys",
257
- "reconcile.aws_iam_password_reset",
258
- "reconcile.aws_support_cases_sos",
259
253
  "reconcile.cli",
260
- "reconcile.closedbox_endpoint_monitoring_base",
261
- "reconcile.cna.client",
262
- "reconcile.cna.integration",
263
- "reconcile.cna.state",
264
- "reconcile.email_sender",
265
- "reconcile.gabi_authorized_users",
266
- "reconcile.gcr_mirror",
267
- "reconcile.github_org",
268
- "reconcile.github_owners",
269
- "reconcile.github_repo_invites",
270
- "reconcile.github_repo_permissions_validator",
271
- "reconcile.github_users",
272
- "reconcile.github_validator",
273
- "reconcile.gitlab_fork_compliance",
274
254
  "reconcile.gitlab_housekeeping",
275
- "reconcile.gitlab_labeler",
276
- "reconcile.gitlab_mr_sqs_consumer",
277
- "reconcile.gitlab_owners",
278
255
  "reconcile.gitlab_permissions",
279
256
  "reconcile.gitlab_projects",
280
257
  "reconcile.integrations_manager",
@@ -365,12 +342,6 @@ module = [
365
342
  "reconcile.vpc_peerings_validator",
366
343
  "tools.sre_checkpoints.util",
367
344
  # untyped tests
368
- "reconcile.test.cna.test_integration",
369
- "reconcile.test.cna.test_state_assembly",
370
- "reconcile.test.cna.test_state_diff",
371
- "reconcile.test.cna.test_state_overrides",
372
- "reconcile.test.conftest",
373
- "reconcile.test.fixtures",
374
345
  "reconcile.test.oc.test_oc_connection_parameters",
375
346
  "reconcile.test.oc.test_oc_map",
376
347
  "reconcile.test.ocm_labels.test_ocm_labels_integration",
@@ -402,19 +373,12 @@ module = [
402
373
  "reconcile.test.statuspage.test_statuspage_state",
403
374
  "reconcile.test.statuspage.test_statuspage_status",
404
375
  "reconcile.test.test_acs_rbac",
405
- "reconcile.test.test_aws_ami_share",
406
- "reconcile.test.test_aws_iam_keys",
407
- "reconcile.test.test_aws_iam_password_reset",
408
- "reconcile.test.test_aws_support_cases_sos",
409
376
  "reconcile.test.test_checkpoint",
410
377
  "reconcile.test.test_cli",
411
378
  "reconcile.test.test_closedbox_endpoint_monitoring",
412
379
  "reconcile.test.test_dashdotdb_dora",
413
380
  "reconcile.test.test_database_access_manager",
414
- "reconcile.test.test_github_org",
415
- "reconcile.test.test_github_repo_invites",
416
381
  "reconcile.test.test_gitlab_housekeeping",
417
- "reconcile.test.test_gitlab_labeler",
418
382
  "reconcile.test.test_gitlab_members",
419
383
  "reconcile.test.test_integrations_manager",
420
384
  "reconcile.test.test_jenkins_worker_fleets",
@@ -1,5 +1,6 @@
1
1
  import logging
2
2
  from collections.abc import (
3
+ Callable,
3
4
  Iterable,
4
5
  Mapping,
5
6
  )
@@ -37,12 +38,13 @@ def get_region(
37
38
 
38
39
 
39
40
  @defer
40
- def run(dry_run, defer=None):
41
+ def run(dry_run: bool, defer: Callable | None = None) -> None:
41
42
  accounts = queries.get_aws_accounts(sharing=True)
42
43
  sharing_accounts = filter_accounts(accounts)
43
44
  settings = queries.get_app_interface_settings()
44
45
  aws_api = AWSApi(1, sharing_accounts, settings=settings, init_users=False)
45
- defer(aws_api.cleanup)
46
+ if defer:
47
+ defer(aws_api.cleanup)
46
48
 
47
49
  for src_account in sharing_accounts:
48
50
  sharing = src_account.get("sharing")
@@ -1,6 +1,8 @@
1
1
  import base64
2
2
  import json
3
3
  import logging
4
+ from collections.abc import Mapping
5
+ from typing import Any
4
6
 
5
7
  from reconcile import queries
6
8
  from reconcile.utils.aws_api import AWSApi
@@ -9,15 +11,15 @@ from reconcile.utils.vault import VaultClient
9
11
  QONTRACT_INTEGRATION = "aws-ecr-image-pull-secrets"
10
12
 
11
13
 
12
- def enc_dec(data):
14
+ def enc_dec(data: str) -> str:
13
15
  return base64.b64encode(data.encode("utf-8")).decode("utf-8")
14
16
 
15
17
 
16
- def get_password(token):
18
+ def get_password(token: str) -> str:
17
19
  return base64.b64decode(token).decode("utf-8").split(":")[1]
18
20
 
19
21
 
20
- def construct_dockercfg_secret_data(data):
22
+ def construct_dockercfg_secret_data(data: Mapping[str, Any]) -> dict[str, str]:
21
23
  auth_data = data["authorizationData"][0]
22
24
  server = auth_data["proxyEndpoint"]
23
25
  token = auth_data["authorizationToken"]
@@ -36,7 +38,7 @@ def construct_dockercfg_secret_data(data):
36
38
  return {".dockerconfigjson": enc_dec(json.dumps(data))}
37
39
 
38
40
 
39
- def construct_basic_auth_secret_data(data):
41
+ def construct_basic_auth_secret_data(data: Mapping[str, Any]) -> dict[str, str]:
40
42
  auth_data = data["authorizationData"][0]
41
43
  token = auth_data["authorizationToken"]
42
44
  password = get_password(token)
@@ -44,17 +46,23 @@ def construct_basic_auth_secret_data(data):
44
46
  return {"user": enc_dec("AWS"), "token": enc_dec(password), "url": url}
45
47
 
46
48
 
47
- def write_output_to_vault(dry_run, vault_path, account, secret_data, name):
49
+ def write_output_to_vault(
50
+ dry_run: bool,
51
+ vault_path: str,
52
+ account: str,
53
+ secret_data: Mapping[str, str],
54
+ name: str,
55
+ ) -> None:
48
56
  integration_name = QONTRACT_INTEGRATION
49
57
  secret_path = f"{vault_path}/{integration_name}/{account}/{name}"
50
58
  secret = {"path": secret_path, "data": secret_data}
51
59
  logging.info(["write_secret", secret_path])
52
60
  vault_client = VaultClient()
53
61
  if not dry_run:
54
- vault_client.write(secret)
62
+ vault_client.write(secret) # type: ignore
55
63
 
56
64
 
57
- def run(dry_run, vault_output_path=""):
65
+ def run(dry_run: bool, vault_output_path: str = "") -> None:
58
66
  accounts = [a for a in queries.get_aws_accounts() if a.get("ecrs")]
59
67
  settings = queries.get_app_interface_settings()
60
68
  with AWSApi(1, accounts, settings=settings, init_ecr_auth_tokens=True) as aws:
@@ -4,7 +4,7 @@ from reconcile.utils.aws_api import AWSApi
4
4
  QONTRACT_INTEGRATION = "aws-garbage-collector"
5
5
 
6
6
 
7
- def run(dry_run, thread_pool_size=10):
7
+ def run(dry_run: bool, thread_pool_size: int = 10) -> None:
8
8
  accounts = [a for a in queries.get_aws_accounts() if a.get("garbageCollection")]
9
9
  settings = queries.get_app_interface_settings()
10
10
  with AWSApi(thread_pool_size, accounts, settings=settings) as aws:
@@ -1,28 +1,28 @@
1
1
  import logging
2
2
  import shutil
3
3
  import sys
4
+ from collections.abc import Callable, Iterable, Mapping
4
5
  from typing import Any
5
6
 
6
7
  from reconcile import queries
7
8
  from reconcile.utils.aws_api import AWSApi
8
9
  from reconcile.utils.defer import defer
9
- from reconcile.utils.state import (
10
- State,
11
- init_state,
12
- )
10
+ from reconcile.utils.state import State, init_state
13
11
  from reconcile.utils.terrascript_aws_client import TerrascriptClient as Terrascript
14
12
 
15
13
  QONTRACT_INTEGRATION = "aws-iam-keys"
16
14
 
17
15
 
18
- def filter_accounts(accounts, account_name):
16
+ def filter_accounts(
17
+ accounts: Iterable[dict[str, Any]], account_name: str | None
18
+ ) -> list[dict[str, Any]]:
19
19
  accounts = [a for a in accounts if a.get("deleteKeys")]
20
20
  if account_name:
21
21
  accounts = [a for a in accounts if a["name"] == account_name]
22
22
  return accounts
23
23
 
24
24
 
25
- def get_keys_to_delete(accounts) -> dict[str, list[str]]:
25
+ def get_keys_to_delete(accounts: Iterable[dict[str, Any]]) -> dict[str, list[str]]:
26
26
  return {
27
27
  account["name"]: account["deleteKeys"]
28
28
  for account in accounts
@@ -37,13 +37,17 @@ def should_run(state: State, keys_to_delete: dict[str, list[str]]) -> bool:
37
37
  return False
38
38
 
39
39
 
40
- def update_state(state: State, keys_to_update: dict[str, list[str]]):
40
+ def update_state(state: State, keys_to_update: dict[str, list[str]]) -> None:
41
41
  for account_name, keys in keys_to_update.items():
42
42
  if state.get(account_name, []) != keys:
43
43
  state.add(account_name, keys, force=True)
44
44
 
45
45
 
46
- def init_tf_working_dirs(accounts, thread_pool_size, settings):
46
+ def init_tf_working_dirs(
47
+ accounts: Iterable[dict[str, Any]],
48
+ thread_pool_size: int,
49
+ settings: Mapping[str, Any],
50
+ ) -> dict[str, str]:
47
51
  # copied here to avoid circular dependency
48
52
  QONTRACT_INTEGRATION = "terraform_resources"
49
53
  QONTRACT_TF_PREFIX = "qrtf"
@@ -64,19 +68,19 @@ def init_tf_working_dirs(accounts, thread_pool_size, settings):
64
68
  return ts.dump()
65
69
 
66
70
 
67
- def cleanup(working_dirs):
71
+ def cleanup(working_dirs: Mapping[str, str]) -> None:
68
72
  for wd in working_dirs.values():
69
73
  shutil.rmtree(wd)
70
74
 
71
75
 
72
76
  @defer
73
77
  def run(
74
- dry_run,
75
- thread_pool_size=10,
76
- disable_service_account_keys=False,
77
- account_name=None,
78
- defer=None,
79
- ):
78
+ dry_run: bool,
79
+ thread_pool_size: int = 10,
80
+ disable_service_account_keys: bool = False,
81
+ account_name: str | None = None,
82
+ defer: Callable | None = None,
83
+ ) -> None:
80
84
  accounts = filter_accounts(
81
85
  queries.get_aws_accounts(terraform_state=True), account_name
82
86
  )
@@ -88,7 +92,8 @@ def run(
88
92
 
89
93
  settings = queries.get_app_interface_settings()
90
94
  state = init_state(integration=QONTRACT_INTEGRATION)
91
- defer(state.cleanup)
95
+ if defer:
96
+ defer(state.cleanup)
92
97
  keys_to_delete = get_keys_to_delete(accounts)
93
98
  if not should_run(state, keys_to_delete):
94
99
  logging.debug("nothing to do here")
@@ -97,7 +102,9 @@ def run(
97
102
  return
98
103
 
99
104
  working_dirs = init_tf_working_dirs(accounts, thread_pool_size, settings)
100
- defer(lambda: cleanup(working_dirs))
105
+ if defer:
106
+ defer(lambda: cleanup(working_dirs))
107
+
101
108
  with AWSApi(thread_pool_size, accounts, settings=settings) as aws:
102
109
  error, service_account_recycle_complete = aws.delete_keys(
103
110
  dry_run, keys_to_delete, working_dirs, disable_service_account_keys
@@ -1,6 +1,7 @@
1
1
  import logging
2
2
  import sys
3
3
  from collections.abc import (
4
+ Callable,
4
5
  Iterable,
5
6
  Mapping,
6
7
  )
@@ -44,12 +45,13 @@ class AwsAccountWithResets(BaseModel):
44
45
 
45
46
 
46
47
  @defer
47
- def run(dry_run, defer=None):
48
+ def run(dry_run: bool, defer: Callable | None = None) -> None:
48
49
  accounts = queries.get_aws_accounts(reset_passwords=True)
49
50
  settings = queries.get_app_interface_settings()
50
51
  roles = queries.get_roles(aws=True, saas_files=False)
51
52
  state = init_state(integration=QONTRACT_INTEGRATION)
52
- defer(state.cleanup)
53
+ if defer:
54
+ defer(state.cleanup)
53
55
 
54
56
  accounts_to_reset: list[AwsAccountWithResets] = []
55
57
 
@@ -1,5 +1,7 @@
1
1
  import itertools
2
2
  import logging
3
+ from collections.abc import Callable, Iterable, Mapping
4
+ from typing import Any
3
5
 
4
6
  from reconcile import (
5
7
  mr_client_gateway,
@@ -12,11 +14,11 @@ from reconcile.utils.mr import CreateDeleteAwsAccessKey
12
14
  QONTRACT_INTEGRATION = "aws-support-cases-sos"
13
15
 
14
16
 
15
- def filter_accounts(accounts):
17
+ def filter_accounts(accounts: Iterable[dict[str, Any]]) -> list[dict[str, Any]]:
16
18
  return [a for a in accounts if a.get("premiumSupport")]
17
19
 
18
20
 
19
- def get_deleted_keys(accounts):
21
+ def get_deleted_keys(accounts: Iterable[dict[str, Any]]) -> dict[str, list[str]]:
20
22
  return {
21
23
  account["name"]: account["deleteKeys"]
22
24
  for account in accounts
@@ -24,7 +26,9 @@ def get_deleted_keys(accounts):
24
26
  }
25
27
 
26
28
 
27
- def get_keys_to_delete(aws_support_cases):
29
+ def get_keys_to_delete(
30
+ aws_support_cases: Mapping[str, Iterable[Mapping[str, Any]]],
31
+ ) -> list[dict[str, str]]:
28
32
  search_pattern = "We have become aware that the AWS Access Key "
29
33
  keys = []
30
34
  # ref:
@@ -43,10 +47,17 @@ def get_keys_to_delete(aws_support_cases):
43
47
 
44
48
 
45
49
  @defer
46
- def act(dry_run, gitlab_project_id, accounts, keys_to_delete, defer=None):
50
+ def act(
51
+ dry_run: bool,
52
+ gitlab_project_id: str | None,
53
+ accounts: Iterable[dict[str, Any]],
54
+ keys_to_delete: list[dict[str, str]],
55
+ defer: Callable | None = None,
56
+ ) -> None:
47
57
  if not dry_run and keys_to_delete:
48
58
  mr_cli = mr_client_gateway.init(gitlab_project_id=gitlab_project_id)
49
- defer(mr_cli.cleanup)
59
+ if defer:
60
+ defer(mr_cli.cleanup)
50
61
 
51
62
  for k in keys_to_delete:
52
63
  account = k["account"]
@@ -59,7 +70,9 @@ def act(dry_run, gitlab_project_id, accounts, keys_to_delete, defer=None):
59
70
  mr.submit(cli=mr_cli)
60
71
 
61
72
 
62
- def run(dry_run, gitlab_project_id=None, thread_pool_size=10, enable_deletion=False):
73
+ def run(
74
+ dry_run: bool, gitlab_project_id: str | None = None, thread_pool_size: int = 10
75
+ ) -> None:
63
76
  accounts = filter_accounts(queries.get_aws_accounts())
64
77
  settings = queries.get_app_interface_settings()
65
78
  deleted_keys = get_deleted_keys(accounts)
@@ -63,7 +63,7 @@ class EndpointMonitoringProvider:
63
63
  return None
64
64
 
65
65
  @property
66
- def metric_labels(self):
66
+ def metric_labels(self) -> dict[str, Any]:
67
67
  return json.loads(self.metricLabels) if self.metricLabels else {}
68
68
 
69
69
 
@@ -136,7 +136,7 @@ def run_for_provider(
136
136
  thread_pool_size: int,
137
137
  internal: bool,
138
138
  use_jump_host: bool,
139
- defer=None,
139
+ defer: Callable | None = None,
140
140
  ) -> None:
141
141
  # prepare
142
142
  desired_endpoints = get_endpoints(provider)
@@ -152,7 +152,8 @@ def run_for_provider(
152
152
  integration_version=integration_version,
153
153
  override_managed_types=["Probe"],
154
154
  )
155
- defer(oc_map.cleanup)
155
+ if defer:
156
+ defer(oc_map.cleanup)
156
157
 
157
158
  # reconcile
158
159
  for ep_mon_provider, endpoints in desired_endpoints.items():
@@ -23,7 +23,7 @@ class CNAClient:
23
23
  cnas = self._ocm_client.get(api_path="/api/cna-management/v1/cnas")
24
24
  return cnas.get("items", [])
25
25
 
26
- def create(self, asset: Asset, dry_run: bool = False):
26
+ def create(self, asset: Asset, dry_run: bool = False) -> None:
27
27
  if dry_run:
28
28
  logging.info("CREATE %s", asset)
29
29
  return
@@ -32,7 +32,7 @@ class CNAClient:
32
32
  data=asset.api_payload(),
33
33
  )
34
34
 
35
- def delete(self, asset: Asset, dry_run: bool = False):
35
+ def delete(self, asset: Asset, dry_run: bool = False) -> None:
36
36
  if dry_run:
37
37
  logging.info("DELETE %s", asset)
38
38
  return
@@ -41,7 +41,7 @@ class CNAClient:
41
41
  api_path=asset.href,
42
42
  )
43
43
 
44
- def update(self, asset: Asset, dry_run: bool = False):
44
+ def update(self, asset: Asset, dry_run: bool = False) -> None:
45
45
  if dry_run:
46
46
  logging.info("UPDATE %s", asset)
47
47
  return
@@ -46,13 +46,13 @@ class CNAIntegration:
46
46
  namespaces: Iterable[NamespaceV1],
47
47
  desired_states: Mapping[str, State] | None = None,
48
48
  current_states: Mapping[str, State] | None = None,
49
- ):
49
+ ) -> None:
50
50
  self._cna_clients = cna_clients
51
51
  self._namespaces = namespaces
52
52
  self._desired_states = desired_states or defaultdict(State)
53
53
  self._current_states = current_states or defaultdict(State)
54
54
 
55
- def assemble_desired_states(self):
55
+ def assemble_desired_states(self) -> None:
56
56
  self._desired_states = defaultdict(State)
57
57
  for namespace in self._namespaces:
58
58
  for provider in namespace.external_resources or []:
@@ -64,7 +64,7 @@ class CNAIntegration:
64
64
  asset_factory_from_schema(resource)
65
65
  )
66
66
 
67
- def assemble_current_states(self):
67
+ def assemble_current_states(self) -> None:
68
68
  self._current_states = defaultdict(State)
69
69
  for name, client in self._cna_clients.items():
70
70
  cnas = client.list_assets()
@@ -72,7 +72,7 @@ class CNAIntegration:
72
72
  state.add_raw_data(cnas)
73
73
  self._current_states[name] = state
74
74
 
75
- def provision(self, dry_run: bool = False):
75
+ def provision(self, dry_run: bool = False) -> None:
76
76
  for provisioner_name, cna_client in self._cna_clients.items():
77
77
  desired_state = self._desired_states[provisioner_name]
78
78
  current_state = self._current_states[provisioner_name]
@@ -119,7 +119,6 @@ def run(
119
119
  dry_run: bool,
120
120
  # TODO: Threadpool not used yet - will be used once we understand scopes in more detail
121
121
  thread_pool_size: int,
122
- defer=None,
123
122
  ) -> None:
124
123
  settings = get_app_interface_vault_settings()
125
124
  secret_reader = create_secret_reader(use_vault=settings.vault)
@@ -50,7 +50,7 @@ class State:
50
50
  # pytest should show nice diff
51
51
  return str(self._assets)
52
52
 
53
- def _validate_addition(self, asset: Asset):
53
+ def _validate_addition(self, asset: Asset) -> None:
54
54
  if asset.kind not in self._assets:
55
55
  raise CNAStateError(f"State doesn't know asset_kind {asset.kind}")
56
56
  if asset.name in self._assets[asset.kind]:
@@ -58,11 +58,11 @@ class State:
58
58
  f"Duplicate asset name found in state: kind={asset.kind}, name={asset.name}"
59
59
  )
60
60
 
61
- def add_asset(self, asset: Asset):
61
+ def add_asset(self, asset: Asset) -> None:
62
62
  self._validate_addition(asset=asset)
63
63
  self._assets[asset.kind][asset.name] = asset
64
64
 
65
- def add_raw_data(self, data: Iterable[Mapping[str, Any]]):
65
+ def add_raw_data(self, data: Iterable[Mapping[str, Any]]) -> None:
66
66
  for cna in data:
67
67
  asset = asset_factory_from_raw_data(cna)
68
68
  self._validate_addition(asset=asset)
@@ -0,0 +1,125 @@
1
+ import logging
2
+ import sys
3
+ from collections.abc import Callable
4
+
5
+ from reconcile import typed_queries
6
+ from reconcile.gql_definitions.email_sender.apps import query as apps_query
7
+ from reconcile.gql_definitions.email_sender.emails import (
8
+ AppInterfaceEmailAudienceV1,
9
+ AppInterfaceEmailV1,
10
+ )
11
+ from reconcile.gql_definitions.email_sender.emails import query as emails_query
12
+ from reconcile.gql_definitions.email_sender.users import query as users_query
13
+ from reconcile.gql_definitions.fragments.email_service import EmailServiceOwners
14
+ from reconcile.gql_definitions.fragments.email_user import EmailUser
15
+ from reconcile.typed_queries.app_interface_vault_settings import (
16
+ get_app_interface_vault_settings,
17
+ )
18
+ from reconcile.utils import gql
19
+ from reconcile.utils.defer import defer
20
+ from reconcile.utils.secret_reader import create_secret_reader
21
+ from reconcile.utils.smtp_client import (
22
+ DEFAULT_SMTP_TIMEOUT,
23
+ SmtpClient,
24
+ get_smtp_server_connection,
25
+ )
26
+ from reconcile.utils.state import init_state
27
+
28
+ QONTRACT_INTEGRATION = "email-sender"
29
+
30
+
31
+ def collect_to(
32
+ to: AppInterfaceEmailAudienceV1,
33
+ all_users: list[EmailUser],
34
+ all_services: list[EmailServiceOwners],
35
+ ) -> set[str]:
36
+ """Collect audience to send email to from to object
37
+
38
+ Arguments:
39
+ to -- AppInterfaceEmailAudience_v1 object
40
+ all_users -- List of all app-interface users
41
+ all_services -- List of all app-interface apps/services with owners
42
+
43
+ Raises:
44
+ AttributeError: Unknown alias
45
+
46
+ Returns:
47
+ set -- Audience to send email to
48
+ """
49
+ audience: set[str] = set()
50
+
51
+ for alias in to.aliases or []:
52
+ match alias:
53
+ case "all-users":
54
+ to.users = all_users
55
+ case "all-service-owners":
56
+ to.services = all_services
57
+ case _:
58
+ raise AttributeError(f"unknown alias: {alias}")
59
+
60
+ for service in to.services or []:
61
+ audience.update(
62
+ service_owner.email for service_owner in service.service_owners or []
63
+ )
64
+
65
+ for account in to.aws_accounts or []:
66
+ audience.update(
67
+ account_owner.email for account_owner in account.account_owners or []
68
+ )
69
+
70
+ for role in to.roles or []:
71
+ audience.update(user.org_username for user in role.users or [])
72
+
73
+ # SmtpClient supports sending to org_username and email addresses
74
+ audience.update(user.org_username for user in to.users or [])
75
+
76
+ if to.clusters or to.namespaces:
77
+ raise NotImplementedError("clusters and namespaces are not implemented yet")
78
+ return audience
79
+
80
+
81
+ def get_emails(query_func: Callable) -> list[AppInterfaceEmailV1]:
82
+ return emails_query(query_func).emails or []
83
+
84
+
85
+ @defer
86
+ def run(dry_run: bool, defer: Callable | None = None) -> None:
87
+ gql_api = gql.get_api()
88
+ vault_settings = get_app_interface_vault_settings()
89
+ secret_reader = create_secret_reader(use_vault=vault_settings.vault)
90
+ state = init_state(integration=QONTRACT_INTEGRATION, secret_reader=secret_reader)
91
+ if defer:
92
+ defer(state.cleanup)
93
+
94
+ emails = get_emails(gql_api.query)
95
+ if not emails:
96
+ logging.info("no emails to send")
97
+ sys.exit(0)
98
+
99
+ all_users = users_query(gql_api.query).users or []
100
+ all_services = apps_query(gql_api.query).apps or []
101
+ smtp_settings = typed_queries.smtp.settings()
102
+ smtp_client = SmtpClient(
103
+ server=get_smtp_server_connection(
104
+ secret_reader=secret_reader,
105
+ secret=smtp_settings.credentials,
106
+ ),
107
+ mail_address=smtp_settings.mail_address,
108
+ timeout=smtp_settings.timeout or DEFAULT_SMTP_TIMEOUT,
109
+ )
110
+ # validate no 2 emails have the same name
111
+ email_names = {e.name for e in emails}
112
+ if len(emails) != len(email_names):
113
+ logging.error("email names must be unique.")
114
+ sys.exit(1)
115
+
116
+ emails_to_send = [e for e in emails if not state.exists(e.name)]
117
+ for email in emails_to_send:
118
+ logging.info(["send_email", email.name, email.subject])
119
+
120
+ if not dry_run:
121
+ names = collect_to(
122
+ email.q_to, all_users=all_users, all_services=all_services
123
+ )
124
+ smtp_client.send_mail(names, email.subject, email.body)
125
+ state.add(email.name)
@@ -264,6 +264,7 @@ class AWSRdsFactory(AWSDefaultResourceFactory):
264
264
  if s.provision_provider == "aws"
265
265
  and s.provider == "rds"
266
266
  and s.resource["replica_source"] == spec.identifier
267
+ and not s.marked_to_delete
267
268
  }
268
269
 
269
270